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
Diff: RobotController.h
- Revision:
- 14:0e6b26c1a7c5
- Parent:
- 11:531208aca075
- Child:
- 17:e1a5d25218de
--- a/RobotController.h Tue Apr 23 20:00:04 2019 +0000 +++ b/RobotController.h Thu Apr 25 03:21:17 2019 +0000 @@ -9,6 +9,10 @@ #define COUNTPERIN 75.029 ///< Encoder counts 192 every 65 mm of wheel rotation #define COUNTPERDEG 1.21 ///< Encoder counts 2.42 every 1 deg of body rotation +#define ROTERRI 0.730 ///< 90 commanded rotation overshoot compensation +#define ROTERRII 0.770 ///< 180 commanded rotation overshoot compensation +#define ROTERRIII 0.810 ///< 270, 360 commanded rotation overshoot compensation +#define MMTOIN 0.0393701 ///< Metric to emperical length conversion /** * Robot Controller class. @@ -25,13 +29,14 @@ * @param rightWheelRev mbed pin transmitting reverse direction to right motor driver * @param leftEncoder mbed pin receiving rotation count from left encoder * @param rightEncoder mbed pin receiving rotation count from right encoder - * @param imuSda mbed pin for imu I2C data line - * @param imuScl mbed pin for imu I2C clock line + * @param lidarShdn mbed pin commanding lidar reset + * @param sda mbed pin for I2C data line + * @param scl mbed pin for I2C clock line */ RobotController(PinName leftWheelPwm, PinName leftWheelFwd, PinName leftWheelRev, PinName rightWheelPwm, PinName rightWheelFwd, PinName rightWheelRev, PinName leftEncoder, PinName rightEncoder, - PinName imuSda, PinName imuScl); + PinName lidarShdn, PinName sda, PinName scl); /** * Robot Controller destructor. @@ -51,10 +56,15 @@ private: Motor leftWheel; Motor rightWheel; - Encoder leftEncoder; - Encoder rightEncoder; + Encoder _leftEncoder; + Encoder _rightEncoder; + DevI2C* lidarDevice; + XNucleo53L0A1* lidarBoard; + DigitalOut _lidarShdn; + uint32_t lidarDistance; LSM9DS1 imu; Timer t; + float yaw; float w1; float w2; float t1;