RoPod/Tutorials/Simulation

From Control Systems Technology Group
Revision as of 10:51, 30 January 2020 by S127478 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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 commands 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 r2start. So open a terminal and

r2start

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 ropod_tue_2_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 r2 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. The command to get this up-and-running for the first demonstrations are as follows:

roslaunch maneuver_navigation maneuver_navigation.launch

Run this command in a new terminal, while the r2start command is still running in the old terminal. Now, you will see the environment showing up and the costmaps of the navigation package. 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.