【ROS2教程之机器人概述】

在这里插入图片描述

1 概述

1.1 机器人项目的生命周期

机器人项目的生命周期可以划分为八个阶段:

在这里插入图片描述

(一)系统架构

这一阶段包括确定机器人的整体结构和设计,包括选择其主要硬件和软件组件,以及布局其通信系统和数据流。

(二)组件选择

根据性能、功耗、成本和兼容性等要求,选择传感器、执行器、控制器和计算硬件等关键组件。

(三)三维建模

使用 Fusion 360、Solidworks 等三维 CAD 软件对机器人的物理设计进行建模。这有助于可视化机器人的结构、优化设计并为制造做好准备。

(四)制造硬件

这一阶段涉及机器人硬件组件的实际组装,包括机械构建和电子电路集成。

(五)感知、规划和控制

开发能让机器人感知环境、规划行动和控制动作的软件。这包括实施校准、定位、物体检测、路径规划和运动控制的算法。

(六)模拟

在进行物理测试之前,先在 Gazebo 仿真环境中模拟机器人。机器人的三维模型被转换成 URDF 文件,用于仿真软件。这样就可以在受控的虚拟环境中测试机器人的性能,从而预测机器人在真实世界中的表现。

(七)测试
单元测试对机器人的单个组件或模块进行测试,以确保每个功能都能按预期单独运行。
进行集成测试,以确保集成组件按预期共同运行。这一阶段检查模块之间的数据流和交互错误。
系统测试包括硬件和软件测试。对整个系统进行测试,以验证其是否满足所有指定要求,包括性能、安全性和可靠性测试。

(八)容器化和部署

使用 Docker 等工具将软件组件打包到容器中,以确保不同开发、测试和生产环境的一致性。然后将机器人部署到其运行的目标环境中。
这种结构化方法确保了从初始设计到部署的整个开发过程,从而可以高效地处理复杂的机器人项目,同时确保高性能和高可靠性标准。

1.2 机器人自动化的核心组成部分

机器人自动化有四个重要组成部分,它们是:

(1)硬件和传感器

(2)机器人感知

(3)运动规划

(4)机器人控制

img

1.2.1 硬件

机器人设计的技术层面是多方面的,涵盖了一系列针对特定任务和环境量身定制的硬件组件。下面将详细介绍处理单元、特定应用硬件组件和致动器/电机的架构设计:

CPU、GPU 和 DSP 的架构设计: 机器人系统通常需要复杂的计算架构,其中包括 CPU、GPU 和 DSP(Digital Signal Processors,DSP数字信号处理器)。CPU 处理通用进程任务,并协调其他硬件组件的运行。GPU 对于快速处理密集型并行任务至关重要,特别是在机器人技术的图像和视频分析中。DSP 用于实时处理音频、视频和控制传感器数据,优化需要高速数字计算的任务。集成度高的架构可确保这些组件协调工作,在计算能力、能效和实时处理能力之间取得平衡,从而提供所需的性能。

特定应用组件的硬件: 为无人驾驶飞行器(Unmanned Aerial Vehicles ,UAV)和自主飞行器( Autonomous Vehicles ,AV)等特定应用而设计的机器人采用了专用硬件。例如,无人飞行器采用轻质、高强度材料和 GPS 模块、高度计(altimeters)和陀螺仪(gyroscopes)等组件,以实现导航和稳定性。无人驾驶飞行器采用了一整套传感器,如激光雷达、雷达和摄像头,再加上先进的计算硬件,可支持自主导航系统,实时处理大量数据,做出瞬间决策(make split second decisions)。

执行器/电机: 致动器和电机是机器人的肌肉,可将电能转化为机械运动。精密伺服电机通常用于精确控制角度或线性位置、速度和加速度。液压或气动执行器适用于需要更大力量的机器人,但代价是控制复杂和安装笨重。致动器和电机的选择在很大程度上取决于机器人预期任务所需的力道、速度、精度和功率效率。

1.2.2 传感器

作为人类,我们拥有多种感官组件,可以帮助我们感知视觉、听觉、嗅觉、味觉和触觉等不同方面。除五种基本感官外,我们还能感受温度变化,并在不同地形中保持平衡。 另一种感觉叫做本体感觉,由本体感受器和位于肌肉、肌腱和关节内的机械感觉神经元介导。

那么,现在的问题是–机器人如何才能像人类一样感知现实世界?通过立体视觉感知是一种方法,但其他感官输入呢?

这就需要传感器,它们是具有内置机械、电气或化学特性的设备,能够感知现实世界环境的不同方面。根据感知机制的类型,传感器可分为以下几类:

guide to robotics sensors. lidar camera, IMU, GPS, motion sensor, buginner guide to robotics

1)接近传感器: 这些传感器可检测机器人附近是否存在物体。它们通常使用红外线、超声波或激光技术来测量与物体的距离。它可进一步分为两个子部分:

