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

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

# 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

# In another terminal, monitor the published trajectories
ros2 topic echo /arm_controller/joint_trajectory