工程实践:如何使用SU17无人机来实现室内巡检任务
阿木实验室最近发布了科研开发者版本的无人机SU17,该无人机上集成了四目视觉,三维激光雷达,云台吊舱,高算力的机载计算机,是一个非常合适的平台用于室内外巡检场景。同时阿木实验室维护了多个和无人机相关的开源项目。比如路径规划相关的Prometheus,比如视觉感知的SpireCV。下面的文章分享就介绍如何用SU17无人机硬件平台,和众多开源项目来实现一个无人机室内巡检的应用案例。


室内巡检的无人机应用一直面临着关键挑战,尤其。是定位精度、飞行稳定性和空间适应性等问题,这些因素限制了传统无人机在复杂室内环境中的有效应用。阿木SU17无人机通过配备四目VIO定位和激光雷达SLAM,结合激光雷达避障技术,成功突破了这些技术瓶颈。它有效解决了室内巡检飞行中的建图、定位、路径规划和避障问题,确保了在狭小空间中的高效飞行与任务执行。相比其他行业无人机,阿木SU17不仅在稳定性上表现出色,还提供了卓越的开放性。作为一款专为开发者和行业用户设计的高集成度四旋翼无人机,SU17支持灵活的二次开发接口,允许根据行业需求进行定制化开发。无论是在硬件还是软件上,SU17的开放性都赋予了它强大的扩展能力,使其能够适应各种复杂的巡检场景,提供量身定制的解决方案,极大提升室内巡检的效率和稳定性。
室内巡检需要解决的关键问题点
**室内定位:**与户外环境相比,室内巡检面临更为严峻的挑战:室内环境无法依赖GPS进行定位。室内要用多种传感器进行融合定位,比如IMU,视觉,激光等。**复杂的障碍物避让:**室内环境通常包含多个障碍物,要求无人机具备强大的避障能力,能够实时感知环境并对飞行路径进行即时调整,以确保安全飞行。**室内地图交互:**在室外我们可以用百度/高德地图进行交互规划航点。但是一般室内没有地图。如何给无人机规划任务航点,让无人机飞到指定地点是一个需要解决的问题。**无人机物理碰撞防护:**室内空间比较狭小,无人机的告诉运转的桨叶非常容易打到墙壁等,需要合适的轻量化的防护装置来确保,即便有轻微碰撞也不至于导致飞行异常。**无人机自动起降:**室内巡检核心诉求是不用人工去巡检,需要规定的时间自动起降,并且完成自动充电,自动完成巡检任务。
阿木SU17无人机:解决室内巡检难题
阿木SU17无人机为室内巡检提供了全面的技术支持,特别是在定位、避障和任务执行方面,凭借其高效的硬件与智能算法,在复杂的室内环境中展现出卓越的表现。
阿木SU17无人机项目无人巡检案例分享
1. 解决室内定位问题
在这个项目中,SU17无人机依赖三维激光雷达技术来进行精准的定位与建图。通过激光SLAM(Simultaneous Localization and Mapping)算法,SU17能够实时扫描周围环境并生成精确的栅格地图。即使在没有GPS信号的室内环境中,三维激光雷达依然能够确保无人机的稳定飞行和准确定位。激光雷达系统通过扫描室内环境的三维结构,能够对障碍物进行实时感知,为无人机的路径规划与避障提供了坚实的基础。这种技术在复杂环境中的表现非常优秀,尤其是在狭小空间和多障碍物的环境下。三维激光雷达SLAM采用FAST-LIO算法,这个算法在三维激光SLAM表现十分优秀,但是在一些玻璃,环境中几何特征不明显的情况也会发散。后续的方向还是做视觉和激光,IMU,GPS融合为发展趋势,互相补充,提高场景的适应性。我们阿木实验室推出BSA-SLAM算法库,目前正在推进视觉和GPS的融合,预计2025年中,推出激光和视觉,GPS融合的版本,进一步提升系统鲁棒性。
2. 实时避障与动态路径规划
在飞行过程中,SU17的三维激光雷达会实时感知周围环境,自动识别并避开障碍物。通过激光SLAM算法,无人机能够根据环境变化动态调整飞行路径,确保任务顺利执行,避免任何潜在的碰撞风险。也可以采用四目摄像头给出的视觉深度图来构建地图进行避障和路径规划。避障算法采用的是ego-swarm。该避障算法,具有比较好的动态避障性能,在飞行航线上出现移动障碍物也可以很好的避障。该算法已经集成在我们开源Prometheus运动规划项目中,大家可以运行仿真。
**项目地址:**https://gitee.com/amovlab/Prometheus
3. 数字孪生地图与航点规划
为了优化室内巡检的飞行任务,我们在地面站中导入STL格式的数字孪生地图。用户可以根据该地图进行航点规划,设定飞行路径并自动调整飞行任务。在实际飞行前,用户通过地面站可以直观地看到整个环境的三维建模,并在此基础上规划任务路线。数字孪生地图的构建,有很多方式,最理想是无人机边飞行边构建,飞行过的场景可以自动构建出地图。还有一种方式是提前采集数据,激光雷达数据和,RGB数据,做后处理融合。目前视频里面展现的是提前构建的STL格式三维地图。这种方式并没有用飞机自带的激光雷达和摄像头数据。
4. 拍摄任务执行
完成飞行路径规划后,SU17无人机会按照预定任务执行一系列操作,如拍照、拍视频或环境监测等。每个任务点设定的停留时间可以根据需要灵活调整,确保采集到高质量的数据。通过精准的路径规划与高效的任务执行,SU17能够确保每次巡检任务都能精准完成,主要通过SU17这个硬件平台的ASDK接口,可以调用机身上任何传感器的数据,比如调用摄像头云台视频流数据,和控制云台切换的角度。
5. 视觉识别和视觉引导降落
当巡检任务完成后,SU17无人机会自动返回起始点,并利用图像精准引导降落算法,在指定位置进行降落。如果配备了无线充电模块,SU17还能够自动进行充电,进一步提高续航能力,准备进行下一次巡检任务。视觉引导相关的功能依靠我们开源Spirecv算法库实现。
**项目地址:**https://gitee.com/amovlab/SpireCV
有了如上的软件框架支撑,在配合SU17的硬件可扩展和可开发的特性,就可以在很短时间搭建起一套室内巡检的解决方案。开发流程如图所示:

SU17作为硬件平台,采用我们提供的运动规划框架,建图和定位框架,视觉识别框架。可以很方便实现无人机的避障,追踪,巡检等应用开发。
开放性与可开发性
与市场上大多数室内巡检机器人不同,阿木SU17无人机的最大特点之一就是其强大的开放性。SU17并不是一个封闭的系统,而是一个高度集成且开放的无人机开发平台,专为无人机开发者和行业用户设计,能够进行深度二次开发。
**硬件与软件平台的开放性:**SU17集成了最新的硬件设备,包括支持四目SLAM、RTK、三维激光雷达、光流定高传感器等传感器,且所有硬件设备均可根据需求进行自定义扩展。同时,SU17配备了自研的飞控系统和高算力机载计算机,能够满足不同应用场景的开发需求。**二次开发支持:**阿木为用户提供了完整的二次开发工具包。通过ASDK-G(地面站应用开发接口)和ASDK-D(无人机机体数据读取接口),用户可以根据具体需求开发自定义功能,例如云台控制、视频推流、IMU数据采集、航线规划等功能,充分满足各种行业和科研的特殊需求。

专业的地面站系统: SU17配备了专业版本的地面站系统,支持基于跨平台的QT编写,用户可以获得二次开发授权,开发出适合自己行业和功能的定制地面站系统。这一开放性设计使得SU17能够灵活适应不同的应用场景,从科研到工业应用都能提供解决方案。
未来展望:视觉SLAM与激光SLAM的融合定位
虽然当前的项目展示中,SU17依赖的是三维激光雷达进行定位,但我们正在积极研发视觉SLAM与激光SLAM的融合定位系统。这一新技术将进一步提升SU17在室内巡检中的表现,尤其在视觉数据与激光雷达数据的互补融合下,无人机将能够更精确地进行定位和避障。结合视觉SLAM和激光SLAM技术,SU17未来将能够在更多动态、复杂的环境中进行更高效的导航与任务执行。这一技术的完善,将为室内巡检应用场景开辟更广阔的前景。
总结
无论是在工厂、仓库,还是其他复杂的室内环境中,阿木SU17都能稳定、高效地完成任务,为室内巡检提供了强大的技术支持。开放的硬件平台与二次开发接口,让SU17不仅是一个无人机系统,更是一个可定制、可扩展的开发平台。我们期待在未来与您一起开拓更多智能巡检的应用场景,助力您的工作更高效、更智能。
解决方案咨询
如果对阿木SU17无人机和相关的室内巡检方案感兴趣,请与我们联系:

相关文章:
工程实践:如何使用SU17无人机来实现室内巡检任务
阿木实验室最近发布了科研开发者版本的无人机SU17,该无人机上集成了四目视觉,三维激光雷达,云台吊舱,高算力的机载计算机,是一个非常合适的平台用于室内外巡检场景。同时阿木实验室维护了多个和无人机相关的开源项目。…...
时序优化学习笔记
0.代码对应的底层调用 if-else的判定条件需要LUT实现,累加器的进位需要靠CARRY实现。 1.逻辑级数的概念 简单来讲就是组合逻辑串联的个数 逻辑级数查询命令 report_design_analysis -logic_level_distribution -logic_level_dist_paths 5000 -name design_analy…...
OSPF-3 1类LSA Router LSA
前面两期我们介绍了OSPF的邻居与邻接建立的关系及失败因素和原因 这章我们来说说OSPF是如何通过不同的LSA去描述拓扑的信息以及路由信息 一、概述 OSPF通过不同的LSA来构成LSDB链路状态数据库,再通过SPF算法来计算出最优的最短路径 二、LSA的分类 类型名称描述传播范围1类…...
纳米压印技术制备AR眼镜的参考步骤
纳米压印技术(Nanoimprint Lithography, NIL)在 AR(增强现实)眼镜中的应用主要集中在光学元件的制造上,例如衍射光栅、波导和微透镜阵列等。以下是使用纳米压印技术制备 AR 眼镜光学元件的详细步骤: 1. 设…...
FX-std::list
std::list 是 C 标准库中的一个双向链表容器,定义在 <list> 头文件中。它支持在任意位置高效地插入和删除元素,但不支持随机访问。以下是 std::list 的基本用法和一些常见操作: 1. 包含头文件 #include <list> 2. 定义和初始化…...
【清华大学第七版】DeepSeek赋能家庭教育的实操案例(批改作文+辅助语文/数学/科学学习+制定学习计划)
我用夸克网盘分享了「DeepSeek完整资料合集」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。 链接:https://pan.quark.cn/s/621259e4af15 近日,清华大学发布了《…...
HCIA-ACL实验
前提条件:实现底层互通 转发层面 1、基本ACL ①要求PC3不能访问网段192.168.2.0的网段,PC4和客户端能正常访问服务器 ②AR2配置 acl 2000 rule deny source 192.168.1.1 0 匹配流量 int g 0/0/0 traffic-filter inbound acl 2000 接口调用…...
【Gee】项目总结:模仿 GIN 实现简单的 Golang Web 框架
文章目录 Gee 项目回顾Gee 项目总结Golang 已经具备基础的 web 功能,为什么还需要 web 框架?作为 web 框架,Gee 框架完成了哪些功能?如何用 Gee 来构建 web 项目? Gee 项目回顾 上个月月末我按照 Geektutu 的教程&…...
DeepLabv3+改进10:在主干网络中添加LSKBlock|动态调整其大型空间感受野,助力小目标识别
🔥【DeepLabv3+改进专栏!探索语义分割新高度】 🌟 你是否在为图像分割的精度与效率发愁? 📢 本专栏重磅推出: ✅ 独家改进策略:融合注意力机制、轻量化设计与多尺度优化 ✅ 即插即用模块:ASPP+升级、解码器 PS:订阅专栏提供完整代码 目录 论文简介 步骤一 步骤二…...
词向量:优维大模型语义理解的深度引擎
★ 放闸溯源 优维大模型「骨架级」技术干货 第二篇 ⇓ 词向量是Transformer突破传统NLP技术瓶颈的核心,它通过稠密向量空间映射,将离散符号转化为连续语义表示。优维大模型基于词向量技术,构建了运维领域的“语义地图”,实现从…...
编译原理:语法分析程序【附源码和超详细注释】
目录 一 、实验目的 二 、实验内容及步骤 三、程序分析 1. 需求分析 2. 功能分析 1. LL(1)文法功能分析 2. 算符优先文法功能分析 3. 信创分析-主要针对能力提升中国产操作系统上开发内容。 四、源代码 1. LL(1)文法代码 2. 算符优先文法 五、测试结果 1. LL(1)文…...
Go vs Rust vs C++ vs Python vs Java:谁主后端沉浮
一、核心性能对比(基于TechEmpower基准测试) 语言单核QPS延迟(ms)内存消耗适用场景Rust650,0000.1245MB高频交易/区块链C++720,0000.0932MB游戏服务器/实时渲染Go230,0000.45110MB微服务/API网关Java180,0001.2450MB企业ERP/银行系统Python12,0008.5220MBAI接口/快速原型技术…...
使用Flask和OpenCV 实现树莓派与客户端的视频流传输与显示
使用 Python 和 OpenCV 实现树莓派与客户端的视频流传输与显示 在计算机视觉和物联网领域,经常需要将树莓派作为视频流服务器,通过网络将摄像头画面传输到客户端进行处理和显示。本文将详细介绍如何利用picamera2库、Flask 框架以及 OpenCV 库ÿ…...
fs的proxy_media模式失效
概述 freeswitch是一款简单好用的VOIP开源软交换平台。 在fs的使用过程中,某些场景只需要对rtp媒体做透传,又不需要任何处理。 在fs1.6的版本中,我们可以使用proxy_media来代理媒体的转发,媒体的协商由AB路端对端处理ÿ…...
Linux 命名管道
文章目录 🚀 深入理解命名管道(FIFO)及其C实现一、命名管道核心特性1.1 🧩 基本概念 二、💻 代码实现解析2.1 📁 公共头文件(common.hpp)2.2 🖥️ 服务器端(s…...
HDU 学数数导致的
题目解析 首先,数对是有序的,<1,2>和<2,1>被视为不同的两组数字。 其次,数对<p,q>的p和q可以相等。 子序列为 p 0 p q,观察到,中间要出现一个0。那么,我们只需要找到第一个 p 满足与前…...
pjsip pjsua_media_config 结构体说明
clock_rate 描述:设置会议桥(conference bridge)的时钟频率(采样率)。 默认值:0(使用默认值 PJSUA_DEFAULT_CLOCK_RATE,通常为 16kHz)。 作用:影响音频的采样率,常见值有 8000(8kHz)、16000(16kHz)、48000(48kHz)等。snd_clock_rate 描述:设置音频设备的时钟…...
软件/硬件I2C读写MPU6050
MPU6050简介 6轴:3轴加速度,3轴角速度 9轴:3轴加速度,3轴角速度和3轴磁场强度 10轴:3轴加速度,3轴角速度和3轴磁场强度和一个气压强度 加速度计具有静态稳定性,不具有动态稳定性 欧拉角&…...
c++ union使用笔记
c union使用笔记 一、联合的简单使用二、联合与枚举结合三、匿名联合(Anonymous Union)四、关键注意事项五、C17 扩展:std::variant C联合(union)是一种特殊的数据结构,允许在相同内存位置存储不同的数据类…...
Android中的Wifi框架系列
Android wifi框架图 Android WIFI系统引入了wpa_supplicant,它的整个WIFI系统以wpa_supplicant为核心来定义上层接口和下层驱动接口。 Android WIFI主要分为六大层,分别是WiFi Settings层,Wifi Framework层,Wifi JNI 层ÿ…...
react(一):特点-基本使用-JSX语法
初识React React是一个用于构建用户界面的 JavaScript 库,由 Facebook 开发和维护。 官网文档:React 官方中文文档 特点 1.声明式编程 2.组件化开发 3.多平台适配 开发依赖 开发React必须依赖三个库: 1.react:包含react所必…...
【Go】无法访问 proxy.golang.org 进行依赖下载
golang.org/x/net/context: golang.org/x/netv0.37.0: Get "https://proxy.golang.org/golang.org/x/net/v/v0.37.0.zip": dial tcp 142.251.215.241:443: connect: connection refused解决方案: 使用国内的 Go 代理,如 goproxy.cn 或 gopro…...
鸿蒙 @ohos.arkui.observer (无感监听)
鸿蒙 ohos.arkui.observer (无感监听) 在鸿蒙开发中,ohos.arkui.observer 模块提供了一种强大的无感监听机制,允许开发者监听组件的状态变化、滚动事件、页面切换等事件。这些功能对于实现复杂的交互逻辑和优化性能非常有帮助。本文将详细介绍 ohos.ark…...
一键爬取b站视频
同学们。废话不多说, b站视频素材多, 二次加工就归你, 三话不说爬起来, 犯法违纪咱不干 代码 import json import requests from bs4 import BeautifulSoup import re# 目标网址bvnane"BV1hUQEYCEyY" pp("0&q…...
【含文档+PPT+源码】基于Python的图书管理系统的设计与实现
项目介绍 本课程演示的是一款基于Python的图书管理系统的设计与实现,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 包含:项目源码、项目文档、数据库脚本、软件工具等所有资料 带你从零开始部署运行本套系统 该项目附…...
开源工具利器:Mermaid助力知识图谱可视化与分享
在现代 web 开发中,可视化工具对于展示流程、结构和数据关系至关重要。Mermaid 是一款强大的 JavaScript 工具,它使用基于 Markdown 的语法来呈现可定制的图表、图表和可视化。对于展示流程、结构和数据关系至关重要。通过简单的文本描述,你可…...
Mysql的utf8mb4_general_ci 与 utf8mb4_bin 的具体区别是什么?中文适合哪个?
1. utf8mb4_general_ci vs utf8mb4_bin 的具体区别 utf8mb4_general_ci 和 utf8mb4_bin 都是 utf8mb4 编码的排序规则(collation),它们主要在 排序(ORDER BY) 和 比较(WHERE) 时的行为不同&…...
茂捷M1001电感式编码器芯片TSSOP28管脚,国产电感式编码器IC
简述: M1001 电感式编码器芯片是一款专为高精度位置检测而设计的芯片产品,采用先进的电感技术,能够精确测量旋转物体的位置和角度。芯片具有 SIN/COS、模拟、PWM、SENT、SPI、I2C等多种角度输出功能,具有高分辨率、宽工作温度范围…...
LeetCode-跳跃游戏 II
方法一:反向查找出发位置 我们的目标是到达数组的最后一个位置,因此我们可以考虑最后一步跳跃前所在的位置,该位置通过跳跃能够到达最后一个位置。 如果有多个位置通过跳跃都能够到达最后一个位置,那么我们应该如何进行选择呢&a…...
【后端】【django】Django DRF `@action` 详解:自定义 ViewSet 方法
Django DRF action 详解:自定义 ViewSet 方法 在 Django REST Framework(DRF)中,action 装饰器用于为 ViewSet 添加自定义的 API 端点。相比于 update、create 等默认方法,action 允许我们定义 更加清晰、语义化 的 A…...
