Skip to content

RuteLuz/autonomous_systems

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Autonomous Systems

This repository holds code and resources for the Autonomous Systems course that takes place at Instituto Superior Tecnico, Lisboa.

For this course you will need to have a machine running Ubuntu, ROS and some other things, please follow the instructions bellow before the laboratory classes begin.

Ubuntu instalation

For the first classes you may use a virtual machine (in that case use this image), but it is advisable, at some point, to use a native instalation of Ubuntu 16.04 64-bit in order to prevent unwanted issues that may arise from the use of a virtual machine.

ROS Kinetic installation

It is advisable to go for the Desktop-Full Instalation of ROS, please go through the instructions in the following link: http://wiki.ros.org/kinetic/Installation/Ubuntu

Git and Repository setup

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

Whenever the repo is updated you can get the latest updates with:

    cd $HOME/autonomous_systems
    git pull origin master

(Optional) Terminator is a usefull tool when you want to have several terminals open. If you want to install it just run:

    sudo apt-get install terminator

Setup catkin workspace and scripts structure (one time only)

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:

  1. Create a folder for your ros workspace in your system:

     mkdir -p ~/ros_ws/src
    
  2. 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
    
  3. 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
    
  4. Compile your workspace:

     cd ~/ros_ws && catkin build
    
  5. 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
    
  6. Copy scripts folder to your home directory:

     cp -r ~/autonomous_systems/resources/scripts $HOME
    
  7. Source your new scripts structure:

     source ~/.bashrc
    

Lab1

Please open lab1 folder to access the lab slides and follow the instructions for the practical exercise. There is README.md file inside. To save time in class you can go through step 1 in advance.

Lab2

Please open lab2 folder to access the lab slides and follow the instructions for the practical exercise. There is README.md file inside.

Questions

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!

Extra Resources

Learn how to program in python, google developers nice online course

ROS python example on how to publish / subcribe from code

ROS beginner tutorials

Nice ROS online course from ETH Zurich see their youtube lectures here

ROS tf tranformations library package

ROS tf tutorials

ROS AMCL package Adaptive Monte Carlo localization

ROS gmapping : SLAM algorithm (simultaneous localization and mapping)

About

Material used for learning ROS and robotics, as part of the autonomous systems course by prof. Pedro Lima at Instituto Superior Tecnico

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Shell 46.4%
  • Python 40.6%
  • TeX 8.5%
  • CMake 2.4%
  • C++ 1.8%
  • MATLAB 0.3%