当前位置: 首页 > news >正文

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

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技术在中国的普及与应用。阿木实验室将继续致力于机器人技术的发展,为更多的学员提供学习与实践的机会。期待明年,我们能够在这一平台上再度相遇,共同见证中国机器人技术的成长与进步。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 深度学习四大框架之争(Tensorflow、Pytorch、Keras和Paddle)
  • 鸿蒙笔记--Socket
  • 数据结构(邓俊辉)学习笔记】词典 02—— 散列函数
  • 用python实现求两个整数的最大公约数
  • vue 开发工具 Hbuilder 简介及应用
  • Python教程(十二):面向对象高级编程详解
  • haproxy的安装和服务信息
  • 管好“黄金数据”,浪潮海岳助力企业释放主数据潜能
  • LVS集群中的负载均衡技术
  • springboot怎么使用Redisson
  • C#表达式编程指南: 执行表达式、解释表达式、生成表达式,翻译表达式的详解与示例
  • 【5G NAS】全球唯一临时标识符GUTI介绍
  • 准确率、召回率、f1指标计算的区别
  • MySQL:约束
  • 二十九、MongoDB(1)
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 2017年终总结、随想
  • conda常用的命令
  • HTTP请求重发
  • idea + plantuml 画流程图
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Redis 懒删除(lazy free)简史
  • 翻译--Thinking in React
  • 机器学习 vs. 深度学习
  • 计算机常识 - 收藏集 - 掘金
  • 漂亮刷新控件-iOS
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 如何优雅地使用 Sublime Text
  • 我与Jetbrains的这些年
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • 树莓派用上kodexplorer也能玩成私有网盘
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #Z0458. 树的中心2
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (1)STL算法之遍历容器
  • (2)nginx 安装、启停
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (7) cmake 编译C++程序(二)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (十) 初识 Docker file
  • (算法)Game
  • (一)认识微服务
  • (转)Linux下编译安装log4cxx
  • (转)创业的注意事项
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)
  • .NET框架
  • .NET连接MongoDB数据库实例教程
  • .project文件
  • [ JavaScript ] JSON方法
  • [ 云计算 | AWS ] 对比分析:Amazon SNS 与 SQS 消息服务的异同与选择
  • [20190416]完善shared latch测试脚本2.txt
  • [8481302]博弈论 斯坦福game theory stanford week 1