机器人基本知识和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
【python|机器人基本知识和ROS介绍】ROS大师 ROS Master
处理分布式通信连接(线程间/计算机)。注册并查找ROS 资源。
ROS 节点 ROS Node
执行计算的进程。例如避障节点:适配电机速度与激光位移数据成比例
ROS主题 ROS Topic
节点交换的命名总线消息。异步。发布/订阅模型。例如订阅 /laser 主题并发布到 /velocity 主题。
推荐阅读
- python|飞机大战(python)
- 深入浅出讲解自然语言处理|【CNN】深入浅出讲解卷积神经网络(介绍、结构、原理)
- 号外!号外!OHOS设备上的完整Python发布了!
- #yyds干货盘点#怎么自学 Python,大概要多久()
- python函数高级
- linux中python导入模块路径
- Python-Mail邮件发送
- 编程语言|第一个100万!!!
- 大众点评数据app爬虫