Skip to content

Robot Simulation

This section provides commands for launching the Indy robot model in a simulated environment using the Gazebo simulator. This can be useful for testing and developing robotic applications without the need for a physical robot.

Package Configuration

├── indy_gazebo
    └── indy_gazebo.launch
├── indy_moveit
    ├── ...
    └── launch ── moveit_gazebo.launch

This section uses two packages: indy_gazebo and indy_moveit. The indy_gazebo package contains a description for a simulation robot, while indy_moveit contains moveit configuration to use moveit with simulation robots.

Launch

Run the Gazebo simulator with the Indy7 robot model loaded using the command below.

roslaunch indy_gazebo indy_gazebo.launch indy_type:=indy7 rviz:=true

When you run the command, the Gazebo window and the Rviz window will be launched as shown below.


To use the Moveit and Servoing features in the Gazebo simulator, terminate the previous command and run Gazebo without RViz as follows.

roslaunch indy_gazebo indy_gazebo.launch indy_type:=indy7

Then, open another terminal and run Moveit.

roslaunch indy_moveit moveit_gazebo.launch indy_type:=indy7


When selecting Goal State in the image below, there are two predefined goals (HomePos, ZeroPos). Press the Plan & Execute button to move the robot to the target position.


In Servoing mode, you can control the robot using the keyboard. Execute spacenav using the terminal command below.

roslaunch indy_moveit spacenav.launch
Change the Gazebo controller using the command below.
rosservice call /controller_manager/switch_controller
"start_controllers: ['joint_group_position_controller']
stop_controllers: ['joint_trajectory_controller']
strictness: 0
start_asap: false
timeout: 0.0"


Open a new terminal and use the keyboard node to perform Servoing mode.

roslaunch indy_driver indy_servo_keyboard.launch
  • , : Jog motion in x direction of the workspace
  • , : Jog motion in y direction of the workspace
  • ., ;: Jog motion in z direction of the workspace
  • N, M, ,: Move in workspace 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 workspace
  • Q: Quit


```