Skip to content

Real Robot Control

This chapter explains how to run ROS with a real Indy robot.

Package Configuration

├── indy_driver
    ├── indy_driver ── indy_driver.py
    └── launch ── indy_bringup.launch.py
├── indy_moveit
    ├── ...
    └── launch ── indy_moveit_real_robot.launch.py

This section uses two packages: indy_driver and indy_moveit. The indy_driver package contains communication scripts to connect the Indy robot with ROS2, while indy_moveit includes the moveit configuration for use with the Indy robot.

Launch

Execute the following command to run the driver for the Indy7 robot model and control the actual robot through ROS2.

ros2 launch indy_driver indy_bringup.launch.py indy_type:=indy7 indy_ip:=192.168.xxx.xxx
  • indy_ip: Enter the IP address of the robot control box (192.168.xxx.xxx is an example).


You can run the Indy robot with Moveit using the command below. This command runs the Indy driver and Moveit together to control the actual robot.

ros2 launch indy_moveit indy_moveit_real_robot.launch.py indy_type:=indy7 indy_ip:=192.168.xxx.xxx


To enable the Servoing feature on the actual robot, use the following command.

ros2 launch indy_moveit indy_moveit_real_robot.launch.py indy_type:=indy7 indy_ip:=192.168.xxx.xxx servo_mode:=true

Servoing Mode Using the Keyboard

Start the controller for servo control with the following command.

ros2 run indy_driver servo_keyboard_input.py --ros-args -p is_sim:=false
  • , : Jog motion in x direction of the task space
  • , : Jog motion in y direction of the task space
  • ., ;: Jog motion in z direction of the task space
  • N, M, ,: Move in task space UVW
  • W, E: Switch jog motion based on global coordinates (W) and tool coordinates (E)
  • 1, 2, 3, 4, 5, 6, 7: Jog motion in joint space
  • R: Switch jog direction
  • -, +: Adjust motion speed in joint space
  • 9, 0: Adjust motion speed in task space
  • Q: Quit
  • H: Move to home position
  • Z: Move to zero position
  • S: Recover
  • P: Stop Teleoperation mode

Servoing Mode Using the Joy Controller (Xbox One S pad)

Start the controller for servo control with the following command.

ros2 run indy_driver servo_joy_input.py --ros-args -p is_sim:=true
  • D-pad: Control joint motion of axis 1 and 2
  • Y, A: Control joint motion of axis 3
  • B, X: Control joint motion of axis 4
  • LS, RS, LB, RB, LT, RT: Control TCP motion in task space
  • LS Click: Move to home position
  • RS Click: Move to zero position
  • XBOX: Recover
  • HOME: Start/Stop Teleoperation mode