Class diff_drive

Inheritance Relationships

Base Type

  • public rer::client< diff_drive >

Derived Type

Class Documentation

class diff_drive : public rer::client<diff_drive>

Model for a TWO wheeled diff drive robot, providing a number of operating modes:

drive_type::kTankDrive drive_type::kFSMDrive

Subclassed by cosm::kin2D::governed_diff_drive

Public Functions

diff_drive(const config::diff_drive_config *config, chactuators::diff_drive_actuator &&actuator)
Parameters:
  • type – The drive type; see drive_type

  • actuator – The underlying differential steering actuator (via HAL)

  • config – Configuration.

diff_drive(diff_drive&&) = default
void fsm_drive(const ckin::twist &delta)
template<typename ...Args>
inline auto Func(Args&&... args) -> decltype(std::declval<decltype(Member)>().Func(args...))

Reset the differential drive.

template<typename ...Args>
inline auto Func(Args&&... args) -> decltype(std::declval<decltype(Member)>().Func(args...))
template<typename ...Args>
inline auto Func(Args&&... args) -> decltype(std::declval<decltype(Member)>().Func(args...))
inline double max_angular_speed(void) const
inline double max_linear_speed(void) const
diff_drive &operator=(diff_drive&&) = default