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
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)
Use simulation.launch.py
from rosbot_gazebo
to start all base functionalities for ROSbot 2, 2 PRO, 2R in the Gazebo simulator.
Warning The distance sensors' topics types from Gazebo simulation mismatch with the real ones. The range sensors are not implemented yet in the Gazebo Ignition (for more information look here). The real type is sensor_msgs/msg/Range but simulated sensor_msgs/msg/LaserScan. The first value of the
ranges
in sensor_msgs/msg/LaserScan is therange
field of sensor_msgs/msg/Range.