Configuration


Before running the driver, check and edit the configuration files in the config/ directory.


  1. rbq_params.yaml: 
    • Set the serial port (e.g., /dev/ttyACM0 ) and baud rate.
    • Set your robot's physical properties (wheelbase, wheel diameter, gear ratio).
    • Configure odometry settings (topics, frames).
    • Set the publish rate (e.g., 5.0 [Hz]).
  2. query.yaml :
    • Define which telemetry data you want to receive from the controller.
    • The RoboteQ driver is designed to be dynamic and users can publish the controller queries as

      per their requirements. The publishing queries is not limited to any value. By default total 9

      queries are published by launching this driver. Users can change or add queries in configuration

      file.


Launching


  1. Serial port permissions
# Check permissions
ls -l /dev/ttyACM0
# Grant read/write permissions if necessary
sudo chmod 666 /dev/ttyACM0


      2. Launch the node

cd ~/ros2_ws
source install/setup.bash
ros2 launch rbq_driver_node driver.launch.xml


You should see logs indicating successful initialization and configuration query.


ROS API reference

Topic Name
Message TypeDescription
/read
std_msgs/msg/StringRaw serial string received from the controller
/odomnav_msgs/msg/OdometryCalculated odometry with covariance matrices
/tftf2_msgs/msg/TFMessageTransform from odom to base_link
/<query_name>rbq_driver_msgs/msg/ChannelValuesTelemetry data defined in query.yaml
/<flag_name>std_msgs/msg/StringFlag data(?FF,?FM,?FS) converted to strings
/cmd_velgeometry_msgs/msg/TwistVelocity command of the robot
/config_serviceConfigSrv
Sends configuration commands(^). Saves to EEPROM.
/command_serviceCommandSrvSends runtime commands(!). 0,1 or 2 arguments
/maintenance_serviceMaintenanceSrvSends maintenance commands(%), Handles safety keys
/query_serviceQuerySrvSends(?,~) and returns the response synchronously


Examples