Skip to content

Latest commit

 

History

History
47 lines (34 loc) · 2.21 KB

ROS_API.md

File metadata and controls

47 lines (34 loc) · 2.21 KB

Use bringup.launch.py from rosbot_xl_bringup to start all base functionalities for ROSbot XL. It consists of the following parts:

  • scan_to_scan_filter_chain from laser_filters, it subscribes to /scan topic and removes all points that are within the robot's footprint (defined by config laser_filter.yaml in rosbot_xl_bringup package). Filtered laser scan is then published on /scan_filtered topic

    Subscribes

    • /scan (sensor_msgs/LaserScan)

    Publishes

    • /scan_filtered (sensor_msgs/LaserScan)
  • ekf_node from robot_localization, it is used to fuse wheel odometry and IMU data. Parameters are defined in ekf.yaml in rosbot_xl_bringup/config. It subscribes to /rosbot_xl_base_controller/odom and /imu_broadcaster/imu published by ros2 controllers and publishes fused odometry on /odometry/filtered topic

    Subscribes

    • /rosbot_xl_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 from rosbot_xl_controller, it loads robot model defined in rosbot_xl_description as well as ros2 control rosbot_hardware_interfaces. It also starts controllers:

    • joint_state_broadcaster
    • rosbot_xl_base_controller - depending on the value of mecanum argument it can be DiffDriveController or MecanumDriveController
    • 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_xl_base_controller/odom (nav_msgs/Odometry)
    • /imu_broadcaster/imu (sensor_msgs/Imu)

Use micro_ros_agent to communicate with Digital Board, it provides the following interface:

Subscribes

  • /_motors_cmd (std_msgs/Float32MultiArray)

Publishes

  • /_motors_responses (sensor_msgs/JointState)
  • /_imu/data_raw (sensor_msgs/Imu)
  • /battery_state (sensor_msgs/BatteryState)