Embedded Motion Control 2019 Group 9
Group members
Merijn Floren | 0950600
Nicole Huizing | 0859610
Janick Janssen | 0756364
George Maleas | 1301527
Merijn Veerbeek | 0865670
Design Document
The Initial Design document can be found here: File:Initial Design Group9.pdf
The powerpoint presentation about the design is in this file: File:Presentation initial design.pdf
Meetings
On 1 May the first meeting of the team took place. Our tutor Marzieh also attended. The purpose of the meeting was to discuss the content of the design document and to derive a first strategy about the motion of PICO. After some brainstorming and discussion, tasks were assigned to each team member. Specifically:
- Nicole and George will focus on writing the design document
- Merijn F., Merijn V. and Janick will focus on writing some pieces of code to test next week on the first test with PICO.
On the 8th of May, the second meeting took place. The meeting was devided into two parts: at first, the powerpoint presentation was reviewed. The tutor had some suggestions we could change. Secondly, different strategies for finding the exit were discussed. The two options are: 1) following the walls and 2) rotate 360 degrees, look for exit and walk straight to exit. After the meeting, the first test session took place. Because of issues with Gitlab, we could not obtain useful data from this test session.
On the 9th of May, the second test session was held. The code of Merijn F was succesfully tested on the robot. The robot walks towards a wall, turns 90 degrees and walks toward the next wall. However, after reaching this wall, it keeps rotating. Data is stored to review later. The code of Merijn V could unfortunately not be tested on the robot within the available time. After the test session, an additional meeting without tutor took place. We devided the interfaces among us. Every task should be finished before Monday so that on monday, bugs can be fixed. The division is as follows.
- Perception & Monitoring: George
- World model & responsible for code structure: Merijn V
- Control & drawing rooms: Nicole
- Planning wall-following-strategy: Merijn F
- Planning finding-exit-strategy: Janick
Code architecture
The code architecture can be visualized as in the following picture:
And the pseudocode is structured as follows:
- World model (Merijn V)
The world model contains all information about the world. It stores all useful variables. All functions for updating a variable or obtaining a variable value are coded in this part. Pseudocode:
void getDistance(): return DISTANCE_VALUE
double updateDistance( newvalue ): DISTANCE_VALUE = newvalue
Initial Finite State Machine model
The system will make use of a Finite State Machine model. The will take up the task of the executing the plan of the robot and determines the high-level control.
Link to Wikipedia:Finite-state machine.
An image will be added when image is ready.