Introduction to ROS

Getting started

If you are completely new to ROS, there are a few resources we can personally recommend. First of all, the official ROS documentation features an extensive tutorial for both Python and C++. If you are looking for a good lecture on ROS, the five lectures available on the website of the Robotic Systems Lab at ETH will have you covered on all basic ROS functionalities and feature structured exercises with prepared packages and code (solutions are spread all over Github). Additionally, the ros_best_pratices package can serve as a template for further projects.

Working with the available packages

Most packages are running locally on the robot, in order to start them, you'll need to connect to the robots wifi and connect over SSH with
sudo su
123 #Password
which will setup everything you need to start the communication between ROS on the robot and on your computer. After that you can simply start the current demonstration by running
roslaunch rbd_controller rbd_controller.launch
which will start all necessary ROS nodes. Furthermore you'll need to start the gesture recognition program on the Ubuntu VM with the command
python3 /path/to/ #change path to the actual path
Now you are all set up to run the current demonstration.

Creating and Running Other Nodes

To launch individual nodes you can use the steps mentioned before to get to the right folder. By running the command
roslaunch package_name node.launch
you can launch an available .launch file from any package. A more detailed explanation on how to build your own package can be found in section Creating a Node.