Mobile Robot Control 2021 Group 7

From Control Systems Technology Group
Jump to navigation Jump to search

Group Members

Tim van Esch - 1235917
Aron Prinsen - 1243943
Thom Samuels - 1267566
Naomi de Vos - 1233610
Joey Wouters - 0813063

Introduction to the course

The subject of the course is to program a robot (PICO) in such a way that it is able to accomplish certain tasks autonomously. There are two challenges that need to be tackled. The first challenge is an escape room, which will have rectangle shape by approximation that consists of one exit. The robot is not allowed to make contact to the wall in this challenge. The second challenge will be the hospital challenge, in which the robot needs to visit certain cabinets in a predefined order. During the challenge, the robot is not allowed to touch static objects, such as the wall or doors, or dynamic objects, such as people.

Design Document

The Design Document: Media:4SC020_Design_Document_07.pdf

\section{Requirements} Requirements specify what the system should do. Some requirements are challenge dependent, as the environment and task at hand differ per challenge, while others are general. These general requirements are both given by the client and decided upon by the team. The following requirements are applicable to both challenges, where the first three are given by the client and the others are preferences of the group: \begin{enumerate}

   \item Wall clearance: The robot should stay $(0.5-2r)/2$ meters away from the wall, where $r$ is the radius of the robot and 0.5 is the minimum width of the corridor of the escape room challenge.
   \item Speed limit: 0.5 m/s translational, 1.2 rad/s rotational.
   \item Sensible movement: The robot should make a sensible move within 30 seconds.
   \item Local path planning: The ability to create a path which needs to be followed, within the same room.
   \item Effective path: Used time to complete a challenge should be minimized.
   \item Scalability: The solutions should work for different environments.
   \item Communication: The robot needs to be able to communicate what it is doing.

\end{enumerate}

\noindent For the escape room challenge, there are only two extra needed requirement, both given by the client, which are the following: \begin{enumerate}

   \item Challenge completion: The robot needs to cross the finish line, at the end of the corridor, completely to pass the escape room challenge.
   \item Maximum time: Efficient computing and control speed is required to be able to complete the escape room challenge within 5 minutes.

\end{enumerate}

\noindent The requirements needed specifically for the hospital challenge are listed below. In this list, the first four requirements come from the client, while the others are decided upon by the group, in order to improve efficiency. \begin{enumerate}

   \item Challenge completion: The robot needs to visit the cabinets in the given order.
   \item Maximum time: Efficient computing and control speed is required to be able to complete the hospital challenge within 10 minutes.
   \item Object detection: Unknown and possibly moving objects should be detected. If unexpected objects and/or people are in the way, the robot needs to go by them, avoiding collisions at all time.
   \item Orientation with respect to cabinets: The robot should approach the cabinets with the right orientation.
   \item Door detection: The robot needs to recognize door openings. If a door is locked the robot needs to look for another entry.
   \item Global path planning: The ability to create a sequence of consecutive intermediate points which needs to be visited in order, divided over multiple rooms.
   %\item Emergency stop: The robot should stop directly when detecting an unexpected object/ person in front of it.
   \item Keeping right: In hallways, the robot should stay on the right side if possible.

\end{enumerate}

Escape Room Competition

Back-up method

Evaluation and Reflection

During the escape room challenge, the robot behavior was as expected. The feature recognition is designed to localize convex corners and end points of lines, on which the location of the door was based. During the escaperoom challenge the robot first moved to the far end of the room, this was caused by the fact that the wall on the far end of the room was too far away to be recognized by the laser range finder. Because of this, two end points where localized by the feature recognition algorithm, making the robot think it has found the exit and drive towards the goal set by the objective calculation. Once the robot arrived at the dead end at the end of the room, it rotated and re-localized a new goal, this time at the correct exit. The robot then managed to drive towards the correct goal and finish the escaperoom challenge well within time.

The robot could have finished sooner with a more robust feature recognition algorithm. For example, a threshold could have been set on the maximum allowed distance between convex corners and line end points, this may have avoided that the robot first drove towards the wall on the far end of the room. The robot would then take more time to rotate and find two points which are within this threshold, improving the localization of the exit. Which ultimately makes the process of exiting the escaperoom more efficient.

Hospital Competition