跳转到内容

Chassis::ControllerSlave API

文档稀疏
符号
27
已记录
20
类型
4
继承关系
1
源码分支
main

7 / 27 个公开 API 符号没有说明。

继承关系总览

继承图尚未加载。

全部继承关系

共 4 个类型

类型目录
类

chassis::controller::Slave

查看源码

从机控制模式的底盘控制器。 该控制器不自己规划轨迹,而是消费外部送来的离散轨迹点, 再在世界坐标系下做位置误差闭环(与 Master 的 errorUpdate 一致)。 pushTrajectoryPoint() trajectoryUpdate() 在线模式 (Offline = false):通过写入环形缓冲区,消费。 profileUpdate(const TrajectoryPoint&) 离线模式 (Offline = true):不持有缓冲区,直接通过注入轨迹点。 支持两种模式: BufferCapacity 轨迹点缓冲区容量(离线模式下忽略) Offline 离线模式开关 BufferCapacity >= 轨迹时长 s * (主机发送频率 Hz - trajectoryUpdate 调用频率 Hz), buffer 占用空间 BufferCapacity * 24 Byte

继承关系

基类
  • IChassisController公开

构造与析构

1

Slave

函数公开
        chassis::controller::Slave< BufferCapacity, Offline >::Slave (motion::IChassisMotion &motion, loc::IChassisLoc &loc, const PDConfig &pd_cfg)
      

构造时绑定 Motion、Loc 以及三个自由度各自的 PD 控制器。

Controller/Slave/Slave.hpp:61

成员函数

7

apply_position_velocity

函数私有
        void chassis::controller::Slave< BufferCapacity, Offline >::apply_position_velocity ()
      

上游未提供说明。

Controller/Slave/Slave.hpp:177

clearTrajectory

函数公开
        void chassis::controller::Slave< BufferCapacity, Offline >::clearTrajectory ()
      

清空所有尚未消费的轨迹点,常用于控制权交接前丢弃旧命令。

Controller/Slave/Slave.hpp:152

errorUpdate

函数公开
        void chassis::controller::Slave< BufferCapacity, Offline >::errorUpdate ()
      

误差跟踪,在世界坐标系下做位置误差闭环。 与 Master 的 errorUpdate 一致:世界系下用 PD 计算位置误差, 叠加前馈速度后统一转换为车体系速度下发。

Controller/Slave/Slave.hpp:106

profileUpdate

函数公开
        void chassis::controller::Slave< BufferCapacity, Offline >::profileUpdate (const TrajectoryPoint &point)
      

离线模式下注入一个轨迹点作为当前参考。 该接口直接设置参考位姿和速度,不做缓冲区操作。 point 外部生成的轨迹点

Controller/Slave/Slave.hpp:94

pushTrajectoryPoint

函数公开
        bool chassis::controller::Slave< BufferCapacity, Offline >::pushTrajectoryPoint (const TrajectoryPoint &point)
      

轨迹点 point 轨迹点 true 表示成功入队;false 表示缓冲区已满,轨迹点未写入

Controller/Slave/Slave.hpp:143

trajectoryUpdate

函数公开
        void chassis::controller::Slave< BufferCapacity, Offline >::trajectoryUpdate ()
      

消费一个新的轨迹点作为当前参考。 errorUpdate() 该接口只负责从缓冲区取点,不做误差闭环;真正的跟踪在中完成。

Controller/Slave/Slave.hpp:73

成员变量

7

cmd_buffer_

变量私有
        std::conditional_t<Offline, NoBuffer, libs::RingBuffer<TrajectoryPoint, BufferCapacity> > chassis::controller::Slave< BufferCapacity, Offline >::cmd_buffer_
      

上游未提供说明。

Controller/Slave/Slave.hpp:175

p_ref_

变量私有
        Posture chassis::controller::Slave< BufferCapacity, Offline >::p_ref_
      

当前正在跟踪的参考位姿(世界系)

Controller/Slave/Slave.hpp:165

v_ref_

变量私有
        Velocity chassis::controller::Slave< BufferCapacity, Offline >::v_ref_
      

当前正在跟踪的参考速度(世界系)

Controller/Slave/Slave.hpp:166

嵌套类型

3
结构体

chassis::controller::Slave::NoBuffer

查看源码

当 Offline = true 时替代 RingBuffer 的空占位类型。

此类型没有可用的公开成员。

结构体

chassis::controller::Slave::PDConfig

查看源码

三个自由度各自的位置误差 PD 参数(世界坐标系下)。

成员变量

3
结构体

chassis::controller::Slave::TrajectoryPoint

查看源码

上位机发来的单个轨迹点:位姿参考 + 速度前馈。

成员变量

2

p_ref

变量公开
        Posture chassis::controller::Slave< BufferCapacity, Offline >::TrajectoryPoint::p_ref
      

上游未提供说明。

Controller/Slave/Slave.hpp:56

v_ref

变量公开
        Velocity chassis::controller::Slave< BufferCapacity, Offline >::TrajectoryPoint::v_ref
      

上游未提供说明。

Controller/Slave/Slave.hpp:57

其他公开符号

文件

1