Pramod
Path following using Pramod's algorithm for path following*. More...
#include <Pramod.h>
Inherits from PathFollowing
Public Functions
Name | |
---|---|
Pramod(std::vector< double > gains, ros::Publisher surge_pub, ros::Publisher yaw_pub, ros::ServiceClient mode_client) Constructor method for the Path Following class. |
|
virtual bool | setPFGains(std::vector< double > gains) override Method that given an array of doubles, updates the gains of the controller. |
virtual void | callPFController(double dt) override Method that implements the path following control law. |
virtual void | publish_private() override Method to publish the data from the path following. |
virtual void | start() override Method used to start the algorithm in the first run. |
virtual bool | stop() override Method used to check whether we reached the end of the algorithm or not. |
virtual bool | reset() override Method used to reset the algorithm control parameters when running the algorithm more than once. |
Additional inherited members
Public Functions inherited from PathFollowing
Name | |
---|---|
virtual | ~PathFollowing() Virtual destructor for the abstract pathfollowing class. |
void | publish() Method to publish the data given by the algorithm. |
virtual bool | resetVirtualTarget(float value) Method to reset the virtual target of the vehicle (gamma) to a pre-specified value. Not all controllers need this (example: Samson, Fossen which use the closest point) |
bool | resetVirtualTarget() Method to reset the virtual target of the vehicle (gamma) to zero. Not all controllers need this (example: Samson, Fossen which use the closest point) |
void | UpdateVehicleState(const VehicleState & vehicle_state) Method to update the vehicle state used by the controller. |
void | UpdatePathState(const PathState & path_state) Method to update the path state used by the controller. |
void | setPFollowingDebugPublisher(const ros::Publisher & pfollowing_debug_pub) Method to set common publishers. |
Protected Functions inherited from PathFollowing
Name | |
---|---|
double | algConvert(double alg_new, double alg_old, double alg_out_old) Auxiliar method to smooth out the angle to be used by path following algorithms. |
Protected Attributes inherited from PathFollowing
Name | |
---|---|
VehicleState | vehicle_state_ Variable to store the state of the vehicle. |
PathState | path_state_ Variable to store the state of the path. |
PFollowingDebug | pfollowing_debug_ Variable to store the state of the path. |
ros::Publisher | pfollowing_debug_pub_ |
Detailed Description
class Pramod;
Path following using Pramod's algorithm for path following*.
Author:
- Marcelo Jacinto
- Joao Quintas
- Joao Cruz
- Hung Tuan
Version: 1.0a
Date: 2021
Copyright: MIT
This algorithm support: Controls:
- yaw
- surge Supports Cooperative Path Following - True Contains Currents Observers - False
Public Functions Documentation
function Pramod
Pramod(
std::vector< double > gains,
ros::Publisher surge_pub,
ros::Publisher yaw_pub,
ros::ServiceClient mode_client
)
Constructor method for the Path Following class.
Parameters:
- gains A vector with the gains of the controller (2 gains only - Kp and Kd)
- surge_pub The ROS surge publisher
- yaw_pub The ROS yaw publisher
- mode_client The ROS service client to change the mode of operation of the path (to the closest point)
function setPFGains
virtual bool setPFGains(
std::vector< double > gains
) override
Method that given an array of doubles, updates the gains of the controller.
Parameters:
- gains A vector of gains of the controller (only 2 gains Kp and Kd)
Return: a boolean which represents the success of the operation
Reimplements: PathFollowing::setPFGains
function callPFController
virtual void callPFController(
double dt
) override
Method that implements the path following control law.
Parameters:
- dt The time diference between the previous and current call (in seconds)
Reimplements: PathFollowing::callPFController
function publish_private
virtual void publish_private() override
Method to publish the data from the path following.
Reimplements: PathFollowing::publish_private
function start
virtual void start() override
Method used to start the algorithm in the first run.
Reimplements: PathFollowing::start
function stop
virtual bool stop() override
Method used to check whether we reached the end of the algorithm or not.
Return: The success of the operation
Reimplements: PathFollowing::stop
function reset
virtual bool reset() override
Method used to reset the algorithm control parameters when running the algorithm more than once.
Return: Whether the reset was made successfully or not
Reimplements: PathFollowing::reset
Updated on 2022-09-15 at 17:51:33 +0000