自动驾驶---两轮自行车的自主导航

1 背景

        无人驾驶汽车最早出现在DARPA的比赛中,从那个时刻开始,逐渐引起全球学者的注意,于是从上个世纪开始各大高校院所开始了无人汽车的研发。直到这两年,无人驾驶汽车才开始走进寻常百姓家,虽然目前市面上的乘用车还不是严格意义的上无人驾驶(只能算作L2级别),做到L4才是真正的无人驾驶。反而无人驾驶自行车因为应用场景很少,出现的更晚一些,本篇博客主要带领读者朋友们熟悉无人自行车的相关知识。

2 无人自行车发展

        无人自行车其实也是一种融合了多种先进技术,能够在无人工直接干预的情况下自主行驶、完成各种动作和任务的自行车。在功能上和汽车并无区别,只不过在动力形式上以及底盘上区别比较大,另一个比较大的区别就是应用市场,无人自行车应用场景很少,但汽车作为载人,载物的交通工具应用场景广泛。

2.1 发展历史

        无人自行车的发展源于人们对自动驾驶技术的探索以及对传统自行车功能的拓展和创新。早期,谷歌等科技巨头曾提出相关概念,但当时的技术还无法实现真正意义上的无人自行车。

  • 2016年谷歌曾设想研发 “无人驾驶自行车”,让坐在上边的人能一边骑车一边办公,不过其发布的视频中的画面是后期剪辑和特效制作的,并未真正实现。
  • 2019年,清华大学类脑计算研究中心施路平教授团队研制成功面向人工通用智能的新型类脑计算芯片 “天机芯”,并成功在无人自行车上进行了实验,实现了包括视觉检测、目标追踪、自动过障和避障、自适应姿态控制、语音理解控制、自主决策等功能在内的跨模态类脑信息处理。
  • 2020年,“稚晖君” 耗时 4 个月制成了一辆硬核无人驾驶自行车,不仅能在静止状态站立住,即使在单侧加上一块砖头,仍能保持平衡,还可以自动行进,自动避开障碍物,根据地形自己规划出一条路线。
  • 2024年3月份,雅迪冠能6代Q50在AW24中国国际时装周T台上惊艳亮相,以大开眼界的无人驾驶科技成为全场焦点。

2.2 关键技术与工作原理

  • 传感器:配备多种传感器来感知周围环境和自身状态,如摄像头可识别道路、行人与车辆等物体;惯性测量单元用于测量自行车的倾斜角、加速度等参数,以辅助保持平衡。
  • 控制系统:以先进的芯片或控制器为核心,如清华大学无人自行车中的 “天机芯”,对传感器收集到的大量数据进行快速处理和分析,并根据预设的算法和规则做出决策,向致动器发出指令,实现对自行车的转向、加速、减速、刹车等控制,以完成各种动作和应对不同的路况。
  • 自主导航:通过常用的导航算法完成全局规划,匹配对应的局部规划算法接收传感器信息,定位信息进行避障,完成相应的任务。
  • 平衡控制:通过传感器实时监测自行车的倾斜状态,控制系统根据倾斜角度和速度等信息,精确控制致动器调整自行车的姿态,保持平衡。

2.3 不同类型及特点

  • 实验研究型:如清华大学的无人自行车,主要用于科研实验,搭载了复杂的传感器和先进的计算芯片,具备强大的环境感知和信息处理能力,可进行多种类脑信息处理实验,为人工智能和机器人技术的研究提供重要的数据和实践基础。
  • 创意概念型:像 of my imagination 工作室设计的 Hop 无人自行车,外形独特,更像是一个大号的滑板车,没有座椅,人站在上面,车身配有触摸屏、储物空间等,最多可搭乘 4 人,设计上侧重于未来感和实用性的结合,适用于特定场景下的出行和运输需求。
  • 个人制作型:以 “稚晖君” 制作的无人自行车为代表,体现了个人的创新能力和技术实力,在平衡控制、自主导航等方面表现出色,其制作过程融合了软件开发设计、CAD 建模、电机控制等多种技术,展示发烧友在科技创新领域的探索精神和创造力。

