传统轮椅逆袭!RDK + 激光雷达如何重塑出行体验?

为满足特殊群体智能化出行需求,攻克传统轮椅技术短板,本项目研发了一款智能轮椅。该轮椅借助摄像头与激光雷达,精准感知环境、检测障碍物;融合激光 SLAM 技术和互联网地图,实现室内外无缝导航与自主避障;提供手柄、语音、手势、远程 APP 等多种交互方式,操作便捷。测试显示其在感知、导航、交互上表现出色,应用前景广阔。未来将从优化算法、丰富传感器、增强个性化体验等方向持续改进,提升产品竞争力——C.T.R.L.325.团队

一、方案论证与设计

(一)系统总体设计

系统聚焦多模控制与感知、室内外广域出行。室内利用 SLAM 算法建图,结合 IMU 和 AMCL 算法定位;室外依托拓扑地图与 RTK 实现定位及全局路径规划。激光雷达处理点云划分可行区域,摄像头感知路况,共同决策轮椅运动。人机交互提供手柄、手势、语音、上位机及远程 App 五种控制方式,远程 App 支持监护人实时监控。

系统采用分层开发模式,涵盖多模感知层、自主导航层、人机交互层、通信协议层和物理层。多模感知层通过摄像头、激光雷达等采集环境数据;自主导航层基于 SLAM 和路径规划算法实现自主避障;人机交互层提供多元操控方式;通信协议层保障数据传输;物理层负责驱动和动力控制。

(二)系统技术路线

(1)基于摄像头和激光雷达的多模感知技术

采用摄像头与三维激光雷达采集环境数据。激光雷达利用 PCL 库处理点云,识别可行驶区域;摄像头基于 YOLOv7 模型检测红绿灯、斑马线,实现轮椅自主调节。

(2)基于激光 SLAM 的室内自主导航技术

基于激光雷达的自主导航算法,搭配自适应蒙特卡罗定位(AMCL)实现定位。ROS 的 movebase 模块整合激光雷达、地图及定位数据,更新代价地图,规划路径并驱动轮椅运动。

(3)基于互联网地图的室外广域出行技术

通过百度地图 API 获取地图数据,结合 RTK 模块实现高精度定位。标注目标点获取路线后,利用 gps_goal 导航包与 move_base 协同,完成室外导航闭环。

(4)智能轮椅多模态人机交互技术

交互分为 “乘员 - 轮椅” 和 “监护人 - 轮椅” 两类。乘员可通过手柄、手势、语音控制轮椅,并查看状态;监护人能借助手机 App 远程监控与操控。

(三)软硬件平台搭建

(1)智能轮椅底层结构

采用两万向轮、两驱动轮底盘,前轮万向轮便于窄空间转向,后轮差速控制实现精准定位。自研底盘控制主板集成电源、电机驱动、STM32 控制等模块,保障底层稳定运行。

(2)智能轮椅终端设备组成

选用 RDK X3 部署 YOLOv7 模型,实现实时对象检测;采用 NVIDIA Jetson Orin NX 运行 ROS 系统,支持多传感器数据处理与控制指令生成。

(3)智能轮椅关键传感器介绍

选用速腾聚创 RSM1 三维激光雷达,基于 MEMS 技术生成高分辨率点云;配备索尼 IMX477 图像传感器的摄像头,支持低光环境高清成像;采用 DETA100R RTK 定位模块,融合 GNSS 与 INS 技术,提供厘米级定位与姿态数据 。

二、技术细节与原理

(一)基于 YOLOv7 的多场景识别技术

(1)构建数据集

采用网络爬虫与实地拍摄结合的方式,采集多城市、多环境条件下的交通图像。涵盖不同光照(日光、夜间等)、气象(晴、雨)条件,以及多种拍摄视角,获取行人过街信号灯、斑马线场景。经人工筛选,剔除低质量与重复图像,形成 PTL-C 数据集。通过分辨率统一、色彩校正和去噪预处理,将 1251 张图像按 8:2 划分为训练集与验证集。使用 LabelImg 工具标注,记录类别标签及归一化坐标信息于同名 txt 文件。

(2)YOLOv7 模型

鉴于轮椅环境感知的实时性需求,选用 YOLOv7 模型。其采用扩展高效层聚合网络(E-ELAN)提升学习能力,基于串联模型的缩放方法平衡性能,应用卷积重参化等技术提高检测精度。Backbone 采用 FEN 特征网络,Head 使用 FPN-PAN 网络融合特征,并调整网络深度和宽度参数,以适配轮椅计算资源。

(3)实际场景测试

对比原模型与改进后模型,改进版在行人、红绿灯和斑马线识别中,定位更精准,误检与漏检率降低,验证了优化方案的有效性。

(二)基于激光点云的路面可行驶区域检测算法

(1)地面点云分割

