local costmap stays empty / move_base not subscribing to laser
Hey there
A few weeks ago i finally brought the navigation on my Kobuki with an IMU (Beaglebone Blue), RPLidar and UP Squared as processing Unit up running. The localization came from google Cartographer. The drive commands came from move_base. Back then the local costmap as well as the global costmap contained the obstacles. This week i tried to tune the local and global planner for a smoother driving experience. Since i wanted to test it before tuning the local costmap stays empty. The navigation still works, but due to the lack of the local costmap the robot drives just straight to its goal. I think the problem is, that the move_base node does not subscribe to the scan topic. But i do not figure out how to force him to do so. I also tried to launch some backups, but the behaviour is the same.
my TF_tree is:
- map (map-odom = global SLAM)
- odom (odom-base_footprint = local SLAM)
- base_footprint (base_footprint - base_link = (0, 0, 0, 1) quaterninon with own tf broadcaster)
- base_link (base_link - scan/imu_link = direction on robot with urdf)
- scan / imu_link
The Cartographer is still working well and provides the Transformation as far as i can see. The topic /scan and /imu are both published and seem right. A picture from the Navigation with the empty costamp is added here: navigation with empty costmap .
Does anyone has some ideas, which might bring my robot to update the local_costmap? The important files are added below and the others are in: https://github.com/goeldisandro/autonomous_turtlebot_navigation.
thanks a lot for your help!
greetings from Switzerland
Edit:
- the first failure is:
[ WARN] [1562752396.232648210]: Control loop missed its desired rate
of 20.0000Hz... the loop actually took 0.1233 seconds
am i right, that this is just a performance issue?
- there is also an Error that i do not really know, what does it mean
[ERROR] [1562757979.010348657]: Kobuki : malformed sub-payload
detected. [28][170][1C AA 55 4D 01 0F A4 18 00 00 ]
the Error also showed up before, which makes me think it is not important. I also found no way to fix it (already tried updating Kobuki).
this is the Output when i launch
> NODES /
> bumper2pointcloud (nodelet/nodelet)
> cartographer_node (cartographer_ros/cartographer_node)
> cartographer_occupancy_grid_node (cartographer_ros/cartographer_occupancy_grid_node)
> cmd_vel_mux (nodelet/nodelet)
> diagnostic_aggregator (diagnostic_aggregator/aggregator_node)
> mobile_base (nodelet/nodelet)
> mobile_base_nodelet_manager (nodelet/nodelet)
> move_base (move_base/move_base)
> robot_state_publisher (robot_state_publisher/robot_state_publisher)
> rplidarNode (rplidar_ros/rplidarNode)
> rviz (rviz/rviz)
> tf_broadcaster_base (robot_setup_tf/tf_broadcaster_base)
>
> ROS_MASTER_URI=http://localhost:11311
>
> process[rplidarNode-1]: started with
> pid [18294] [ INFO]
> [1562752257.374873089]: RPLIDAR
> running on ROS package rplidar_ros.
> SDK Version:1.9.0 process[rviz-2]:
> started with pid [18317]
> process[tf_broadcaster_base-3]:
> started with pid [18318]
> process[robot_state_publisher-4]:
> started with pid [18319]
> process[diagnostic_aggregator-5]:
> started with pid [18328]
> process[mobile_base_nodelet_manager-6]:
> started with pid [18337]
> process[mobile_base-7]: started with
> pid [18349]
> process[bumper2pointcloud-8]: started
> with pid [18359 ...