Navigation using Rtabmap or using amcl and navigation stack

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view

Navigation using Rtabmap or using amcl and navigation stack

I will list all my steps clearly, including my git repo. If anyone needs anything, feel free to tell me.

1)Run RosAria on the robot pc. Connects well, publishes odom->base_link transforms well and good.

2) On the piggyback laptop, roslaunch freenect_launch freenect.launch depth_registration:=true. For my kinect, of course

3)rosrun depthimage_to_laserscan depthimage_to_laserscan image:=/camera/depth_registered/image_raw. For fake laser data

4)roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete-dbs-on-start" rviz:=true rtabviz:=false, gives me map->odom transform.

5) Run teleop in the remote pc. I generate a 2-d map in rtabmap, save it on map_server

6)Roslaunch p3dx_navigation move_base_rosaria.launch. open rviz, 2d point estimate works well. Not perfect, but not too bad either.

7)Set a goal using 2d Nav goal. Here i get all sorts of errors as follows

[ERROR] [1529929504.112153804]: Aborting because a valid plan could not be found. Even after executing all recovery behaviors

[ WARN] [1529929504.112746594]: Map update loop missed its desired rate of 2.5000Hz... the loop actually took 0.5540 seconds

[ WARN] [1529929514.661682065]: Costmap2DROS transform timeout. Current time: 1529929514.6616, global_pose stamp: 1529929514.3319, tolerance: 0.3000

[ WARN] [1529929514.707078373]: Could not get robot pose, cancelling reconfiguration.

If anyone can help me it would be a godsend.

Here is the link to my github repo.
Reply | Threaded
Open this post in threaded view

Re: Navigation using Rtabmap or using amcl and navigation stack


As you have already odometry from RosAria, disable visual odometry to avoid TF problems (two nodes publishing on same TF) and remap frame_id to your base link of the robot (e.g., base_link) and odom_topic to RosAria odometry topic (e.g., /odom). Assuming the robot navigate on a ground plane, you may also want to do 2D mapping and maybe use laser scan for the map.

roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start --Reg/Force3DoF true" \
rviz:=true rtabmapviz:=false visual_odometry:=false frame_id:=base_link odom_topic:=/odom \
subscribe_scan:=true scan_topic:/scan

For steps 6 and 7, it is more related to amcl/move_base than rtabmap as I assume rtabmap is not used at this point.