3 无人自行车原理

        无人自行车主要包含两个关键技术:(1)保持平衡;(2)自主行驶。第一个技术类似“不倒翁”,在复杂路面下,如何保持两轮自行车的平衡是第一个难点。第二个难点是自主行驶,这一点就和无人驾驶汽车非常相似了。下面着重介绍第一个难点,第二个难点笔者会做简单的介绍。

3.1 平衡器

        当系统一个动力角动量发生变化的时候,就会将力矩传递给其他物体,上图中这辆自行车中间的无刷电机,驱动的就是一个金属的动量轮。

(1)原理介绍

  • 基本概念
    • 动量轮是一种能够储存和改变角动量的装置。角动量是描述物体绕轴转动状态的物理量,其大小等于转动惯量与角速度的乘积。在无人自行车平衡系统中,动量轮通过改变自身的角动量来对自行车整体的角动量产生影响,从而实现平衡。
  • 平衡原理
    • 抵消倾斜产生的角动量:当无人自行车发生倾斜时,就会产生一个绕倾斜轴的角动量。例如,当自行车向左倾斜时,会产生一个逆时针方向(假设从自行车后方往前看)的角动量。此时,动量轮可以通过快速旋转来产生一个与之相反的角动量。动量轮可以通过电机驱动在短时间内加速旋转,根据角动量守恒定律,系统(自行车和动量轮整体)的总角动量在没有外力矩的情况下是守恒的。所以,动量轮增加的顺时针角动量可以抵消自行车倾斜产生的逆时针角动量,使自行车恢复到平衡状态。
    • 产生扶正力矩:动量轮的高速旋转不仅能抵消角动量,还能产生一个扶正力矩。由于动量轮的转动轴与自行车的车身相连,当动量轮改变角动量时,根据牛顿第三定律,会对自行车车身产生一个反作用力矩。这个力矩可以促使自行车车身绕倾斜轴反向转动,从而使自行车回到垂直位置。例如,如果动量轮顺时针加速旋转,会对自行车产生一个逆时针方向的力矩,这个力矩就像有人在把倾斜的自行车扶正一样,使自行车恢复平衡。
  • 控制策略
    • 传感器反馈控制:需要精确的传感器来监测自行车的倾斜状态。惯性测量单元(IMU)可以测量自行车的倾斜角和角速度。控制系统根据这些传感器数据来确定动量轮需要的角动量变化量。例如,当倾斜角较大且角速度较快时,控制系统会命令动量轮以更大的加速度旋转,以产生足够的反向角动量和扶正力矩来纠正倾斜。
    • 与其他平衡方法协同:动量轮平衡方法通常可以与其他平衡技术相结合。例如,与驱动电机控制和转向控制相结合。在一些情况下,当动量轮开始纠正自行车倾斜时,驱动电机可以适当调整车速,转向电机可以微调车把角度,三者协同工作,更有效地保持自行车的平衡,以应对复杂的行驶情况和外界干扰。

(2)其它应用

  • 航天领域
    • 卫星等航天器姿态控制:动量轮是卫星姿控系统的关键执行部件。卫星在太空中需要精确保持特定的姿态,以确保其各种仪器设备能够正常工作、与地面通信顺畅以及准确地进行科学探测等。通过控制动量轮的转速和方向,改变其角动量,从而产生反作用力矩来稳定或调整卫星的姿态,可使卫星在旋转轴方向以及垂直于旋转轴的两个方向保持稳定,实现高精度的三轴稳定控制。
  • 航空领域
    • 飞机姿态稳定:在一些先进的飞机设计中,动量轮可用于辅助飞机的姿态控制系统,帮助飞机在飞行过程中更快速、精确地调整姿态,提高飞行的稳定性和安全性。尤其是在应对气流干扰、机动飞行等情况下,动量轮能够快速产生相应的力矩,增强飞机的姿态控制能力,减少飞行员的操作负担。
  • 机器人领域
    • 平衡控制:在一些特殊的机器人设计中,如单轮或双轮自平衡机器人、无人自行车等,动量轮被用于实现机器人的平衡控制。通过控制动量轮的转动来产生扶正力矩,抵消机器人倾斜时产生的角动量,使机器人能够在静止或运动状态下保持直立平衡,并且具备一定的抗干扰能力。

 3.2 自主系统

        自主系统或者自动驾驶系统目前也基本分为感知、定位,规控等几个模块。相关模块可参考笔者的系列博客《自动驾驶感知》《自动驾驶决策规划控制》,最近比较热门的《端到端》以及一些通识的自动驾驶相关技术《自动驾驶通识技术》。

