Introduction

The mobile robot creates a map of its environment using a Lidar sensor while moving around. To do so, it needs to estimate its own location as well as the location of the walls and objects, which is called a Simultaneous Localisation and Mapping (SLAM) problem. Using a camera, it is able to detect posters of faces that are placed on the walls of the environment. It recognizes 5 different humans and puts a marker on the map where the respective image is located. In the virtual environment there is also a ball that moves around, which the robot is able to autonomously track and follow. The ROS nodes are written in C++ and Python.

Virtual Environment

Created Map

Demonstration

SLAM and Face Recognition Demo

Ball Tracking Demo

Instructions

Prior to start

Launch for Demo Part 1

Launch for Demo Part 2

Installation Error Fixing

haarcascade error

make sure that and the are found by either changing the absolute path in or by copying the files to the set directory

Ros version

we used ros melodic for the Demo, change either ros version or files if needed

especially in CMakeLists.txt of vrep_ros_interface, change to actual ros version at <link_directories(“/opt/ros//lib")>

After ZIP Download

These errors can occur when files are downloaded from a zip folder: If permission denied for cfg files in opencv (while trying to catkin_make) do: chmod +x /src/opencv_apps/cfg/ -R

If a node can’t be launched, do: (will probably be keyboard_vel.py file) chmod +x If the file that can’t be launched is keyboard_vel.py: chmod +x /src/keyboard_vel/src/keyboard_vel.py

compiler error

in CMakeLists.txt of vrep_ros_interface add after the package name: add_definitons(–std=c++11)

laser_scan orientation in map

if the laser scan data does not match the walls, change in slam_gmapping.cpp the direction of the unequal sign at <if (up.z() < 0)>