机器人软件
简介
数字孪生
数字孪生不仅有相同的外观(Geometry),还有相同的物理属性(Physics),能接收传感器数据(Sensing)并响应控制指令(Actuation)。
| 传统仿真 | 数字孪生 | |
|---|---|---|
| 焦点 | 特定过程 | 完整实体 |
| 范围 | 局部、离线 | 全局、实时同步 |
| 目的 | 分析与验证 | 预测、监控、闭环交互 |
| 例子 | 一个齿轮的受力分析,一个电路的性能模拟 | 在数字空间创建物理实体的动态虚拟副本 |
在robot 领域,就是为实体的机械臂创建一个它的数字孪生体,作为主要的开发、测试和实验平台。
- 物理成本,实体机器人价格昂贵,在仿真中,我们可以”撞坏“无数个虚拟机器人,成本为零。
- 时间成本,物理实验受场地、时间限制,在仿真中,我们可以同时运行成百上千个实验,24小时不间断。
- 迭代成本,修改一个物理样机的设计可能需要数周时间,而在仿真中,修改一个模型参数(如臂长、电机扭矩)可能只需要几秒钟。
- 设备安全、人员安全。
- 前端开发与后端解耦,算法工程师可以在仿真中开发调试,无需等待物理样机制造完成。这实现了软硬件开发的并行化。 仿真提供一个”纯净“的、排除了物理不确定性的理想环境,便于我们首先验证算法逻辑的正确性。
数据驱动AI的困境:现代AI,尤其是深度学习,是名副其实的”数据饕餮“。训练一个图像识别模型需要数百万张图片,那么,训练一个机器人抓取模型需要什么?让一个实体机器人尝试抓取100w次,可能需要数年时间,并且硬件早已报废。仿真环境是强化学习算法最理想的训练场,Agent可以在虚拟世界里进行数亿次的试错,学习从失败中总结经验,而这一切都可以在几个小时内完成。此外,还能通过”领域随机化“技术,生成千奇百怪的数据,随机改变光照、纹理、物体位置、物理参数……,用这些数据训练出的模型,在真实世界中的泛化能力(Generalization)会更强。“在仿真中大规模训练,在现实中少量微调”已经成为公认的、最高效的机器人AI开发范式。
机器人世界的建筑蓝图——URDF
URDF(Unified Robot Description Format) 是 ROS 世界中描述机器人的标准语言,可以看成是机器人三维模型说明书
- 链接/Links
- 关节/Joints,一般对应一个电机
比如我们要向计算机描述一个人的身体结构,我们会怎么说? 这个人有一个驱干,驱干上连着一个脖子,脖子上连着一个头……,我们需要一种标准化的语言来精确描述这种连接关系和每个部件的属性。urdf 基于xml格式的文件,专门用来描述机器人的运动学模型和动力学模型,主流机器人软件和仿真器都可以加载和使用。
ROS(Robot Operating System)
硬件是机器人的载体,软件则赋予智能机器人灵魂,智能机器人开发需要一个机器人操作系统作为基础。ROS 是开源的,由一组软件库和若干工具组成,并非经典意义上的操作系统。
留下评论