-
Notifications
You must be signed in to change notification settings - Fork 14
ROS Tips
You can use your own hardware with the SecurBot framework. Each hardware element is either a base or a sensor. You must provide the matching launchfile in the proper folder.
Bases are located in the launch/includes/bases folder of the securbot_pkg package. The launchfile for the base launch the robot base controller node, which must accept geometry twist messages. Your robot base must also provide odometry data and a geometric transform from the odom frame to the base_footprint frame. We recommend adding a velocity smoother node between the incoming velocity and the velocity sent to your robot base. The following topics are used:
/cmd_vel
/odom
You must also provide the frame launchfile in the launch/includes/frames folder. This file must launch a static_transform_publisher for the base_footprint to camera_link transform and another for the base_footprint to laser transform. Configuration for the ROS navigation stack must be provided in the securbot_pkg/config/YOUR_BASE_NAME folder. You can copy one of the existing folder as a baseline.
Make sure your filenames match your environnement variable value for SECURBOT_BASE!
Sensors are located in the launch/includes/sensors folder of the securbot_pkg package. The launchfile for a sensor launch the sensor ROS node which must expose the topics used by RTAB-Map.
For a camera, RTAB-Map requires the RGB and depth image as well as the pointcloud for the obstacle detection. RGB camera info must also be published. Depth image must be registered to the RGB image. The following topics are used:
/camera/depth_registered/image_raw
/camera/rgb/image_rect_color
/camera/rgb/camera_info
/pointcloud
For a lidar, the laserscan message is required on the /scan topic.
Make sure your filenames match your environnement variable value for SECURBOT_CAMERA or SECURBOT_LIDAR!
The navigation parameters found in the config folder must be tuned to obtain a good navigation and obstacle avoidance from the robot.
To do so, you can follow the instruction from the navigation stack wiki.
You can also look at a test report we produced while tuning the navigation of our Pioneer 2 platform here.