(1)电感式接近传感器 - 电感式接近传感器是一种用于检测金属物体存在与否的设备,无需物理接触。它们的工作原理是电磁感应,当金属物体靠近时会产生一个振荡磁场。

(2)电容式接近传感器 - 这种传感器设计用于检测金属和非金属物体,包括液体和颗粒状材料,其原理是当感应区域内有物体存在时,电容会发生变化。

2)视觉传感器: 包括摄像头和计算机视觉系统,可让机器人解读视觉信息。它们可用于识别物体、导航和绘制环境地图。

3)力传感器: 这些传感器可测量不同方向上施加的力和扭矩。它们通常用于机械臂,以调整运动强度,确保与物体和人类互动时的安全。

4)惯性测量单元(Inertial Measurement Uint,IMU): 惯性测量单元(IMU)是机器人技术中需要精确运动和定位任务的基本设备,例如自动驾驶汽车、无人机和仿人机器人。

5)3D LiDAR(光探测和测距): 它利用激光脉冲准确捕捉环境和物体的三维特征。它每秒发射数千至数百万个激光,测量每个脉冲撞击物体后返回所需的时间。通过这些飞行时间(ToF)测量,激光雷达系统可以精确计算距离,绘制出周围环境的详细三维地图。

6)全球定位系统 (Global Positioning System,GPS): 全球定位系统(GPS)是一种基于卫星的导航系统,由至少 24 颗环绕地球运行的卫星组成,在地球上或地球附近任何与四颗或更多 GPS 卫星有畅通视线的地方,提供各种天气条件下的时间和位置信息。

1.2.3 机器人感知

“Build robot partners that augment the human workforce, ultimately enabling humans to be more human” – Agility Robotics

“打造机器人合作伙伴,增强人类劳动力,最终让人类变得更加人性化"–Agility Robotics 公司

要实现这一目标,机器人必须能够在人类为人类设计和构建的真实世界环境中有效运行,而不是依赖于高度受控或专业的环境。

以下是机器人感知的两个关键部分,我们将在本文以及今后的文章中探讨这两个部分:

机器人导航/定位: 在每个时间步估计机器人在地图上的姿势(x、y、z、滚动、俯仰、偏航)。滚动、俯仰和偏航分别代表固定 X、Y 和 Z 轴的旋转。

深度学习: 通过执行物体检测、跟踪、分割、分类等操作,理解来自安装在机器人上的摄像头的语义信息。

1.2.3.1 什么是机器人定位?

机器人定位是机器人技术的一个基本方面,涉及机器人在给定环境中确定自身位置和方向的过程。在陌生环境中运行的机器人需要了解/感知周围环境,并在地图上准确确定其当前位置,以便有效地导航到目标位置。

SLAM mapping ros2 gazebo,introduction to robotics, beginners guide to robotics, guide to robotics, robotics for beginner

应对这些挑战需要一个强大的感知模块。定位是确定车辆相对于全球框架位置的关键,但这不能仅依赖于 GPS。由于全球定位系统无法提供厘米级的精度,因此需要将激光雷达或摄像头作为主传感器,IMU、编码器、雷达、热像仪和全球定位系统作为辅助传感器。如果车辆配备了激光雷达,通常会使用LiDAR SLAM(Simultaneous Localization and Mapping,同步定位和绘图)。对于配有立体摄像头的车辆,则采用Visual-SLAM。

1.2.3.1.1 机器人定位中的重要术语:

以下是文献中常用的几个定位术语:

姿势(Pose):姿势指机器人在地图中的实际位置(平移和旋转)。

测距(Odometry):运动轨迹:运动轨迹测量是指通过使用传感器(如电机编码器)来监测执行器的输出,从而估计机器人相对于其先前位置的运动轨迹。

定位(Localization):定位与地图构建以及在给定地图上确定自己的位置有着更为复杂的联系。

建图(Mapping):建图是通过纯传感器数据(摄像头、激光雷达)对周围环境进行三维重建的过程。

漂移(Drift): SLAM 或定位中的漂移一般是指随着时间的推移,机器人估计位置和方向的误差逐渐累积,从而导致估计位置发生偏移。这是 SLAM/定位中的一个大问题。

闭环(Loop Closure): SLAM(同步定位与绘图)中的闭环指的是在正在构建的地图中识别出之前访问过的地方,从而关闭一个环路的过程。如果省略闭环,SLAM 基本上就变成了里程测量。这可用于缓解多重注册的问题。

SLAM, localization, odometry, pose, mapping, loop closure, drift, simultaneous localization and mapping,

1.2.3.1.2 SLAM 过去的发展

同步定位与建图(Simultaneous Localization and Mapping,SLAM)问题的解决方案被认为是机器人学界在过去十年中取得的显著成就之一。作为一个理论问题,SLAM 以各种形式被提出和解决。从室内机器人到室外、水下和机载系统,SLAM 已在多个领域得到应用。在理论和概念层面上,SLAM 现在可被视为一个已解决的问题。虽然可以认为 SLAM 在概念上已经解决,但在实现更通用的 SLAM 解决方案方面仍存在重大挑战,特别是在构建和利用可处理各种真实世界环境的感知丰富的地图方面。

