# omy_3m_teleop *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.* ## Node Name `keyboard_controller` ## Description Keyboard teleoperation node for controlling the OpenManipulator-Y 3M robot arm with 6 joints. The node provides real-time keyboard control to adjust individual joint positions through interactive terminal input. This variant does not include gripper control. ## Publishers - **Topic**: `/arm_controller/joint_trajectory` - **Type**: `trajectory_msgs/msg/JointTrajectory` - **Description**: Publishes joint trajectory commands for the 6-joint robot arm (joint1-joint6). ## Subscribers - **Topic**: `/joint_states` - **Type**: `sensor_msgs/msg/JointState` - **Description**: Subscribes to current joint states to track arm positions. ## Parameters This node does not expose configurable parameters. The following internal constants control behavior: - **max_delta**: 0.02 radians - Maximum position change per command for arm joints - **command_interval**: 0.02 seconds - Minimum time between commands - Joint limits: -3.14 to 3.14 radians for all 6 joints ## Example Usage ### Launch the node ```bash ros2 run open_manipulator_teleop omy_3m_teleop ``` ### Keyboard controls Once running, use the following keys to control the robot: - **1/q**: Increase/decrease joint1 position (±0.02 rad) - **2/w**: Increase/decrease joint2 position (±0.02 rad) - **3/e**: Increase/decrease joint3 position (±0.02 rad) - **4/r**: Increase/decrease joint4 position (±0.02 rad) - **5/t**: Increase/decrease joint5 position (±0.02 rad) - **6/y**: Increase/decrease joint6 position (±0.02 rad) - **ESC**: Exit the program All joints have a range of -3.14 to 3.14 radians. ### Example workflow ```bash # Start the robot hardware or simulation first ros2 launch open_manipulator_bringup omy_3m.launch.py # In a new terminal, run the teleop node ros2 run open_manipulator_teleop omy_3m_teleop # Wait for "Ready to receive keyboard input!" message # Use keyboard keys to control joints # Press ESC to exit cleanly ``` ### Monitor joint commands ```bash # In another terminal, monitor the published trajectories ros2 topic echo /arm_controller/joint_trajectory ```