-
Notifications
You must be signed in to change notification settings - Fork 10
Installation & setup
##Installation - Setup
This series of challenges require the utilization of the STDR Simulator and the CRSM SLAM, which are a collection ROS packages. The operating system required is Ubuntu 12.04 or 14.04 (the code was checked in 14.04 but it should work on 12.04 as well).
ROS is a "flexible framework for writing robot software. It is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms."
STDR Simulator is a two dimentional robot simulator that enables simple simulation of robots in an intuitive and easy way. It is based on ROS and its main goal is to enable you to setup a simulation environment in just a few minutes.
CRSM SLAM stands for Critical Rays Scan Match SLAM (Simultaneous Localization and Mapping) and, as the name suggests, provides mapping functionality to a robotic agent that is equipped with an LRF (Laser Range Finder) sensor.
###ROS installation
First of all you must install ROS. The flavour is ROS Indigo if you have Ubuntu 14.04 installed, or ROS hydro for Ubuntu 12.04. The installation instructions can be found here:
###Download the required packages
The required packages you have to download are STDR Simulator, CRSM SLAM and the current repository. Before them install the following libraries:
sudo apt-get install git mercurial ros-indigo-map-server
Create a catkin repository in a folder you want (in this tutorial we create in in $HOME):
cd ~
mkdir -p catkin_ws/src
cd catkin_ws/src
catkin_init_workspace
Then clone the CRSM SLAM repository:
cd ~/catkin_ws/src/
git clone https://github.com/pandora-auth-ros-pkg/crsm-slam-ros-pkg.git
cd crsm-slam-ros-pkg
git checkout autonomous_systems
Next, clone the STDR Simulator:
cd ~/catkin_ws/src/
git clone https://github.com/stdr-simulator-ros-pkg/stdr_simulator.git
cd stdr_simulator
git checkout autonomous_systems
Build the packages:
cd ~/catkin_ws
catkin_make
If the build was successful you are ok!
###Create a github account and fork the autonomous systems repository
If you don't have a github account create one! Then login, go to the autonomous_systems_architectures repository here and fork it to your account (the fork button is at the top right of the repositorie's webpage).
You have to do this, in order to upload the challenges code in your own repository.
Clone the autonomous_systems repository located in your profile:
cd ~/catkin_ws/src
git clone https://github.com/YOUR_USERNAME/autonomous_systems_architectures.git
Build the package:
cd ~/catkin_ws
catkin_make --pkg autonomous_exploration
or
cd ~/catkin_ws
catkin_make
Then, add the following line at the end of the $HOME/.bashrc
file:
source ~/catkin_ws/devel/setup.bash --extend
Finally, either close all consoles and reopen them, or execute in every console the following:
source ~/.bashrc
- Installation / setup
- Modules description
- How to execute the code
- Challenge 1 [15 pts]: Obstacle avoidance using the sonars sensors
- Challenge 2 [15 pts]: Obstacle avoidance using the laser sensor
- Challenge 3 [10 pts]: Obstacle avoidance using sonar and laser sensors via a subsumption architecture
- Challenge 4 [10 pts]: Obstacle avoidance using sonar and laser sensors via a motor schema architecture
- Challenge 5 [5 pts]: Publish the robot path
- Challenge 6 [10 pts]: Update the coverage field
- Challenge 7 [15 pts]: Calculate velocities towards path traversing
- Challenge 8 [10 pts]: Calculate velocities towards path traversing, including the sonars and the laser measurements via a subsumption architecture
- Challenge 9 [10 pts]: Calculate velocities towards path traversing, including the sonars and the laser measurements via a motor schema architecture
- Challenge 10 [5 pts]: Improve the subgoal visitation check
- Challenge 11 [10 pts]: Create a smart target selection technique
- Challenge 12 [10 pts]: Improve the A* algorithm's efficiency
- Challenge 13 [up to 25 pts]: Surprise us!