RIT VEXU Core API
Toggle main menu visibility
Loading...
Searching...
No Matches
max_velocity_constraint.h
1
#pragma once
2
3
#include "core/math/trajectory/constraints/trajectory_constraint.h"
4
#include "core/math/units.h"
5
6
using namespace
units::literals;
7
11
class
MaxVelocityConstraint
:
public
TrajectoryConstraint {
12
public
:
17
explicit
MaxVelocityConstraint
(units::Velocity
max_velocity
)
18
: max_velocity_(units::abs(
max_velocity
)) {}
19
27
units::Velocity
max_velocity
(
const
Pose2d
& pose, units::Curvature curvature,
28
units::Velocity velocity)
const override
{
29
return
max_velocity_;
30
}
31
39
MinMax
min_max_acceleration
(
const
Pose2d
& pose, units::Curvature curvature,
40
units::Velocity speed)
const override
{
41
return
{};
42
}
43
48
std::unique_ptr<TrajectoryConstraint>
clone
()
const override
{
49
return
std::unique_ptr<TrajectoryConstraint>(
new
MaxVelocityConstraint
(*
this
));
50
}
51
52
private
:
53
units::Velocity max_velocity_;
54
};
MaxVelocityConstraint::clone
std::unique_ptr< TrajectoryConstraint > clone() const override
Creates an independent copy of this constraint.
Definition
max_velocity_constraint.h:48
MaxVelocityConstraint::min_max_acceleration
MinMax min_max_acceleration(const Pose2d &pose, units::Curvature curvature, units::Velocity speed) const override
Computes minimum and maximum allowed linear accelerations.
Definition
max_velocity_constraint.h:39
MaxVelocityConstraint::MaxVelocityConstraint
MaxVelocityConstraint(units::Velocity max_velocity)
Constructs a MaxVelocityConstraint.
Definition
max_velocity_constraint.h:17
MaxVelocityConstraint::max_velocity
units::Velocity max_velocity(const Pose2d &pose, units::Curvature curvature, units::Velocity velocity) const override
Computes maximum allowed velocity.
Definition
max_velocity_constraint.h:27
Pose2d
Definition
pose2d.h:21
TrajectoryConstraint::MinMax
Struct representing minimum and maximum allowed linear accelerations.
Definition
trajectory_constraint.h:29
include
core
math
trajectory
constraints
max_velocity_constraint.h
Generated by
1.18.0