BipedalLocomotion/Planners/UnicycleUtilities.h file

Namespaces

namespace BipedalLocomotion
namespace BipedalLocomotion::Planners
namespace BipedalLocomotion::Planners::UnicycleUtilities
namespace BipedalLocomotion::Planners::UnicycleUtilities::Conversions

Functions

auto getContactList(const std::chrono::nanoseconds& initTime, const std::chrono::nanoseconds& dt, const std::vector<bool>& inContact, const std::deque<Step>& steps, const int& contactFrameIndex, const std::string& contactName, BipedalLocomotion::Contacts::ContactList& contactList) -> bool
It populates the contact list.
void mergeSteps(const std::deque<Step>& newSteps, std::deque<Step>& currentSteps, const std::chrono::nanoseconds& currentTime)
Merge two steps sequences, and stores the merged output in the second one.
template<typename T>
auto appendVectorToDeque(const std::vector<T>& input, std::deque<T>& output, const size_t& initPoint) -> bool
It appends a vector to a deque.
template<typename T>
void populateVectorFromDeque(const std::deque<T>& deque, std::vector<T>& vector)
It populates a vector from a deque.
void convertToBLF(const iDynTree::Transform& input, manif::SE3d& output)
void convertToBLF(const iDynTree::Twist& input, manif::SE3d::Tangent& output)
void convertToBLF(const iDynTree::VectorDynSize& input, Eigen::VectorXd& output)
void convertToBLF(const iDynTree::Vector2& input, Eigen::Vector2d& output)
void convertToBLF(const iDynTree::Vector3& input, Eigen::Vector3d& output)
template<typename From, typename To>
void convertVector(const std::vector<From>& inputVect, std::vector<To>& outputVect)

Function documentation

bool getContactList(const std::chrono::nanoseconds& initTime, const std::chrono::nanoseconds& dt, const std::vector<bool>& inContact, const std::deque<Step>& steps, const int& contactFrameIndex, const std::string& contactName, BipedalLocomotion::Contacts::ContactList& contactList)

It populates the contact list.

Parameters
initTime the initial time of the trajectory.
dt the time step.
inContact a vector containing the contact status.
steps a deque containing the steps.
contactFrameIndex the index of the contact frame.
contactName the name of the contact.
contactList the contact list to be populated. It should be empty or contain only the first step (i.e., the current one already in contact at time initTime).

void mergeSteps(const std::deque<Step>& newSteps, std::deque<Step>& currentSteps, const std::chrono::nanoseconds& currentTime)

Merge two steps sequences, and stores the merged output in the second one.

Parameters
newSteps the new list of steps.
currentSteps the cuurent list of steps.
currentTime the current time.

The new steps which has an impact time lower than the current time are discarded.

template<typename T>
bool appendVectorToDeque(const std::vector<T>& input, std::deque<T>& output, const size_t& initPoint)

It appends a vector to a deque.

Parameters
input the input vector.
output the output deque.
initPoint the initial point where the vector has to be appended.
Returns true if the operation is successful, false otherwise.

template<typename T>
void populateVectorFromDeque(const std::deque<T>& deque, std::vector<T>& vector)

It populates a vector from a deque.

Parameters
deque the input deque.
vector the output vector.