Public Member Functions | Private Member Functions | Private Attributes | List of all members
velocity_controller::SegmentController Class Reference

#include <segment_controller.h>

Public Member Functions

int getCount ()
 Returns the checkpoint number the robot is in. More...
 
int getGoodId ()
 
int getOrderId ()
 
int getOrderStatus ()
 
bool getPlanActive ()
 
void getSpeed (float *_v, float *_w)
 Returns the current speed values. More...
 
int getStatus ()
 
 SegmentController ()
 Construct a new Segment Controller object. More...
 
void setGoalRadius (float _r)
 Set the Goal Radius. More...
 
void setGoodId (int)
 
void setOrderId (int)
 
void setOrderStatus (int)
 
void setPath (std::shared_ptr< std::vector< PathPoint >> _path)
 Set the path the contorler has to follow. More...
 
void setPID (float _Kp, float _Ki, float _Kd)
 sets the control parameters More...
 
void setSpeedParams (float _max_v, float _max_w)
 Set the Speed Params of the controller. More...
 
void setState (state s)
 Set the State (run stop step wait_step) More...
 
void update (PathPoint _odom, float _delta_t)
 updates the controller with the current robot position More...
 
void updatePrecondition (PathPrecondition pc)
 updates the sync step of other robots More...
 

Private Member Functions

float absolute (float _val)
 
bool checkGoal (PathPoint _odom)
 
bool checkPrecondition (PathPoint p)
 
float normalizeAngle (float _angle)
 

Private Attributes

state actual_cmd_ = run
 
std::vector< int > actualPreconditions
 
float e_dot_ = 0
 
float e_last_ = 0
 
float goal_radius_ = 0.25
 
int goodId
 
float Kd_ = 1
 
float Ki_ = 0.0
 
float Kp_ = 5
 
float max_v_
 
float max_w_
 
int orderId
 
int orderStatus
 
std::shared_ptr< std::vector< PathPoint > > path_
 
int pathCounter_ = 0
 
bool plan_active = false
 
int robot_status = tuw_multi_robot_msgs::RobotInfo::STATUS_STOPPED
 
float v_
 
float w_
 

Detailed Description

Definition at line 36 of file segment_controller.h.

Constructor & Destructor Documentation

◆ SegmentController()

velocity_controller::SegmentController::SegmentController ( )

Construct a new Segment Controller object.

Definition at line 9 of file segment_controller.cpp.

Member Function Documentation

◆ absolute()

float velocity_controller::SegmentController::absolute ( float  _val)
private

Definition at line 156 of file segment_controller.cpp.

◆ checkGoal()

bool velocity_controller::SegmentController::checkGoal ( PathPoint  _odom)
private

Definition at line 63 of file segment_controller.cpp.

◆ checkPrecondition()

bool velocity_controller::SegmentController::checkPrecondition ( PathPoint  p)
private

Definition at line 44 of file segment_controller.cpp.

◆ getCount()

int velocity_controller::SegmentController::getCount ( )

Returns the checkpoint number the robot is in.

Returns
int returns the step of the checkpoint

Definition at line 24 of file segment_controller.cpp.

◆ getGoodId()

int velocity_controller::SegmentController::getGoodId ( )

Definition at line 208 of file segment_controller.cpp.

◆ getOrderId()

int velocity_controller::SegmentController::getOrderId ( )

◆ getOrderStatus()

int velocity_controller::SegmentController::getOrderStatus ( )

Definition at line 216 of file segment_controller.cpp.

◆ getPlanActive()

bool velocity_controller::SegmentController::getPlanActive ( )
inline

Definition at line 112 of file segment_controller.h.

◆ getSpeed()

void velocity_controller::SegmentController::getSpeed ( float *  _v,
float *  _w 
)

Returns the current speed values.

Parameters
_vthe linear speed
_wthe rotational speed

Definition at line 188 of file segment_controller.cpp.

◆ getStatus()

int velocity_controller::SegmentController::getStatus ( )

Definition at line 194 of file segment_controller.cpp.

◆ normalizeAngle()

float velocity_controller::SegmentController::normalizeAngle ( float  _angle)
private

Definition at line 165 of file segment_controller.cpp.

◆ setGoalRadius()

void velocity_controller::SegmentController::setGoalRadius ( float  _r)

Set the Goal Radius.

Parameters
_rthe radius which is used to marke a goal as visited

Definition at line 30 of file segment_controller.cpp.

◆ setGoodId()

void velocity_controller::SegmentController::setGoodId ( int  goodId)

Definition at line 203 of file segment_controller.cpp.

◆ setOrderId()

