# Mobile Robot Control 2021 Group 1

(Difference between revisions)
Jump to: navigation, search
 Revision as of 18:26, 11 May 2021 (view source)← Older edit Revision as of 18:32, 11 May 2021 (view source)Newer edit → Line 81: Line 81:

Software implementation

Software implementation

- [[File:statesg1.PNG|500px|right|thumb| The states.]] + [[File:statesg1.PNG|500px|right|thumb|Figure 1: The states.]] state: intialization named "init" state: intialization named "init" PICO will continuously check if it is close to a wall. PICO will continuously check if it is close to a wall. Line 110: Line 110: The image name, the word thumb then the caption : The image name, the word thumb then the caption : - File:map_1.png| Test map 1; where the difficulty is in the crooked walls and corridor. + File:map_1.png| Figure 2a: Test map 1; where the difficulty is in the crooked walls and corridor. - File:map_2.png| Test map 2; where the difficulty is in the bump in the wall. + File:map_2.png| Figure 2b: Test map 2; where the difficulty is in the bump in the wall. - File:map_3.png| Test map 3; where the difficulty is that PICO drives straight into a corner. + File:map_3.png| Figure 2c: Test map 3; where the difficulty is that PICO drives straight into a corner. Line 119: Line 119: Team: Daan, Tim and Véronne Team: Daan, Tim and Véronne

- The world model approach is based on research by Peter et al. (2017) was used. Peter et al. map 2D laser input to line segmentation based on a range of residuals. To use this approach, it was necessary to compute the point cloud from the 1000 laser beams retrieved from the LRF. Computation was done based on the following formula + [[File:Algorithm.JPG|300px|right|thumb| Figure 3: Line segmentation algorithm.]] + The world model approach is based on research by Peter et al. (2017) was used. Peter et al. map 2D laser input to line segmentation based on a range of residuals. To use this approach, it was necessary to compute the point cloud from the 1000 laser beams retrieved from the LRF. Computation was done based on the following formula: + p_i = (x, y) = L_i * (cos($\alpha$_i), sin($\alpha$_i)) p_i = (x, y) = L_i * (cos($\alpha$_i), sin($\alpha$_i)) - After computation of the point cloud, the algorithm introduced by Peter et al. (figure) was used to translate this point cloud into a line segmentation. + + After computation of the point cloud, the algorithm introduced by Peter et al. (Figure 3) was used to translate this point cloud into a line segmentation.

## Members

• Véronne Reinders (v.reinders@student.tue.nl) - 1706837
• Danique van Berlo (d.y.b.m.v.berlo@student.tue.nl) - 1242645
• Tim van de Ven (n.c.m.v.d.ven@student.tue.nl) - 0948317
• Daan Roordink (d.roordink@student.tue.nl) - 0863456
• Yu-Hsin Wu (y.h.wu@student.tue.nl) - 1623141
• Mike van Duijnhoven (m.p.j.v.duijnhoven@student.tue.nl) - 1510266

## Planning

Week Deadlines Done before weekly meeting 1 Done before weekly meeting 2
1 (19/04-25/04)
2 (26/04-02/05) Read the wiki page carefully First draft of the design document
3 (03/05-09/05) 04/05 - Design Document Adjust the design document and have all software working Finalize the design document and first draft of strategy for the escape room
4 (10/05-16/05) 12/05 - Escape room competition Finalize the strategy for the escape room Work on two parts of the hospital strategy:
• Make line segments of the sensor data
• Match line segments with other line segments
5 (17/05-23/05) Adjust the strategy for the final competition Adjust the strategy for the final competition
6 (24/05-30/05) Adjust the strategy for the final competition Adjust the strategy for the final competition and make a first draft of the presentation
7 (31/05-06/05) 02/06 - Presentation Adjust the strategy for the final competition Adjust the strategy for the final competition
8 (07/06-13/05) 09/06 - Final competition Finalize the strategy for the final competition Debrief the competition for recommendations for future work
9 (14/06-20/05) Adjust the wiki page where needed Finalize the wiki page
10 (21/06-27/05) 23/06 - Wiki page

