86 lines
2.1 KiB
TOML
86 lines
2.1 KiB
TOML
# chassisd 配置样例
|
|
# 复制到 /etc/chassisd/chassis.toml 并按实车修改。
|
|
|
|
[can]
|
|
interface = "can0"
|
|
|
|
# DJI DT7 + DR16 遥控接收机。没有遥控时删除整个 [remote] 段,守护进程会保持静止。
|
|
[remote]
|
|
kind = "dr16"
|
|
device = "/dev/ttyS2"
|
|
# 合法 D-BUS 帧断流超时(毫秒);超时立即失能停车。
|
|
timeout_ms = 100
|
|
# 摇杆满量程死区(0..0.5),死区后使用平方响应曲线。
|
|
deadband = 0.05
|
|
# 从零到满量程的逐轴速度斜坡(毫秒);S1 失能、断流和超时立即归零。
|
|
ramp_ms = 500
|
|
# 实车方向相反时置 true,不需要改代码。
|
|
invert_vx = false
|
|
invert_vy = false
|
|
invert_omega = false
|
|
|
|
[chassis]
|
|
# 控制循环周期(毫秒)。C620 期望 1kHz 命令。
|
|
control_period_ms = 1
|
|
# 上层 twist 命令超时(毫秒),超时后目标速度归零。
|
|
command_timeout_ms = 200
|
|
# 电机反馈离线判定(毫秒),离线后强制 0 电流。
|
|
feedback_timeout_ms = 100
|
|
# 驱动层命令租约(毫秒):控制循环超过该时长未刷新电机命令 → 强制 0 电流
|
|
# (防控制任务死亡后旧指令持续输出)。必须 >= control_period_ms。
|
|
motor_command_timeout_ms = 50
|
|
|
|
[mecanum]
|
|
# 轮轴线到底盘中心的纵向 / 横向半距(米)与轮半径(米)。
|
|
half_length = 0.18
|
|
half_width = 0.20
|
|
wheel_radius = 0.0762
|
|
|
|
# 四轮顺序:前左、前右、后左、后右(与 mecanum crate 约定一致)。
|
|
[[motor]]
|
|
name = "front_left"
|
|
esc_id = 1
|
|
direction = 1
|
|
gear_ratio = 19.203
|
|
# 电流限幅(协议 raw 值,C620 满量程 16384)。
|
|
current_limit = 12000
|
|
# 速度环(输入 rpm,输出 raw 电流)。按实车整定。
|
|
kp = 18.0
|
|
ki = 0.6
|
|
kd = 0.0
|
|
# 前馈(raw 电流/rpm)。
|
|
feedforward = 9.0
|
|
|
|
[[motor]]
|
|
name = "front_right"
|
|
esc_id = 2
|
|
direction = -1
|
|
gear_ratio = 19.203
|
|
current_limit = 12000
|
|
kp = 18.0
|
|
ki = 0.6
|
|
kd = 0.0
|
|
feedforward = 9.0
|
|
|
|
[[motor]]
|
|
name = "rear_left"
|
|
esc_id = 3
|
|
direction = 1
|
|
gear_ratio = 19.203
|
|
current_limit = 12000
|
|
kp = 18.0
|
|
ki = 0.6
|
|
kd = 0.0
|
|
feedforward = 9.0
|
|
|
|
[[motor]]
|
|
name = "rear_right"
|
|
esc_id = 4
|
|
direction = -1
|
|
gear_ratio = 19.203
|
|
current_limit = 12000
|
|
kp = 18.0
|
|
ki = 0.6
|
|
kd = 0.0
|
|
feedforward = 9.0
|