2.25-3.2
碎碎念
确认选题后进行了简单的组内分工,我负责定位导航系统以及视觉识别跟踪系统,同时学习控制部分。
感觉任务还是蛮重的,但我的想法也好多好多,很多比较先进的算法也不知道能不能做得出来,比如其实我还挺想做最优控制的,用这个来控制激光器跟踪应该会很丝滑。
视觉上我也超想跑一个slam实践一下,或者搞个激光雷达玩玩。
但后几天的调研发现这些方案太贵了,而且或许没太大必要性,我们有更好的定位方案。或许还是识别小车更重要一点。
工作进度
- 确定了几种可行的定位方案:imu惯性测量、两个激光测距定点、观察头顶的视觉slam、激光雷达。
- 调研了大批的开发板:jetson nano、jetson tx2、树莓派5b+kit、香橙派、爱思派。
- 配好了yolo环境,可以开始收集数据集训练网络了。
下周安排
- 定位方案不着急确定,可以一个一个尝试,看哪个方案最合适。
- 首要确定开发板,然后开始搭建开发环境,搭载yolo进行简单小车识别,考虑如何提前小车位置信息。
- 和老师同学交流,商讨数据集。
- 开题答辩ppt完成。
3.3-3.9
工作进度
- 购买了jetson nano并进行了基本的环境配置和学习
- 部署了yolov5n模型,转到engine后,推理时间能达到33ms左右
- 向战队借了一个mind的USB工业相机,已配好驱动
- 使用coco数据集训练的yolov5n,从相机取流推理跑通,帧率只有16左右,原因在于pre_process和取流
- 将取流与预处理、推理分成两个进程处理,并行或许能达到更高的帧率,正在debug进程通信问题
下周安排
- 跑通多进程处理方案,效果应该会更好
- 尝试通过载板pin口驱动舵机,尝试相机跟踪人脸
- 调试相机参数,获取更高的画面质量
- 考虑开始写ros架构
本周总结
基本完成上周任务,数据集问题还没确定,主要是目标区域贴纸老师们还没确定,所以数据集还没准备好。
3.10-3.16
工作进度
- 跑通了python的双进程,现在能稳定在25fps勉强够用,识别进度先推到这里
- 发现jetson nano国产板子没法支持输出PWM, 所以舵机测试先搁置了
- 相机参数设置和ros架构搁置了
- 拿到了stm32和四个直流电机,准备尝试串口和驱动底盘
下周安排
- 串口通信,尝试驱动底盘
- 学习尝试ros架构
本周总结
本周工作量较小,主要是去搞了战队的事情。和师兄交流说是电控比较重要,接下来会把重心放在这里。
3.17-3.23
工作进度
- 底盘驱动完成,通过编码器算出速度作为反馈,控制量为PWM信号
- 配置了遥控器,完成了遥控移动
- 和控院同学讨论了地盘和云台分离结构的可行性以及成本,估计要废弃小陀螺运动
本周总结
底盘控制基本完成,遥控虽然头疼了好久,但好在也是完成了。
接下来就是云台控制部分、上下位机通信部分、定位导航测试(IMU、激光测距)
但现在云台的结构还没决定,周内需要进一步讨论,但感觉其他人都没啥想法,最后还是需要我自己想、自己拍定,有点头大。
先尝试解决导航定位问题,主要是涉及imu解码,再把拖了好久的上下位机串口通信给解决一下。
ros架构真的没时间管呀
下周安排
- 确定云台结构
- imu解码和编码器结合,惯性导航定位测试
- 串口通信
3.24-4.1
工作进度
- 放弃小陀螺方案
- 确定导航方案,2D激光雷达+IMU
本周总结
主控板烧了,电控方面停滞一周进度。
小陀螺方案滑环和同步带结构太复杂且昂贵,同时收益很低,放弃。
购买了成品IMU组件,不需要自己做IMU解码,直接使用。
导航定位方案确定,但需要进一步调研。
下周安排
- 跑通激光雷达和IMU的联合建图
4.2 - 4.28
工作进度
- 完成建图、定位导航部分
- 完成串口通信,导航可以跑通
- 完成云台控制部分,云台可以转动
下周安排
- 解决cmd_vel下发速度过低的问题,主要是local_planner路径太短
- 云台控制模块接入导航模块,尝试云台控制