Class FeasibilityRecursive

Nested Relationships

Inheritance Relationships

Base Type

Class Documentation

class FeasibilityRecursive : public mav_trajectory_generation::FeasibilityBase

Recursive input feasibility checks.

This implementation is based on [1] and extended to test yaw rates and higher order polynomials. The general idea is to check a segment for lower and upper bounds that can be found easily by evaluating the single axis minima and maxima. We extend checking for maximum velocity constraints and yaw rate and acceleration constraints.

[1] Mueller, Mark W., Markus Hehn, and Raffaello D’Andrea. “A Computationally Efficient Motion Primitive for Quadrocopter Trajectory Generation.” Robotics, IEEE Transactions on 31.6 (2015): 1294-1310.

See also https://github.com/markwmuller/RapidQuadrocopterTrajectories

Public Types

typedef std::vector<Eigen::VectorXcd, Eigen::aligned_allocator<Eigen::VectorXcd>> Roots

Public Functions

FeasibilityRecursive()
FeasibilityRecursive(const Settings &settings)
FeasibilityRecursive(const InputConstraints &input_constraints)
FeasibilityRecursive(const Settings &settings, const InputConstraints &input_constraints)
virtual InputFeasibilityResult checkInputFeasibility(const Segment &segment) const

Checks a segment for input feasibility.

Public Members

Settings settings_

The user settings.

class Settings

Public Functions

Settings()
void setMinSectionTimeS(double min_section_time_s)
double getMinSectionTimeS() const