EM2019WSP06/Feindesign: Unterschied zwischen den Versionen

Aus Verteilte Systeme - Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „==Schematic==“)
 
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
  +
=Hardware=
 
==Schematic==
 
==Schematic==
  +
[[Datei:D_bot_schematic.png | 999px]]
  +
  +
=Software=
  +
==Software Main Architecture==
  +
[[Datei:D_bot_sw_arch.png |left| 300px]]
  +
</br>
  +
- For this project, the Sensors API need to be implemented.</br></br> - All the sensors communicate over GPIO pins.</br></br> - For the speed control of the motors a PWM Signal is necessary.</br></br> - Therefore, from the Zephyr OS, is "only" needed the GPIO and the PWM abstraction Service.
  +
</br> </br> </br>
  +
</br>
  +
==Main Application==
  +
The Application layer has a behavior implementation file. This file provides to the Main application the following routines: find_node(x), follow_line(), and turn_right(). </br> For now the Main application can only take one delivery service at once, and the Robot need to be placed back to the start point manually. </br> This make the main app really easy to implement, then it always start at y==0, x==0. Hence, the algorithm result very simple: Find Y, turn_right, find X.
  +
  +
[[Datei:App_flowchart.png |left| 407px]] [[Datei:Sq_diag_d_bot.png | 666px]]
  +
  +
*Example:
  +
[[Datei:Find_2_2_example_d_bot.png |left| 407px]]
  +
</br> </br> - Example of find_node(2,2);

Aktuelle Version vom 4. März 2020, 23:38 Uhr

Hardware

Schematic

D bot schematic.png

Software

Software Main Architecture

D bot sw arch.png


- For this project, the Sensors API need to be implemented.

- All the sensors communicate over GPIO pins.

- For the speed control of the motors a PWM Signal is necessary.

- Therefore, from the Zephyr OS, is "only" needed the GPIO and the PWM abstraction Service.



Main Application

The Application layer has a behavior implementation file. This file provides to the Main application the following routines: find_node(x), follow_line(), and turn_right().
For now the Main application can only take one delivery service at once, and the Robot need to be placed back to the start point manually.
This make the main app really easy to implement, then it always start at y==0, x==0. Hence, the algorithm result very simple: Find Y, turn_right, find X.

App flowchart.png

Sq diag d bot.png

  • Example:
Find 2 2 example d bot.png



- Example of find_node(2,2);