跳转到内容

Chassis::ControllerMaster API

文档稀疏
符号
82
已记录
38
类型
5
继承关系
1
源码分支
main

44 / 82 个公开 API 符号没有说明。

继承关系总览

继承图尚未加载。

全部继承关系

共 5 个类型

类型目录
类

chassis::controller::Master

查看源码

下位机主控模式。 速度模式下的参考保持 位姿模式下的 S 曲线规划 基于定位反馈的误差闭环 这个控制器自己负责: 位姿目标 3 种:绝对目标、相对自身目标、相对指定基准点目标 速度目标 4 种:输入坐标系(世界 / 车身) × 保持不变的参考系(世界 / 车身) 公开接口里有 7 种常用目标设置组合: 适合“上层给目标,底盘自己走过去”的使用方式。

继承关系

基类
  • IChassisController公开

构造与析构

1

Master

函数公开
        chassis::controller::Master::Master (motion::IChassisMotion &motion, loc::IChassisLoc &loc, const Config &cfg)
      

构造时立即建立三个轴各自的 PD 与 S 曲线对象。

Controller/Master/Master.hpp:110

成员函数

27

isTrajectoryTrackingWithinThreshold

函数公开const
        bool chassis::controller::Master::isTrajectoryTrackingWithinThreshold () const
      

当前位姿是否跟随在曲线当前目标的阈值范围内。

Controller/Master/Master.hpp:353

lastSCurveFailure

函数公开const
        const SCurveFailureRecord & chassis::controller::Master::lastSCurveFailure () const
      

上游未提供说明。

Controller/Master/Master.hpp:372

nearestEquivalentYaw

函数私有静态
        static float chassis::controller::Master::nearestEquivalentYaw (const float reference_yaw, const float target_yaw)
      

上游未提供说明。

Controller/Master/Master.hpp:586

profileUpdate

函数公开
        void chassis::controller::Master::profileUpdate (const float dt)
      

更新底盘轨迹规划曲线 CtrlMode::Posture dt 更新间隔 推荐 100Hz 仅在下有效

Controller/Master/Master.hpp:479

setTargetPostureInBody

函数公开
        bool chassis::controller::Master::setTargetPostureInBody (const Posture &relative_target)
      

上游未提供说明。

Controller/Master/Master.hpp:289

setTargetPostureInBody

函数公开
        bool chassis::controller::Master::setTargetPostureInBody (const Posture &relative_target, const TrajectoryLimit &limit)
      

上游未提供说明。

Controller/Master/Master.hpp:297

setTargetPostureInBody

函数公开
        bool chassis::controller::Master::setTargetPostureInBody (const Posture &relative_target, const TrajectoryLinkMode link_mode)
      

上游未提供说明。

Controller/Master/Master.hpp:293

setTargetPostureInBody

函数公开
        bool chassis::controller::Master::setTargetPostureInBody (const Posture &relative_target, const TrajectoryLinkMode link_mode, const TrajectoryLimit &limit)
      

以“当前车体位姿”为基准,设置相对目标位姿。 适合简单动作命令,例如“向前一段距离”或“相对当前朝向转一个角度”。 relative_target 相对目标值 link_mode 曲线衔接模式,如果上一控制状态不为 Posture,则该项不生效 limit 执行过程限制 是否规划成功

Controller/Master/Master.hpp:276

setTargetPostureInWorld

函数公开
        bool chassis::controller::Master::setTargetPostureInWorld (const Posture &absolute_target)
      

上游未提供说明。

Controller/Master/Master.hpp:253

setTargetPostureInWorld

函数公开
        bool chassis::controller::Master::setTargetPostureInWorld (const Posture &absolute_target, const TrajectoryLimit &limit)
      

上游未提供说明。

Controller/Master/Master.hpp:261

setTargetPostureInWorld

函数公开
        bool chassis::controller::Master::setTargetPostureInWorld (const Posture &absolute_target, const TrajectoryLinkMode link_mode)
      

上游未提供说明。

