![]() |
TPIK
1.0
Task Priority Inverse Kinematics
|
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. | |
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.
| 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.
| [in] | actionManager | std::shared_ptr to tpik::ActionManager which manages the unified hierarchy and the mission action. |
| [in] | tpik | std::shared_ptr to tpik::TPIK which provides the method to solve a single tpik::PriorityLevel. |
| [in] | vehiclePriorityLevel | std::shared_ptr to tpik::PriorityLevel containing task providing the teleoparation for the vehicle velocities (with regularization data already set ). |
| 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.
| bool tpik::CoordinationArmVehicleSolver::SetAction | ( | const std::string | action, |
| bool | transition | ||
| ) |
Method setting the current tpik::Action.
| [in] | action | current action ID. |
| [in] | transition | true if transition false otherwise |