ROBOTIS Open Manipulator on Ubuntu18.04 – ROS Melodic

Written by Marco Arruda


Hello ROS Developers!

In this post we are going to setup the simulation of the robot OpenMANIPULATOR-X from Robotis company. All the steps were based on their official documents

Let’s start creating a new ROSJect, we are going to use Ubuntu 18.04 + ROS2 Eloquent, which is also a ROS 1 Melodic environment.


Configuring environment

First we are going to configure our environment for the simulation. Let’s change the $ROS_PACKAGE_PATH in order to avoid the public simulations available in ROSDS.

Let’s recompile the simulation_ws on the folder /home/user/simulation_ws.

user:~$ cd ~/simulation_ws
user:~/simulation_ws$ rm -rf build devel
user:~/simulation_ws$ source /opt/ros/melodic/setup.bash
user:~/simulation_ws$ catkin_make
user:~/simulation_ws$ source devel/setup.bash

And then recompile catkin_ws as well.

user:~$ cd ~/catkin_ws
user:~/catkin_ws$ rm -rf build devel
user:~/catkin_ws$ source ~/simulation_ws/devel/setup.bash
user:~/catkin_ws$ catkin_make

We are ready to download the simulation.


Downloading and compiling Open Manipulator X

Let’s clone the necessary repositories to our workspace, inside ~/simulation_ws/src

user:~$ cd ~/simulation_ws/src
user:~/simulation_ws/src$ git clone
user:~/simulation_ws/src$ git clone
user:~/simulation_ws/src$ git clone
user:~/simulation_ws/src$ git clone
user:~/simulation_ws/src$ git clone
user:~/simulation_ws/src$ git clone
user:~/simulation_ws/src$ git clone

After that, get one folder up and re-compile the simulation_ws workspace.

user:~/simulation_ws/src$ cd ..
user:~/simulation_ws$ catkin_make

You must be ready to launch the simulation at this point!


Launching the simulation

Let’s go on the ROSDS way of launching simulations. Open the simulation menu and press Choose launch file..

Choose the file open_manipulator_gazebo.launch from the package open_manipulator_gazebo



Press Start simulation and the web gazebo client must open the simulation:

Great! Let’s play with it a little bit!


Controllers and GUI Operator

With the simulation ready, let’s start two other programs using the shell.

In a first web shell, shell 1, launch the controllers for gazebo simulator. At this moment, we are telling ROS it’s not a real robot, but a simulated one:

user:~$ roslaunch open_manipulator_controller open_manipulator_controller.launch use_platform:=false

In another shell, shell 2, open the graphical interface for controlling the robot:

user:~$ roslaunch open_manipulator_control_gui open_manipulator_control_gui.launch

Your environment should be more or less like below:


Testing it!

Now, let’s send some commands to the robot. Check the GIF below. The actions are:

  • Play the simulation
  • Start the timer inside the GUI
  • Enable actuator inside the GUI
  • Send the commands: open and close the gripper
  • Send Home pose
  • Send Init pose
  • Send Custom pose



In a few steps we achieved to have the simulation and a demo working!

Don’t forget to check the official documentation of the robot:

If you miss any of the steps, you can have a copy of the ROSJect generated for this post, click here!

Please, leave your comments and share it if you like this kind of post!

See you in the next one!


You May Also Like…


Share This