Controller/Master/Master.hpp:257

setTargetPostureInWorld

函数公开
        bool chassis::controller::Master::setTargetPostureInWorld (const Posture &absolute_target, const TrajectoryLinkMode link_mode, const TrajectoryLimit &limit)
      

在世界坐标系中设置绝对目标位姿。 这是最直接的“去某个绝对点”接口,适合地图中已经有明确目标位姿的场景。 absolute_target 绝对目标值 link_mode 曲线衔接模式,如果上一控制状态不为 Posture,则该项不生效 limit 执行过程限制 是否规划成功

Controller/Master/Master.hpp:135

setTargetPostureRelativeTo

函数公开
        bool chassis::controller::Master::setTargetPostureRelativeTo (const Posture &base_in_world, const Posture &relative_target)
      

上游未提供说明。

Controller/Master/Master.hpp:320

setTargetPostureRelativeTo

函数公开
        bool chassis::controller::Master::setTargetPostureRelativeTo (const Posture &base_in_world, const Posture &relative_target, const TrajectoryLimit &limit)
      

上游未提供说明。

Controller/Master/Master.hpp:335

setTargetPostureRelativeTo

函数公开
        bool chassis::controller::Master::setTargetPostureRelativeTo (const Posture &base_in_world, const Posture &relative_target, const TrajectoryLinkMode link_mode)
      

上游未提供说明。

Controller/Master/Master.hpp:328

setTargetPostureRelativeTo

函数公开
        bool chassis::controller::Master::setTargetPostureRelativeTo (const Posture &base_in_world, const Posture &relative_target, const TrajectoryLinkMode link_mode, const TrajectoryLimit &limit)
      

上游未提供说明。

Controller/Master/Master.hpp:302

setVelocityInBody

函数公开
        void chassis::controller::Master::setVelocityInBody (const Velocity &body_velocity, const bool target_in_world)
      

设置车体坐标系速度参考。 这个接口只回答“输入速度是按车体系表达的”。 至于后续控制中究竟保持车体系速度不变,还是先把当前车体系速度锁存成世界系速度, 则由 target_in_world 决定。 body_velocity 目标车体系速度 target_in_world true 表示先换算并保存对应的世界系速度,之后按“世界系速度保持不变” 的方式运行;平移和旋转并存时通常表现为边平移边自旋 false 表示保持普通车体系速度控制;此时常见表现是圆弧轨迹

Controller/Master/Master.hpp:431

setVelocityInWorld

函数公开
        void chassis::controller::Master::setVelocityInWorld (const Velocity &world_velocity, const bool target_in_world)
      

设置世界坐标系速度参考。 这个接口只回答“输入速度是按世界系表达的”。 至于后续控制中究竟保持世界系速度不变,还是只在设置时换算一次后改成车体系保持, 则由 target_in_world 决定。 world_velocity 目标世界系速度 target_in_world true 表示后续控制周期中都保持“世界系速度不变”,并在每次执行时 重新换算到车体系;平移和旋转并存时通常表现为边平移边自旋 false 表示只在设置时做一次换算,后续按车体系速度保持; 此时常见表现是圆弧轨迹

Controller/Master/Master.hpp:397

waitTrajectoryFinish

函数公开const
        void chassis::controller::Master::waitTrajectoryFinish () const
      

阻塞等待当前位姿轨迹执行完成。常用于流程式脚本控制。

Controller/Master/Master.hpp:378

成员变量

24

auto_nearest_yaw_target_

变量私有
        bool chassis::controller::Master::auto_nearest_yaw_target_
      

设置目标时是否自动选择最近等效 yaw

Controller/Master/Master.hpp:551

curve

变量公开
        struct chassis::controller::Master::@201074265143032133110351044343116277020342077055::@241245110204221321046071256103251373131227143220 chassis::controller::Master::curve
      

上游未提供说明。

Controller/Master/Master.hpp:579

defaultTrajectoryLinkMode

变量公开静态
        auto chassis::controller::Master::defaultTrajectoryLinkMode
      

