Embedded Motion Control 2019 Group 7

From Control Systems Technology Group
Revision as of 23:12, 5 May 2019 by S156948 (talk | contribs)
Jump to navigation Jump to search

Group members

  • Guus Bauwens - 0958439
  • Ruben Beumer - 0967254
  • Ainse Kokkelmans - 0957735
  • Johan Kon - 0959920
  • Koen de Vos - 0955647

Introduction

This wiki page describes the design process for the software as applied to the PICO robot within the context of the "Embedded Motion Control" course project. The project is comprised of two challenges: the escape room challenge and the hospital challenge. The goal of the escape room challenge is to exit the room autonomously as fast as possible. The goal of the hospital challenge is to autonomously visit an unknown number of cabinets as fast as possible.


Design Document

The design document, describing the initial design requirements, functions, components, specifications and interfaces, can be found [here].

Requirements

Functions

Components

Specifications

Interfaces

Challenge 1: The escape room

As an intermediate assignment, the PICO robot should autonomously escape a room through a door from any arbitrary initial position as fast as possible. To complete this goal, the following steps are introduced:

  1. The sensors and actuator are initialized.
  2. From the initial position, the surroundings are scanned for openings between the walls. If no openings are found, the robot is to rotate until the opening is within view.
  3. The robot will drive towards a subtarget, placed at a small distance from the opening in order to avoid wall collisions.
  4. Once arrived at the subtarget, the robot will rotate towards the target.
  5. After being aligned with the target, the robot will drive straight trough the corridor.

Gap Finder

Scheme of a possible Escape Room, with PICO located in the upper left corner.

PICO's LDR scans from right to left (counter clockwise). The angle of a single measurement point and its corresponding distance (radius) is known. A significant absolute jump in this data means that the wall (or obstacle, but not present during this challenge) is not continuous. Around this location the exit should therefore be located as the escape room is rectangular without special shapes. The data point before and the data point after the gap indicates the gap location. However, as can be seen in the Figure to the right it does not indicate the actual (parallel) exit entrance. The points corresponding to the actual exit entrance can be found by minimizing the distance between the left and right side of the gap. This minimal distance will be the parallel or perpendicular (in this case) on the walls next to the exit. To find the minimum distance the data to the right of the right (blue) point is checked. If the data point has a smaller distance to the left (red) point, this data point is tagged as the minimum distance. The left (red) point is checked in a similar way but with the data to the left. The result of this iteration is shown in the Figure to the right with as initial gap the dotted orange line, and the final gap the straight orange line.

In this specific example, the left (red) point is already optimal and the right (blue) point is optimized.


Scheme of a possible Escape Room, with PICO located in the lower right corner.

In this example of a possible situation, PICO is located straight in front of the exit. In this case the gap cannot be optimized in the same way because moving either of the points increases the distance between the points (as they are not iterated at the same time). In the section xxx the script is expanded to deal with this scenario.

Dealing With Bounder Scenarios

Exit Interpolation