Move in end-effector space
Joystick axes map to three translational and three rotational velocity components. The node waits for joint-state feedback before calculating motion commands.
PROJECT 01 / ROBOT INTERACTION
From a gamepad to robot motion.
A ROS 2 teleoperation tool that maps a gamepad to UR5e end-effector motion and Robotiq gripper commands.
01 / OVERVIEW
A compact bridge between human input and a robot arm. The control node reads joystick input and the current joint configuration, converts requested end-effector motion into joint velocities, and publishes commands to the arm’s velocity controller.
02 / IMPLEMENTATION
Joystick axes specify translation and rotation.
Six motion components describe the requested end-effector movement.
Current joint angles determine the velocity transformation.
Joint velocities are published to the ROS 2 controller.
Joint-state feedback supplies the robot configuration. Gamepad buttons control the gripper alongside arm motion.
Joystick axes map to three translational and three rotational velocity components. The node waits for joint-state feedback before calculating motion commands.
The implementation computes a geometric Jacobian from the arm’s kinematic parameters and current joint angles. Its pseudoinverse maps the requested end-effector velocity to six joint velocities.
Two gamepad buttons adjust the Robotiq gripper position. A ROS 2 launch file starts the joystick driver and control node together.
PROJECT CONTEXT
Code and launch configuration for a hardware-dependent ROS 2 setup, using a UR5e velocity controller and a Robotiq gripper.
03 / CODE
A few useful places to start in the public repository.