点云滤波

统计滤波器(SOR)基于统计学原理,通过定义邻域、计算平均距离与全局统计量,去除点云中噪声与孤立点,提升数据质量。

点云分割

RANSAC 算法以随机采样迭代拟合平面模型,计算点到平面距离筛选内点,重复优化直至满足条件,实现地面点云分割。

(2)可行驶区域检测

针对智能轮椅复杂行驶环境,在地面分割基础上,通过划分栅格投影点云、构建距离检测器、应用平滑滤波器,确定无障碍物可行驶区域。

(3)分层代价地图设计

分层代价地图包含静态地图层(存储固定障碍物)、障碍物层(更新动静态障碍)、可行驶区域层(标记安全区域)和膨胀层(保障避障安全距离),优化地图信息管理与路径规划。

(三)室内自主导航技术

(1)二维地图构建

采用 Gmapping 算法,通过粒子滤波实现同步定位与地图构建,经初始化、运动预测、测量更新、重采样和地图更新循环,生成高精度二维栅格地图。

(2)全局路径规划

A * 算法结合最佳优先搜索与 Dijkstra 算法,利用启发式函数评估路径,通过节点扩展、筛选与回溯,寻找起始点到目标点的最短路径。

(3)局部路径规划

动态窗口算法(DWA)依据速度限制采样,预测轨迹并评价择优,实现未知环境下实时避障的局部路径规划。

(4)自适应蒙特卡洛定位算法

AMCL 通过粒子滤波估计机器人位置,经初始化、预测、更新、重采样和位置估计,结合传感器数据动态调整粒子分布,获取精准定位。

(四)室外广域出行技术

(1)互联网地图 API

借助百度地图 API,结合 Qt 开发上位机,实现位置实时显示与地图导航功能,提供直观可视化界面。

(2)RTK 实时定位

采用 RTK 技术替代传统 GPS,通过网络模式接收差分定位数据,以千寻知寸服务为基准,将定位精度提升至厘米级。

(3)GPS_goal

利用 ROS 的 gps_goal 功能包,基于 RTK 定位信息,计算路径点距离并分解方向分量,驱动 move_base 结合 DWA 算法完成局部路径规划。

(五)人机交互技术

(1)手柄控制

霍尔手柄通过霍尔传感器感应角度变化,转换为电信号经处理后驱动轮椅执行前进、转向等动作。

(2)语音控制

采集音频,经预处理、特征提取与模板匹配,识别唤醒词及 “前进”“停止” 等指令控制轮椅。

(3)手势控制

ATK-PAJ7620 手势模块通过红外信号检测 9 种手势,经识别后输出结果控制轮椅运动。

(4)上位机控制

基于 QT 平台开发触屏上位机界面,跨平台显示传感器参数与轮椅状态,提供便捷操作体验。

(5)远程 APP 控制

采用 MJPEG-Streamer 实现视频传输,手机 APP 发送指令经云平台转发,控制轮椅电机驱动模块实现远程操控。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/81319.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go-中间件的使用

中间件介绍 Gin框架允许开发者在处理请求的过程中加入用户自己的钩子(Hook)函数这个钩子函数就是中间件,中间件适合处理一些公共的业务逻辑比如登录认证,权限校验,数据分页,记录日志,耗时统计 1.定义全局中间件 pac…

【Linux】动静态库链接原理

📝前言: 这篇文章我们来讲讲Linux——动静态库链接原理 🎬个人简介:努力学习ing 📋个人专栏:Linux 🎀CSDN主页 愚润求学 🌄其他专栏:C学习笔记,C语言入门基础…

第八节第三部分:认识枚举、枚举的作用和应用场景

