P450进阶款无人机室内定位功能研测

news/2024/7/5 2:22:56

在以往的Prometheus 450(P450)无人机上,我们搭载的是Intel Realsense T265定位模块,使用USB连接方式挂载到机载计算机allspark上,通过机载上SDK驱动T265运行并输出SLAM信息,以此来实现室内定位功能。

为进一步提升P450系列无人机室内定位的稳定性与可靠性,同时将定位精度控制在10cm以内,近期我们将进行多种方案研测,本期我们将用P450进阶款(即将推出)无人机搭载VIOBOT模块做进一步研测。

VIOBOT模块

图片

VIOBOT模块是基于双目相机和IMU等多传感器融合的VIO(视觉惯性里程计)组件系统。该组件集多传感器、视觉算法与算力平台于一体,视觉+IMU硬件时间同步,可实时输出点云、深度图、位姿等数据。

其主要优势包括

(1)系统将传感器/算力平台/算法合一,大大优化了感知规划系统架构;

(2)先进高效的视觉融合算法,实现良好的鲁棒性,兼具高精度感知;

(3)算法与硬件高度协同配合,使系统精简高效;

(4)MCU时间同步,实现毫秒级的超低时延;

(5)简单易用,无需繁琐的初始化调试,开机即可开始感知。

该模块通过网口与无人机进行数据交互,相比于USB接口,网口的稳定性更高,通过Mini Homer可以将VIOBOT与机载计算机进行同一局域网组网。

实验场景分为室内环境和地下停车库环境,接下来跟随阿木,一起来看下测试情况吧!

【P450进阶款开源无人机】室内新SLAM模块,更稳定更高效!

此次试验用到的设备

P450进阶款无人机:基于开源飞控PX4及机器人操作系统ROS打造,搭载不同的机载计算机,支持高低性能边缘计算能力;搭载不同定位设备,支持室内室外多种场景定位;机载计算机内置了开源自主无人机软件平台Prometheus,提供稳定可靠的控制SDK;Prometheus专业版地面站提供方便快捷的交互使用。

Allspark机载计算机:接口丰富、功能强大、预装Prometheus软件系统,支持二次开发。

SLAM模块VIOBOT:基于双目相机和IMU等多传感器融合的位姿VIO(视觉惯性里程计)组件系统。

Mini Homer图数传:小体积、远距离、功耗低、穿墙能力强,支持组网(1对8)和中继。

地面端:Mini Homer地面端及遥控器一体。

笔记本电脑:地面站监测无人机状态以及交互功能。

总体硬件设计

图片

图片

软件设计

图片

图片

图片

图片

实验结果分析

1、VIOBOT与飞行轨迹对比

轨迹基本重合,并且位置实时刷新频率也相对正常。

图片

2、悬停精度分析

下图是根据飞机飞行日志得到悬停的精度,从视频来看,悬停精度也相对不错。

图片

图片

总体来看,VIOBOT模组用在P450进阶款无人机上的表现还是不错的,达到了我们的预期。以往我们在P230无人机上已经做过 VINS-fusion的工程实现,Prometheus机载代码的复用性强,因此再切换到VIOBOT作为SLAM输入很方便,实际飞行效果也很稳定。后面我们也会多多使用VIOBOT在无人机上的应用,期待下次测评!


对于本期内容若大家有疑问,欢迎在文末评论区给我们留言~也鼓励大家积极讨论,与阿木一起探讨更多的实验挑战!


http://lihuaxi.xjx100.cn/news/1433800.html

相关文章

javaScript:分支语句的理解与使用(附带案例)

目录 前言 补充 另一种说法 分支语句 1.if语句 a.单分支语句 注意 b.双分支语句 注意点 c.多分支语句(分支语句的联级语句) 补充 2.三元运算符 三元运算符 ? : 使用场景 3.switch语句 解释 释义&#xff1a…

领克08,开创「芯」时代

中国汽车产业(自主品牌)的持续向上,正带动本土智能化核心供应链,尤其是关键算力芯片(SoC)的本土创新。 高工智能汽车研究院监测数据显示,今年1-6月中国市场(不含进出口)自…

MySQL实践——如何查看MySQL性能

系统变量 可以使用两种机制来管理和监控MySQL服务器的运行情况。使用服务器变量来控制其运行情况,并使用服务器状态变量读取其运行情况配置和关于功能和性能的统计信息。 服务器中有很多配置变量。有些变量只能在启动时设置(被称为启动选项,这些也可以…

Flutter BottomSheet 三段式拖拽

BottomSheetBehavior 追踪 BottomSheet系统默认实现效果准备要实现的功能点:定义三段式状态:BottomSheetBehavoir阀值定义1. 未达到滚动阀值,恢复状态2. 达到滚动阀值,更新状态 前面倒是有讲过Android原生的BottomSheetBehavior&a…

Linux设备树简介

一、起源 减少垃圾代码 减轻驱动开发工作量 驱动代码和设备信息分离 参考Open Fireware设计 用来记录硬件平台中各种硬件设备的属性信息 二、基本组成 两种源文件: xxxxx.dts dts是device tree source的缩写 xxxxx.dtsi dtsi是device tree source include的…

C++学习笔记总结练习:动态内存

动态内存 存在的问题:栈空间和堆空间的分配也是运行时内存分配,即动态内存分配。文字常量区、全局变量和静态变量区是在编译时内存分配,即静态内存分配。 栈空间的动态内存分配由操作系统管理。堆空间的动态内存分配由用户自身管理。二者可以…

c++ optional

std::optional 是在 C 17 中引入到标准库中的,C 17 之前的版本可以通过 boost::optional 实现几乎相同的功能。 适用场景 需要表示或处理一个“可能为空”的变量,可能是一个为包含任何元素的容器,可能是一个类型的指针没有指向任何有效的对…

SpringBoot 的自动装配特性

1. Spring Boot 的自动装配特性 Spring Boot 的自动装配(Auto-Configuration)是一种特性,它允许您在应用程序中使用默认配置来自动配置 Spring Framework 的各种功能和组件,从而减少了繁琐的配置工作。通过自动装配,您…