Warning
This page is located in archive.

Lab05 - Mobile Robot Exploration

Motivations and Goals
Become familiar with frontier based exploration
Become familiar with the ROS framework
Tasks (teacher)
T1e-expl (3 Points) Implement a frontier detector
Projects
P1-expl (15 Points) Implement and integrate ROS nodes to solve the exploration task
Lab resources
T1e-expl resource package
P1 resource package


ROS

The Robot Operating System (ROS) is a set of open-source software libraries designed to build and connect robotic applications.


Setup

To run the ROS nodes, it is strongly recommended to use either Ubuntu 16 with ROS Kinetic or Ubuntu 18 with ROS Melodic. Detailed installation instructions may be found on ROS web pages ROS Kinetic, ROS Melodic.

On the lab computers, ROS Kinetic is already preinstalled but two more libraries need to be installed before using it.

pip install rospkg
pip install netifaces
Moreover, it is necessary to source the main ROS setup script, which has to be done in each new terminal instance. Thus, it is recommended to add the following source command in your ~/.bashrc file
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
or alternatively when running ROS Meloding
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc

Finally, on Ubuntu 16 the STDR simulator is installed using

sudo apt-get install ros-kinetic-stdr-*
On Ubuntu 18, STDR has to be compiled from source, which can be found at https://github.com/stdr-simulator-ros-pkg/stdr_simulator.


ROS Basics

On Ubuntu 16 and 18 the ROS workspace is created as follows

cd ~/
mkdir rds_ws
mkdir rds_ws/src
cd rds_ws
catkin_make
 
# source the workspace
cd devel
devel_path=$(pwd)
echo "source $devel_path/setup.bash" >> ~/.bashrc
source setup.bash

The main study material for ROS is http://wiki.ros.org/ROS/Tutorials. A special attention should be given to ROS message-based communication presented in http://wiki.ros.org/ROS/Tutorials/WritingPublisherSubscriber%28python%29.

courses/b4m36uir/labs/lab05.txt · Last modified: 2019/10/20 19:23 by pragrmi1