跳转到内容

Chassis::ControllerSlave API

文档稀疏
符号
27
已记录
20
修订版本
0.1.0+825f1408280d

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

命名空间

2

1

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

Controller/Slave/Slave.hpp:39

结构体

3

函数

8

chassis::controller::Slave::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

chassis::controller::Slave::apply_position_velocity

                    void chassis::controller::Slave< BufferCapacity, Offline >::apply_position_velocity ()
                  

上游未提供说明。

Controller/Slave/Slave.hpp:177

chassis::controller::Slave::clearTrajectory

                    void chassis::controller::Slave< BufferCapacity, Offline >::clearTrajectory ()
                  

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

Controller/Slave/Slave.hpp:152

chassis::controller::Slave::errorUpdate

                    void chassis::controller::Slave< BufferCapacity, Offline >::errorUpdate ()
                  

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

Controller/Slave/Slave.hpp:106

chassis::controller::Slave::profileUpdate

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

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

Controller/Slave/Slave.hpp:94

chassis::controller::Slave::pushTrajectoryPoint

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

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

Controller/Slave/Slave.hpp:143

chassis::controller::Slave::stop

                    void chassis::controller::Slave< BufferCapacity, Offline >::stop () override
                  

上游未提供说明。

Controller/Slave/Slave.hpp:120

chassis::controller::Slave::trajectoryUpdate

                    void chassis::controller::Slave< BufferCapacity, Offline >::trajectoryUpdate ()
                  

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

Controller/Slave/Slave.hpp:73

变量

12

chassis::controller::Slave::PDConfig::vx

                    PD::Config chassis::controller::Slave< BufferCapacity, Offline >::PDConfig::vx
                  

x 位置误差 PD

Controller/Slave/Slave.hpp:48

chassis::controller::Slave::PDConfig::vy

                    PD::Config chassis::controller::Slave< BufferCapacity, Offline >::PDConfig::vy
                  

y 位置误差 PD

Controller/Slave/Slave.hpp:49

chassis::controller::Slave::PDConfig::wz

                    PD::Config chassis::controller::Slave< BufferCapacity, Offline >::PDConfig::wz
                  

yaw 位置误差 PD

Controller/Slave/Slave.hpp:50

chassis::controller::Slave::TrajectoryPoint::p_ref

                    Posture chassis::controller::Slave< BufferCapacity, Offline >::TrajectoryPoint::p_ref
                  

上游未提供说明。

Controller/Slave/Slave.hpp:56

chassis::controller::Slave::TrajectoryPoint::v_ref

                    Velocity chassis::controller::Slave< BufferCapacity, Offline >::TrajectoryPoint::v_ref
                  

上游未提供说明。

Controller/Slave/Slave.hpp:57

chassis::controller::Slave::cmd_buffer_

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

上游未提供说明。

Controller/Slave/Slave.hpp:175

chassis::controller::Slave::lock_

                    osMutexId_t chassis::controller::Slave< BufferCapacity, Offline >::lock_
                  

保护 stop 等状态切换

Controller/Slave/Slave.hpp:159

chassis::controller::Slave::p_ref_

                    Posture chassis::controller::Slave< BufferCapacity, Offline >::p_ref_
                  

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

Controller/Slave/Slave.hpp:165

chassis::controller::Slave::pd_vx_

                    PD chassis::controller::Slave< BufferCapacity, Offline >::pd_vx_
                  

x 位置误差 PD 控制器

Controller/Slave/Slave.hpp:161

chassis::controller::Slave::pd_vy_

                    PD chassis::controller::Slave< BufferCapacity, Offline >::pd_vy_
                  

y 位置误差 PD 控制器

Controller/Slave/Slave.hpp:162

chassis::controller::Slave::pd_wz_

                    PD chassis::controller::Slave< BufferCapacity, Offline >::pd_wz_
                  

yaw 位置误差 PD 控制器

Controller/Slave/Slave.hpp:163

chassis::controller::Slave::v_ref_

                    Velocity chassis::controller::Slave< BufferCapacity, Offline >::v_ref_
                  

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

Controller/Slave/Slave.hpp:166

文件

1