Installation and use
Installation
Installation over Ubuntu 18.04:
- ROS Melodic: Desktop-Full Install recommended, includes Gazebo 9.0.0 (http://wiki.ros.org/melodic/Installation/Ubuntu).
- Gazebo 9.0.0
ROS Melodic related dependencies
Full ROS package:
sudo apt install ros-melodic-desktop-full
More packages:
sudo apt-get install \
python-pip python3-vcstool python3-pyqt4 \
pyqt5-dev-tools \
libbluetooth-dev libspnav-dev \
pyqt4-dev-tools libcwiid-dev \
cmake gcc g++ qt4-qmake libqt4-dev \
libusb-dev libftdi-dev \
python3-defusedxml python3-vcstool \
ros-melodic-octomap-msgs \
ros-melodic-joy \
ros-melodic-geodesy \
ros-melodic-octomap-ros \
ros-melodic-control-toolbox \
ros-melodic-pluginlib \
ros-melodic-trajectory-msgs \
ros-melodic-control-msgs \
ros-melodic-std-srvs \
ros-melodic-nodelet \
ros-melodic-urdf \
ros-melodic-rviz \
ros-melodic-kdl-conversions \
ros-melodic-eigen-conversions \
ros-melodic-tf2-sensor-msgs \
ros-melodic-pcl-ros \
ros-melodic-navigation \
ros-melodic-sophus \
python-rviz
Add the setup.bash
file to your .bashrc
:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
Create a virtualenv
virtualenv -p python3 gym-gazebo-env
Activate the virtual environment:
source gym-gazebo-env/bin/activate
Install Python Packages:
pip install -r requirements
Install gym-gazebo
cd ~
git clone https://github.com/RoboticsLabURJC/2019-tfm-ignacio-arranz.git
cd gym-gazebo
Run bash files, build the ROS workspace:
cd gym-gazebo/gym_gazebo/envs/installation
bash setup_melodic.bash
Usage
Build and install gym-gazebo
In the root directory of the repository:
pip install -e .
Configure ROS environment executing the following script (actually using ROS melodic):
bash setup_melodic.bash
Running an environment
- Load the environment variables corresponding to the robot you want to launch. E.g. to load the Formula 1:
cd gym_gazebo/envs/installation
bash formula1_setup.bash
Note: all the setup scripts are available in gym_gazebo/envs/installation
- Run any of the examples available in
examples/
. E.g.:
cd examples/f1
python f1_follow_line_camera.py
Display the simulation
To see what’s going on in Gazebo during a simulation, run gazebo client. In order to launch the gzclient
and be able to connect it to the running gzserver
:
- Open a new terminal.
- Source the corresponding setup script, which will update the GAZEBO_MODEL_PATH variable: e.g.
source setup_turtlebot.bash
- Export the GAZEBO_MASTER_URI, provided by the gazebo_env. You will see that variable printed at the beginning of every script execution. e.g.
export GAZEBO_MASTER_URI=http://localhost:11311
Finally, launch gzclient
.
gzclient
Also, you can see the F1 camera using rviz
+ ros_topic
like this:
rosrun image_view image_view image:=/F1ROS/cameraL/image_raw
Killing background processes
Sometimes, after ending or killing the simulation gzserver
and rosmaster
stay on the background, make sure you end them before starting new tests.
We recommend creating an alias to kill those processes.
echo "alias killgazebogym='killall -9 rosout roslaunch rosmaster gzserver nodelet robot_state_publisher gzclient'" >> ~/.bashrc
You can also run a script that stops the processes, in the scripts
folder:
gym_gazebo/scripts/stop.sh