Raj Patel / Mbed 2 deprecated RoboticMappingControl

Dependencies:   mbed mbed-rtos Motor LSM9DS1_Library_cal X_NUCLEO_53L0A1

Committer:
rpatelpj
Date:
Sun Apr 14 03:23:36 2019 +0000
Revision:
5:77c6821ae418
Parent:
3:1dce1ba5b8bd
Child:
8:bfa4bf23522c
Setup empty methods for RobotController

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rpatelpj 3:1dce1ba5b8bd 1 #ifndef ROBOT_CONTROLLER_H
rpatelpj 3:1dce1ba5b8bd 2 #define ROBOT_CONTROLLER_H
rpatelpj 3:1dce1ba5b8bd 3
rpatelpj 5:77c6821ae418 4 #include "mbed.h"
rpatelpj 3:1dce1ba5b8bd 5 #include "Motor.h"
rpatelpj 3:1dce1ba5b8bd 6 #include "HALLFX_ENCODER.h"
rpatelpj 3:1dce1ba5b8bd 7 #include "LSM9DS1.h"
rpatelpj 3:1dce1ba5b8bd 8
rpatelpj 3:1dce1ba5b8bd 9 /**
rpatelpj 5:77c6821ae418 10 * Robot Controller class.
rpatelpj 3:1dce1ba5b8bd 11 */
rpatelpj 3:1dce1ba5b8bd 12 class RobotController {
rpatelpj 3:1dce1ba5b8bd 13 public:
rpatelpj 3:1dce1ba5b8bd 14 /**
rpatelpj 5:77c6821ae418 15 * Robot Controller Constructor.
rpatelpj 5:77c6821ae418 16 * @param leftWheelPwm mbed pin transmitting speed to left motor driver
rpatelpj 5:77c6821ae418 17 * @param leftWheelFwd mbed pin transmitting forward direction to left motor driver
rpatelpj 5:77c6821ae418 18 * @param leftWheelRev mbed pin transmitting reverse direction to left motor driver
rpatelpj 5:77c6821ae418 19 * @param rightWheelPwm mbed pin transmitting speed to right motor driver
rpatelpj 5:77c6821ae418 20 * @param rightWheelFwd mbed pin transmitting forward direction to right motor driver
rpatelpj 5:77c6821ae418 21 * @param rightWheelRev mbed pin transmitting reverse direction to right motor driver
rpatelpj 5:77c6821ae418 22 * @param leftEncoderIn mbed pin receiving rotation count from left encoder
rpatelpj 5:77c6821ae418 23 * @param rightEncoderIn mbed pin receiving rotation count from right encoder
rpatelpj 5:77c6821ae418 24 */
rpatelpj 5:77c6821ae418 25 RobotController(PinName leftWheelPwm, PinName leftWheelFwd,
rpatelpj 5:77c6821ae418 26 PinName leftWheelRev, PinName rightWheelPwm, PinName rightWheelFwd,
rpatelpj 5:77c6821ae418 27 PinName rightWheelRev, PinName leftEncoderIn, PinName rightEncoderIn);
rpatelpj 5:77c6821ae418 28
rpatelpj 5:77c6821ae418 29 /**
rpatelpj 3:1dce1ba5b8bd 30 * Detect obstacles in 360-degree field of view around the robot.
rpatelpj 3:1dce1ba5b8bd 31 * @return angle-distance pairs of obstacles
rpatelpj 3:1dce1ba5b8bd 32 */
rpatelpj 3:1dce1ba5b8bd 33 float* obstacleDetection();
rpatelpj 3:1dce1ba5b8bd 34
rpatelpj 3:1dce1ba5b8bd 35 /**
rpatelpj 3:1dce1ba5b8bd 36 * Follow trajectory set by user in C# GUI.
rpatelpj 3:1dce1ba5b8bd 37 * @param trajectory angle-distance vectors
rpatelpj 3:1dce1ba5b8bd 38 */
rpatelpj 3:1dce1ba5b8bd 39 void followTrajectory(float* trajectory);
rpatelpj 3:1dce1ba5b8bd 40
rpatelpj 3:1dce1ba5b8bd 41 /**
rpatelpj 3:1dce1ba5b8bd 42 * Return to position before following trajectory.
rpatelpj 3:1dce1ba5b8bd 43 * @param trajectory angle-distance vectors
rpatelpj 3:1dce1ba5b8bd 44 */
rpatelpj 3:1dce1ba5b8bd 45 void toOrigin(float* trajectory);
rpatelpj 3:1dce1ba5b8bd 46 // TODO delete trajectory
rpatelpj 5:77c6821ae418 47
rpatelpj 5:77c6821ae418 48 private:
rpatelpj 5:77c6821ae418 49 Motor leftWheel;
rpatelpj 5:77c6821ae418 50 Motor rightWheel;
rpatelpj 5:77c6821ae418 51 HALLFX_ENCODER leftEncoder;
rpatelpj 5:77c6821ae418 52 HALLFX_ENCODER rightEncoder;
rpatelpj 3:1dce1ba5b8bd 53 };
rpatelpj 3:1dce1ba5b8bd 54
rpatelpj 3:1dce1ba5b8bd 55 #endif /* ROBOT_CONTROLLER_H */