升级记录说明: ------------------------------------------------------------------------------------------------------------------------------------ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 程序版本:V0.4 更新日期:2024/07/08 (1) 更新原先的控制算法,解决直线容易跑偏的问题 (2) 依据速度、曲率、铰链角度等参数自动更新预瞄距离,提高跟踪精度 (3) 解决故障码一直存在一直报,不存在就不报 (4) 增加里程计定位 (5) 曲线行驶横向路径偏差计算方式更新 (6) 带包时(如何判断带包),脱轨不能直接发0,速度逐步减半 (7) 渣包位太偏时,允许车辆转弯到渣包附近,然后报故障码提示切换成遥操 (8) 对包完成后,虽然锁钩状态为1(全开)或0(未知),只要对中超声波有合理的数据,左右摇一摇方向 (9) 渣包太偏或两次对包未完成,报故障码提示跳转到遥操等待状态,同时发布遥操topic "/remote_ctrl" (10) 修复快到终点时,偶尔发速度为0的bug (11) 修复RTK节点偶尔挂掉的现象 (12) 修复刚开始节点未运行,后续正常运行后,频繁报故障码的问题 (13) 每隔10min执行一次rosnode cleanup自动清理一次,解决节点挂了之后,还假装没挂的问题。然后故障模块可以快速提示节点死掉 的故障码 (14) 增加所有ROS节点正常运行的监测 (15) 出接渣车间,RTK定位与SLAM偏差太大时,短时间(200ms)靠odo定位 (16) 为了避免暂停距离太长,收到暂停后,减速度线性递增,若长时间未暂停,怠速以上的速度迅速拉入怠速,怠速以下的速度迅速拉为0 (17) 最后一段距离太短,倒数第二段的终点速度需要提前减速,距离太近,限制转向角 (a)最后一段5.5m~10m,倒数第二段终点速度1.2m/s (b) 最后一段1.5m~2.5m,倒数第二段终点速度0.5m/s (c) 最后一段0.5m~1.5m,倒数第二段终点速度0.35m/s (d) 最后一段小于0.5m,倒数第二段终点速度0 (18) 从接渣口出来,最后一段距离,限制最大转向角 (19) 配置参数uncorrectedLatErrMax 0.15 -> 0.05,uncorrectedDiffHeading 1.5度 -> 1度 (20) 速度小于0.2m/s时,运控模块支腿太低不报故障 (21) 解决直线倒车和bezier倒车与对包的拼接,容易误报拼接 (22) 第三待命点附近,下发速度跳变 (23) 取包阶段,最后持续发一段速度,取放包,摇摆方向盘 (24) 减速阶段,修改为分阶段的线性减速 (25) 直角转弯,较长的直线段和转弯段分不同的跟踪方法(待测试) ------------------------------------------------------------------------------------------------------------------------------------ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 程序版本:V0.3 更新日期:2024/06/15 (1) 修复倒渣、巷道Bezier曲线、取放包等工况下,检测到支腿高度不对,自动抬支腿后未正常发0回写抬支腿 (2) 解决SLAM丢失后,车辆重新回到缓冷场,车辆的坐标丢失的问题 (3) 接渣点渣包位坐标更新 (4) 非自动模式下,除了定位节点外,其他节点没有正常启动,不报故障 (5) 日志保存时间由原来的1小时修改为24小时 (6) 将上传调度的坐标修改为保留小数点后三位(四舍五入)发布到topic (7) 取包完成时,对中超声波的值不对,报异常给调度,暂停取包 (8) 下发速度和角度"/cmd/cmdvel"保留在小数点后三位 (9) 接渣巷道倒车最大速度调整为1.8m/s,前进最大速度调整为1.6m/s,取放包直线段最大速度调整为1m/s,转弯点前6.5m开始减速到0.45m/s (10) 将取放包预瞄距离由3m调整为2.5m (10) 增加故障发布节点,用于发布故障码(计划300个以上,已经完成100多个)和故障描述上传到相应的topic,同时车端保存相关故障日志, 当前故障码存在误报和漏报的现象,待不断测试优化。 故障码至少有7位数字组成,编码规则: (a) 个位、十位、百位:故障子码 (b) 千位:故障等级【1:event(事件)、2:warning(警告或错误)、3:Alarm(限速)、4:Fault(刹车停)、5:Cirtical(急停)】 (c) 万位、十万位:模块编码【4:定位、6:运动控制、7:调度任务、9:对包、10:局部路径规划、11:故障模块】 (d) 百万位:车号 故障码解释,如:6072030,6(百万位):【6号车】、07(万和十万位):【调度任务】、2(千位):【warning(警告或错误)】、030(个十百位):【故障子码】 该版本故障码框架已经完成,主要包含: (a) 部分RTK定位和部分融合定位相关的故障码(待完善与测试优化) (b) 部分运动控制相关的故障码(待完善与测试优化) (c) 调度任务解析相关故障码(待完善与测试优化) (d) 对包相关故障码(待完善与测试优化) (e) 局部路径规划相关故障码(待完善与测试优化) 额外增加以下故障相关逻辑,并报相关故障码 (a) 发了速度不走,发角度不摆动,发升降支腿不动 (b) 发支腿抬起后,长时间未抬起到位 (c) 收到任务,但是属于非自动模式 (d) 定位,调度任务解析、路径规划、运动控制等模块正常启动监测,后续可以考虑增加其他ROS节点的监测 ------------------------------------------------------------------------------------------------------------------------------------ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 程序版本:V0.2 更新日期:2024/04/29 (1) 车上有渣包,支腿高度小于385mm,强制把支腿抬起,若无法抬起,报故障 (2) 长时间定位丢失,强制停车 (3) 当前处于暂停状态下,发继续,继续按照原先的继续执行,其他工况下发继续不理睬 ------------------------------------------------------------------------------------------------------------------------------------ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 程序版本:V0.1 更新日期:2024/04/25 (1) 高速纠偏角度限制 (2) 对包距离带上正负号 (3) 对包预瞄距离由4m修改为3m