RoPod/Tutorials/GAZEBO installation and interface with ROS

From Control Systems Technology Group
Revision as of 15:10, 12 October 2017 by 20170140 (talk | contribs)
Jump to navigation Jump to search

GAZEBO is a set of ROS packages that provide the necessary interfaces to simulate a robot in the Gazebo 3D rigid body simulator for robots. It integrates with ROS using ROS messages, services and dynamic reconfigure.

Install gazebo (versions 7.x are compatible with ROS kinetic): http://gazebosim.org/tutorials?tut=install_ubuntu&cat=install

curl -ssL http://get.gazebosim.org | sh

Install gazebo_ros_pkgs and some extra packages needed to run the basis ropod model

sudo apt-get install ros-kinetic-gazebo-ros-pkgs ros-kinetic-gazebo-dev ros-kinetic-gazebo-plugins ros-kinetic-gazebo-ros libgazebo7-dev libgazebo7 libignition-math2 libsdformat4
sudo apt-get install ros-kinetic-gazebo-ros-control
sudo apt install ros-kinetic-joint-state-controller
sudo apt install ros-kinetic-effort-controllers
sudo apt-get install ros-kinetic-openni2-camera ros-kinetic-openni2-launch

Get familiar with ROS and with the catkin_make way of working: http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment

Now we will install existing ROS and gazebo files that will allow to perform simulations of the ropod

Ensure you configured GitHub and you have downloaded the repository: See tutorial

Now you are ready to start the ropod_gazebo model plus the ROS packages to interact with it.

The first time you install the files in your computer be sure that the folders ‘build’ and ‘devel’ are removed, as well as the file src/Cmakelists.txt

Then, on the main directory level, run a cmake command to generate the executable files

catkin_make

You can run the alias

 clean_build

to do all these actions at once. If you just downloaded the repository, ensure you do this from a new terminal! You can safe time the next time you do this by running the command

buildit

In this case, the folders /build, /devel and the /src/CMakeLists.txt-file are not removed.

Then, we can launch the ropod gazebo model, which is already connected with ROS

roslaunch ropod_gazebo ropod_world.launch 

Get familiar with the data being published, the nodes, etc. See ROS tutorials

Faster startup of Gazebo

As you might notice, it can take quite a while before gazebo is loaded. This is caused by loading several models from the gazebo-repository. You can prevent this as follows:

  • Go to the directory where gazebo is installed
cd /usr/share/gazebo-<your gazebo version> 
  • Open setup.sh in an editor as a super user
vim setup.sh
  • replace the line

"export GAZEBO_MODEL_DATABASE_URI="http://gazebosim.org/models" to export GAZEBO_MODEL_DATABASE_URI=""

Now, Gazebo should be loaded much faster by loading it from a new terminal.

Be careful with this: models from standard tools, such as depth-camera's, can be found in this library. By replacing this line, you can not add them by default any more, but you should download these files yourself and add them to your local library.


Matlab and GAZEBO interface via ROS

Open the file ropod_controller.slx. Before executing the simulink model, launch the ropod_gazebo model.

Now you are ready to start simulating your own controller.