TPIK  1.0
Task Priority Inverse Kinematics
Loading...
Searching...
No Matches
tpik::CoordinationArmVehicleSolver Class Reference

CoordinationArmVehicleSolver class. More...

#include <CoordinationArmVehicleSolver.h>

Public Member Functions

 CoordinationArmVehicleSolver (const std::shared_ptr< ActionManager > actionManager, const std::shared_ptr< TPIK > tpik, const std::shared_ptr< PriorityLevel > vehiclePriorityLevel)
 Overload of the consturctur.
 
bool SetAction (const std::string action, bool transition)
 Method setting the current tpik::Action.
 
const Eigen::VectorXd ComputeDecoupledVelocities ()
 Method that computes the optimized velocities for the whole system through two different optimization. One for the vehicle and on for the arms.
 

Detailed Description

CoordinationArmVehicleSolver class.

Implementation of the CoordinationArmVehicleSolver class. Such class computes the kinematic control for a vehicle and arms by optimizing the arms velocities wrt to the vehicle current velocities.
In order to achieve such result, an implementation of the Task class which provides the vehicle teleoperation with the actual vehicle velocities is needed.
First the whole system velocities (both for the vehicle and the arms) are computed. Then, by taking into account the current vehicle velocities, the arms velocities are computed hence obtaining the optimized arms velocities wrt to the current vehicle velocities.
The desired vehicle velocities returned will be the one of the first optimization while the arms velocities will be the one of the second otpimization. In this way the difference in between the dynamic and kinematic of the arm and the vehicle is taken into account and the arms target velocities will be independent on the possible vehicle errors in tracking the desired velocities.

Note
the vehicle teleoperation task must NOT be included in the unified heirarchy.

Constructor & Destructor Documentation

◆ CoordinationArmVehicleSolver()

tpik::CoordinationArmVehicleSolver::CoordinationArmVehicleSolver ( const std::shared_ptr< ActionManager actionManager,
const std::shared_ptr< TPIK tpik,
const std::shared_ptr< PriorityLevel vehiclePriorityLevel 
)

Overload of the consturctur.

Parameters
[in]actionManagerstd::shared_ptr to tpik::ActionManager which manages the unified hierarchy and the mission action.
[in]tpikstd::shared_ptr to tpik::TPIK which provides the method to solve a single tpik::PriorityLevel.
[in]vehiclePriorityLevelstd::shared_ptr to tpik::PriorityLevel containing task providing the teleoparation for the vehicle velocities (with regularization data already set ).

Member Function Documentation

◆ ComputeDecoupledVelocities()

const Eigen::VectorXd tpik::CoordinationArmVehicleSolver::ComputeDecoupledVelocities ( )

Method that computes the optimized velocities for the whole system through two different optimization. One for the vehicle and on for the arms.

Returns
Kinematic control velocities.

◆ SetAction()

bool tpik::CoordinationArmVehicleSolver::SetAction ( const std::string  action,
bool  transition 
)

Method setting the current tpik::Action.

Parameters
[in]actioncurrent action ID.
[in]transitiontrue if transition false otherwise

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