This repository holds code and resources for the Autonomous Systems course by Prof. Pedro Lima, Prof. Rodrigo Ventura and M.Sc. Oscar Lima Carrion which takes place at Instituto Superior Tecnico, Lisboa.
NOTE: The course expects you to have installed Ubuntu 16.04 and ROS Kinetic.
Please follow these instructions:
Install git on your system:
sudo apt-get install git
Navigate to your home folder:
cd $HOME
Clone the repository:
git clone https://github.com/socrob/autonomous_systems.git
A partial documentation of this can be found here and here
For convenience and to save you time you can run a script to perform the instructions on this block by doing:
bash ~/autonomous_systems/resources/auton_sys_setup.sh
If you have used the automated script you can skip to section Lab1 below.
If you decide to do it manually (for didactic purposes) then please continue:
-
Create a folder for your ros workspace in your system:
mkdir -p ~/ros_ws/src
-
Install python catkin tools (to be able to compile with the new catkin build system, instead of catkin_make which is the old one)
sudo apt-get install python-catkin-tools
-
Source (enable) ROS on your system (only one time, this line should not be there on your .bashrc as it will be bashed by the scripts structure)
source /opt/ros/kinetic/setup.bash
-
Compile your workspace:
cd ~/ros_ws && catkin build
-
Add lines of code to your .bashrc to source the scripts configuration files
echo "# personal config starts here" >> ~/.bashrc && echo "source ~/scripts/permanent.sh" >> ~/.bashrc
-
Copy scripts folder to your home directory:
cp -r ~/autonomous_systems/resources/scripts $HOME
-
Source your new scripts structure:
source ~/.bashrc
Please open lab1 folder to access the lab slides and follow the instructions for the practical exercise. There is README.md file inside.
Lab 2 material will be published in this repository soon.
To get updates you can do:
git pull origin master
Please post your questions under:
https://github.com/socrob/autonomous_systems/issues
By creating an issue, so that we can all benefit from the answers.
Thanks!
Learn how to program in python, google developers nice online course
ROS python example on how to publish / subcribe from code
Nice ROS online course from ETH Zurich see their youtube lectures here
ROS tf tranformations library package
ROS AMCL package Adaptive Monte Carlo localization
ROS gmapping : SLAM algorithm (simultaneous localization and mapping)