Simulating RIA

E100_sim is a gazebo simulator. It provides the mobile base robot “ria_e100” model with simulated sensors such as an IMU, a odometry sensor, and the rplidar, rgbd camra, Other sensor which can be mounted on the robot.

This package contains some controllers,like teleop in an indoor worlds, a joystick controller. Below we provide the instructions necessary for getting started with the navigation in the simulation world.

Note

Prerequisites : RIA E100 host PC setup is required before proceed this tutorial

Basic Usage

First, launch the simulation include only the model of the robot and inspect the topics in the simulator, by use the following:

roslaunch e100_sim gazebo.launch

Note

The first run of gazebo might take considerably long, as it will download some models from an online database.

Getting the robot to move

To let the robot move you need to send velocity command, There are currently a few ways to send commands to the robot, we will show them here. We will also show how you can control the robot with a joystick.

  • Send direct velocities commands

We will for now just send some constant command velocities to the robot by:

rostopic pub /cmd_vel geometry_msgs/Twist "linear: x: 1.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0"
  • Teleop using keyboard

Now, we are goining to send the command to the robot via keypoard by typing the following:

roslaunch e100_sim keyboard.launch
  • Usage with a joystick
roslaunch e100_sim joy.launch

Navigation

Note

  1. To use navigation based on odometer keep “export USE_EKF=true” in bashrc file. Results with this will be good when robot is being operated in open environment but please note that E100 is meant to use for indoor. so try to choose your operating environment accordingly.
  2. To use navigation using laser based odometer keep “export USE_EKF=false” in bashrc file. Results with this will be quite good when robot is being operated in closed environment with asymmetric properties around.

Create a map using slam_gmapping

First launch the robot in the simulation world by:

roslaunch e100_sim gazebo.launch

Now launch the joy node:

roslaunch e100_sim joy.launch

Further, we need to launch the gmapping slam by:

roslaunch e100_navigation slam_gmapping.launch

And start move around in the whole environment, open rviz and visualize.

../_images/image4.png
../_images/image4.png

The last step you have to save the map using the following: .. code-block:: bash

rosrun map_server map_saver -f simulation_world

It is recommended to save the map in the path:

~/catkin_ws/src/ria_e100/e100_navigation/maps

The last step is to launch the navigation file by:

roslaunch e100_navigation navigation_sim.launch
../_images/image4.png
../_images/image4.png
../_images/image4.png

Gazebo Version It is recommended to install at least Gazebo v7.x for full functionlity, (which is installed by default with ROS Kinetic).