【趣味随笔】移动机器人基础(导航方式、自主导航、硬件系统结构分布)

news2024/11/19 10:34:20

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处

文章目录

  • 一、移动机器人导航方式
    • 1.1 人工标引的有轨导航
    • 1.2 人工标识引导的无轨导航
    • 1.3 无人工标识引导的无轨导航
  • 二、视觉导航原理
    • 2.1 建图
    • 2.2 路径规划
    • 2.3 导航重定位
  • 三、机器人硬件系统结构分布
    • 3.1 电源模块
    • 3.2 ROS主机
    • 3.3 运动控制核心
    • 3.4 无线WiFi模块
    • 3.5 电机与驱动模块
    • 3.6 系统上下位机的通信设计


一、移动机器人导航方式

1.1 人工标引的有轨导航

导航规划类型1:通过人工标引的有轨导航,称为AGV。
优点:技术成熟、稳定可靠、价格优惠。
缺点:需要施工和维护、路线固定无法灵活调整。
在这里插入图片描述

1.2 人工标识引导的无轨导航

导航规划类型2:有人工标识引导的无轨导航,激光反射板导航。
优点:技术成熟、路径可调;
缺点:需要维护和施工、价格昂贵。

1.3 无人工标识引导的无轨导航

导航规划类型3:无人工标识引导的无轨导航,
优点:无需施工、路径可调、精确定位、室内外通用;
缺点:算法复杂,环境变化影响定位可靠性和稳定性。
以扫地机器人为例,分为视觉导航和激光导航。

二、视觉导航原理

📢:室外场景下,机器人视觉导航负责的工作:
1.定位:基于环境理解的全局定位。通过对环境中景物的理解,识别人造或是自然的路标,完成机器人的定位。
2.路径规划:包括对自然环境中道路的理解和可行通道方向的判别。
3.物体识别:包括对路面上障碍物的检测和对特定目标的识别。
案例:无人驾驶汽车(例如特斯拉)是如何通过纯视觉进行导航的?特斯拉视觉导航,大多数车企是通过多个传感器共同感知环境进行导航的。

📢:室内场景下,机器人视觉导航负责的工作:
1.目标跟踪导航
2.路径跟踪导航
3.基于平行线的视觉导航
4.视觉罗盘

实现自主导航的步骤

2.1 建图

1、建图:百度地图、谷歌地图 ,已经帮我们做好了。这部分关于地图是如何构建的?专业的测绘车在道路上行驶,采集原始的图像信息和激光数据以及部分静态控制点信息。将数据通过物理手段传递给云端后,进入生产环节,具体参考

2.2 路径规划

2、路径规划:跟建图一样,地图软件已经帮我们制定好了从出发点到终点的行驶轨迹,但是实时避障(局部路径规划)还是需要依靠汽车自己

2.3 导航重定位

3、导航重定位:机器人在全局地图中的位置,GPS已经帮我们做好了。因此想要实现汽车的无人驾驶(室外移动机器人的自主导航)。
那么还缺什么呢?通过视觉算法实现:
1.避障(障碍物检测+测距)
2.识别交通信号灯
3.车道线识别
实现室外场景下农业机器人自主导航的步骤

三、机器人硬件系统结构分布

在这里插入图片描述

3.1 电源模块

智能移动机器人要实现移动,电源模块是其实现运动的能量来源,由于线缆供电的供电方式对于移动机器人有很多限制,故选用移动电池模组为系统供电。目前市场上用于移动机器人等运动平台的常用电池类型有:铅酸电池、锂电池及其他化学成分的电池。
推荐使用磷酸铁锂电池,该型电池不仅保证了电池的安全高效,而且使用寿命更长、绿色环保。
在这里插入图片描述

3.2 ROS主机

ROS主机选用成本低且性能优异的卡片计算机RaspberryPi,该模块体积小巧,容易嵌入系统,其系统主要是基于Linux系统,但随着Windows 10 IoT的发布,RaspberryPi已经可以运行Windows系统,考虑到Linux系统的开源性以及目前Windows开发ROS的诸多局限性,本设计ROS主机仍选用在Linux系统下进行开发。如图所示为RaspberryPi 3B的实物及主要功能接口。在这里插入图片描述

3.3 运动控制核心

机器人运动控制核心在机器人整个控制系统中起着至关重要的作用,通过分析比较,常用的是意法半导体公司(ST)的32位微控制器。

通信电路设计RS232通信电路数据的传输一般有并行和串行两种方式,由于串行接口的诸多优点,在很多领域得到应用,常用串行接口总线包括:RS232、RS422、RS485、USB,串行通信又可以分为同步通信和异步通信两种类型,异步通信又分为单工、半双工、全双工。同步通信与异步通信最大的区别就是:在数据的传输过程中同步通信要在同步时钟下传输而且数据之间不允许有间隙,而异步通信却无此限制,所以异步通信在字符发送开始和结束时都设置了一个标志位,以便接收端能够正确地将每一个字符接收下来。
RS232协议就一种串行异步全双工通信方式,下图就是异步通信原理示意图。
在这里插入图片描述

3.4 无线WiFi模块

