A real, ready-to-build ROS 2 package for driving a robot from the keyboard — safely. The keyboard node reads raw terminal input (WASD + arrow keys, Space to stop, Q to quit) and publishes geometry_msgs/Twist on /cmd_vel_raw; the twist_smoother node sits between it and your base driver, ramping every command with per-axis accel/decel limits, clamping top speeds, and enforcing a deadman watchdog that stops the robot if commands stop arriving.
Exact contents: teleop_smooth/keyboard_teleop.py — termios raw-stdin node, held-target model with K/L speed scale, re-publishes at 20 Hz; teleop_smooth/twist_smoother.py — the pure TwistSmoother ramp/clamp/watchdog logic plus its ROS node; config/teleop.yaml — every parameter for both nodes with the same names the code declares (max_linear, max_angular, accel/decel limits, watchdog_timeout 0.5s, publish_rate, topics); launch/teleop.launch.py starting both nodes; test/test_twist_smoother.py — stub-based unit tests; setup.py + setup.cfg + package.xml (ament_python, two console entry points); README.md with controls table, base-driver wiring guide and tuning section; LICENSE.txt.
Honest notes: logic verified with stub-based tests (ramp respects accel limits, clamps hold, watchdog zeroes output, release decays at the decel rate); test on your robot before driving it — defaults suit a small indoor robot at ~0.5 m/s and tuning for your base is expected. The watchdog is a controlled stop, not a hardware e-stop.
Instant download — your file is available right after checkout from your account. No shipping, no waiting.
What's included
Free sample: Download the free sample — the complete twist_smoother source, parameter YAML and README.
Exact contents: teleop_smooth/keyboard_teleop.py — termios raw-stdin node, held-target model with K/L speed scale, re-publishes at 20 Hz; teleop_smooth/twist_smoother.py — the pure TwistSmoother ramp/clamp/watchdog logic plus its ROS node; config/teleop.yaml — every parameter for both nodes with the same names the code declares (max_linear, max_angular, accel/decel limits, watchdog_timeout 0.5s, publish_rate, topics); launch/teleop.launch.py starting both nodes; test/test_twist_smoother.py — stub-based unit tests; setup.py + setup.cfg + package.xml (ament_python, two console entry points); README.md with controls table, base-driver wiring guide and tuning section; LICENSE.txt.
Honest notes: logic verified with stub-based tests (ramp respects accel limits, clamps hold, watchdog zeroes output, release decays at the decel rate); test on your robot before driving it — defaults suit a small indoor robot at ~0.5 m/s and tuning for your base is expected. The watchdog is a controlled stop, not a hardware e-stop.
Instant download — your file is available right after checkout from your account. No shipping, no waiting.
What's included
- Keyboard teleop node (termios raw stdin, WASD + arrows, Space = stop, Q = quit)
- Twist smoother node: accel/decel rate limits, max-speed clamps, 0.5s deadman watchdog
- Parameter YAML + launch file — tune limits and topics without editing code
- Stub-based unit tests for the smoother math and parameter consistency
- README with controls table, tuning guide and base-driver wiring notes
- Single-buyer use license (LICENSE.txt)
- Requires: ROS 2 Humble or newer and a base driver subscribed to /cmd_vel (diff_drive_controller, TurtleBot, Gazebo or your own)
- Instant download after checkout — no shipping
- Quality-checked by MarketplacePlanet before listing
- Free re-downloads for 30 days from your account
Free sample: Download the free sample — the complete twist_smoother source, parameter YAML and README.
Format
Code package
Framework / Works with
ROS 2
License
Commercial use included
No reviews found
Please sign in so that we can notify you about a reply