ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
00001 00007 #ifndef DYNAMICS2D_DIFFERENTIALSTEERING_CONTROL_H 00008 #define DYNAMICS2D_DIFFERENTIALSTEERING_CONTROL_H 00009 00010 namespace argos { 00011 class CDynamics2DEngine; 00012 } 00013 00014 #include <argos3/plugins/simulator/physics_engines/dynamics2d/dynamics2d_velocity_control.h> 00015 #include <argos3/core/utility/math/vector2.h> 00016 00017 namespace argos { 00018 00019 class CDynamics2DDifferentialSteeringControl : public CDynamics2DVelocityControl { 00020 00021 public: 00022 00023 CDynamics2DDifferentialSteeringControl(CDynamics2DEngine& c_engine, 00024 Real f_max_force, 00025 Real f_max_torque, 00026 Real f_interwheel_distance); 00027 00028 virtual ~CDynamics2DDifferentialSteeringControl() {} 00029 00030 void SetWheelVelocity(Real f_left_wheel, 00031 Real f_right_wheel); 00032 00033 inline Real GetInterwheelDistance() const { 00034 return m_fInterwheelDistance; 00035 } 00036 00037 private: 00038 00039 Real m_fInterwheelDistance; 00040 00041 }; 00042 00043 } 00044 00045 #endif