Car "ColoS" of team Colossus Trio in eDsnCompetition 2019
实现了几个任务,完善了基于惯导的测试代码。比赛前需要校准一下位置。
这版很强,但是我总觉得有隐藏的大问题,关于死机的。
把建图、寻路、跑图的功能加上了,超声波探图因为准确率问题暂时没有加入,并且串口通讯和超声波数据处理好像会有未知的内存故障,导致程序卡死。今天晚上修完bug,或者明天早上换激光赶一波极限ddl。
修了一天的bug,主要包括进程优先级、内存冲突问题、建图错误、寻路算法错误等等,当前软件比较稳定,硬件有一个电机好像接触不良,需要排查一下。
注意比赛的时候要把一些东西注释取消掉,比如开始/暂停的判断,以及是否在迷宫内的判断等。
todo:出车库的方式、确定精准的任务位置、丰富debug调试指令、加入外场上位机修正
复赛加油,我想赢。
加了一个新文件夹User/Svc/,把所有非硬件的底层逻辑(Service)放进去了,比如说上位机解码、惯导等等。
代码稍微做了一点整理,把逻辑顺了一下,但还没有测试完。
Vertex开始接锅。
迟来的上传。这里是初赛版本,马上做代码整理重构。
把蓝牙、上位机功能调通了,本地测试过,明天去连上位机测试
所有上位机信息存在了eGlobal和ePlayer[2]里面,直接读取就行
多加了几个App的文件,不过顾名思义就不多说了
#define __DEBUG__现在被放在了main.h里,然后分化出三种,__DEBUG_1__是低频输出(可以一直显示的),__DEBUG_2__是高频输出(只有在特殊测试才会用的),__TEMP__是当前正在测试的专用,测试完记得改掉
稍微改了改底层uart的功能,现在usart2负责debug(接蓝牙/串口),双工;usart3负责comm(板子间交互),双工;uart5负责接收上位机信号,只读
todo: 陀螺仪、lidar
惯导基本写完了,在寝室地上调的参
现在可以旋转跳跃托马斯大回环,来给整个活
todo: 蓝牙、陀螺仪、上位机
加入了惯导的代码(Drv/v_MOTION.c/.h),但是惯导的PID有一些锅
稍微修改之后是完整可用版本
这里是A车的代码,当前进度:原始级别惯导完成(走直线距离),陀螺仪未调通
上层代码在User/App/里,目前有三个进程:BasicTask在AppBasic.c中,是主进程,priority == Normal;SensorTask和EncoderTask在AppSensor.c中,priority分别为AboveNormal和Realtime。上层的全局内容写在AppConfig.c/.h中。
底层代码在User/Bsp/(硬件抽象)和User/Drv/(模块抽象)中,初始化内容在Src/main.c,全局内容 在Inc/main.h中。
使用方法是打开MDK-ARM/*.uvprojx,然后编译烧录即可。
Jim有三只巨像 / Jim出线啦 / 我可是专业解说啊