AMR: Autonome Navigation mit einem JetBot ROS AI Roboter

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Abb. 1: Fahrerloses Transportfahrzeug (FTF) der Arbeitsgruppe Robotik und Autonome Systeme
Autor: Neaz Mahmud
Art: Projektarbeit
Modul: Project Work (ELE-B-2-7.02)
Dauer: 09.10.2023 - xx.yy.2024
Arbeitszeit: TBD
Betreuer: Prof. Dr.-Ing. Schneider
Prüfungsform: Modulabschlussprüfung als Hausarbeit (Praxisbericht, Umfang 10-50 Seiten) und mündliche Prüfungsleistung (Präsentation, 15 Minuten)
Mitarbeiter: Marc Ebmeyer, Tel. 847

Einführung

Seit über 2 Jahren arbeiten wir mit der Arbeitsgruppe Robotik und autonome Systeme an der autonomen Navigation eines Fahrerlosen Transportfahrzeugs (FTF, s. Abb. 1) mit der Firma Hanning zusammen. Für die Weiterentwicklung benötigen wir studentische Hilfe.

Aufgabenstellung

  1. Einarbeitung in das bestehende System
  2. Überprüfung und Verbesserung der bestehenden Dokumentation
  3. Ansteuerung des FTS
  4. Geregelte autonome Indoor Navigation des FTF
  5. Vermessung und Bewertung der Güte der Fahrt mit dem bestehenden Referenzsystem.
  6. Test und wiss. Dokumentation im HSHL-Wiki

Anforderungen

Das Projekt erfordert Vorwissen in den nachfolgenden Themengebieten. Sollten Sie die Anforderungen nicht erfüllen müssen Sie sich diese Kenntnisse anhand im Rahmen der Arbeit anhand von Literatur/Online-Kursen selbst aneignen.

  • Umgang mit Linux
  • C-Programmierung
  • Dokumentenversionierung mit SVN
  • Optional: Simulation mit WeBots
  • Optional: Umgang mit ROS2
  • Optional: Partikel Filter SLAM

Anforderungen an die wissenschaftliche Arbeit

Getting Started

Softwarestand

Verwenden Sie ausschließlich diese Software:

  • Ubuntu: 22.04.3 LTS
  • ROS2: Humble Hawksbill
  • Gazebo: 11.10.2
  • Rviz2: 11.2.8-1

Summary

This project aims to implement autonomous navigation capabilities in a JetBot robotic platform using ROS2 (Robot Operating System). The JetBot will be equipped with a Lidar sensor to perceive its surroundings, allowing it to generate detailed maps using SLAM (Simultaneous Localization and Mapping) techniques. Additionally, the robot will utilize odometry data to refine its positional awareness within the mapped environment.

The core objectives of the project include:

Lidar-Based Mapping: Integration of a Lidar sensor for real-time environmental sensing, enabling the JetBot to generate accurate and up-to-date maps of its surroundings.

SLAM Implementation: Employing SLAM algorithms to simultaneously map the environment and localize the JetBot within it, ensuring adaptability to unknown or dynamic spaces.

Odometry for Localization: Utilizing odometry data to enhance the robot's localization accuracy, particularly in scenarios where Lidar data may be limited or noisy.

ROS Integration: Implementing and optimizing these functionalities within the ROS framework, leveraging its extensive libraries and tools for seamless communication and coordination between different components.

Autonomous Guidance: Developing algorithms and control systems that enable the JetBot to autonomously navigate through indoor environments, avoiding obstacles and optimizing its path based on the mapped environment.


Installation of Softwares and Necessary Packages

For developement of this project, we will be working on Linux OS (Ubuntu: 22.04.3 LTS). The installation procedure can be followed from the following link Ubuntu. The next step will be installing ROS2 on our system.This can be done following the instructions on this page [2] We can either use Webots or Gazebo for simulation. I will be using Gazebo for this project and this can be installed by running "curl -sSL http://get.gazebosim.org | sh" on command panel. We will also need nav2 stack for our project. Run the following lines on command panel in order to install the Nav2 packages "sudo apt install ros-humble-navigation2" and then "sudo apt install ros-humble-nav2-bringup". Also install the turtlebot3 packages by running "sudo apt install ros-humble-turtlebot3-gazebo" on command panel. The following example [3]can be run in order to check if everything is properly installed. We will also need the following packages. Simply run the following lines on command panel.

sudo apt-get install ros-humble-nav2-costmap-2d
sudo apt-get install ros-humble-nav2-core
sudo apt-get install ros-humble-nav2-behaviors
sudo apt-get install ros-humble-robot-localization
sudo apt-get install ros-humble-gazebo-ros-pkgs
sudo apt-get install ros-humble-turtlebot3-msgs
sudo apt-get install ros-humble-nav2-map-server
sudo apt install ros-humble-nav2-bringup


Project Plan

==



→ zurück zum Hauptartikel: Studentische Arbeiten