【ROS简介】

2023-05-16

ROS简介

  • 1 ROS是什么?
  • 2 ROS能干什么?
  • 3 存在的瓶颈?
  • 4 涉及的技术(概率机器人技术)
  • 5 内部构造

在这里插入图片描述

1 ROS是什么?

  1. ROS的核心是一个分布式、低耦合的通讯机制;
  2. ROS提供多种机器人开发工具,实现数据可视化、机器人仿真等功能;
  3. ROS开源社区中包含大量机器人应用功能,可快速开发功能原型;
  4. ROS已经成为一个庞大的生态系统,包含机器人领域的方方面面,同时也得到了越来越多第三方工具的支持,为机器人开发提供了系统化的解决方案。包含了函数库、客户端库、中心服务器、一系列命令行工具、图形化界面以及编译环境。

2 ROS能干什么?

ROS采用松耦合点对点进程网络通信,提供了操作系统应用的各种服务(如:硬件抽象、底层设备控制、常用函数实现、进程间消息传递、软件包管理等),也提供了用于获取、编译、跨平台运行代码的工具和函数。用机器人操作系统(ROS)这层中间件是为了便于采包和可视化,利于寻找机械,通讯层,控制,状态估计,和路径规划的问题。

3 存在的瓶颈?

为了机电系统的稳定,还需要搭配运行在实时操作系统下的嵌入式设备,来完成高频的估计和控制。
跑起演示来对系统集成能力要求较高,容易卡在某一项细节里,失去对关键瓶颈的判断。
例如,在跑通视觉惯导里程计时,需要先解决如下工程问题:
a) 跑通相机驱动器;
b) 选取镜头和对应的摄像机模型;
c) 安装和标定双目摄像机内参和外参;
d) 减震安装和标定惯导与相机外参;
在使用里程计中,需要上下端通讯,并了解平台的运动学,可能会遇到如下问题:
a) 在复杂电磁环境中通讯系统的抗噪;
b) 理解几种旋转的表示方法;
c) 位置和速度在体坐标系和空间坐标系之间的转换;

4 涉及的技术(概率机器人技术)

(1)状态估计
其核心是用传感器数据来估计状态的思路。
机器人与环境交互的一个过程,传感器负责从环境测量信息,控制机构负责用来作用于环境。用概率模型来表示这个交互过程,就是贝叶斯迭代网络。
(2)贝叶斯滤波及其各种实现算法
对于贝叶斯滤波算法的实现,主要分为参数化、非参数两种实现方法。
参数化实现算法:卡尔曼滤波(KF、EKF、UKF)、信息滤波(IF、EIF)
非参数化实现算法:直方图滤波(马尔可夫定位)、粒子滤波(蒙特卡洛定位)
(3)机器人中的运动与测量概率模型
机器人的运动和测量概率模型对算法中的预测和更新步骤起着至关重要的作用。

(4)移动机器人定位与建图
定位其实就是位姿估计问题,位姿估计的概率实现算法可以有上面提到的EKF、AMCL(自适应的蒙特卡洛定位法)等算法来实现。
机器人的建图其实就是环境特征估计,同样也可以用概率的方法进行估计。
(5)SLAM同时定位与建图
独立的定位问题是建立在地图已知的情况下的,单独的建图问题也是建立在定位已知的情况下的。当机器人不能得到环境地图,也不知道自身位姿的时候,SLAM就出现了。
(6)机器人自主导航与动态避障
机器人自主导航可以分成两个实现部分,第一个部分就是路径规划,第二个部分就是控制策略。路径规划利用地图信息寻找一条能到达目标的全局路径,全局路径在机器人导航过程中起到全局战略性的指导。理想情况是,机器人完全按照全局路径移动到目标,但是实际环境往往是多变和复杂的,而且机器人实际控制也会存在偏差,所以机器人的实际运动控制需要有一套控制策略来最终实现。控制策略需要尽量逼近全局路径、尽量远离障碍物、最快时间到达目标等因素,这些因素可以用一个回报函数来评价,寻找最佳控制策略的过程中递归的计算每一次行动的回报函数值。这样控制策略在回报函数的指引下,就可以给出最佳的控制策略,控制策略控制机器人完成实际的移动。
路径规划主要分为:基于图的搜索算法、基于采样的算法、局部规划的算法。

5 内部构造

(1)硬件构造
一个典型的ROS移动机器人的硬件构造包括:带编码器的减速电机、电机驱动板、IMU模块、激光雷达、ROS主机、麦克风、摄像头、喇叭。带编码器的减速电机、电机驱动板、IMU模块(惯性测量单元,装有三轴的陀螺仪和三个方向的加速度计,来测量物体在三维空间中的角速度和加速度,并以此解算出物体的姿态)、激光雷达应该是SLAM导航避障的标配硬件,ROS主机是机器人的计算中心(运行SLAM导航算法等),麦克风、摄像头、喇叭是完成语音交互和图像感知时需要的
(2)软件组成
机器人的各种算法的开发还是基于我们常见的C++和Python的。
主要分为节点和功能包。节点是主要的计算执行进程,功能包中创建的每个可执行程序在被启动加载到系统进程中后,该进程就是一个ROS节点,node1、node2、node3等都是节点(node)。节点都是各自独立的可执行文件,能够通过主题(topic)、服务(server)或参数服务器(parameter server)与其他节点通信。ROS通过使用节点将代码和功能解耦,提高了系统的容错力和可维护性。一个ROS程序的不同组件要被放在不同的文件夹下,这些文件夹是根据不同的功能来对文件进行组织的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【ROS简介】 的相关文章

  • 云服务器上ros安装

    Ubuntu16 04安装ROS Kinetic详细过程 xff1a https blog csdn net weixin 43159148 article details 83375218 出现xx release not found x