SLAM 的概念是在 1986 年的一次机器人学会议上首次提出的,当时机器人学和人工智能中的概率应用刚刚起步。Smith、Cheeseman 和 Durrant-Whyte 等研究人员的早期工作为 SLAM 奠定了基础,他们开发的统计方法有助于理解机器人如何在测量结果不确定的情况下确定自己的位置并绘制环境地图。他们和其他人还展示了声纳和摄像头等传感器如何帮助机器人导航。

first real-time implementation of visual slam using stereo cameras, by andrew john Devision, university of oxford

尽管取得了早期进展,但 SLAM 研究遇到了重大障碍。起初,人们认为机器人绘制的地图中的测绘误差会不断增加,导致研究人员寻求临时的解决办法。然而,1995 年的一项重大发现表明,这些误差是可以控制和减少的。研究人员发现,了解环境中不同地标之间的关系是提高机器人估计自身位置准确性的关键。这一突破在一篇调查论文中作了详细阐述,该论文还创造了 “SLAM ”一词,它推动了这些系统的进步,使其更加高效,并能更好地将新数据与现有地图整合在一起。

图中显示了牛津大学机器人研究小组的安德鲁-约翰-戴维森首次使用立体摄像机实时实现视觉 SLAM。该视频拍摄于牛津大学的汤姆大楼。

1.2.3.1.3 SLAM 的最新发展

SLAM 的最新发展可划分为LiDAR SLAM、Visual SLAM and Deep Visual SLAM、Sensor Fusion SLAM三个方向。

1)LiDAR SLAM

激光雷达 SLAM:SLAM(同步定位与建图)可使用不同的传感器来执行,其中相机和激光雷达最为有效。这些传感器通常与其他传感器单独使用,以提高精确度。激光雷达 SLAM 有多种类型,包括二维、三维和基于深度学习的方法。这些类别中的著名论文包括

  • Cartographer for 2D SLAM,
  • LOAM (Lidar Odometry and Mapping) and FLOAM (Fast LOAM) for 3D SLAM,
  • SuMa++ for deep learning-based SLAM.

困难: 激光雷达 SLAM 面临的挑战包括设备成本高、在长走廊、多尘或动态区域等退化环境中的性能问题,以及频率低和计算需求增加。

Lidar SLAM robotics  introduction to robotics, beginners guide to robotics, guide to robotics, robotics for beginner

2)Visual SLAM and Deep Visual SLAM

视觉 SLAM 和深度视觉 SLAM:使用摄像头的视觉 SLAM 可分为单声道(mono)/立体声(stereo) SLAM、RGB-D SLAM、密集型(Dense)、半密集型(Semi Dense)、稀疏型 (Sparse)SLAM 和基于深度学习的 SLAM。

  • 深度学习方法: Cube SLAM、Kimera 和 PoseNet 最近推动了视觉 SLAM 的发展,取得了与传统方法相当或更优的效果。

  • 在视觉 SLAM 方面,ORB-SLAM 和 ORB-SLAM2 是广泛使用的方法。

  • 在半密集和密集视觉 SLAM 中,SVO 和 DSO 分别是重要的方法。

  • Kintinuous 是 RGB-D SLAM 中的杰出方法。

  • 三维重建中最先进的高斯拼接法(Gaussian Splatting )启发了 CVPR 2024 上的高斯拼接 SLAM 论文。

困难: 视觉 SLAM 面临的挑战包括特征识别错误、尺度漂移、动态物体干扰、视图受限和计算要求高等,而深度视觉 SLAM 则要应对低纹理、高动态范围、运动模糊、动态变化和延迟等问题。

Visual SLAM and Deep Visual SLAM SLAM robotics, introduction to robotics

3)Sensor Fusion SLAM

传感器融合 SLAM:为提高 SLAM 的精度和可靠性,还开发了融合技术,将不同类型的传感器结合在一起。这方面的例子包括视觉惯性 SLAM、激光雷达惯性 SLAM,以及更复杂的设置,如激光雷达视觉惯性 SLAM 和热惯性 SLAM。值得注意的基于融合的 SLAM 方法包括

  • 用于激光-视觉 SLAM(Laser-Visual SLAM) 的 VLOAM
  • 用于激光-IMU SLAM(Laser-IMU SLAM) 的 LIO-mapping
  • 热惯性 SLAM (thermal-IMU SLAM)的 KTIO
  • 视觉惯性 SLAM(Visual-Inertial SLAM ) 的 VINS-MONO
  • 用于视觉惯性 SLAM (Visual-Inertial SLAM)的 OpenVins

这些方法整合了来自多个传感器的数据,以创建更强大、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值