RoPod/Tutorials/Simulation

From Control Systems Technology Group
Revision as of 08:59, 14 November 2017 by 20170140 (talk | contribs)
Jump to navigation Jump to search

To get all the software up-and-running, first the right configuration of different bash-files should be added. Open a terminal (CTRL+SHIFT+T), go to your .bashrc and source the /src/platform/devpc/setup.bash-file:

vim .bashrc
source ~/ropod-project-software/catkin_workspace/src/platform/devpc/setup.bash

Save by ESC followed by typing ":wq". Now you w(rote) and q(uitted) the file. Now, in order to have all the dependencies and aliases correct, close all your terminals and open a new one.

As some packages are missing, we need to install these first. Therefore, execute the following commands in a terminal:

sudo apt-get install libbullet-dev
sudo apt-get install libsdl-image1.2-dev
sudo apt-get install libsdl-dev
sudo apt-get install ros-kinetic-robot-pose-ekf

The software can be build by navigating to the catkin_workspace of the project executing the catkin_make command:

cd ~/ropod-project-software/catkin_workspace
catkin_make

In order to do this at once, e.g. after making a small change in the software, you can use the alias "buildit" as well instead of these commands. Do you want to remove the old software and re-build because there are some problems? Just run the "clean_build" command. More handy command can be found in the cheat sheet.

Basically, you are good to go now! How? Well, lets first simulate the sensor data. There is a very handy command for that (again :)), namely pstart. So open a terminal and

pstart

From another terminal you can check which topics are active (using rostopic list). What happened here? Well, we started the "start.launch"-file in the pico_bringup folder (you can roscd to it). Here, all the parameters of the sensors can be found, both for the real robot and the simulation environment. Remember, this is robot-specific, so that is why the p is there before the start command. If you run this from your own pc, the Gazebo simulator environment will start up, as well as rviz. This last program visualizes the relevant data. At the moment however, it will probably not visualize any data. Why? Because the robot has no knowledge about its environment! We can achieve this by launching the localization-package, as well as the navigation package. Both depend on the worldmodel, the Environment Descriptor (ED), so we launch all at once. We can find the configurations in the applications-folder. The command to get this up-and-running for the first demonstrations are as follows:

roslaunch ropod_demo_dec_2017 ROPOD_demo_dec2017_gazebosim.launch 

Now, you will see the environment showing up and the costmaps of the navigation package. If you want more information about this, e.g. how to set up this description and how the world-model is used for localization and navigation purposes? Check out the ED-tutorials. In order to navigate around with the robot, you can give it a navigation goal with the "2D Nav Goal"-command. On the real-robot, you probably have to give an initial location as well. You can do this with the "2d Pose Estimate"-button.