在机器人控制系统中使用较广泛的近距离无线通信技术有WiFi、Mesh、蓝牙、ZigBee、Thread、Z—Wave、NFC、UWB、LiFi等,而随着通信业的发展,其中无线WiFi模块凭借低廉的成本、稳定的工作性能、快速的数据传输,使其进入各个行业,尤其在智能家居和智能机器人等终端产品通信技术中的使用最为广泛。无线WiFi模块直接与STM32通过RS232连接进行通信,主要负责非智能导航状态下的人工远程控制,并能建立一定范围的无线局域网。
核心板具体型号为联发科(MTK)MT7628 SOC芯片,该芯片系统采用Openwrt‘(Linux)系统,实物图如图。在这里插入图片描述

3.5 电机与驱动模块

驱动电机是机器人运动的动力来源,机器人的控制实际上可以归结为对电机的控制,而针对不同的电机其控制方法各不相同,同种电机也会有不同的控制模式,所以电机的控制首先需要确定其就控制方法。

3.6 系统上下位机的通信设计

系统上下位机的通信方式如图所示,STM32下位机嵌入式系统与ROS主机Raspberry Pi 3B之间通过串口方式进行通信。
在这里插入图片描述
基于无线WiFi的多机分布式通信目的是通过PC端远程访问ROS主机,在一台PC上同时对多个Linux终端进行操作,通过SSH通信即可实现ROS主从机之间的文件互传、远程其他操作。
SSH通信程序分为有客户端程序openssh.client和服务端程序openssh—server。
同时为ROS主从机安装SSH服务,并且开启服务,终端执行命令如下:

$sudo apt—get install openssh-server
$sudops—e Igrep ssh

修改hosts文件,将ROS主从机hostname(主机名)和当前网段下的口地址
添加进该文件,保存退出。修改hosts文件终端执行的命令如下:

$sudo gedit/etc/hosts

编辑bashrc文件,设置ROS-MASTER.URI,终端执行的命令如下:

$gedit.bashrc

ROS主机添加如图所示的代码:

在这里插入图片描述
ROS从机添加如下图所示的代码,其中口为当前网段的地址,rosmater只运行于ROS主机。
在这里插入图片描述

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

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

相关文章

动画制作软件 Animate 2024 mac中文版介绍说明(an2024) v24.0

Animate 2024 mac是一款动画制作软件,它能帮助用户轻松制作出各种精美的动画作品。 Animate 2024拥有强大而直观的设计工作流程,能够让用户自由地构建动画场景、绘制精美的图形,并轻松添加动态效果。无论是传统手绘风格还是骨骼动画&#xff…

电路综合原理与实践---单双端口理想微带线(伪)手算S参数与时域波形

电路综合原理与实践—单双端口理想微带线(伪)手算S参数与时域波形与时域波形 1、单理想微带线(UE)的S参数理论推导 参考:Design of Ultra Wideband Power Transfer Networks的第四章,之后总结推导过程 2…

华为eNSP配置专题-RIP路由协议的配置

文章目录 华为eNSP配置专题-RIP路由协议的配置0、概要介绍1、前置环境1.1、宿主机1.2、eNSP模拟器 2、基本环境搭建2.1、终端构成和连接2.2、终端的基本配置 3、RIP路由的配置3.1、RIP路由的配置3.2、RIP路由的删除 华为eNSP配置专题-RIP路由协议的配置 0、概要介绍 路由信息…

2023年淘宝双十一预售红包入口介绍

2023年淘宝双十一预售红包入口介绍 近两年,淘宝双十一推出了预售玩法会场。在会场中,大家可以做预售任务,领取现金红包,让购物变得更省。那么,2023年淘宝双十一预售红包入口在哪里?下面小编就给大家介绍下&#xff0c…

SSM框架集成

文章目录 SSM1 介绍2 集成步骤目录结构配置 web.xml配置 jdbc.properties配置 SqlMapConfig.xml配置 applicationContext-dao.xml配置 applicationContext-service.xml配置 log4j.properties编写解决中文乱码的过滤器编写实体类编写 ItemsMapper 接口编写映射 ItemsMapper.xml编…

Power BI实现实时动态和用户输入的数据交互

背景:Power BI一般作为一个展示和分析数据的平台存在,即使是我们用Direct Query的mode也是受制于连接的数据库的表刷新,不能实现实时动态数据变化展示。 解决思路:当Power Apps里面输入了新的数据时,数据会写入到data…

[SWPUCTF 2023 秋季新生赛]——Web方向 详细Writeup

Web colorful_snake 来玩贪吃蛇~ F12查看源代码&#xff0c;可以看到this_is_real_flag函数&#xff0c;发现是unicode编码 利用网站转换得到flag 一键连接! 连连need <?php highlight_file(__FILE__); error_reporting(0); $md5_1 $_GET[md5_1]; $md5_2 $_GET[md5_2]; …

python实现客户成套订单配送策略混合遗传算法编码

以如下的论文文献为学习对象&#xff1a;2008年发表在《控制工程》的文献《客户成套订单配送策略混合遗传算法研究》 文献研究的学术意义 本文研究的目的是寻求在车队车辆数有限情况下 &#xff0c;如何合理安排每天的车辆 &#xff0c;使得总成本最小的方案。另外&#xff0…