上游未提供说明。

Controller/Master/Master.hpp:107

pd

变量公开
        struct chassis::controller::Master::@201074265143032133110351044343116277020342077055::@152236330005037333157210023264123242351362255041 chassis::controller::Master::pd
      

上游未提供说明。

Controller/Master/Master.hpp:572

posture_trajectory_

变量私有
        struct chassis::controller::Master::@201074265143032133110351044343116277020342077055 chassis::controller::Master::posture_trajectory_
      

上游未提供说明。

Controller/Master/Master.hpp:583

target_in_world

变量公开
        volatile bool chassis::controller::Master::target_in_world
      

速度是否相对于世界坐标系不变

Controller/Master/Master.hpp:557

tracking_threshold_

变量私有
        TrajectoryTrackingThreshold chassis::controller::Master::tracking_threshold_
      

轨迹跟踪 / 完成判定阈值

Controller/Master/Master.hpp:549

velocity_ref_

变量私有
        struct chassis::controller::Master::@362176332242246365222360222042360023062060302104 chassis::controller::Master::velocity_ref_
      

上游未提供说明。

Controller/Master/Master.hpp:560

嵌套类型

8

AxisLimit

类型定义公开
        using chassis::controller::Master::AxisLimit = velocity_profile::SCurveProfile::Config
      

上游未提供说明。

Controller/Master/Master.hpp:39

CtrlMode

枚举公开

上游未提供说明。

Posture
先规划位姿曲线,再跟踪曲线
Stopped
锁定当前位姿
Velocity
直接按速度参考控制
Controller/Master/Master.hpp:83

SCurveFailureInfo

类型定义公开
        using chassis::controller::Master::SCurveFailureInfo = velocity_profile::SCurveProfile::FailureInfo
      

上游未提供说明。

Controller/Master/Master.hpp:40

TrajectoryLinkMode

枚举公开

设置位置目标时曲线的衔接方式

CurrentState
上游未提供说明。
PreviousCurve
上游未提供说明。
Controller/Master/Master.hpp:93
结构体

chassis::controller::Master::Config

查看源码

控制器配置:误差 PD 参数 + 轨迹曲线限制 + 完成判定阈值。

成员变量

7

auto_nearest_yaw_target

变量公开
        bool chassis::controller::Master::Config::auto_nearest_yaw_target
      

设置位姿目标时,是否把目标 yaw 转换为相对本次规划起点最近的等效连续角。

Controller/Master/Master.hpp:80

posture_error_pd_cfg

变量公开
        struct chassis::controller::Master::Config::@146330310246155105117345016374005016375017360335 chassis::controller::Master::Config::posture_error_pd_cfg
      

上游未提供说明。

Controller/Master/Master.hpp:73

tracking_threshold

变量公开
        TrajectoryTrackingThreshold chassis::controller::Master::Config::tracking_threshold
      

上游未提供说明。

Controller/Master/Master.hpp:77
结构体

chassis::controller::Master::SCurveFailureRecord

查看源码

上游未提供类型说明。

成员变量

3

axis

变量公开
        std::array<SCurveFailureInfo, 3> chassis::controller::Master::SCurveFailureRecord::axis
      

上游未提供说明。

Controller/Master/Master.hpp:104
结构体

chassis::controller::Master::TrajectoryLimit

查看源码

三个自由度各自的运动学约束。

成员函数

2

operator*

函数公开const
        TrajectoryLimit chassis::controller::Master::TrajectoryLimit::operator* (const float ratio) const
      

上游未提供说明。

Controller/Master/Master.hpp:47

operator/

函数公开const
        TrajectoryLimit chassis::controller::Master::TrajectoryLimit::operator/ (const float factor) const
      

上游未提供说明。

Controller/Master/Master.hpp:51

成员变量

3
结构体

chassis::controller::Master::TrajectoryTrackingThreshold

查看源码

位姿轨迹跟踪 / 完成判定阈值。

成员变量

3

其他公开符号

文件

1