精彩回顾 | ROS暑期“无人机自主追踪小车”训练营

ops/2024/10/19 1:25:44/

2024年,正值ROS暑期学校成立十周年。为了继续推动ROS在中国的教育培训、前沿研究和产业落地,暑期学校再度拉开帷幕。阿木实验室自2019年起便受邀参与ROS暑期学校,通过与张新宇教授的合作,持续为国内机器人的技术发展和普及贡献力量。本次训练营在上海的华东师范大学滴水湖国际软件学院举办,30名学员分为5组,进行了为期五天的无人机自主追踪小车训练营。

2024 ROS暑期学校VLOG

训练营的内容和过程

本次训练营的内容丰富且结构严密,分为硬件学习、软件仿真、真机部署和功能复现四个阶段,为学员们提供了从理论到实践的全方位学习体验。

第一天:硬件学习

学员们首先接触了智能无人机的硬件平台,详细的了解了无人机硬件构成和参数设置。他们学习了飞控连接和机载计算机的架构与选型,掌握了如何将机载计算机与飞控进行物理和软件协议的连接。通过对相机驱动(T265/RTK,D435i)的工作状态的熟悉,学员们开始了第一次自主实验,团队协力完成了无人机的手动室内定点飞行。这为后续的课程奠定了基础。

第二天:软件仿真

第二天的课程转向了软件仿真,学员们首先了解了仿真在无人机开发中的重要性以及如何选择合适的平台。随后,通过Prometheus项目,学员们熟悉了仿真系统的运行框架、仿真启动器和地面站的使用。在掌握了无人机起飞降落的demo操作后,每位学员都进行了实际操作,完成了仿真中的起飞降落任务。这一过程不仅巩固了学员们的理论知识,还提升了他们的实际操作能力。

第三天:自主追踪小车实验仿真复现

第三天的课程重点是无人机自主追踪小车实验的仿真复现。学员们首先学习了算法流程图,并通过Prometheus控制接口和SpireCV视觉感知模块获取目标位置,逐步深入无人机的坐标变换知识。随后,他们实现了YOLOv5_tracking的核心应用代码,成功编译生成了应用程序,并将追踪人的COCO数据集改为追踪小车的数据集,完成了仿真复现任务。整个过程让学员们对无人机的智能追踪系统有了更深入的理解。

第四天:真机部署

第四天,学员们迎来了真机部署的挑战。他们学习了机载计算机的编译原理和真机代码的框架,并成功将仿真中的代码移植到真机的机载计算机中。通过实际环境中的实验,学员们实现了无人机对小车的自主追踪,并在调试和对比过程中深入了解了真机与仿真程序数据流的差异。这一环节不仅考验了学员们的理论知识,还极大地锻炼了他们的实践操作能力。

第五天:功能复现比赛

训练营的最后一天,五个小组进行了功能复现比赛。每个小组都展示了他们在训练营中学到的技能和知识,通过对无人机自主追踪小车实验的复现,展示了各自的技术水平。

第一组比赛的队伍在原本功能的基础上,做出了两处创新性的改动:他们将无人机的高度追踪方式设定为固定高度,避免了高度突然变化可能导致的坠落风险,并通过计算物体在相机中的坐标,先修改无人机的偏航角度,再进行追踪,使得追踪过程更加平滑。

第六组的学员也进行了两处关键改动。为了提升飞行的安全性,他们将无人机的飞行高度调低至1米,并为无人机设定了0.065的偏航角速度。这一改动使得无人机能够在目标偏离视野中心时自动调整姿态,通过逐步校正方向,实现更加精准和流畅的追踪。

三组和五组则严格按照原有的实验流程,成功复现了无人机自主追踪小车的功能。虽然没有进行额外的修改,但他们的实验同样展示了无人机系统在追踪小车时的精准性和稳定性,展现了扎实的技术能力。

第二组的队伍还探索了多物体跟踪功能,将视觉识别引擎中car权重更换为YOLO公版权重,使视觉跟踪器能够识别多种物体,并尝试了跟踪瓶子的实验,效果显著。

