Mobile Robot Control 2023 R2-D2

From Control Systems Technology Group
Jump to navigation Jump to search

Group members:

Name student ID
Ismail Elmasry 1430807
Carolina Vissers 1415557
John Assad 1415654
Jelle Cruijsen 1369261
Florian Geister 1964429
Omar Elba 1492071

General Requirements of the wiki page

  • Is there an introduction/conclusion? (yes, at least there's a heading for that)
  • Is there a logical ordering storywise? (must be checked afterwards, need to have all the components of the functionalities, and everything we have done so far written down to not miss anything, then we can order)
  • Interpretability/readability: proper grammar, use of figures etc. (check afterwards, did we check comments in the code so it can be read and understood easily?

Design Presentation

File:MRC Design.pdf Presentation pdf:

-- About the design presentation: Possible Extension Algorithms and why we don't use them any more

Introduction

The main challenge is to design, structure and implement, later execute, a working programm for a mobile robot that takes a starting sequence as an input to serve tables in a restaurant according to that sequence of tables to serve.

In order to do that, the course provided us, beside lectures, with exercises to get properly introduced to the robot simulation environment, the robot itself, as well as programming in general in C++. After a first introduction to the course, we started with a 'Don't crash' exercise to have a proper tool in hand for the robot to safely move around an environment. The next was the 'A*-algorithm' to plan and find a specific goal in a given grid. An introduction to an 'Open Space Approach' exercise We then finished with the 'Localizaion' exercise to let the robot know where it is in a given environment.

The main objective is to deliver orders to a specific table in a restaurant environment. For this, it needs to get the table sequence, then plan the path to the required table, drive to the table, avoid any obstacles within driving and then deliver the the order by driving near the table, facing it and giving a sound signal. This process must then be repeated.

For the challenge, requirements are set in advance. That includes to neither touch walls or obstacles like objects or people, visit the tables in the given order and also within 10 minutes. The maximum speed is set to 0.5 m/s translational and 1.2 rad/s rotational.

As a bonus, detected static and dynamic objects should be detected and presented in the world model of the robot.

Challenge Overview

System Description

State Flow

Data Flow

Strategy Description Restaurant Challenge

Strategy

Q: Strategy regarding our project work, distribution and how we do get to the solution or more by means of strategy on how the system should work (Data or Design flow).??

Q: Why the grade of the design presentation?

Q: What about the map generation? Mention the algorithm we used for the small restaurant map with only two tables? Detailed description on how we did it, how much work it is and why we did it

  • Main strategy of the robot: State approach, Specific functions called after states are set, function between algorithm parts
  • Is the behaviour described logical and is the description complete
  • Reasoning of the used algorithms? Were the algorithms sufficient or too simplistic? (Time regarding the dismissing of the SLAM algorithm, any new algorithms we used or introduced to extend the existing ones?
    • Detailed description of the algorithms (Every function, every part, every file)

*Maybe also add a description of some of the challenges we faced for each section and how we overcame them

Global Planner

Local Planner

Particle Filter

Main Algorithm

Software Architecture Restaurant Challenge

Software Architecture

  • Logical interaction between software components (states, calling of functions, actively activating and disabling of functions)
  • Are the components implemented correctly (any errors seen?, how about any issues that still persist?)

Robustness Restaurant Challenge

Robustness Restaurant Challenge

  • How was the performance verified (objectives fullfilled?, simulation of particle filter)
  • What kind of tests were performed to check robustness (moving in front of a moving robot to check obstacle avoidance, changing accuracy of walls, simulations, visualizing particle filter, pathfinding, checking components of the final program like specific algorithm parts)
  • Comments on robustness

Evaluation Restaurant Challenge

Evaluation Restaurant challenge

  • Reflection on performance
  • Conclusions about what could have gone better

Discussion

Conclusion