随机推荐

  • 从驱动到转行到游戏开发的经验

    已经转行 xff0c 但是从自己熟悉的行业转入一个新行业 xff0c 各种心酸只有自己知道 以下是我转行中所读到的图形学相关书 xff1a 1 xff0c Opengl 编程指南 或者龙书 不管你是否志在游戏行业都推荐龙书 xff0c 书中
  • vtk 提取等值面并显示

    marchingcube是提取等值面比较通用的算法 xff0c 本文利用vtk 的marching cube接口提取等值面 xff0c 并通过其绘制管线把等值面绘制出来 其原理请参考下文 xff1a 1 等值面的定义及其三角面片近似 等值面
  • 关于Runnable 和 Thread的应用场景

    摘自StackOverflow 个人觉得比较靠谱的答案 xff0c 细节请看url http stackoverflow com questions 541487 implements runnable vs extends thread
  • JAVA 泛型中的<T> 和 <?> 的应用场景

    在JAVA 泛型中 xff0c 经常看到 lt gt 应用场景为当不确定类型时 因为泛型的输入参数是类型 xff0c 而有一些状况下我们并不能确定类型
  • 构造块和静态块的应用场景

    待补充 xff0c 有点懒
  • 在Github和Git上fork之简单指南

    from https linux cn article 4292 1 rss html 以我的经验来看 xff0c 刚接触Git和GitHub时 xff0c 最困扰的一件事情就是尝试解决下面的问题 xff1a 在Git和GitHub上 xf
  • java 同步原理

    还未来得及写文章呢
  • (华清远见)嵌入式学习月度总结

    文章声明 xff1a 本次总结仅代表个人观点 xff0c 至于哪一家培训机构怎么样 xff0c 同xxx培训比起来如何 xff0c 是否值得报名参加 xff0c 都应该由你自己去斟酌决定 xff0c 仅提供个人感受 xff0c 不提供建议
  • FreeRTOS学习记录 01--中断管理

    文章目录 0 前言1 Cortex M 中断管理1 1 中断配置1 2 优先级分组配置1 3 FreeRTOS中断 PendSv和Systick中断优先级配置 2 FreeRTOS的临界段代码保护和开关中断2 1 临界段代码保护2 2 中断
  • 通信网络中的透传到底什么意思?

    1 透传 xff1a 指与传输网络的介质 调制解调方式 传输方式 传输协议无关的一种数据传送方式 这就好比快递邮件 xff0c 邮件中间有可能通过自行车 汽车 火车 飞机的多种组合运输方式到达您的手上 xff0c 但您不用关心它们中间经历了
  • 2016年个人工作总结、生活总结 和 2017年个人工作计划、生活计划

    个人总结 xff0c 分别对2016年的工作生活总结和计划安排 xff0c 让自己在可预见的目标路线上前进 xff0c 为了自己也为了以后的幸福 一 2016年工作总结 1 2016年上半年 xff0c 完成小步环卫的智能手环 后台 APP
  • pip安装baidu-aip的方法

    记住你以后就有名字啦 万能小p xff1a pip install baidu aip i http pypi douban com simple trusted host pypi douban com 中间错误是这样的 xff1a Co
  • 计算机网络习题集_主打选择填空

    计算机网络习题 计算机网络习题第一章 概述第二章 物理层第三章 数据链路层第四章 网络层第五章 运输层第六章 应用层 附上电子版 链接 xff1a https pan baidu com s 1Y XyB3uAitkz0FtW6u1n0g
  • 不能错过的六大在线画图网站

    图表网站列表 xff1a 1 Highcharts2 online visual paradigm3 everviz4 echarts5 AntV6 fooplot 1 Highcharts Highcharts xff1a https w
  • ubuntu software database is broken问题解决

    ubuntu software database is broken 出现如下字样 xff1a ubuntu software database is broken It is impossible to install or remove
  • 批量处理:读取文件夹,将json文件转化为txt文件

    读取文件夹 xff0c 将json文件转化为txt文件 一 样例1 json文件只有一个样本1 json文件内容2 代码转化3 效果图 二 样例2 json文件中有多个样本1 json文件内容2 代码转化3 效果图 三 样例3 json文件
  • Ubuntu18.04对应的ROS安装步骤教程

    Ubuntu18 04对应的ROS安装教程 一 ROS配置1 配置Ubuntu18 04 软件仓库2 开始安装3 测试 二 遇到的问题1 ROS无法下载问题2 sudo rosdep command not found3 rosdep up
  • 最简ubuntu18.04系统分区教程

    最简ubuntu18 04系统分区教程 一 在分区之前先介绍一下ubuntu的文件系统二 分区详情 一 在分区之前先介绍一下ubuntu的文件系统 1 swap xff1a 用作虚拟内存 xff0c 这个要和自己的物理内存一样大 2G 10
  • Ubuntu系统永久设置串口权限

    Ubuntu系统永久设置串口权限 1 查看串口2 查看当前用户名3 设置串口永久权限 1 查看串口 s l dev ttyUSB0 注 所属用户组为 dialout xff0c root用户才具有操作权限 2 查看当前用户名 span cl
  • 【ROS简介】

    ROS简介 1 ROS是什么 xff1f 2 ROS能干什么 xff1f 3 存在的瓶颈 xff1f 4 涉及的技术 xff08 概率机器人技术 xff09 5 内部构造 1 ROS是什么 xff1f ROS的核心是一个分布式 低耦合的通讯