Embedded Motion Control 2015 Group 5: Difference between revisions
(→Skills) |
(→Skills) |
||
Line 63: | Line 63: | ||
When a junction is detected and the decision has been made to enter a specific corridor, the function ‘junction_mid’ is started. The goal of this function is to stand still at the exact middle (target) of the corridor which is about to be entered. To find this exact middle, the beam to the opposing corner of the entrance is measured (1) as soon as beam (2) passes the corner. Beam (1) can then be used to compute the width of the corridor (corr_width) and therefore, the middle of the corridor is also known. Junction_mid ends when it has reached the half width of the corridor (target). | When a junction is detected and the decision has been made to enter a specific corridor, the function ‘junction_mid’ is started. The goal of this function is to stand still at the exact middle (target) of the corridor which is about to be entered. To find this exact middle, the beam to the opposing corner of the entrance is measured (1) as soon as beam (2) passes the corner. Beam (1) can then be used to compute the width of the corridor (corr_width) and therefore, the middle of the corridor is also known. Junction_mid ends when it has reached the half width of the corridor (target). | ||
[[File:junc_mid.png| | [[File:junc_mid.png|right|thumb|upright=1.0|Center skill for on a junction]] | ||
Revision as of 15:57, 13 May 2015
Group Members
Name: | Student id: |
Bart van Willigen | 0770142 |
Joost Peters | 0747630 |
Robin Loose | 0771575 |
Koen Bos | 0763939 |
Joost Franssen | 0824821 |
Lotte de Koning | 0655209 |
Marjon 't Klooster | 0819200 |
Software design assignment
The software design assignment can be found here.
Corridor challenge
Goal: Lead PICO as fast as possible through a corridor with an unknown junction. The first side exit at the junction should be taken.
Approach
After a first succesful brainstorm, the first draft of the system interface is determined. In this schematic the different contexts are presented. The goal to solve the maze is monitored by the Task monitor. Based on the observed environment and the maze solving algorithm, a set of skills is selected. Task control feedforward is used when no deterministic choice can be made. These skills are based on the robot's basic functions.
Development
Main
Tasks
- Aligning and centering the robot:
In order to center the robot, two laser bundles perpendicular to the robot's driving direction are used to determine the distance to the wall on the left and right side of the robot. Based on the difference between these distances, a lateral velocity is send to the robot, using a proportional controller. This controller drives the robot to the middle of the corridor. To align the robot along the corridor, three laser bundles are used. One laser bundle measures the distance to the wall perpendicular to the driving direction, and two bundles around the perpendicular bundle measure the distance to the wall. When the perpendicular bundle does not measure the smallest distance, a rotational velocity, based on the differences between the other bundles, is sent to the robot.
Skills
- Recognize junction
- Center at junction
When a junction is detected and the decision has been made to enter a specific corridor, the function ‘junction_mid’ is started. The goal of this function is to stand still at the exact middle (target) of the corridor which is about to be entered. To find this exact middle, the beam to the opposing corner of the entrance is measured (1) as soon as beam (2) passes the corner. Beam (1) can then be used to compute the width of the corridor (corr_width) and therefore, the middle of the corridor is also known. Junction_mid ends when it has reached the half width of the corridor (target).
- Rotate