Cours ROB314 - ROS v1
Architecture matérielle et logicielle pour la robotique
Architecture matérielle et logicielle pour la robotique - 2024
Installation
The course will be presented with Ubuntu 18.04 and ROS Melodic. You will also need to use ROS and Ubuntu to do the exercises.
I invite you to use your own computers, if you can (perhaps dual boot?). To do this, install Ubuntu version 18.04, update the system, then use my script below to install the other components (Tools, ROS, Gazebo, OpenCV from source, etc.)
I’ll also be able to lend you a few laptops to work on, which will already be pre-installed.
For the first few sessions, we’ll be doing exercises and tutorials on ROS. So you’ll need to have access to ROS (and Ubuntu 18.04) from the very first class.
Initially, it’s possible to use a virtual machine (with VirtualBox, for example), but in this case, communicating with a robot during your project will become very complicated. If you’re interested, I’ve made a vdi image using VirtualBox with Ubuntu 18.04, ROS and OpenCV already installed. Initially, this may suffice in place of a real installation.
Virtual Box Image of Ubuntu 18.04
Image vdi file (20 Go), available until 31/01/2024. (Mot de passe : student)
Scripts to install ROS & Co
Ubuntu 18.04 or 20.04 must be installed first.
- To install various tools, ROS, Gazebo and OpenCv (from sources with Opencv Contrib included) with Ubuntu 18 and ROS Melodic : install_U18_ROS_2024_partA.sh
- To install various tools, ROS, Gazebo and OpenCv (from sources with Opencv Contrib included) with Ubuntu 20 and ROS Noetic : install_U20_ROS_2024_partA.sh
Tools
Introduction ROS - Session 1 - 19/01/2024
- Presentation of session 1. Printable version.
- Session 1 - Exercice 1
- Session 1 - Exercice 2
- Session 1 - Exercice 3
Introduction ROS - Session 2 - 26/02/2024
- Presentation of session 2. Printable version.
- Session 2 - Exercice 1 (modified on 9 Feb.)
- Session 2 - Exercice 1: Code resource
- Session 2 - Exercice 1: Example of solution
Introduction ROS - Session 3 - 31/01/2024
- Presentation of session 3 Printable version.
- Session 3 - Exercice 1
- Session 3 - Exercice 1: Code resource
- rob314_session3_worlds.zip
- Session 3 - Exercice 1 - Example of solution
Partial list of tutorials for ROS
-
Creating an empty ros package and compile it: http://wiki.ros.org/ROS/Tutorials/CreatingPackage http://wiki.ros.org/ROS/Tutorials/BuildingPackages
-
Creating a python ros package and move a turtle straight and around (python)
http://wiki.ros.org/turtlesim/Tutorials/Moving in a Straight Line
http://wiki.ros.org/turtlesim/Tutorials/Rotating Left and Right
http://wiki.ros.org/turtlesim/Tutorials/Go to Goal -
Start playing with husky: https://www.clearpathrobotics.com/assets/guides/ros/Drive a Husky.html
-
Create a node to drive randomly (cpp) : https://www.clearpathrobotics.com/assets/guides/ros/Creating publisher.html
https://www.clearpathrobotics.com/assets/guides/ros/Creating subscriber.html -
http://www.clearpathrobotics.com/assets/guides/husky/SimulatingHusky.html
-
Autonomous planning with Husky : http://www.clearpathrobotics.com/assets/guides/husky/HuskyMove.html
http://www.clearpathrobotics.com/assets/guides/husky/HuskyAMCL.html
http://www.clearpathrobotics.com/assets/guides/husky/HuskyGmapping.html
http://www.clearpathrobotics.com/assets/guides/husky/HuskyFrontiers.html -
Learning tf http://wiki.ros.org/tf/Tutorials/Introduction to tf http://wiki.ros.org/tf/Tutorials
-
Gazebo tutorial, build a world http://gazebosim.org/tutorials?tut=build_world