认识枚举 枚举的概述 枚举的特点 枚举的应用场景 代码: 代码一:认识枚举 A(枚举) package com.d6_enum;public enum A {//注意:枚举类的第一行必须罗列的是枚举对象的名字X,Y,Z;private String name;public String…

Android framework 中间件开发(二)

上篇文章中我们讲述了怎么去开发中间件 Android framework 中间件开发(一) 这篇我们讲一下怎么打包中间件给外部应用使用 目录 1.新建项目 2.编写jar包代码 3.打包jar包 4.使用jar包 我们可以直接将系统编译出来的framework的jar包拿出来直接用,但是为了安全起见,防止用户调用…

FC7300 IO 无法正常输出高低电平问题排查

现象:Port、Dio配置正常的情况下,IO写或者翻转函数正常执行后,IO电平未按照预期切换电平。 排查: 第一步:检查PORTx_PCRy寄存器值: DWP: 域写保护:此字段指示允许哪个内核或 DMA 写…

7 个正则化算法完整总结

哈喽!我是我不是小upper~之前和大家聊过各类算法的优缺点,还有回归算法的总结,今天咱们来深入聊聊正则化算法!这可是解决机器学习里 “过拟合” 难题的关键技术 —— 想象一下,模型就像个死记硬背的学生&am…

如何有效的开展接口自动化测试?

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、简介 接口自动化测试是指使用自动化测试工具和脚本对软件系统中的接口进行测试的过程。其目的是在软件开发过程中,通过对接口的自动化测试来提高测…

我设计的一个安全的 web 系统用户密码管理流程

作为一名有多年经验的前端,在刚开始学习web后端的时候,就对如何设计一个安全的 web 系统用户密码管理流程有很多疑问。之前自己也实践过几种方法,但一直觉得不是十分安全。 我们知道,用户在注册或登录界面填写的密码是明文的&…

炼丹学习笔记3---ubuntu2004部署运行openpcdet记录

前言 环境 cuda 11.3 python 3.8 ubuntu2004 一、cuda环境检测 ylhy:~/code_ws/OpenPCDet/tools$ nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2021 NVIDIA Corporation Built on Sun_Mar_21_19:15:46_PDT_2021 Cuda compilation tools, release 11.3…

在 Linux 系统中过滤文件中的字符串

在 Linux 系统中过滤文件中的字符串,可以使用多种命令行工具实现。以下是几种常见方法及详细说明: 一、使用 grep 命令(最常用) grep 是 Linux 中最强大的文本搜索工具,支持正则表达式。 基础语法: grep…

基于PXIE 总线架构的Kintex UltraScale 系列FPGA 高性能数据预处理板卡

基于PXIE 总线架构的Kintex UltraScale 系列FPGA 高性能数据预处理板卡 一款基于3U PXIE 总线架构的高性能数据预处理FMC 载板,板卡具有1 个FMC(HPC)接口,1 个X8 GTH 背板互联接口,可以实现1 路PCIe x8。板卡采用Xili…

Java 使用 PDFBox 提取 PDF 文本并统计关键词出现次数(附Demo)

目录 前言1. 基本知识2. 在线URL2.1 英文2.2 混合 3. 实战 前言 爬虫神器,无代码爬取,就来:bright.cn Java基本知识: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD…

Vue百日学习计划Day16-18天详细计划-Gemini版

重要提示: 番茄时钟: 每个番茄钟为25分钟学习,之后休息5分钟。每完成4个番茄钟,进行一次15-30分钟的长休息。动手实践: DOM 操作和事件处理的理解高度依赖于实际编码。请务必在浏览器中创建 HTML 页面,并配…

SearchClassUtil

路径扫描工具SearchClassUtil,用于扫描指定包(XXXX)下的所有.class文件,并将它们的全限定类名(如tomcat.SearchClassUtil)收集到列表中返回。该工具使用递归文件遍历和反射机制,是实现 Spring 框…

云服务器的运用自如

云服务器的运用自如:从基础到高阶的实战指南(2025版) 云服务器作为数字化转型的核心工具,其灵活性和高效性已覆盖从个人开发者到企业级应用的广泛场景。以下是基于当前技术趋势的云服务器深度运用策略,涵盖核心应用、…

解密企业级大模型智能体Agentic AI 关键技术:MCP、A2A、Reasoning LLMs-docker MCP解析

解密企业级大模型智能体Agentic AI 关键技术:MCP、A2A、Reasoning LLMs-docker MCP解析 这里面有很重要的原因其中一个很其中一个原因是因为如果你使用docker的方式,你可以在虚拟环境下就类似于这个沙箱的这个机制可以进行隔离。这对于安全,…

快慢指针算法(Floyd 判圈算法)

快慢指针(又称龟兔赛跑算法)是一种常用的链表操作技巧,通过两个移动速度不同的指针遍历链表,用于解决链表中环检测、中点查找等问题。以下是其核心应用场景和实现方法: 1. 链表环检测 问题描述: 判断链表中…

独立开发者利用AI工具快速制作产品MVP

在当今快速发展的科技时代,独立开发者面临着前所未有的机遇与挑战。曾经需要花费数天甚至数周才能完成的产品MVP(Minimum Viable Product,最小可行性产品),如今借助强大的AI工具,可以在短短1小时内实现。 …

Spark处理过程-转换算子和行动算子

(一)RDD的处理过程 RDD经过一系列的“转换”操作,每一次转换都会产生不同的RDD,以供给下一次“转换”操作使 用,直到最后一个RDD经过“行动”操作才会真正被计算处理。 1.延迟。RDD中所有的转换都是延迟的&…

设置环境变量启动jar报

1. 环境变量设置 set PATHC:\Program Files\java17\jdk-17.0.9\bin;%PATH%2. 启动jar java -jar jar包名3. 记录原因 PATH路径前添加java执行文件路径才会管用。添加后可以试试以下命令 直接输入PATH 回车 PATH进行java版本测试 java -version