|
2023-Robot
Robot code for 2023 FRC season by Argos, FRC team #1756
|
Classes | |
| struct | ArmCompositePathDynamicConstraints |
| struct | ArmPathPoint |
| struct | ArmPathVelocity |
| struct | CompositeMPPath |
| struct | GenericMPPathPoint |
| struct | LineSegment |
| struct | PathDynamicsConstraints |
| struct | PathIntersection |
| struct | VelocityComponents |
Typedefs | |
| using | ArmMPPathPoint = GenericMPPathPoint< ArmPathPoint, ArmPathVelocity > |
| using | AngularMPPathPoint = GenericMPPathPoint< units::degree_t, units::degrees_per_second_t > |
| using | LinearMPPathPoint = GenericMPPathPoint< units::inch_t, units::velocity::inches_per_second_t > |
| using | ShoulderPoint = units::degree_t |
| using | ExtensionPoint = units::inch_t |
| using | BashGuardPoint = units::inch_t |
| using | Polygon = std::vector< ArmPathPoint > |
| using | ArmPath = std::vector< ArmPathPoint > |
| using | ShoulderPath = std::vector< ShoulderPoint > |
| using | ExtensionPath = std::vector< ExtensionPoint > |
| using | BashGuardPath = std::vector< BashGuardPoint > |
| using | ShoulderMPPathPoint = AngularMPPathPoint |
| using | ExtensionMPPathPoint = LinearMPPathPoint |
| using | BashGuardMPPathPoint = LinearMPPathPoint |
| using | ArmMPPath = std::vector< ArmMPPathPoint > |
| using | ShoulderMPPath = std::vector< ShoulderMPPathPoint > |
| using | ExtensionMPPath = std::vector< ExtensionMPPathPoint > |
| using | BashGuardMPPath = std::vector< BashGuardMPPathPoint > |
Enumerations | |
| enum class | Orientation { Colinear , Clockwise , Counterclockwise } |
Functions | |
| units::degree_t | CalculateCuspAngle (const ArmPath &path, const size_t segmentIndex) |
| VelocityComponents | DecomposeVelocity (const ArmMPPathPoint &pathPoint, const ArmPathPoint &armVector) |
| CompositeMPPath | GenerateCompositeMPPath (ArmMPPath generalPath, const BashGuardMPPath &bashGuardPath, const ArmPathPoint &shoulderFulcrum, LifterSubsystem *lifter) |
| BashGuardMPPath | GenerateProfiledBashGuard (const BashGuardPoint &startPoint, const BashGuardPoint &endPoint, const PathDynamicsConstraints &constraints, units::millisecond_t resolution=20_ms) |
| ArmMPPath | GenerateProfiledPath (const ArmPath &initialPath, const PathDynamicsConstraints &constraints, const Polygon &avoidancePolygon, units::millisecond_t resolution=20_ms) |
| std::vector< units::inch_t > | GenerateSegmentLengths (const path_planning::ArmPath &path) |
| template<typename SegmentIt , typename PathIt > | |
| std::vector< frc::TrapezoidProfile< units::inch > > | GenerateSegmentProfiles (SegmentIt segmentLengthsBegin, SegmentIt segmentLengthsEnd, PathIt pathBegin, PathIt pathEnd, const PathDynamicsConstraints &constraints) |
| std::vector< frc::TrapezoidProfile< units::inch > > | GenerateContinuousSegmentProfiles (const std::vector< units::inch_t > &segmentLengths, const path_planning::ArmPath &path, const PathDynamicsConstraints &constraints) |
| template<typename PositionType , typename VelocityType > | |
| std::vector< GenericMPPathPoint< PositionType, VelocityType > > | PadProfile (const std::vector< GenericMPPathPoint< PositionType, VelocityType > > &profile, units::millisecond_t paddingTime, bool padFront) |
| Orientation | GetOrientation (const ArmPathPoint &point1, const ArmPathPoint &point2, const ArmPathPoint &point3) |
| bool | OnSegment (const ArmPathPoint &p, const ArmPathPoint &q, const ArmPathPoint &r) |
| bool | SegmentsIntersect (const LineSegment &segment1, const LineSegment &segment2) |
| std::optional< ArmPathPoint > | Intersection (const LineSegment &segment1, const LineSegment &segment2) |
| std::vector< LineSegment > | PolygonSegments (const Polygon &polygon) |
| units::inch_t | SegmentLength (const LineSegment &segment) |
| ArmPath | KeepOut (const ArmPath &initialPath, const Polygon &avoidancePolygon) |
| using path_planning::AngularMPPathPoint = typedef GenericMPPathPoint<units::degree_t, units::degrees_per_second_t> |
| using path_planning::ArmMPPath = typedef std::vector<ArmMPPathPoint> |
| using path_planning::ArmMPPathPoint = typedef GenericMPPathPoint<ArmPathPoint, ArmPathVelocity> |
| using path_planning::ArmPath = typedef std::vector<ArmPathPoint> |
| using path_planning::BashGuardMPPath = typedef std::vector<BashGuardMPPathPoint> |
| using path_planning::BashGuardMPPathPoint = typedef LinearMPPathPoint |
| using path_planning::BashGuardPath = typedef std::vector<BashGuardPoint> |
| using path_planning::BashGuardPoint = typedef units::inch_t |
| using path_planning::ExtensionMPPath = typedef std::vector<ExtensionMPPathPoint> |
| using path_planning::ExtensionMPPathPoint = typedef LinearMPPathPoint |
| using path_planning::ExtensionPath = typedef std::vector<ExtensionPoint> |
| using path_planning::ExtensionPoint = typedef units::inch_t |
| using path_planning::LinearMPPathPoint = typedef GenericMPPathPoint<units::inch_t, units::velocity::inches_per_second_t> |
| using path_planning::Polygon = typedef std::vector<ArmPathPoint> |
| using path_planning::ShoulderMPPath = typedef std::vector<ShoulderMPPathPoint> |
| using path_planning::ShoulderMPPathPoint = typedef AngularMPPathPoint |
| using path_planning::ShoulderPath = typedef std::vector<ShoulderPoint> |
| using path_planning::ShoulderPoint = typedef units::degree_t |
|
strong |
| units::degree_t path_planning::CalculateCuspAngle | ( | const ArmPath & | path, |
| const size_t | segmentIndex | ||
| ) |
| VelocityComponents path_planning::DecomposeVelocity | ( | const ArmMPPathPoint & | pathPoint, |
| const ArmPathPoint & | armVector | ||
| ) |
| CompositeMPPath path_planning::GenerateCompositeMPPath | ( | ArmMPPath | generalPath, |
| const BashGuardMPPath & | bashGuardPath, | ||
| const ArmPathPoint & | shoulderFulcrum, | ||
| LifterSubsystem * | lifter | ||
| ) |
| std::vector< frc::TrapezoidProfile< units::inch > > path_planning::GenerateContinuousSegmentProfiles | ( | const std::vector< units::inch_t > & | segmentLengths, |
| const path_planning::ArmPath & | path, | ||
| const PathDynamicsConstraints & | constraints | ||
| ) |
| BashGuardMPPath path_planning::GenerateProfiledBashGuard | ( | const BashGuardPoint & | startPoint, |
| const BashGuardPoint & | endPoint, | ||
| const PathDynamicsConstraints & | constraints, | ||
| units::millisecond_t | resolution = 20_ms |
||
| ) |
| ArmMPPath path_planning::GenerateProfiledPath | ( | const ArmPath & | initialPath, |
| const PathDynamicsConstraints & | constraints, | ||
| const Polygon & | avoidancePolygon, | ||
| units::millisecond_t | resolution = 20_ms |
||
| ) |
| std::vector< units::inch_t > path_planning::GenerateSegmentLengths | ( | const path_planning::ArmPath & | path | ) |
| std::vector< frc::TrapezoidProfile< units::inch > > path_planning::GenerateSegmentProfiles | ( | SegmentIt | segmentLengthsBegin, |
| SegmentIt | segmentLengthsEnd, | ||
| PathIt | pathBegin, | ||
| PathIt | pathEnd, | ||
| const PathDynamicsConstraints & | constraints | ||
| ) |
| Orientation path_planning::GetOrientation | ( | const ArmPathPoint & | point1, |
| const ArmPathPoint & | point2, | ||
| const ArmPathPoint & | point3 | ||
| ) |
| std::optional< ArmPathPoint > path_planning::Intersection | ( | const LineSegment & | segment1, |
| const LineSegment & | segment2 | ||
| ) |
| bool path_planning::OnSegment | ( | const ArmPathPoint & | p, |
| const ArmPathPoint & | q, | ||
| const ArmPathPoint & | r | ||
| ) |
| std::vector< GenericMPPathPoint< PositionType, VelocityType > > path_planning::PadProfile | ( | const std::vector< GenericMPPathPoint< PositionType, VelocityType > > & | profile, |
| units::millisecond_t | paddingTime, | ||
| bool | padFront | ||
| ) |
| std::vector< LineSegment > path_planning::PolygonSegments | ( | const Polygon & | polygon | ) |
| units::inch_t path_planning::SegmentLength | ( | const LineSegment & | segment | ) |
| bool path_planning::SegmentsIntersect | ( | const LineSegment & | segment1, |
| const LineSegment & | segment2 | ||
| ) |