Aelos&Roban 选拔任务
NOTE:aelos&roban赛道任务为单人任务,每人均需提交一份自己完成的代码和结果展示
1 任务要求
1.1 基本任务
综合使用Linux、python、ROS、OpenCV等,完成简单的图像处理与发布
对下列图像进行处理,通过python的opencv库函数实现将图像中的红色小球框选并输出其坐标 原图及识别效果图:

自主编写代码完成以下两个文件 img_pub.py(发布) 与 img_sub.py(订阅),对给定图像进行处理
img_pub.py文件通过cv_bridge获取摄像头图像并通过ros的publisher发布图像
img_sub.py文件接收上面的图像话题(topic), 然后进行图像处理, 结合第一次任务的代码, 还是提取摄像头中的红色物体(自己周围找一个就行,比如苹果之类的,阈值自己摸索调整), 然后进行框选输出坐标与矩形形状。处理完图像后将新的图像进行发布
利用rqt_image工具查看处理完后输出的图像topic
1.2 进阶任务
使用yolo
跑通yolo识别框架,完成基础的图像识别功能
yolo版本不限,能完成目标即可
将yolo识别到的物体在视频中的像素坐标通过ros话题发布
1.3 SLAM任务
Roban赛道定位算法
对于ROBAN赛道的参赛人员,需要学习SLAM的相关知识
采用的基本框架为ORB-SLAM2,需要跟随高翔视觉SLAM14讲(b站课程进行学习),至少了解其基本原理
2 参考学习路线
2.1 Python
只需要懂Python的基础语法,可以不必学精通,在实践的过程中逐步补全python知识体系,在实践中学习的效率更高效
学习路线有如下几种,根据自己偏好选择,如果想比较系统的学习推荐看书或者看b站长视频
书籍:《Python编程 从入门到实践》(PDF会放在群里)
b站视频:超基础Python教程(选了一个时长较短的视频)
菜鸟教程:Python 3 教程
相信每一位HITer都会使用gpt,所以简单入门即可上手实操,看不懂的gpt,不会写的gpt
2.2 Linux
学会linux操作系统基础知识,会linux操作系统使用方法,熟悉一些基础的终端命令即可,可参考教程:Linux入门教程,细节不用深究,像一些参数的使用,需要的时候再查阅即可,不然也很快会忘
2.3 ROS1
理清ROS框架中的命令和功能
2.4 OpenCV
3 补充说明
学习目的:熟悉linux系统操作,并能将全流程跑通,不要求对流程中的每一个环节都完全理解,但是先把整个流程跑通,并能展示仿真效果
只要跟着视频教程走一定可以跑通,每一步都会在视频教程中有完整说明