BoB robotics
The Brains on Board robotics library
BoBRobotics::Robots::RobotPositioner< TankType, PoseGetterType > Class Template Reference

A tool for moving a tank robot to a specified position in space. More...

#include <robot_positioner.h>

Public Member Functions

template<class TankType2 >
 RobotPositioner (TankType2 &tank, PoseGetterType &poseGetter, meter_t stoppingDistance, radian_t allowedHeadingError, double k1, double k2, double alpha, double beta, meter_t startSlowingAt=0_m, float robotMinSpeed=0.2f, float robotMaxSpeed=1.f)
 
void moveTo (const Pose2< meter_t, radian_t > &pose)
 
const auto & getRobot () const
 
auto & getRobot ()
 
const auto & getPose () const
 
const auto & getGoalPose () const
 
auto distanceToGoal () const
 
void reset ()
 
bool pollPositioner ()
 
void updateVelocities (meters_per_second_t &v, radians_per_second_t &omega)
 
bool reachedGoal () const
 returns true if the robot reached the goal position
 

Detailed Description

template<class TankType, class PoseGetterType>
class BoBRobotics::Robots::RobotPositioner< TankType, PoseGetterType >

A tool for moving a tank robot to a specified position in space.

This class requires that we have a mechanism for obtaining the robot's pose, with, e.g. a Vicon system (see Vicon::UDPClient). The algorithm used is drawn from: https://web.eecs.umich.edu/~kuipers/papers/Park-icra-11.pdf

Member Function Documentation

◆ updateVelocities()

template<class TankType , class PoseGetterType >
void BoBRobotics::Robots::RobotPositioner< TankType, PoseGetterType >::updateVelocities ( meters_per_second_t v,
radians_per_second_t omega 
)
inline

updates the velocities in order to get to a goal location. This function can be used without a robot interface, where only velocities are calculated but no robot actions will be executed.


The documentation for this class was generated from the following file: