|
Autoware.Auto
|
|
Classes | |
| class | LimitsConfig |
| Extreme values for state/control variables. More... | |
| class | OptimizationConfig |
| Specifies various parameters specific to the optimization problem and it's behaviors Depending on problem setup, some weights may be ignored. More... | |
| class | StateWeight |
| Specifies the weights used for particular state weights in the least-squares objective function of the mpc solver. More... | |
| class | VehicleConfig |
| Vehicle parameters specifying vehicle's handling performance. More... | |
Typedefs | |
| using | Real = decltype(autoware_auto_msgs::msg::TrajectoryPoint::x) |
| using | Command = autoware_auto_msgs::msg::VehicleControlCommand |
| using | Diagnostic = autoware_auto_msgs::msg::ControlDiagnostic |
| using | State = autoware_auto_msgs::msg::VehicleKinematicState |
| using | Trajectory = autoware_auto_msgs::msg::Trajectory |
| using | Heading = decltype(decltype(State::state)::heading) |
| using | Index = decltype(Trajectory::points)::size_type |
| using | Point = decltype(Trajectory::points)::value_type |
Functions | |
| MOTION_COMMON_PUBLIC bool | is_past_point (const Point &state, const Point &pt) noexcept |
| Check if a state is past a given trajectory point, assuming heading is correct. More... | |
| MOTION_COMMON_PUBLIC bool | is_past_point (const Point &state, const Point ¤t_pt, const Point &next_pt) noexcept |
| MOTION_COMMON_PUBLIC bool | is_past_point (const Point &state, const Point &pt, Real nx, Real ny) noexcept |
| Given a normal, determine if state is past a point. More... | |
| MOTION_COMMON_PUBLIC bool | is_aligned (Heading a, Heading b, Real dot_threshold) |
| Check if cosine angle is less than some dot product threshold. More... | |
| template<typename IsPastPointF > | |
| Index | update_reference_index (const Trajectory &traj, const State &state, Index start_idx, IsPastPointF is_past_point) |
| Advance to the first trajectory point past state according to criterion is_past_point. More... | |
| MOTION_COMMON_PUBLIC bool | heading_ok (const Trajectory &traj) |
| Check that all heading values in a trajectory are normalized 2D quaternions. More... | |
| MOTION_COMMON_PUBLIC void | doTransform (const Point &t_in, Point &t_out, const geometry_msgs::msg::TransformStamped &transform) noexcept |
| Apply transform to TrajectoryPoint. More... | |
| MOTION_COMMON_PUBLIC void | doTransform (const State &t_in, State &t_out, const geometry_msgs::msg::TransformStamped &transform) noexcept |
| Apply transform to VehicleKinematicState. More... | |
| MOTION_COMMON_PUBLIC Real | to_angle (Heading heading) noexcept |
| Converts 2D quaternion to simple heading representation. More... | |
| template<typename RealT > | |
| Heading | from_angle (RealT angle) noexcept |
| Basic conversion. More... | |
| template<typename QuatT > | |
| Heading | from_quat (QuatT quat) noexcept |
| Converts a quaternion-like object to a simple heading representation. More... | |
| template<typename QuatT > | |
| QuatT | to_quat (Heading heading) noexcept |
| Converts a simple heading representation into a quaternion-like object. More... | |
| template<typename T > | |
| T | clamp (T val, T min, T max) |
| Standard clamp implementation. More... | |
| template<typename T , typename RealT = double> | |
| T | interpolate (T a, T b, RealT t) |
| Standard linear interpolation. More... | |
| MOTION_COMMON_PUBLIC Heading | nlerp (Heading a, Heading b, Real t) |
| template<typename SlerpF > | |
| Point | interpolate (Point a, Point b, Real t, SlerpF slerp_fn) |
| Trajectory point interpolation. More... | |
| MOTION_COMMON_PUBLIC Point | interpolate (Point a, Point b, Real t) |
| Default point interpolation, currently uses nlerp. More... | |
| template<typename SlerpF > | |
| void | sample (const Trajectory &in, Trajectory &out, std::chrono::nanoseconds period, SlerpF slerp_fn) |
| Sample a trajectory using interpolation; does not extrapolate. More... | |
| MOTION_COMMON_PUBLIC void | sample (const Trajectory &in, Trajectory &out, std::chrono::nanoseconds period) |
| Trajectory sampling with default interpolation (of nlerp) More... | |
| MOTION_COMMON_PUBLIC void | error (const Point &state, const Point &ref, Diagnostic &out) noexcept |
| Diagnostic header stuff. More... | |
| using motion::motion_common::Command = typedef autoware_auto_msgs::msg::VehicleControlCommand |
| using motion::motion_common::Diagnostic = typedef autoware_auto_msgs::msg::ControlDiagnostic |
| using motion::motion_common::Heading = typedef decltype(decltype(State::state)::heading) |
| using motion::motion_common::Index = typedef decltype(Trajectory::points)::size_type |
| using motion::motion_common::Point = typedef decltype(Trajectory::points)::value_type |
| using motion::motion_common::Real = typedef decltype(autoware_auto_msgs::msg::TrajectoryPoint::x) |
| using motion::motion_common::State = typedef autoware_auto_msgs::msg::VehicleKinematicState |
| using motion::motion_common::Trajectory = typedef autoware_auto_msgs::msg::Trajectory |
| T motion::motion_common::clamp | ( | T | val, |
| T | min, | ||
| T | max | ||
| ) |
Standard clamp implementation.
|
noexcept |
Apply transform to TrajectoryPoint.
|
noexcept |
Apply transform to VehicleKinematicState.
|
noexcept |
Diagnostic header stuff.
|
noexcept |
Basic conversion.
|
noexcept |
Converts a quaternion-like object to a simple heading representation.
| QuatT | A quaternion-like object with at least z and w members |
| [in] | quat | A quaternion-like object to be converted to a heading object |
| bool motion::motion_common::heading_ok | ( | const Trajectory & | traj | ) |
Check that all heading values in a trajectory are normalized 2D quaternions.
| T motion::motion_common::interpolate | ( | T | a, |
| T | b, | ||
| RealT | t | ||
| ) |
Standard linear interpolation.
| Point motion::motion_common::interpolate | ( | Point | a, |
| Point | b, | ||
| Real | t, | ||
| SlerpF | slerp_fn | ||
| ) |
Trajectory point interpolation.
Default point interpolation, currently uses nlerp.
Check if cosine angle is less than some dot product threshold.
Check if a state is past a given trajectory point, assuming heading is correct.
|
noexcept |
Check if a state is past a given trajectory point given the last (aka current) trajectory point
|
noexcept |
Given a normal, determine if state is past a point.
2D nlerp (linear approximation of slerp): http://number-none.com/product/Understanding%20Slerp,%20Then%20Not%20Using%20It/
| void motion::motion_common::sample | ( | const Trajectory & | in, |
| Trajectory & | out, | ||
| std::chrono::nanoseconds | period, | ||
| SlerpF | slerp_fn | ||
| ) |
Sample a trajectory using interpolation; does not extrapolate.
| void motion::motion_common::sample | ( | const Trajectory & | in, |
| Trajectory & | out, | ||
| std::chrono::nanoseconds | period | ||
| ) |
Trajectory sampling with default interpolation (of nlerp)
Converts 2D quaternion to simple heading representation.
|
noexcept |
Converts a simple heading representation into a quaternion-like object.
| QuatT | A quaternion-like object with at least z and w members |
| [in] | heading | A heading object to be converted to a quaternion-like object |
| Index motion::motion_common::update_reference_index | ( | const Trajectory & | traj, |
| const State & | state, | ||
| Index | start_idx, | ||
| IsPastPointF | is_past_point | ||
| ) |
Advance to the first trajectory point past state according to criterion is_past_point.