void velocity_controller::SegmentController::setOrderId ( int  orderId)

Definition at line 199 of file segment_controller.cpp.

◆ setOrderStatus()

void velocity_controller::SegmentController::setOrderStatus ( int  orderStatus)

Definition at line 212 of file segment_controller.cpp.

◆ setPath()

void velocity_controller::SegmentController::setPath ( std::shared_ptr< std::vector< PathPoint >>  _path)

Set the path the contorler has to follow.

Parameters
_paththe path as std::vector of points

Definition at line 15 of file segment_controller.cpp.

◆ setPID()

void velocity_controller::SegmentController::setPID ( float  _Kp,
float  _Ki,
float  _Kd 
)

sets the control parameters

Parameters
_Kpthe proportional part of the controller
_Kithe integration part of the controller
_Kdthe differential part

Definition at line 93 of file segment_controller.cpp.

◆ setSpeedParams()

void velocity_controller::SegmentController::setSpeedParams ( float  _max_v,
float  _max_w 
)

Set the Speed Params of the controller.

Parameters
_max_vmaximal linear speed
_max_wmaximal rotational speed

Definition at line 182 of file segment_controller.cpp.

◆ setState()

void velocity_controller::SegmentController::setState ( state  s)

Set the State (run stop step wait_step)

Parameters
sthe state (run stop wait_step step)

Definition at line 100 of file segment_controller.cpp.

◆ update()

void velocity_controller::SegmentController::update ( PathPoint  _odom,
float  _delta_t 
)

updates the controller with the current robot position

Parameters
_odomthe current robot position
_delta_tthe time differenz used for the pid controlelr

Definition at line 106 of file segment_controller.cpp.

◆ updatePrecondition()

void velocity_controller::SegmentController::updatePrecondition ( PathPrecondition  pc)

updates the sync step of other robots

Parameters
pcthe robot id and step to sync

Definition at line 35 of file segment_controller.cpp.

Member Data Documentation

◆ actual_cmd_

state velocity_controller::SegmentController::actual_cmd_ = run
private

Definition at line 138 of file segment_controller.h.

◆ actualPreconditions

std::vector<int> velocity_controller::SegmentController::actualPreconditions
private

Definition at line 136 of file segment_controller.h.

◆ e_dot_

float velocity_controller::SegmentController::e_dot_ = 0
private

Definition at line 125 of file segment_controller.h.

◆ e_last_

float velocity_controller::SegmentController::e_last_ = 0
private

Definition at line 124 of file segment_controller.h.

◆ goal_radius_

float velocity_controller::SegmentController::goal_radius_ = 0.25
private

Definition at line 129 of file segment_controller.h.

◆ goodId

int velocity_controller::SegmentController::goodId
private

Definition at line 132 of file segment_controller.h.

◆ Kd_

float velocity_controller::SegmentController::Kd_ = 1
private

Definition at line 127 of file segment_controller.h.

◆ Ki_

float velocity_controller::SegmentController::Ki_ = 0.0
private

Definition at line 128 of file segment_controller.h.

◆ Kp_

float velocity_controller::SegmentController::Kp_ = 5
private

Definition at line 126 of file segment_controller.h.

◆ max_v_

float velocity_controller::SegmentController::max_v_
private

Definition at line 120 of file segment_controller.h.

◆ max_w_

float velocity_controller::SegmentController::max_w_
private

Definition at line 120 of file segment_controller.h.

◆ orderId

int velocity_controller::SegmentController::orderId
private

Definition at line 133 of file segment_controller.h.

◆ orderStatus

int velocity_controller::SegmentController::orderStatus
private

Definition at line 134 of file segment_controller.h.

◆ path_

std::shared_ptr<std::vector<PathPoint> > velocity_controller::SegmentController::path_
private

Definition at line 119 of file segment_controller.h.

◆ pathCounter_

int velocity_controller::SegmentController::pathCounter_ = 0
private

Definition at line 122 of file segment_controller.h.

◆ plan_active

bool velocity_controller::SegmentController::plan_active = false
private

Definition at line 123 of file segment_controller.h.

◆ robot_status

int velocity_controller::SegmentController::robot_status = tuw_multi_robot_msgs::RobotInfo::STATUS_STOPPED
private

Definition at line 131 of file segment_controller.h.

◆ v_

float velocity_controller::SegmentController::v_
private

Definition at line 121 of file segment_controller.h.

◆ w_

float velocity_controller::SegmentController::w_
private

Definition at line 121 of file segment_controller.h.


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


tuw_multi_robot_ctrl
Author(s): Benjamin Binder
autogenerated on Mon Feb 28 2022 23:57:38