比赛结果与总结

在最终的比赛结果中,第一组凭借最短的用时和创意的修改,成功获得了第一名的好成绩。第六组也凭借其创新性改动赢得了第二名。虽然其他队伍没有进入前两名,但他们在实验中的专注与努力同样值得表扬。每个团队都成功复现了无人机自主追踪小车的任务,展现了出色的技术能力。

对于每一位参赛者来说,这次训练营只是他们探索无人机技术的起点。通过此次学习与实践,他们不仅掌握了无人机的基础操作与开发技能,还积累了宝贵的实践经验。未来的道路上,还有更多的创新机会等待着他们去发掘与探索。相信在不久的将来,他们将在机器人领域取得更大的成就,为行业的发展贡献更多的力量。

结语

ROS暑期学校的成功举办,不仅为学员们提供了一个学习和展示自我的平台,也推动了ROS技术在中国的普及与应用。阿木实验室将继续致力于机器人技术的发展,为更多的学员提供学习与实践的机会。期待明年,我们能够在这一平台上再度相遇,共同见证中国机器人技术的成长与进步。


http://www.ppmy.cn/ops/93447.html

相关文章

linux系统exec系列函数及其用法

exec 系列函数用于在当前进程中执行一个新程序,这将用新程序的代码和数据替换当前进程的映像。exec 函数族包括以下几种: 1. execl 2. execle 3. execlp 4. execvp 5. execv 6. execve 每个函数的作用是相似的,但它们在如何指定程序路径和参…

延时队列与redis and rabbitmq

延时队列是什么 延时队列(Delay Queue)是一种特殊的消息队列,它允许你在添加消息时设置一个延时时间,消息只有在延时时间到达后才能被消费。这种机制在分布式系统中非常有用,常用于处理需要在指定时间后执行的任务&am…

企业应该如何准备 EcoVadis 审核?

企业准备 EcoVadis 审核可以参考以下步骤: 注册:在网上注册并提供公司的相关信息,包括法律实体名称、国家和地区、企业规模和行业等。如果是受客户邀请参加评估,需按照邀请邮件中的链接进行注册,并确保客户能随时获知评…

DLMS/COSEM中的信息安全:安全密钥(中)

2.公钥算法使用的密钥 2.1综述 非对称密钥(见表12)的分类依据: ——其目的:数字签名密钥或密钥协商密钥; ——其生存期:静态密钥或临时密钥。 2.2密钥对生成 为一组域参数(q,FR,a,b{,domain_parameter_seed},G,n,h)生成ECC密钥对d和Q。提供了用于生成ECC私钥d…

基于卷积神经网络ResUnet 多模态融合实验、BraTS 3d数据集(nii.gz)4模态融合分割

1、前言 之前介绍了unet对BraTS 3d数据集的2d图片分割,实现思路如下: 1、对BraTS 3d数据集进行切片,沿着某个模态的横断面切割 2、划分数据集、包括训练集、验证集等等 3、网络训练 4、评估模型性能等等 具体的可以参考本文:…

C语言问答进阶--6、函数(1)

A:现在我们将研究函数这个概念。 其实这个概念很简单,和中学的时候学的yf(x)来对照着看,对于一个参数x,会得到一个值y,就会发现它和C中的函数是一个道理。 只是C函数中可以包含不传入任何参数的函数。 A:函…

C#学习总结

文章目录 C# 介绍C#和.NET Framework对象定向统一型系统类和接口类型安全内存管理C#和CLR C# 封装C# 方法定义方法调用方法:参数传递:按值传递参数按引用传递参数 ref按输出传递参数 out 多返回值 C# 可空类型(Nullabl…

CentOS7.6 HAproxy-7层负载均衡集群——实施方案

目录 1、前期环境准备 1.准备4台主机 1. 设置主机名 2. 设置IP地址然后重启网卡 3. 关闭防火墙和selinux 4. 全部的服务器完成时间统一 二、配置haproxy(192.168.200.11)服务器 1. 安装haproxy 2. haproxy 配置中分成五部分内容 3. 配置HAproxy(192.168.2…