omy_f3m_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 F3M robot arm with 6 joints and a gripper. The node provides real-time keyboard control to adjust individual joint positions and gripper state through interactive terminal input.

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 and gripper position (rh_r1_joint).

Actions (Client)

  • Action: /gripper_controller/gripper_cmd

    • Type: control_msgs/action/GripperCommand

    • Description: Sends gripper position commands with maximum effort of 10.0 N.

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

  • gripper_delta: 0.1 - Position change increment for gripper

  • command_interval: 0.02 seconds - Minimum time between commands

  • gripper_max: 1.1 - Maximum gripper opening position

  • gripper_min: 0.0 - Minimum gripper opening position

  • Joint limits: -3.14 to 3.14 radians for all 6 joints

Example Usage

Launch the node

ros2 run open_manipulator_teleop omy_f3m_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)

  • o: Close gripper (decrease position)

  • p: Open gripper (increase position)

  • ESC: Exit the program

Example workflow

# Start the robot hardware or simulation first
ros2 launch open_manipulator_bringup omy_f3m.launch.py

# In a new terminal, run the teleop node
ros2 run open_manipulator_teleop omy_f3m_teleop

# Wait for "Ready to receive keyboard input!" message
# Use keyboard keys to control joints and gripper
# Press ESC to exit cleanly

Monitor joint commands

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

# Monitor gripper action status
ros2 action list
ros2 action info /gripper_controller/gripper_cmd