Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed mbed-rtos Motor LSM9DS1_Library_cal X_NUCLEO_53L0A1
RobotController.h@3:1dce1ba5b8bd, 2019-04-12 (annotated)
- Committer:
- rpatelpj
- Date:
- Fri Apr 12 23:23:18 2019 +0000
- Revision:
- 3:1dce1ba5b8bd
- Child:
- 5:77c6821ae418
Setup modular functionality in main, Outline RobotController class
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rpatelpj | 3:1dce1ba5b8bd | 1 | #ifndef ROBOT_CONTROLLER_H |
rpatelpj | 3:1dce1ba5b8bd | 2 | #define ROBOT_CONTROLLER_H |
rpatelpj | 3:1dce1ba5b8bd | 3 | |
rpatelpj | 3:1dce1ba5b8bd | 4 | #include "Motor.h" |
rpatelpj | 3:1dce1ba5b8bd | 5 | #include "HALLFX_ENCODER.h" |
rpatelpj | 3:1dce1ba5b8bd | 6 | #include "LSM9DS1.h" |
rpatelpj | 3:1dce1ba5b8bd | 7 | |
rpatelpj | 3:1dce1ba5b8bd | 8 | /** |
rpatelpj | 3:1dce1ba5b8bd | 9 | * Robot control class. |
rpatelpj | 3:1dce1ba5b8bd | 10 | */ |
rpatelpj | 3:1dce1ba5b8bd | 11 | class RobotController { |
rpatelpj | 3:1dce1ba5b8bd | 12 | public: |
rpatelpj | 3:1dce1ba5b8bd | 13 | /** |
rpatelpj | 3:1dce1ba5b8bd | 14 | * Detect obstacles in 360-degree field of view around the robot. |
rpatelpj | 3:1dce1ba5b8bd | 15 | * @return angle-distance pairs of obstacles |
rpatelpj | 3:1dce1ba5b8bd | 16 | */ |
rpatelpj | 3:1dce1ba5b8bd | 17 | float* obstacleDetection(); |
rpatelpj | 3:1dce1ba5b8bd | 18 | |
rpatelpj | 3:1dce1ba5b8bd | 19 | /** |
rpatelpj | 3:1dce1ba5b8bd | 20 | * Follow trajectory set by user in C# GUI. |
rpatelpj | 3:1dce1ba5b8bd | 21 | * @param trajectory angle-distance vectors |
rpatelpj | 3:1dce1ba5b8bd | 22 | */ |
rpatelpj | 3:1dce1ba5b8bd | 23 | void followTrajectory(float* trajectory); |
rpatelpj | 3:1dce1ba5b8bd | 24 | |
rpatelpj | 3:1dce1ba5b8bd | 25 | /** |
rpatelpj | 3:1dce1ba5b8bd | 26 | * Return to position before following trajectory. |
rpatelpj | 3:1dce1ba5b8bd | 27 | * @param trajectory angle-distance vectors |
rpatelpj | 3:1dce1ba5b8bd | 28 | */ |
rpatelpj | 3:1dce1ba5b8bd | 29 | void toOrigin(float* trajectory); |
rpatelpj | 3:1dce1ba5b8bd | 30 | // TODO delete trajectory |
rpatelpj | 3:1dce1ba5b8bd | 31 | }; |
rpatelpj | 3:1dce1ba5b8bd | 32 | |
rpatelpj | 3:1dce1ba5b8bd | 33 | #endif /* ROBOT_CONTROLLER_H */ |