# teleop_keyboard *This file is ai generated. Do not edit this file directly. Instead, edit the node source code and run the generate-node-docs command to update this file.* ## Description Keyboard teleoperation node for controlling the TurtleBot3 using keyboard inputs. This node allows users to control the robot's linear and angular velocities using intuitive keyboard keys. The velocity commands are smoothly ramped to provide better control. ## Publishers - `cmd_vel` ([geometry_msgs/Twist](http://docs.ros.org/api/geometry_msgs/html/msg/Twist.html) or [geometry_msgs/TwistStamped](http://docs.ros.org/api/geometry_msgs/html/msg/TwistStamped.html)) - Velocity commands for the robot - Uses Twist for ROS 2 Humble, TwistStamped for later distributions ## Parameters The node uses environment variables instead of ROS parameters: - `TURTLEBOT3_MODEL` (environment variable) - Must be set to either "burger", "waffle", or "waffle_pi" - Determines the maximum velocity limits: - Burger: max linear 0.22 m/s, max angular 2.84 rad/s - Waffle/Waffle Pi: max linear 0.26 m/s, max angular 1.82 rad/s ## Keyboard Controls ``` Control Your TurtleBot3! --------------------------- Moving around: w a s d x w/x : increase/decrease linear velocity a/d : increase/decrease angular velocity space key, s : force stop CTRL-C to quit ``` ## Example Usage Set the TurtleBot3 model and launch the keyboard teleoperation: ```bash export TURTLEBOT3_MODEL=burger ros2 run turtlebot3_teleop teleop_keyboard ``` For Waffle model: ```bash export TURTLEBOT3_MODEL=waffle ros2 run turtlebot3_teleop teleop_keyboard ``` ## Notes - The node requires terminal focus to receive keyboard input - Velocity changes are applied incrementally with step sizes: - Linear velocity step: 0.01 m/s - Angular velocity step: 0.1 rad/s - The node publishes commands at approximately 10 Hz - On exit, the node sends a stop command (all velocities set to zero)