Mobile Robot Control 2023 R2-D2
Group members:
Name | student ID |
---|---|
Ismail Elmasry | 1430807 |
Carolina Vissers | 1415557 |
John Assad | 1415654 |
Jelle Cruijsen | 1369261 |
Florian Geister | 1964429 |
Omar Elba | 1492071 |
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.
Main Part
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?)
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)
State flow description
(about how everything works together with the main state approach)
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
- 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
- Reflection on performance (A star, nodes, map generation algorithm, aob?)
- Conclusions about what could have gone better (wiggling of robot, one flow movements of robot and therefore also finer grid, more interaction with customer, ability to open the door autonomously)