This repository is intended for Imperial College students taking the Human Centred Robotics class with Pr. Demiris.
Some basic notions of Docker and ROS would be helpful to get you started. Most of these notions have been covered in the lectures and in today's presentation; if some of them are unclear, use the links below to refresh your memory,
- Linux
- Docker
- Container
- Image
- Volumes
- docker build, docker run, docker exec commands
- ROS
- Workspace
- Package
- Node
- Topic
- roscore, roslaunch, rosrun
The purpose of this tutorial is to give you some hands-on practice. There are 3 main parts:
- 10 minutes presentation of the main concepts.
- Controlling a P3AT in simulation, by learning to use ROS, Docker, Makefiles and Gazebo.
- Controlling the real robot, for which you'll need to connect over SSH to the robot's laptop, set up your VNC server, and manage a multi-machine ROS network.
- Make sure your computer has
git
installed, and clone this repo usinggit clone XXX
. - Have a look at question 1 in
Dockerfile
- Have a look at questions 2, 3 and 4 in
Makefile
- Now that you have a container with ROS, start a
roscore
. Usedocker exec
to enter the same container from another terminal, and check the available topic.
Once this is done, you can move on to stage 2. Use git stash
to make sure the git repo is in a clean state (git status
should show no difference), and use git checkout stage2
to move on.