ARGoS  3
A parallel, multi-engine simulator for swarm robotics
plugins/simulator/physics_engines/dynamics2d/dynamics2d_differentialsteering_control.h
Go to the documentation of this file.
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