(1)实时感知

        无人自行车可以实时感知周围环境,在跟随前方试验人员的同时自动进行避障操作。自行车上可安装比较常用的传感器主要就是摄像头和激光雷达。

(2)决策规划

        自行车场景目前研究的可能更多的是非结构化场景,因此规划算法更多的是采样比如RRT算法,以及图搜索算法A*。

(3)定位

        目前还是一些比较简单的非商用的GPS,可以用于定位精度不高的场景。

 

下面再补充清华大学无人自行车上的“天机芯”相关信息:

  • “天机芯”技术

    • 清华大学研究团队在自行车控制器内部装了一款名叫“天机”(Tianjic)的人工通用智能芯片,这款芯片是中国自主研制的,也是全球首款异构融合类脑芯片。
    • “天机芯”控制的无人自行车不只是一次成功实验,更是一种具有启迪意义的新平台、新思路。团队通过这辆类脑自动行驶自行车,建立了一个异构可扩展人工通用智能开发演示平台。
  • 成果

    • 搭载“天机芯”的无人智能自行车已经可以完成语音识别、目标锁定、障碍辨别和自主决策等功能。
    • 清华大学研制的这款无人驾驶自行车,因其背后的“天机芯”技术,登上了全球顶尖期刊《自然》杂志的封面,实现了中国在芯片和人工智能两大领域《自然》论文零的突破。

 

 

 

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

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

相关文章

L30.【LeetCode笔记】设计链表

1.题目 707. 设计链表 - 力扣(LeetCode) 你可以选择使用单链表或者双链表,设计并实现自己的链表。 单链表中的节点应该具备两个属性:val 和 next 。val 是当前节点的值,next 是指向下一个节点的指针/引用。 如果是双向…

25寒假算法刷题 | Day1 | LeetCode 240. 搜索二维矩阵 II,148. 排序链表

目录 240. 搜索二维矩阵 II题目描述题解 148. 排序链表题目描述题解 240. 搜索二维矩阵 II 点此跳转题目链接 题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到…

零基础学习书生.浦语大模型-入门岛

第一关:Linux基础知识 Cursor连接服务器 使用Remote - SSH插件即可 注:46561:服务器端口号 运行指令 python hello_world.py端口映射 ssh -p 46561 rootssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyCheckingno …

刷题汇总一览

文章目录 贪心动态规划数据结构 本题单设计力扣、牛客等多个刷题网站 贪心 贪心后悔 徒步旅行中的补给问题 LCP 30.魔塔游戏 题目使用到的思想解题分析徒步旅行中的补给问题每次我们都加入当前补给点的k个选择,同时进行升序排序,只保留前k个元素&#…

【LLM-agent】(task2)用llama-index搭建AI Agent

note LlamaIndex 实现 Agent 需要导入 ReActAgent 和 Function Tool,循环执行:推理、行动、观察、优化推理、重复进行。可以在 arize_phoenix 中看到 agent 的具体提示词,工具被装换成了提示词ReActAgent 使得业务自动向代码转换成为可能&am…

给AI加知识库