Qt使用QListWidget实现自定义Item效果

Q&#xff1a;如何在Qt库的基础上&#xff0c;实现自定义控件呢&#xff1f; A&#xff1a;根据官方文档回答&#xff0c;就是继承需实现的控件&#xff0c;然后实现自定义功能。 以下是实现QListWidget控件的自定义item。 先看下最终效果是如何&#xff1a; listItem 主界面U…

sql高级教程-索引

文章目录 架构简介1.连接层2.服务层3.引擎层4.存储层 索引优化背景目的劣势分类基本语法索引结构和适用场景 性能分析MySq| Query Optimizerexplain 索引优化单表优化两表优化三表优化 索引失效原因 架构简介 1.连接层 最上层是一些客户端和连接服务&#xff0c;包含本地sock通…

shell的for循环与结构化

shell笔记 列表for循环不带列表for循环for循环举例1.例1 所有文件名大写替换为小写2. 例2 读取/etc/passwd文件&#xff0c;依次输出ip段3. 例3 读取/etc/hosts内容for循环&#xff0c;执行ping4. 例4 循环ip列表&#xff0c;输出对应编号5. 例5 批量添加用户 break1. 例1 brea…

python:遗传算法(Genetic Algorithm,GA)求解23个测试函数

一、遗传算法 遗传算法&#xff08;Genetic Algorithm&#xff0c;GA&#xff09;起源于对生物系统所进行的计算机模拟研究&#xff0c;是一种随机全局搜索优化方法&#xff0c;它模拟了自然选择和遗传中发生的复制、交叉(crossover)和变异(mutation)等现象&#xff0c;从任一…

css之Flex弹性布局

文章目录 &#x1f415;前言&#xff1a;&#x1f3e8;定义flex容器 display:flex&#x1f3e8;在flex容器中子组件进行排列&#x1fa82;行排列 flex-direction: row&#x1fa82;将行排列进行翻转排列 flex-direction: row-reverse&#x1f3c5;按列排列 flex-direction: col…

统计二进制中1的个数

写一个函数返回参数二进制中 1 的个数。 比如&#xff1a; 15 0000 1111 4 个 1 我们先引入一个容易理解的例子&#xff0c;怎么得到一个十进制的数各个位置上的数为多少&#xff1f; 这里我们以一个十进制的三位数 123为例&#xff0c;要想得到它的个位&#xff0c;十位&#…

kubernetes-Service

文章目录 1、前言2、基本语法2.1 Service yaml2.2 关键字段2.3 port、nodePort、targetPort、containerPort字段说明 3、Service 类型3.1 ClusterIP3.2 NodePort3.3 LoadBalancer3.4 ExternalName 4、无头服务&#xff08;Headless Services&#xff09;5、访问service参考 1、…

R文件详细介绍、瘦身方案和原理

文章目录 1. 背景2. R文件介绍2.1 R文件概念2.1.1 标识符是怎么与资源联系起来的&#xff1f; 2.2 R文件内容2.3 library module和aar的R文件内容生成规则2.4 是谁生成的R文件&#xff1f;2.5 打包之后的R文件2.6 R文件为啥大&#xff1f;这么多&#xff1f; 3. 为什么R文件可以…

RK356x U-Boot研究所(开发篇)5.1 启动SATA硬盘中的固件

平台U-Boot 版本Linux SDK 版本RK356x2017.09v1.2.3RK356x支持从SATA硬盘中启动固件,只要板卡中有预留这个接口即可。值得注意的是,这个固件不能从maskrom阶段就直接进行加载,需要从别的媒介启动(Flash、eMMC或者TF卡)后跑到U-Boot阶段,在这个U-Boot阶段再去加载SATA硬盘…

黑豹程序员-架构师学习路线图-百科:Java的第二春Spring框架

文章目录 1、 Spring的发展历史2、为什么Spring能霸屏&#xff1f;2.1、容器的设计2.2、通过四个策略2.3、三种方式 3、学习编程设计的典范 1、 Spring的发展历史 正当SUN公司的EJB在全球开始热炒时&#xff0c;正当程序员纷纷转型EJB开发时&#xff0c;正当程序员为跑通EJB程…

昇腾CANN 7.0 黑科技:大模型训练性能优化之道

目前&#xff0c;大模型凭借超强的学习能力&#xff0c;已经在搜索、推荐、智能交互、AIGC、生产流程变革、产业提效等场景表现出巨大的潜力。大模型经过海量数据的预训练&#xff0c;通常具有良好的通用性和泛化性。用户基于“大模型预训练微调”开发范式即可在实际业务场景取…

量子力学期末复习--1

量子力学解题技巧--1 基础知识 薛定谔方程 Ehrenfest 定理 不确定性原理&#xff1a;正则对易关系&#xff1a;自由粒子&#xff1a;对于自由粒子&#xff0c;分离变量解不代表物理上可实现的态。但其含时薛定谔方程的一般解仍旧是分离变量解的线性组合 典型题目 自由粒子…