Raj Patel / Mbed 2 deprecated RoboticMappingControl

Dependencies:   mbed mbed-rtos Motor LSM9DS1_Library_cal X_NUCLEO_53L0A1

Committer:
rpatelpj
Date:
Mon Apr 22 23:55:45 2019 +0000
Revision:
8:bfa4bf23522c
Parent:
5:77c6821ae418
Child:
11:531208aca075
Implement detectObstacles, followTrajectory, leds, pb, update data structures, remove imu, include lidar

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 8:bfa4bf23522c 4 #include "globals.h"
rpatelpj 3:1dce1ba5b8bd 5 #include "Motor.h"
rpatelpj 3:1dce1ba5b8bd 6 #include "HALLFX_ENCODER.h"
rpatelpj 8:bfa4bf23522c 7 #include "XNucleo53L0A1.h"
rpatelpj 8:bfa4bf23522c 8
rpatelpj 8:bfa4bf23522c 9 #define COUNTPERIN 75.029 ///< Encoder counts 192 every 65 mm of wheel rotation
rpatelpj 8:bfa4bf23522c 10 #define COUNTPERDEG 1.21 ///< Encoder counts 2.42 every 1 deg of body rotation
rpatelpj 3:1dce1ba5b8bd 11
rpatelpj 3:1dce1ba5b8bd 12 /**
rpatelpj 5:77c6821ae418 13 * Robot Controller class.
rpatelpj 3:1dce1ba5b8bd 14 */
rpatelpj 3:1dce1ba5b8bd 15 class RobotController {
rpatelpj 3:1dce1ba5b8bd 16 public:
rpatelpj 3:1dce1ba5b8bd 17 /**
rpatelpj 5:77c6821ae418 18 * Robot Controller Constructor.
rpatelpj 5:77c6821ae418 19 * @param leftWheelPwm mbed pin transmitting speed to left motor driver
rpatelpj 5:77c6821ae418 20 * @param leftWheelFwd mbed pin transmitting forward direction to left motor driver
rpatelpj 5:77c6821ae418 21 * @param leftWheelRev mbed pin transmitting reverse direction to left motor driver
rpatelpj 5:77c6821ae418 22 * @param rightWheelPwm mbed pin transmitting speed to right motor driver
rpatelpj 5:77c6821ae418 23 * @param rightWheelFwd mbed pin transmitting forward direction to right motor driver
rpatelpj 5:77c6821ae418 24 * @param rightWheelRev mbed pin transmitting reverse direction to right motor driver
rpatelpj 8:bfa4bf23522c 25 * @param leftEncoder mbed pin receiving rotation count from left encoder
rpatelpj 8:bfa4bf23522c 26 * @param rightEncoder mbed pin receiving rotation count from right encoder
rpatelpj 5:77c6821ae418 27 */
rpatelpj 5:77c6821ae418 28 RobotController(PinName leftWheelPwm, PinName leftWheelFwd,
rpatelpj 5:77c6821ae418 29 PinName leftWheelRev, PinName rightWheelPwm, PinName rightWheelFwd,
rpatelpj 8:bfa4bf23522c 30 PinName rightWheelRev, PinName leftEncoder, PinName rightEncoder);
rpatelpj 5:77c6821ae418 31
rpatelpj 5:77c6821ae418 32 /**
rpatelpj 3:1dce1ba5b8bd 33 * Detect obstacles in 360-degree field of view around the robot.
rpatelpj 3:1dce1ba5b8bd 34 */
rpatelpj 8:bfa4bf23522c 35 void detectObstacles();
rpatelpj 3:1dce1ba5b8bd 36
rpatelpj 3:1dce1ba5b8bd 37 /**
rpatelpj 3:1dce1ba5b8bd 38 * Follow trajectory set by user in C# GUI.
rpatelpj 3:1dce1ba5b8bd 39 */
rpatelpj 8:bfa4bf23522c 40 void followTrajectory();
rpatelpj 5:77c6821ae418 41
rpatelpj 5:77c6821ae418 42 private:
rpatelpj 5:77c6821ae418 43 Motor leftWheel;
rpatelpj 5:77c6821ae418 44 Motor rightWheel;
rpatelpj 5:77c6821ae418 45 HALLFX_ENCODER leftEncoder;
rpatelpj 5:77c6821ae418 46 HALLFX_ENCODER rightEncoder;
rpatelpj 3:1dce1ba5b8bd 47 };
rpatelpj 3:1dce1ba5b8bd 48
rpatelpj 3:1dce1ba5b8bd 49 #endif /* ROBOT_CONTROLLER_H */