RoPod/Tutorials/Simulation
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 libsdl-image1.2-dev libsdl-dev 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.