Use bringup.launch.py
from rosbot_bringup
to start all base functionalities for ROSbot 2, 2 PRO, 2R. It consists of following parts:
-
ekf_node
fromrobot_localization
, it is used to fuse wheel odometry and IMU data. Parameters are defined inekf.yaml
inrosbot_bringup/config
. It subscribes to/rosbot_base_controller/odom
and/imu_broadcaster/imu
published by ros2 controllers and publishes fused odometry on/odometry/filtered
topicSubscribes
/rosbot_base_controller/odom
(nav_msgs/Odometry)/imu_broadcaster/imu
(sensor_msgs/Imu)
Publishes
/tf
(tf2_msgs/TFMessage) -base_link
->odom
transform/odometry/filtered
(nav_msgs/Odometry)
-
controller.launch.py
fromrosbot_controller
, it loads robot model defined inrosbot_description
as well as ros2 control rosbot_hardware_interfaces. It also starts controllers:joint_state_broadcaster
rosbot_base_controller
-DiffDriveController
imu_broadcaster
Subscribes
/cmd_vel
(geometry_msgs/Twist)/_motors_responses
(sensor_msgs/JointState)/_imu/data_raw
(sensor_msgs/Imu)
Publishes
/tf
(tf2_msgs/TFMessage)/tf_static
(tf2_msgs/TFMessage)/_motors_cmd
(std_msgs/Float32MultiArray)/rosbot_base_controller/odom
(nav_msgs/Odometry)/imu_broadcaster/imu
(sensor_msgs/Imu)