mirror of
https://github.com/nasa/trick.git
synced 2025-01-04 04:14:11 +00:00
42 lines
1.3 KiB
C++
42 lines
1.3 KiB
C++
#ifndef DIFFERENTIAL_DRIVE_CONTROLER_HH
|
|
#define DIFFERENTIAL_DRIVE_CONTROLER_HH
|
|
|
|
#include "Motor/include/motorSpeedController.hh"
|
|
|
|
class DifferentialDriveController {
|
|
|
|
public:
|
|
DifferentialDriveController( double distanceBetweenWheels,
|
|
double wheelRadius,
|
|
double wheelSpeedLimit,
|
|
double headingRateLimit,
|
|
double slowDownDistance,
|
|
MotorSpeedController& rightMotorController,
|
|
MotorSpeedController& leftMotorController
|
|
);
|
|
|
|
int update( double distance_err,
|
|
double heading_err);
|
|
void stop();
|
|
|
|
private:
|
|
|
|
// Do not allow the default constructor to be used.
|
|
DifferentialDriveController();
|
|
|
|
double distanceBetweenWheels;
|
|
double wheelRadius;
|
|
double wheelSpeedLimit;
|
|
double headingRateLimit;
|
|
double slowDownDistance;
|
|
|
|
MotorSpeedController& rightMotorController;
|
|
MotorSpeedController& leftMotorController;
|
|
|
|
double rightMotorSpeedCommand;
|
|
double leftMotorSpeedCommand;
|
|
double desiredHeadingRate;
|
|
double desiredRangeRate;
|
|
};
|
|
#endif
|