## Design Document

The design document can be found here and contains our interpretation of the requirements, functions, components, specifications and interfaces for both the escape room and hospital challenge.

## Escape room competition

### Wall Following Approach

Team: Danique, Mike and Yu Hsin

#### Strategy

In the escape room competition, PICO will first simply drive forward until PICO finds a wall. When PICO is at a certain distance from the wall, it will start to turn until the wall is on its right side and parallel to its driving direction. Afterward, PICO will follow the wall and the following corners. This will go on until PICO passes the finish.

#### Software implementation

Figure 1: The states.

state: intialization named "init" PICO will continuously check if it is close to a wall.

• If PICO is close to a wall, the state will change to "followWall".
• Otherwise, PICO will drive forward.

state: follow the wall named "followWall" PICO will update its detected distance from the wall continuously. Meanwhile, updating PICO moves according to its distance from the wall

• If PICO his detected distance from the wall is too far, PICO will rotate towards the wall.
• If PICO his detected disctance from the wall is too close, PICO will rotate from teh wall.
• If PICO encounters a convex corner, the state will change to "driveInto".
• If PICO encounters a concave corner??, the state will change to "turn".
• Otherwise, PICO will drive forward.

state: turning 45 degrees named "turn" The angle with respect to the start of the turn is measured.

• If the angle is smaller than 45 degrees, PICO will rotate.
• Otherwise, the state will change to "followWall"

state: passing the convex corner "driveInto" The x, y distance and angle with respect to the start of the state is measured.

• If the measured total distance w.r.t. to the start of the state is smaller than 0.5m, PICO will drive forward.
• If the measured angle is smaller than 90 degrees, PICO will rotate.
• Otherwise, the state will change to "followWall"

#### Use cases

To make sure PICO will perform as expected during the competition, a couple of use cases are made to test its performance. The use cases are several different maps and different configurations within those maps. In these maps the environment specifications, such as crooked corners and walls but also a very small room or very large room, are incorporated as good as possible. The image name, the word thumb then the caption :

### World Model Approach

Team: Daan, Tim and Véronne

Figure 3: Line segmentation algorithm.

The world model approach is based on research by Peter et al. (2017) was used. Peter et al. map 2D laser input to line segmentation based on a range of residuals. To use this approach, it was necessary to compute the point cloud from the 1000 laser beams retrieved from the LRF. Computation was done based on the following formula:

p_i = (x, y) = L_i * (cos(α_i), sin(α_i))

After computation of the point cloud, the algorithm introduced by Peter et al. (Figure 3) was used to translate this point cloud into a line segmentation.

## Meeting Notes

#### 26/04/2021

Get requirements from the Wiki and the slides. Components are in the slides as well.

#### 30/04/2021

Include meeting notes on Wiki.

The Wiki will be the final report. So if you update it weekly with the progress and findings it will save us a lot of time in the end.

Final: complete description of the system, role division, etc.

General availability: Tuesday and Thursday

##### Action Points
• Find a weekly meeting moment - Tuesday 9.00 (tutor meeting from 10.00) & Friday 13.30
• Make a general planning: Danique
• Finish the design document - Everyone - Deadline Monday 22.00

#### 04/05/2021

##### Action Points
• Finish the design document: Mike, Daan and Tim
• Review the design document and upload it on the wiki before 16.55: Daan
• Individually start on the programming and get familiar with the code before Friday: Everyone
• Select the best working code on Friday and split up the work from there on

#### 07/05/2021

From now on meetings will be with an agenda and in between SSAs will be made. To find the specifics of the meeting read the notes on the drive.

##### Action Points
• Work on the dumb approach: Mike, Danique, Yu Hsin
• Work on the word model (approach): Daan, Tim, Veronne
• Upload a SSA template: Tim
• Make a git ignore: Daan