Source of truth
This page mirrors quad_perf_tests/README.md. Edit that file to update.
Quad Perf Tests¶
Overview¶
This package provides performance-testing utilities for Quad-SDK. The primary tool is a configurable cmd_vel publisher that drives the robot through deterministic or randomized velocity trajectories — useful for benchmarking controller tracking, stress-testing the planning stack, and collecting reproducible training rollouts.
License¶
The source code is released under a MIT License.
Affiliation: Robomechanics Lab, Carnegie Mellon University
Tested under ROS2 Jazzy on Ubuntu 24.04.
Build¶
Usage¶
Run the publisher against a running stack:
ros2 run quad_perf_tests cmd_vel_publisher_node --ros-args \
--params-file install/quad_perf_tests/share/quad_perf_tests/config/cmd_vel_publisher.yaml \
--params-file install/quad_perf_tests/share/quad_perf_tests/config/cmd_vel_publisher_topics.yaml
Config¶
config/cmd_vel_publisher.yaml— mode, velocity bounds, duration, seed.config/cmd_vel_publisher_topics.yaml— topic remappings.
Nodes¶
cmd_vel_publisher_node¶
Publishes a geometry_msgs/Twist command on the cmd_vel topic. Three modes are supported:
single— sample one random velocity within the configured bounds and hold it fortest_durationseconds.timer— resample a new random velocity everyresample_secseconds.off— publish zero velocity (useful as a keep-alive).
Published Topics¶
-
cmd_vel(geometry_msgs/Twist)Commanded body twist.
Parameters¶
cmd_vel_publisher.update_rate(double, default:500.0) — publish rate in Hz. Must matchrobot_driver.update_rate.cmd_vel_publisher.mode(string, default:single) — one ofsingle,timer,off.cmd_vel_publisher.resample_sec(double, default:3.0) — resample interval fortimermode.cmd_vel_publisher.bounds.x_{min,max}(double) — forward velocity bounds in m/s.cmd_vel_publisher.bounds.y_{min,max}(double) — lateral velocity bounds in m/s.cmd_vel_publisher.bounds.yaw_{min,max}(double) — yaw-rate bounds in rad/s.cmd_vel_publisher.test_duration(double, default:10.0) — duration forsinglemode in seconds.cmd_vel_publisher.seed(int, default:1) — RNG seed for reproducibility.
Bugs & Feature Requests¶
Please report bugs and request features using the Issue Tracker.