These docs are public and open source.Edit on GitHub
ROS 2 PARAMETERS
This page lists the parameters the driver nodes declare and the values they ship with.
CHANGING A VALUE
The driver nodes read their parameters once at startup. To change a value, edit the matching YAML under neoracer_ros2_driver/config/ and restart the services. ros2 param list and ros2 param get show the live values.
bashros2 param list /throttle_node # every parameter the node declares ros2 param get /throttle_node max_speed_forward # change a value: edit config/throttle.yaml, then racecar service restart
THROTTLE
//config/throttle.yaml
A command in [-1, 1] is multiplied by these caps, then by the controller's max_speed_mps.
| Parameter | Shipped value | Meaning |
|---|---|---|
| max_speed_forward | 1.0 | Scales every forward /drive command. |
| max_speed_backward | 1.0 | Scales every reverse /drive command the same way. |
| max_steering | 0.625 | Scales the commanded steering angle before the servo mapping. 0.625 is full servo lock; a higher value stalls the servo against the linkage. |
CONTROLLER
//config/controller.yaml
| Parameter | Shipped value | Meaning |
|---|---|---|
| max_speed_mps | 6.0 | The physical speed a full-scale command maps to, in m/s. Raising it past 6.0 requires a firmware change. |
| max_steering_angle_deg | 30.0 | The steering angle a full-scale command maps to, in degrees. |
| steering_trim_deg | 0.0 | Added to every steering command so a 0.0 angle drives straight. Measured with lab_trim_cal.py and set in controller.yaml. |
| rc_min / rc_center / rc_max | 1000 / 1500 / 2000 | The FlySky channel calibration, in microseconds. Readings below rc_failsafe_below (500) mean no signal and read as neutral. |
| port_name | /dev/osrbot_base | The ESP32 serial device, held stable by the udev rules the setup installs. |
| publish_mag | true | Publishes the raw magnetometer on /mag. The fused orientation on /imu/fused does not use it. |
CAMERA
//config/camera.yaml
| Parameter | Shipped value | Meaning |
|---|---|---|
| image_width × image_height | 640 × 480 | The capture resolution requested from the camera. |
| framerate | 60.0 | Frames per second on /camera. The node passes the camera’s native MJPG stream through unchanged. |
| video_device | /dev/osrbot_usb_cam | The stable udev name for the USB camera. If the symlink is missing, the node scans /dev/video*. |
LIDAR
//launch arguments
The LakiBeam1 driver takes these as launch arguments in lidar.launch.py rather than runtime parameters; the driver pushes them to the sensor's own configuration at startup.
| Parameter | Shipped value | Meaning |
|---|---|---|
| frame_id | laser | The TF frame stamped on every /scan. |
| sensorip | 192.168.8.2 | The LakiBeam1’s address on the USB-C bridge (the host side is 192.168.8.1). The driver pushes configuration to the sensor here at startup. |
| scanfreq | 30 | Revolutions per second the sensor is configured to spin, which is the /scan publish rate. |
| scan_range_start / stop | 45 / 315 | The sensor’s live window in its own frame: 270 degrees of returns. This is why the rear wedge of a scan carries no data. |
