ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

-LD-'s profile - activity

2023-11-07 06:50:39 -0500 received badge  Famous Question (source)
2021-12-07 19:07:33 -0500 received badge  Student (source)
2020-08-31 04:45:10 -0500 received badge  Self-Learner (source)
2020-05-04 14:09:55 -0500 received badge  Great Answer (source)
2020-01-14 09:24:00 -0500 received badge  Notable Question (source)
2020-01-14 09:24:00 -0500 received badge  Popular Question (source)
2019-11-22 05:16:18 -0500 received badge  Good Answer (source)
2019-08-19 14:58:50 -0500 marked best answer Aruco marker crash (ubuntu14.4)

Hello,

i want to detect markers and there position. I found the acuro markers and the ROS nodes that sounded promising. I found these two tutorials (one, two). Both seem to use the same package and almost the same launch file. But both tutorials seem to use a different Ubuntu (I'm using 14.04), since in my registry the following for example is not found (apt-get update already tried):

  • sudo apt-get install ros-indigo-usb-cam
  • the openCV-lib (can't find the terminal line anymore)

So i installed openCV with the help of one of the forum members (thanks again), but had to change some of the constants defined in openCV2 to the new ones used in openCV3 and also installed the usb-cam-lib. With the launch files of the tutorials i managed to get some images out of the cam (viewed in rviz) and even calibrated the cam with this tutorial (no mater how well it worked, at least i was able to finish all the steps):

roscore
> (everything normal here)

roslaunch my_robot usb_cam_stream.launch
> (...)
> Starting 'head_camera' (/dev/video0) at 640x480 via mmap (mjpeg) at 30 FPS
> [ WARN] [1532530276.439567317]: sh: 1: v4l2-ctl: not found
> [ WARN] [1532530276.443605906]: sh: 1: v4l2-ctl: not found

rostopic list 
> /rosout
> /rosout_agg
> /usb_cam/camera_info
> /usb_cam/image_raw
> /usb_cam/image_raw/compressed
> /usb_cam/image_raw/compressed/parameter_descriptions
> /usb_cam/image_raw/compressed/parameter_updates
> ...

Now to the part that's not working. So far everything was just the preparation for the real node from Arcuro. But when i start the launch file from one of the tutorials mentioned at the beginning, the following happens:

roslaunch aruco_ros single.launch 
> (...) 
> PARAMETERS
>  * /aruco_single/camera_frame: base_link
>  * /aruco_single/corner_refinement: LINES
>  * /aruco_single/image_is_rectified: True
>  * /aruco_single/marker_frame: aruco_marker_frame
>  * /aruco_single/marker_id: 582
>  * /aruco_single/marker_size: 0.034
>  * /aruco_single/reference_frame: aruco_ref_frame
>  * /rosdistro: indigo
>  * /rosversion: 1.11.21
> (...)
> core service [/rosout] found
> process[aruco_single-1]: started with pid [26729]
> [aruco_single-1] process has died [pid 26729, exit code -11, 
   cmd /home/lukas/catkin_ws/devel/lib/aruco_ros/single/camera_info:=/usb_cam/camera_info 
   /image:=/usb_cam/image_raw __name:=aruco_single 
   __log:=/home/lukas/.ros/log/f9e14154-8ffb-11e8-a1c7-14b31f1cb5de/aruco_single-1.log]. 
> log file: /home/lukas/.ros/log/f9e14154-8ffb-11e8-a1c7-14b31f1cb5de/aruco_single-1*.log
> all processes on machine have died, roslaunch will exit
> shutting down processing monitor...
> ... shutting down processing monitor complete

Even when i try to start the node directly it's not working:

rosrun aruco_ros single 
> Segmentation fault (core dumped)

which is one of the most useless errors i got in the last weeks - so short. Google told me that it might be some errors/warnings during catkin_make, but no errors at all and warnings occur only at nodes i wrote myself and are not launched right now, nor required by the aruco's nodes.

Anybody has a hint, what's going wrong? How can i find out what the real error is?

Like the last time: Thanks everybody reading through this and for every help. Lukas

2019-08-07 05:21:29 -0500 received badge  Nice Answer (source)
2019-05-15 04:58:32 -0500 received badge  Famous Question (source)
2019-05-15 04:58:32 -0500 received badge  Notable Question (source)
2019-03-01 16:32:07 -0500 marked best answer unexpected robot behaviour with navigationstack

Hello everybody,

i have some problems again and hope someone can help me. Following scenario:

  • I have a robot platform, diff-drive with laser scanner mounted pointing forward
  • i have already recorded a map with slam (g-mapping i guess was the one i used in the end)
  • i have set up the navigation-stack with move_base like described here
  • i can see everything in rviz (map, cost map, base, laser scans)
  • i can set a goal in rviz and (most of the time) get a nice looking path

I'm pretty sure the move_base package is quiet powerful, but now comes the weird thing: the robot doesn't follow the path at all. It seems like it is ignoring the path at all and trying to find a way to the goal of it's own with horrible results. Something like:

  • turning 180deg and driving in the opposite direction. Or,
  • instead of just passing straight through some obstacles in front of it, turn 270deg and than heading directly towards one of them. Or
  • ignoring the curve in the plan at the very beginning and just drive the first 1.5meters straight, than make the 90deg turn that has summed up in order to follow the rest of the path

One idea i had is that this might be the escape sequences that the move_base-node provides. So i tried to switch them off. The base is still doing point turns and also driving backwards.

So, before i start programming my own node that takes the path (list of stamped points) and calculate the velocity commands for x/theta, is anybody here experienced enough for being able to make a guess based on the "files" above what might cause this behavior?

Thanks for everybody taking the time for reading this.


Lets start with the shortened .launch file:

<launch> 
    <include file ... " />          <!-- joystick, motordriver, odometrie, inverse kinematik -->
    <node pkg="map_server"  ... />  <!-- load saved map -->
    <node pkg="amcl"    ... />  <!-- correct odom errors -->

    <node pkg="move_base"   type="move_base"  name="move_base" respawn="false"  output="screen">
                <rosparam file="$(find nav_config)/costmap_common_params.yaml" command="load" ns="global_costmap" /> 
                <rosparam file="$(find nav_config)/costmap_common_params.yaml" command="load" ns="local_costmap" /> 
                <rosparam file="$(find nav_config)/local_costmap_params.yaml" command="load" /> 
                <rosparam file="$(find nav_config)/global_costmap_params.yaml" command="load" /> 
                <rosparam file="$(find nav_config)/base_local_planner_params.yaml" command="load" /> 
                <rosparam file="$(find nav_config)/move_base_params.yaml" command="load" />
    </node>


    <param name="robot_description" ... />
    <node name="robot_state_publisher" ... />
</launch>

And here are the .yaml files - unfortunately they are all separate in the tutorial and i don't know if i can mix them all together in one big file (especially since two of them are loaded with a name space tag):

[costmap_common_params.yaml]

map_type: costmap
observation_sources: laser_scan
transform_tolerance: 0.25
obstacle_range: 5.0
raytrace_range: 5.0
inflation_radius: 0.25
xy_goal_tolerance: 0.05
yaw_goal_tolerance: 0.25

footprint: [
  [0.50, 0.35],
  [-0.30, 0.35],
  [-0.30, -0.35],
  [0.50, -0.35]
]

laser_scan: {
  sensor_frame: laser_link,
  data_type: LaserScan,
  topic: /mp470/laser_scan,
  marking: true,
  clearing: true
}

[local_costmap_params.yaml]

local_costmap:
  global_frame: odom
  robot_base_frame: base_link
  update_frequency: 5.0
  publish_frequency ...
(more)
2019-03-01 16:30:30 -0500 received badge  Famous Question (source)
2019-02-28 04:51:58 -0500 received badge  Famous Question (source)
2019-02-28 04:51:58 -0500 received badge  Notable Question (source)
2018-12-26 05:01:55 -0500 received badge  Famous Question (source)
2018-12-07 12:58:20 -0500 asked a question tf from rosbag within node

tf from rosbag within node Hello, i recorded 40 rosbags with my mobile base moving autonomously. I just recorded the tf

2018-10-29 11:04:58 -0500 received badge  Popular Question (source)
2018-10-28 23:54:48 -0500 received badge  Famous Question (source)
2018-10-10 09:53:17 -0500 commented answer Check if messages are published on a topic

just write a subscriber (like in the tutorial) that hooks on the topic you are interested in. Then, once the callback ge

2018-10-07 10:46:50 -0500 marked best answer launch "global_planner" without move_base

Hey everybody,

I'm still working on my platform which is already running in the meantime. But I had to do some workarounds. To be more precise i didn't manged to set up the move_base to work with my bot. Either it is the setup/params or the odometry (which i programmed myself). But the Pathfinding works so far. So i programmed a path executor. A node, that just follows the path (the green line from the (global?) planner - NAVfn_path). No local planner, nothing extra. Just try to follow this line as close as possible. The bot is really slow - no dynamics to take into account. Moving objects are avoided because the path gets recalculated once every second or so.

Now to the "problem": i want to get rid of all the unneeded code running inside of move_base. So i tried to set up a costmap (costmap_2d) with the parameters i used with the move_base (since the costmap there just looks nice as it is right now :D). The standalone costmap looks as expected in rviz. Next step would be to start the "global_planner". from this link it is doing everything i need. I can even change the type of calculation there. And i hope i can just reinit the planner once it dies because the goal lies within an obstacle (the move_base tends to do this. The carrot_planner would do what i need, but ignores obstacles at all - even walls). But ... how do i call the planner? I just tried

$ rosrun glob[tab]al_planner [tab]planner

the [tab] just auto completed the command. So i would expect the node exists. I added it to the launch file i had prepared and it worked. for the goal i used

$ rostopic pub /planner/goal geometry_msgs/PoseStamped '{header: {frame: map}, pose: {position: {x: 1.0, y: 2.0, z: 0.0}}}'

Well, the planner complained the bot is outside of it's costmap. So i displayed it in rviz. And yes, it's outside, or more resize at 0.0/0.0 . And the costmap is blank. The costmap from the costmap_2d-node looks still nice and the bot is at the correct position (amcl works fine).

==>> How do i tell the "global_planner" to use the costmap of the "costmap_2d" ?

the documentation doesn't name anything like this. No topic the node subscribes to or a parameter with the name. all in all the documentation seems to be limited to the minimum since the planner doesn't seem to be intended to be used outside of move_base at all ?

rosparam list:

...
/costmap_2d_node/costmap/(many different parameters here)
...
/planner/costmap/(almost the same parameters as above)
....

Launchfile (shorted/abstract):

<launch>
    <include> hardware driver, laserscanner, encoder, odometry </include>
    <node> map server </node>
    <node> amcl </node>

    <node pkg="costmap_2d" type="costmap_2d_node" name="costmap_2d_node" clear_params="true">
        <rosparam file="$(find navigation)nav_config/params.yaml" />
    </node>

    <node pkg="global_planner" type="planner" name="planner" />

    <robotdescription> my own xacro </robotdescription>
    <robot_state_publisher ... />
    <joint_state_publisher ... />
    <node> rviz </node>
</launch>

params.yaml (but since ... (more)

2018-10-05 13:29:51 -0500 answered a question launch "global_planner" without move_base

And i would like to answer my own question. it came to me as i wrote down that the two nodes have almost exactly the sam

2018-10-05 13:22:55 -0500 asked a question launch "global_planner" without move_base

launch "global_planner" without move_base Hey everybody, I'm still working on my platform which is already running in t

2018-09-19 10:51:03 -0500 received badge  Notable Question (source)
2018-09-04 02:24:06 -0500 received badge  Notable Question (source)
2018-09-03 04:21:56 -0500 received badge  Necromancer (source)
2018-09-03 04:21:56 -0500 received badge  Teacher (source)
2018-08-31 09:58:55 -0500 answered a question What is the difference between geometry and tf quaternions?

As a noob i always are happy if a "nice" answer is provided. One, that can be copy-pasted. Because most likely someone w

2018-08-29 09:03:18 -0500 answered a question Load two urdf models in one launch file

Ok, once again the complete things i have done: in the launch file: <!-- don't forget the [$(find xacro)/xacro.py]

2018-08-29 08:30:47 -0500 marked best answer Load two urdf models in one launch file

Hello,

i'm trying to load two models in one lunch file. I have one file for a robot arm and one for the base, that is intended to carry the robot arm around. Each separated works but as i try to load them together only the last model is loaded. Basically that's not surprising for me since i load both with the "robot_description" parameter and therefor overwrite the first loaded model. But how is it done the correct way? As i name the descriptions different, rviz complains about not having a properly set "robot_description" parameter. Keeping one "robot_description" and naming the other different leads to a white model with TF complaining about not having a transform tor every of the links. So, how to load both models from one launch file?

Thanks to everyone.

UPDATE:

I tried what gvdhorn suggested. I created a file "jaco_mp470.xacro", that only contains the following lines:

<robot xmlns::xacro="http://www.ros.org/wiki/xacro">

    <xacro:include filename="$(find mp470_description)/urdf/mp470.xacro"/>
    <xacro:include filename="$(find kinova_description)/urdf/j2s7s300.xacro"/>

    <xacro:mp470 prefix="mp470" />
    <xacro:j2s7s300 base_parent="root" /> <!-- taken from another xacro_macro file -->

    <joint name="jaco_to_base" type="fixed">
        <origin xyz="0 0 0" rpy="0 0 0"/>
        <parrent link="mount"/>
        <chiled link="root"/>
    </joint>
</robot>

And than tried to load it with:

<param name="robot_description" command="$(find xacro)/xacro.py '$(find total_model)/urdf/jaco_mp470.xacro'" />
<node name="joint_state_publisher" pkg="....... />
<node name="robot_state_publisher" pkg="....... />

But rviz tells me that the robot_description parameter is not loaded. So what do i miss?




Snippet of old launch file:

<!-- platform, designed by myself-->
<param name="mp470_description" command="cat $(find mp470_description)/urdf/mp470.xacro" />

<!-- just the model of the arm, no controlers and no MoveIt -->
<param name="robot_description" command="$(find xacro)/xacro.py '$(find kinova_description)/urdf/j2s7s300_standalone.xacro'"/>
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">
  <param name="/use_gui" value="false"/>
  <rosparam param="/source_list">[/move_group/fake_controller_joint_states]</rosparam>
  <param name="zeros/j2s7s300_joint_2" value="3.1415"/>     
  <param name="zeros/j2s7s300_joint_4" value="3.1415"/> 
  <param name="zeros/j2s7s300_joint_6" value="3.1415"/> 
</node>

<!-- rviz told me to use this line just once -->
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="true" output="screen" />
2018-08-29 08:30:41 -0500 commented answer Load two urdf models in one launch file

how embarrassing, it's a typo. Wrote "paran" instead of "param". Now it's a "permission denied", but i guess that's not

2018-08-29 07:57:35 -0500 received badge  Notable Question (source)
2018-08-29 07:54:16 -0500 edited question Load two urdf models in one launch file

Load two urdf models in one launch file Hello, i'm trying to load two models in one lunch file. I have one file for a r

2018-08-29 07:51:19 -0500 commented answer Load two urdf models in one launch file

Now i get it. the <xacro:[robot_name]="" prefix="[???]"/> is how the instance is initialized. Thought that's part

2018-08-29 07:24:53 -0500 commented answer Load two urdf models in one launch file

Problem for now is indeed that i don't have a xacro macro. My urdf.xacro just starts with <robot name="..." xmlns:xac

2018-08-29 07:22:24 -0500 edited question Load two urdf models in one launch file

Load two urdf models in one launch file Hello, i'm trying to load two models in one lunch file. I have one file for a r

2018-08-29 07:17:41 -0500 commented answer Load two urdf models in one launch file

Since working with ROS i came across many questions without a real answer (especially for beginners). So i would like to

2018-08-29 06:43:45 -0500 commented answer Load two urdf models in one launch file

Oh yea, totally forgot: thanks for your answer.

2018-08-29 06:43:45 -0500 received badge  Commentator
2018-08-29 06:42:55 -0500 edited question Load two urdf models in one launch file

Load two urdf models in one launch file Hello, i'm trying to load two models in one lunch file. I have one file for a r

2018-08-29 06:29:11 -0500 commented answer Load two urdf models in one launch file

About the xacro file: it seems like i'm still doing something wrong. I updated my question. May i ask you to have a look

2018-08-29 06:26:30 -0500 commented answer Load two urdf models in one launch file

jea, you are right. That line seems not to be needed. I just ripped apart and reassembled the xacro-file from the jaco a

2018-08-29 05:43:32 -0500 received badge  Popular Question (source)
2018-08-28 12:06:39 -0500 asked a question Load two urdf models in one launch file

Load two urdf models in one launch file Hello, i'm trying to load two models in one lunch file. I have one file for a r

2018-08-24 13:33:50 -0500 received badge  Popular Question (source)
2018-08-21 08:21:35 -0500 commented question unexpected robot behaviour with navigationstack

min/max are set to the same value by purpose. By that i want to make sure that i always know, how fast the robot is. It'

2018-08-21 07:32:02 -0500 asked a question unexpected robot behaviour with navigationstack

unexpected robot behaviour with navigationstack Hello everybody, i have some problems again and hope someone can help m