This post was updated on .
Dear Mathieu,
First of all, thank you for the great tool. Rtabmap is by far one of the best and most complete packages I have used in ROS! I am currently trying the Turtlebot Mapping and Navigation demo (http://wiki.ros.org/rtabmap_ros/Tutorials/MappingAndNavigationOnTurtlebot), but I am running into some strange behavior. I will try being as specific as possible! I am using an Astra camera as the TURTLEBOT_3D_SENSOR, which already has support for the astra SDK through 3dsensor.launch. I able to map an entire room just fine, and send navigation goals in localization mode. The robot behaves as expected (although the RViz visualization looks a little different, more on this later). I also tried putting an object in front of the robot, and placing a navigation goal behind the object. The robot is (usually) able to plan a path around the obstacle based on the costmap. The problem is that sometimes (about 1 out of 15 tries), even though the object is in front of the robot and the costmap/laserscan clearly shows that there is an obstacle, the plan returned is just a straight line (as shown in the attached figure). Now, if the planner updates fast enough, it will usually change it to go around the obstacle, which is not a problem. But I still feel uncomfortable knowing that sometimes the path planner will return a straight path, without knowing the reason. Also, due to specific reasons related to my setup, sometimes we may need to decrease the path planner frequency and just use the first returned path. Although this problem has only happened when avoiding temporary obstacles, I am scared that it may also try to plan paths through walls in the static map. I have tried changing the update frequency of the global_costmap, and playing around with some dynamic parameters through rosrun rqt_reconfigure rqt_reconfigure, but to no avail. I am using the demo_turtlebot_mapping.launch provided with rtabmap, the only difference is that I am using the Astra camera. I am afraid that I may be doing something wrong, as my Rviz looks a little bit different than what is expected in the demo. Namely: 1. The colors are different. 2. As soon as I launch it in localization mode with rviz, I can send goals and the robot moves, but neither the global path nor local path show. I actually have to go into the global/local costmap rviz tab and change the planner topic (e.g. to DWAPlannerROS); Having a valid topic or not does not seem to affect the performance, only whether the path can be visualized in rviz. The rtabmap/path topics do not show any path when set, but the robot still moves. 3. When I go into rosrun rqt_reconfigure rqt_reconfigure -> move_base, it says that my base_global_planner is navfn/NavfnROS, and my base_local_planner is dwa_local_planner/DWAPlannerROS. 4. roswtf gives me the following warnings/errors: WARNING The following node subscriptions are unconnected: * /rtabmap/rtabmap: * /rtabmap/goal * /rtabmap/move_base/status * /rtabmap/goal_node * /rtabmap/move_base/feedback * /rtabmap/move_base/result * /mobile_base_nodelet_manager: * /cmd_vel_mux/input/switch * /mobile_base/commands/reset_odometry * /mobile_base/commands/controller_info * /mobile_base/commands/external_power * /kobuki_safety_controller/disable * /mobile_base/commands/sound * /mobile_base/commands/digital_output * /mobile_base/commands/led1 * /mobile_base/commands/led2 * /kobuki_safety_controller/enable * /mobile_base/commands/motor_power * /cmd_vel_mux/input/teleop * /kobuki_safety_controller/reset * /move_base: * /move_base/cancel * /rviz: * /particlecloud * /map_updates * /move_base/TrajectoryPlannerROS/local_plan WARNING These nodes have died: * turtlebot_laptop_battery-8 Found 1 error(s). ERROR The following nodes should be connected but aren't: * /move_base->/move_base (/move_base/global_costmap/footprint) * /move_base->/move_base (/move_base/local_costmap/footprint) EDIT: 5. The global costmap seems to be the only one with the information. For some reason, my local costmap is usually empty? Would you have any advice on what is going on? Thank you for your time! |
Administrator
|
Hi,
For the straight line, this may be the same issue as this one. This is solved by using "rtabmap_ros::StaticLayer" instead of "costmap_2d::StaticLayer" here. 1. Color may depend on the ROS distribution, though in your screenshot it seems ok. You can see the "Map" rviz plugin parameters for different overlay (e.g., costmap color vs gray grid). 2. On this demo, the goal is sent directly to move_base, so it is normal that rtabmap/path is showing nothing. You may go in RVIZ->Tool Properties panel (the right panel of the video on this page) and change 2D Nav goal topic for "/rtabmap/goal". Note the the output goal of rtabmap "/rtabmap/goal_out" should be connected to input goal of move_base. Another way to connect rtabmap to move_base is to use actionlib interface by setting "use_action_for_goal" parameter to true for rtabmap node (move_base may need to be remapped if not in "move_base" namespace). 3. Yes, is depends on the turtlebot configuration (maybe there are changes between ROS distributions), though the ones you said seems the correct default ones. 4. -- 5. the local costmap is based on turtlebot configuration files, so independent of rtabmap. cheers, Mathieu |
Hi Mathieu,
Oh wow, thank you for your help, I think that changing to "rtabmap_ros::StaticLayer" did the trick!! I still have to test it a bit longer, but seems to be working for now (0 straight lines out of 20 tries)! Cheers! |
Free forum by Nabble | Edit this page |