机器人基本知识和ROS介绍

机器人基本知识和ROS介绍

目标
• 了解基本原则和实践当代机器人和ROS系统
• 培养对事实的认识编程机器人需要一个对相关原则的理解和实践(不仅仅是“黑客”代码)
• 将原则和实践应用于协作实验室环境

为什么选择机器人?
• 为了省钱
• 去赚钱
• 为了省时间
• 省力
• 做的事情是困难、肮脏、危险或沉闷
• 提高生活质量

• 消费者Consumer
娱乐,打扫,教育,安全,家庭应用
• 商业的Commercial
医疗/外科,农业,建造
• 工业的Industrial
焊接,部件,绘画,材料处理
• 军队Military
无人驾驶车辆,侦察,外骨骼

公众对机器人的恐惧
“不要再害怕机器人了——不要再把他当人了!只是请记住,缝纫机(sewing machine)是机器人,汽车是机器人、电动汽车和留声机(phonograph),电话都是机器人。
每个男人都为了减轻负担而发展,自己完成了一些繁重的任务,然后去做更好的事情。
每个人都做一项特定的工作,仅此而已。为什么开始现在在我们享受的时候担心机器人,他们服务了几个世纪?”

什么是机器人?
“我无法定义机器人,但当我看到一个时,我就知道一个。”
约瑟夫·恩格尔伯格,1925-2015(第一个工业机器人的开发者在1950 年代的美国)

什么是机器人?
“机器人是一种可编程的驱动机构,两个或多个具有一定程度自主性的轴,移动,在其环境中执行预期任务。”

自主性Autonomous:
能够操作在恒定的人类干涉的条件下
启动机制Actuated Mechanism:
能够移动(真实/模拟)
可编程的Programmable:
能够被重新配置

机器人随着技术的发展而发展:
MECHANICAL -> ELECTRICAL ->ELECTRONIC -> DIGITAL

什么构成了机器人?
• 身体(或身体, 材料, 形态学)Body
• 传感器 => “感知”Sensor
• 效应器 => '动作’Senso
• 控制机制 => “大脑”, 智力, 认识, 负责“行为”(例如互动)Control mechanism
• 能源/电源, 电, 气体(气动, 液体(液压)Energy/power source

身体
•设计原则“机械对称”(类似机器),“动物形态”(类动物、仿生、仿生),“拟人”(类人)
•材料:硬,柔软
•一个/多个(群集)
•形态学:车身布局,自由度”

自由度(DoF)•等于独立
定义配置的参数
•三维空间中的刚体对象有六个自由度,三个用于定位,三个用于定向
•操纵器需要至少六个关节,以任意方向定位末端效应器
•冗余(即超过需要的自由度)促进优化,例如…
–能量最小化
–避障
•人的手臂有七个自由度(肩=3,肘=1,腕=3)
•机器人蛇将有许多自由度

传感器Sensors
–摄像头、麦克风、力/压力
–红外、超声波、激光雷达(“光探测和测距”)
–罗盘、陀螺仪、GPS等。
•感知Percepts
–低水平(例如,光线、颜色、声音、温度、接近度、接触、纹理、气味、倾斜、位置、加速度、,
电压、电流等)
–高级(例如对象、人物、场景等)
–抽象(例如意图、含义、情感状态等)
•外部感知与内部本体感觉
(例如方向、效应器关节角度、功率水平等)
•直接感知与推理External perception vs. internal proprioception
(例如,使用光流与。
使用假设和测试进行对象识别)

启动Actuation
•效应器Effectors

–车轮、履带、支腿、机翼等。
–夹具、刀具、钻头等。
–灯、扬声器、激光器等。
•产生运动、光线、声音等。
•行动Action
–移动
–操作(例如夹持、焊接、喷涂、推动等)
–信令(简单低电平vs.协调高电平)
•致动器Actuators
–电动机、伺服装置等。
–气动或液压缸等。
–形状记忆合金等。

相互作用Interaction
•同步传感+驱动Simultaneous Sensing + Actuation

–与环境的互动
–与其他代理的交互
–与自身的互动
•机器人可能能够感知自己的
行动
–优势…
•它可能能够确定它是否在做它想做的事情
应该做的事情(例如使用其视觉系统
检查是否已成功拾取对象)
–缺点…
•干扰(例如,来自电机的噪音掩盖了所有其他
声音)

控制
•机器人的“大脑”
•其“情报”来源
•对其行为负责
•关注…
–推理
–规划
–学习
–感知
–正在进行
•方法受到不断变化的“人工智能”(AI)的范例

操作系统为什么存在?
操作系统提供标准化接口,方便硬件无关的软件。
用户,应用,操作系统,硬件

机器人操作系统的诞生(ROS)
ROS: “the Linux of Robotics”

什么是ROS?
• 开源伪操作系统(位于标准操作系统)
• 用于编程的设计/开发工具集机器人(模拟和可视化工具)
• 分布式架构——不仅仅是通信流程以及机器(例如 PC 到机器人)
• 数据处理和分析
• 独立于语言 – C++、Python(& Java、lisp、
MATLAB等…)
• 实施标准工具和接口以可重用性为目的的不同问题
• 不是操作系统、编程语言或IDE。

关键 ROS 功能:
提供发布-订阅消息
基础设施设计,支持快速和易于施工分布式计算系统。

用于配置、启动、自省、调试、可视化、记录、测试和停止分布式计算系统。

已验证的实施有用的机器人功能,专注于操纵,流动性和感知。

“……根据 ABI研究,大约 55%世界上的机器人将包括到 2024 年 ROS 包

ROS基本图结构ROS Basic Graph Structure

ROS大师 ROS Master
处理分布式通信连接(线程间/计算机)。注册并查找ROS 资源。

ROS 节点 ROS Node
执行计算的进程。例如避障节点:适配电机速度与激光位移数据成比例

ROS主题 ROS Topic
节点交换的命名总线消息。异步。发布/订阅模型。例如订阅 /laser 主题并发布到 /velocity 主题。

你可能感兴趣的:(python,自动驾驶,人工智能,机器学习,python)