1、加载 Document Loader文档加载器 在 langchain_community. document_loaders 里有很多种文档加载器 from langchain_community. document_loaders import *** 1、纯文本加载器:TextLoader,纯文本(不包含任何粗体、下划线、字号格式&am…

浅谈《图解HTTP》

感悟 滑至尾页的那一刻,内心突兀的涌来一阵畅快的感觉。如果说从前对互联网只是懵懵懂懂,但此刻却觉得她是如此清晰而可爱的呈现在哪里。 介绍中说,《图解HTTP》适合作为第一本网络协议书。确实,它就像一座桥梁,连接…

【hot100】刷题记录(12)-回文链表

题目描述: 给你一个单链表的头节点 head ,请你判断该链表是否为 回文链表 。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:head [1,2,2,1] 输出:true示例 2: …

Deep Sleep 96小时:一场没有硝烟的科技保卫战

2025年1月28日凌晨3点,当大多数人还沉浸在梦乡时,一场没有硝烟的战争悄然打响。代号“Deep Sleep”的服务器突遭海量数据洪流冲击,警报声响彻机房,一场针对中国关键信息基础设施的网络攻击来势汹汹! 面对美国发起的这场…

自动化构建-make/Makefile 【Linux基础开发工具】

文章目录 一、背景二、Makefile编译过程三、变量四、变量赋值1、""是最普通的等号2、“:” 表示直接赋值3、“?” 表示如果该变量没有被赋值,4、""和写代码是一样的, 五、预定义变量六、函数**通配符** 七、伪目标 .PHONY八、其他常…

【Three.js+React】教程001:绘制简单的盒子

文章目录 React整合Three.js创建项目绘制一个简单的盒子添加坐标辅助器React整合Three.js 在 React 中结合 Three.js 进行 3D 开发,可以使用 React + Three.js + @react-three/fiber 进行高效渲染,同时配合 @react-three/drei 提供的封装工具,让开发更加简洁。 创建项目 …

K8S集群架构及主机准备

本次集群部署主机分布K8S集群主机配置主机静态IP设置主机名解析ipvs管理工具安装及模块加载主机系统升级主机间免密登录配置主机基础配置完后最好做个快照备份 2台负载均衡器 Haproxy高可用keepalived3台k8s master节点5台工作节点(至少2及以上)本次集群部署主机分布 K8S集群主…

SQL入门到精通 理论+实战 -- 在 MySQL 中学习SQL语言

目录 一、环境准备 1、MySQL 8.0 和 Navicat 下载安装 2、准备好的表和数据文件: 二、SQL语言简述 1、数据库基础概念 2、什么是SQL 3、SQL的分类 4、SQL通用语法 三、DDL(Data Definition Language):数据定义语言 1、操…

3.5.7 基于横盘结构的分析体系——缠论(背驰/背离)

背离(背驰) 本文讨论背离主要从量价和时空的角度来讨论。涉及的背离类型如下表: 角度 类型 成交量和价格 量价背离 时间和空间 MACD背离 笔背离 盘整背离 趋势背离 表1-9 背离的角度和类型。 从成交量和价格的角度,本文…

51c嵌入式~电路~合集25

我自己的原文哦~ https://blog.51cto.com/whaosoft/13241709 一、“开关电源”和“普通电源”的区别 什么叫开关电源 随着电力电子技术的发展和创新,使得开关电源技术也在不断地创新。目前,开关电源以小型、轻量和高效率的特点被广泛应用几乎所有的电…

深度学习 Pytorch 基础网络手动搭建与快速实现

为了方便后续练习的展开,我们尝试自己创建一个数据生成器,用于自主生成一些符合某些条件、具备某些特性的数据集。 导入相关的包 # 随机模块 import random# 绘图模块 import matplotlib as mpl import matplotlib.pyplot as plt# 导入numpy import nu…

【文件上传】

目录 一. 介绍二. 本地存储三. 阿里云OSS3.1 准备工作3.2 入门程序3.3 案例集成3.4 程序优化 \quad 一. 介绍 \quad 三要素缺一不可 \quad 二. 本地存储 \quad 解决相同命名覆盖问题 \quad 三. 阿里云OSS \quad \quad 3.1 准备工作 \quad \quad 3.2 入门程序 \quad \quad 3.3…

Deepseek-R1 和 OpenAI o1 这样的推理模型普遍存在“思考不足”的问题

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

Vue3的el-table-column下拉输入实时查询API数据选择的实现方法

由于本人对el-table-column有下拉输入选择的要求&#xff0c;根据网上搜索的资料及本人优化&#xff0c;推出我比较满意的方法&#xff0c;供各位读者参考使用。 效果图 el-table-column写法 <el-table-columnlabel"货品编号"align"center"prop"…

Electron使用WebAssembly实现CRC-8 MAXIM校验

Electron使用WebAssembly实现CRC-8 MAXIM校验 将C/C语言代码&#xff0c;经由WebAssembly编译为库函数&#xff0c;可以在JS语言环境进行调用。这里介绍在Electron工具环境使用WebAssembly调用CRC-8 MAXIM格式校验的方式。 CRC-8 MAXIM校验函数WebAssembly源文件 C语言实现C…