Skip to content

General Troubleshooting

Rodrigue de Schaetzen edited this page May 6, 2019 · 3 revisions

Useful Tools/Commands to Debug Nav Stack

Below are some useful tools to debug the navigation stack and examples of what a correct set up looks like.

rosrun rqt_tf_tree rqt_tf_tree TF tree

rosrun rqt_graph rqt_graph Graph of all ROS nodes and topics.

rosnode info /move_base

Subscriptions:

  • /map [nav_msgs/OccupancyGrid]
  • /mobile_base/sensors/bumper_pointcloud [sensor_msgs/PointCloud2]
  • /move_base/cancel [unknown type]
  • /move_base/global_costmap/footprint [geometry_msgs/PolygonStamped]
  • /move_base/goal [move_base_msgs/MoveBaseActionGoal]
  • /move_base/local_costmap/footprint [geometry_msgs/PolygonStamped]
  • /move_base_simple/goal [unknown type]
  • /odom [nav_msgs/Odometry]
  • /scan [sensor_msgs/LaserScan]
  • /tf [tf2_msgs/TFMessage]
  • /tf_static [tf2_msgs/TFMessage]

rostopic echo /move_base/local_costmap/costmap The following should not return all 0s.

rosparam get /move_base An example output can be found here

Other possible fixes:

  • reboot Pi3
  • sudo apt-get update
  • sudo apt-get upgrade
  • test amcl with default params roslaunch icclab_turtlebot amcl_demo.launch

Other useful ROS tools

Inspect sensor data:

Configuration changes

If rplidar on top of the bot change the robot model to:

* <origin xyz="0.1 0 0.420" rpy="0 0 1.57075"/>

Ensure that the lidar height is set correctliy in the urdf

Ensure this height is within the obstacle range set in the costmap_common_params.yaml

Tips

libraspberrypi-dev has same file that libegl1-mesa-dev (dependency of f*ing realsense camera!) wants to install What we did:

sudo dpkg --force-all -P libraspberrypi-dev # remove the troubling package, hopefully not breaking anything
sudo apt-get -f install

Robot state publisher needs upgrade

sudo apt-get upgrade ros-kinetic-robot-state-publisher

Common Errors/Warnings

If you see Timed out waiting for transform from base_footprint to map to become available before running costmap, tf error: canTransform: target_frame map does not exist... It’s likely something is missing in your robot model. In our case it was the missing rpLIDAR model.

Things to try if you see [ WARN] [1503985578.700748532]: Costmap2DROS transform timeout. Current time: 1503985578.7007, global_pose stamp: 1503985533.6728, tolerance: 0.5000

  • restart Pi3
  • check frequency of tf topics rostopic hz /tf should be more than 30Hz
  • set time sync between local machine and Pi3
sudo apt-get install -y chrony ntpdate
sudo ntpdate ntp.ubuntu.com

More ideas on how to troubleshoot this warning can be found here.