1.机器人抓取与操作介绍-深蓝学院

介绍

在这里插入图片描述

操作任务

操作
• Insertion
• Pushing and sliding
• 其它操作任务
在这里插入图片描述
抓取
• 两指(平行夹爪)抓取
• 灵巧手抓取
在这里插入图片描述

7轴
Franka
对应人的手臂
在这里插入图片描述

6轴 UR构型去掉一个自由度

课程大纲

Robotic Manipulation 操作
• Robotic manipulation refers to the ways robots interact with the objects around them

Manipulation is hard

• Arm, hand, eyes协作
• 一般manipulation问题 -> 有限的manipulation问题 -> 参数化manipulation问题
• 通用grasping -> 静态grasping

在这里插入图片描述
机器人抓取的进化
在这里插入图片描述

落地和挑战

在这里插入图片描述

在这里插入图片描述

1.1 机器人运动规划控制方法介绍

在这里插入图片描述
对比:
• 感知需求:自动驾驶的场景更复杂,机器人识别精度要求更高;
• 无决策&预测模块,无定位&地图模块;
• 规划器:机器人要求6DoF规划,笛卡尔到关节空间,更有挑战性;
• 控制:机器人要求力控,精细操作要求复杂。

机器人场景众多且分散,是否更加具有挑战需要看具体场景需求以及量化指标

Notation of Rigid Body

在这里插入图片描述

Rotation

常见表示
• 旋转矩阵 SO(3):3 × 3 matrix
• 欧拉角:3 × 1 vector,
• 四元数:4 × 1 vector, (x, y, z, w)
• 轴角: 3 × 1 vector(轴)+ scaler (角)
对于四种表示的可逆和组合形状需要牢记
在这里插入图片描述

  • 万向锁
  • (pitch 90度时roll和yaw的motion一致)
  • RPY顺序,当\beta为90度时,
  • 物理上,来自旋转顺序

自身旋转和固定坐标系旋转
p 右乘(自身旋转):
p 先绕x轴旋转,再绕y轴旋转,最后绕z轴旋转,那么总的旋
转矩阵为这三个旋转矩阵的乘积(按照旋转的顺序从右到左
相乘):
R = R z R y R x R=R_z R_y R_x R=RzRyRx

在这里插入图片描述
一个角度为90°时,丧失一个自由度
在这里插入图片描述

Special Euclidean Group SE(3)

在这里插入图片描述

在这里插入图片描述

经典方法回顾-运动学

DH参数法

  • 对机器人的每个关节做frame assignment
    Z轴一般是旋转轴,x轴是两个旋转轴的common normal
    • 定义相关assignment的规则和约定
  • 注意DH的变种,classic DH 和Model DH

DH参数
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

DH参数案例

Franka: 使用Craig convention (modifued DH)

在这里插入图片描述
这里需要按照下面这个参数定义来:
在这里插入图片描述

note Z_i ->Z_{i+1} 旋转,逆时针为正,右手定则。
在这里插入图片描述
https://frankaemika.github.io/docs/control_parameters.html

李群和李代数基础

a group that is also a differentiable manifold, such that group multiplication and taking inverses are both differentiable. p SO(3) SE(3)都满足李群的性质要求
b 李代数: SE(3)李群对应的李代数se(3)

POE(指数积)-正运动学介绍

• 螺旋运动:通过螺旋轴和转角表达
• T的计算
• 机器人正运动学可以用指数乘法表示

在这里插入图片描述

Differential Kinematics

  • 对于一个具有 n个关节的机器人,其 Jacobian 矩阵 J是一个 6*n 的矩阵(对于一般的三维空间操作,考虑位置和姿态的六维向量),其中每一列对应一个关节,矩阵的元素表示末端执行器在基坐标系下的线速度和角速度与关节速度的关系。
    • Measures the relationship of “velocity”
    • 可以通过解析法或者数值法求Jacobian
    在这里插入图片描述

逆运动学

雅可比矩阵和IK位置求解方法
  • 注意Jacobian求逆的数值方法:LM,SVD,QP等

  • 注意local minimum的处理方法
    Line search

  • LM方法其Jacobian逆

参考link

伪代码
在这里插入图片描述

规划

框架
在这里插入图片描述

空间:
• 构型空间 Configuration space
• 笛卡尔空间
• C-space到笛卡尔的映射相对容易
路径规划-高维空间
• 基于采样的方法: RRT, PRM
• 基于优化的方法
• 后处理
• 碰撞检测

轨迹生成&规划&优化介绍
基于sampling based方法生成的path往往需要后处理平滑 C-space(joint space)需要做速度规划,往往通过cubic spline等方法来实现,保证联系且满足一定的边界约束再进行C-space和Cartesian space的变换,同时优化和碰撞检测需要处理
在这里插入图片描述

在这里插入图片描述

控制

从笛卡尔空间到关节控制

• 关节模组控制
• 力控
末端力控
关节力
在这里插入图片描述

机器人传感器和视觉介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

视觉感知任务

在这里插入图片描述

机器人学习方法介绍

通过学习的方法来解决机器人问题,特别是规划和控制问题
p 常见学习任务
• 运动学和规划器:
• 机器人运动学学习:学习机器人FK和IK模型,输出一般为关节角
• 通用规划学习-sampling-based planning:输出一般为采样点
• 任务学习
• 静态场景-抓取:输出一般为抓取位姿
• 操作学习&policy学习(例如叠衣服):输出一般为action
• 通用场景学习(语言指令+长时序任务):输出action,(中间一般有planning)

监督学习方法

抓取位姿学习&数据集

• 二指&平行夹爪-Planar抓取:
ü Cornell
ü Jacquard
• 二指&平行夹爪- 6DoF抓取:
ü Graspnet
ü Grasp anything
• 灵巧手抓取:
ü DexYCB

在这里插入图片描述

强化学习

p 强化学习一般定义为MDP和POMDP问题,通过 s, t, a, r 来定
义状态转移和奖励函数
p 相比于监督学习,一般不需要数据集,通过探索来得到数据
p 可以通过reward来定义长期奖励,intuitively比较适合规划任务
p 可以通过policy iteration来迭代,上限更高
p 对数据采集要求量大,对仿真要求高,相对不容易训练,且训
练成本较高
p 需要Gym env 和 仿真环境
p 需要处理sim-to-real问题

大模型

长时序复杂任务往往比较挑战
• 例如下图的gearbox组装任务,步骤繁多,且有出错的可能;
• 任务可能较为多样化,基于规则的方法相对难以调整,以及难以和人自然交互
在这里插入图片描述

两种范式(非定义)
• VLA端到端模型介绍
Vision-Language-Action
• VLM&LLM + Control Policy 分层模型
Task planner + control action • 两者之间的界限不严格

在这里插入图片描述

机器人VLA模型-端到端方法

• 静态场景
• 任务多样化,且描述方式多样化
• 语言到动作有gap
• 有一点的交互和澄清的需求
在这里插入图片描述

自动驾驶-端到端方法
• 通过一个纯视觉(UniAD)或者融合(FusionAD)的BEV模型来完成端到端的多任务(感知、地图、预测、决策和规划)自动驾驶模型
• 输出是规划轨迹(5秒左右)
• 任务理解容易,e.g. a点到b点;或者根据routing行驶
• 但是场景和行为多样化;决策交互和感知有挑战;动
态场景

大模型分层框架
分层规划方案VLM&LLM + Control Policy
• 大模型做任务拆解和规划
• 相关动作模型(control policy, visuomotor policy)输出轨迹
• 传统算法优化轨迹
在这里插入图片描述

LLM&VLM for planning

• 通过prompt来做任务规划
• 输入描述和能力,生成伪代码,代码,或者任务序列
• 最上层任务规划和人机交流,低频

在这里插入图片描述

https://github.com/microsoft/PromptCraft-Robotics/blob/main/examples/manipulation/pick_stack_msft_logo.md

实践工具

研发流程

         s a
特点:团队小,功能多,交互业务多
版本发布后问题需要优化,可以补充到产品需求设计中

  • 机器人产品这里更多指自主或生活场景里通用&半通用机器人产品,非经典的机器人自动化产品

在这里插入图片描述

ROS

p 机器人中间件:ROS&ROS2
p 可视化工具和插件
p 核心算法和工程包:ROS Control,Navigation,Moveit
p 消息通讯和序列化
p 自动驾驶中间件Cyber

在这里插入图片描述

常用控制包

ROS2 control使用非常重要,一般基于这个框架进行开发。
硬件组件参考
调试指南
在这里插入图片描述
ROS2 moveit则可以参考实现。

仿真

用于自测

  • 仿真引擎
    • V-rep(CoppeliaSim )
    • MuJoCo
    • Bullet
  • 仿真环境
  • Isaac sim
  • RLbench
  • Gazebo

在这里插入图片描述
CoppeliaSim (PyRep)仿真图像和代码
• 代码示例和动画
• RLBench基于PyRep,有相关数据集和标准任务

在这里插入图片描述
在这里插入图片描述

Docker:部署和研发标准化方案

• Image and container
• Docker build 构建image
• Docker run 运行container
• Docker exec 进入正在运行的container

调试:logging, GDB&PDB, ros2 log
性能分析perf, profile
Git:熟练使用

调试:logging
• Logging是自测和运营问题的重要排查手段,
• 自动化log分析也是生产环境提效的手段
• 好的log习惯很重要
调试:GDB&PDB
• GDB用于断点,core dump排查等
• 其它静态分析,单测,内存分析等相关工具也需要有
所了解
性能分析perf, profile
• 生产环境中,算法工程师需要和软件,系统积极
配合准备相关的排查链路和需求
Git
• 有比较好的git使用习惯,commit习惯
• 熟悉常见操作,特别是分支合并操作
https://docs.ros.org/en/humble/Tutorials/Demos/Logging-and-logger-configuration.html
• 熟悉团队的MR&PR提交规则

推荐MIT课程,B站上可以搜计算机缺失的一课

p 业界研发流程:需求-技术评审-开发-自测-提测

ref

https://www.shenlanxueyuan.com/course/727/task/29238/show

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/459201.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STK与MATLAB互联——仿真导航卫星与地面用户间距离和仰角参数

文章目录 构建GPS星座创建单个PRN的GPS卫星创建GPS星座,并为其添加发射机 北斗星座构建搭建低轨铱星星座构建一颗轨道高度为800km/1000km/1200km的低轨卫星构建一颗轨道高度为800km/1000km/1200km的低轨卫星建立地面站,可见性分析确定地面站坐标分析单颗…

大数据之VIP(Virtual IP,虚拟IP)负载均衡

VIP(Virtual IP,虚拟IP)负载均衡是一种在计算机网络中常用的技术,用于将网络请求流量均匀地分散到多个服务器上,以提高系统的可扩展性、可靠性和性能。以下是对VIP负载均衡的详细解释: 一、VIP负载均衡的基…

挖矿病毒的处理

前阶段生产服务器又中挖矿病毒了,紧急处理了一波 现象 执行 top命令,查看哪里cpu占用较高 CPU 彪满下不来 解决 1、杀掉进程 kill -9 pid 2、但是,过一会又不行了,说明有定时任务在定时执行这个病毒 3、先找到病毒文件&…

java OOP 对象操作

目录 引 对象比较 ”引用比较“与“内容比较” 对象的比较:Comparable接口 泛型化的Comparable接口 使用例子 “”与“equals” 重写equals()的必要性 重写equals方法的要求 重写hashCode( )方法 hashCode() 与 equals() 的关系 重写 hashCode() 的规则…

小柴冲刺软考中级嵌入式系统设计师系列二、嵌入式系统硬件基础知识(6)嵌入式系统总线及通信接口

目录 越努力,越幸运! flechazo 小柴冲刺软考中级嵌入式系统设计师系列总目录 一、PCI、PCI-E 等接口基本原理与结构 1、PCI (1)高速性。 (2)即插即用性。 (3)可靠性。 (4)复杂性。 (5)自动配置。 (6)共享中断。 (7)扩展性好。 (8)多路复用。…

DDei在线设计器-简洁布局

简洁布局 从1.2.41版开始&#xff0c;DDei提供了简洁版界面布局&#xff0c;效果如下&#xff1a;。 一、使用方式 demo.vue <script setup lang"ts"> import DDeiEditorView from "ddei-editor"; import { DDeiCoreStandLayout } from "ddei…

我的随机数生成有什么问题,它只给出一个数字作为输出

问题 我尝试过更改数字&#xff0c;还尝试过删除并重新添加数学层&#xff0c;但结果仍然相同。它每次都应该给出不同的数字&#xff0c;但在我的例子中&#xff0c;无论我编写代码多少次&#xff0c;它都只给出一个数字作为输出。 我的代码是 var thisIsNew Math.floor(Mat…

数据库存储过程的后端调用(SQLServer)

项目中使用到了SQL Server的存储过程&#xff0c;其位于可编程性-存储过程&#xff0c;详细如下。 其内需要四个入参&#xff0c;为表名&#xff0c;列名&#xff0c;左固定值&#xff0c;剩下右边的长度。 本项目中需要生成10位验收单编号&#xff0c;其中前六位为年月&#…

部署MiniCPM-V

GitHub - OpenBMB/MiniCPM-V: MiniCPM-V 2.6: A GPT-4V Level MLLM for Single Image, Multi Image and Video on Your Phone 安装和执行 "Local WebUI Demo" 的步骤如下&#xff1a; 克隆仓库并导航到源文件夹&#xff1a; git clone https://github.com/OpenBMB/M…

第十二章 章节练习created的应用

目录 一、引言 二、运行效果图 ​三、完整代码 一、引言 构建一个新闻的页面&#xff0c;页面在响应式数据准备好之后&#xff08;即created&#xff09;&#xff0c;就向后台接口请求获取新闻数据列表&#xff0c;然后赋值给Vue实例中的list列表&#xff0c;这个请求逻辑我…

智能管线巡检系统:强化巡检质量,确保安全高效运维

线路巡检质量的监控是确保线路安全、稳定运行的重要环节。为了有效监控巡检质量&#xff0c;采用管线巡检系统是一种高效、科学的手段。以下是对如何通过管线巡检系统实现线路巡检质量监控的详细分析&#xff1a; 一、巡检速度监控 管线巡检系统能够实时监控巡检人员的巡检速度…

【52 机器学习 | 基于KNN近邻和随机森林模型对用户转化进行分析与预测】

文章目录 &#x1f3f3;️‍&#x1f308; 1. 导入模块&#x1f3f3;️‍&#x1f308; 2. Pandas数据处理2.1 读取数据2.2 查看数据信息2.3 字段说明2.4 删除重复值2.5 删除空值 &#x1f3f3;️‍&#x1f308; 3. 数据分析-特征分析3.1 年龄及转化率分析3.2 各营销渠道人数及…

2024年下教师资格证面试报名详细流程❗

⏰ 重要时间节点&#xff1a; &#xff08;一&#xff09;下半年笔试成绩查询&#xff1a;11月8日10:00 &#xff08;二&#xff09;注册报名&#xff1a;11月8日10:00-11日18:00 &#xff08;三&#xff09;网上审核&#xff1a;11月8日10:00-11日18:00 &#xff08;四&#x…

vue2之混入(mixin)

Vue 2 的混入&#xff08;Mixin&#xff09;是一种在 Vue 组件中分发可复用功能的方式。通过混入&#xff0c;你可以将一些通用的组件选项&#xff08;如数据、方法、计算属性、生命周期钩子等&#xff09;提取到一个混入对象中&#xff0c;并在多个组件中重用这些选项&#xf…

粉体包覆机、粉体干燥机、球磨机、整形机

包覆改性机在粉体加工中的应用和重要性主要体现在以下几个方面&#xff1a; 1.行业范围广泛&#xff1a;制药&#xff1a;用于药物载体、药物添加剂的生产&#xff0c;通过表面改性改善药物的释放性能、稳定性和生物相容性等&#xff1b;化妆品&#xff1a;用于口红、粉底、眼…

(三)行为模式:11、模板模式(Template Pattern)(C++示例)

目录 1、模板模式含义 2、模板模式的UML图学习 3、模板模式的应用场景 4、模板模式的优缺点 5、C实现的实例 1、模板模式含义 模板模式&#xff08;Template Method Pattern&#xff09;是一种行为设计模式&#xff0c;它定义了一个操作中的算法骨架&#xff0c;将某些步骤…

快速学习:Linux中传输文件夹的10个scp命令

本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法&#xff0c;涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景&#xff0c;旨在帮助用户在不同情…

设计模式(五)原型模式详解

设计模式&#xff08;五&#xff09;原型模式详解 原型模型简介 定义&#xff1a;原型模型是一种创建型设计模型&#xff0c;它允许通过克隆/复制现有对象来创建新的对象&#xff0c;而无需通过常规的构造函数进行实例化。 这种方式的主要优势是在运行时不需要知道具体的类&a…

【C++单调栈】962. 最大宽度坡|1607

本文涉及的基础知识点 C单调栈 LeetCode962. 最大宽度坡 给定一个整数数组 A&#xff0c;坡是元组 (i, j)&#xff0c;其中 i < j 且 A[i] < A[j]。这样的坡的宽度为 j - i。 找出 A 中的坡的最大宽度&#xff0c;如果不存在&#xff0c;返回 0 。 示例 1&#xff1a;…

免费的GB28181设备端EasyGBD,支持国标GB28181-2016和国标GB28181-2022,支持各种ARM系统、国产芯片、信创芯片

现在市面上还有很多卖国标GB28181设备端SDK的&#xff0c;EasyGBD免费的&#xff0c;基于C/C开发的国标GB28181设备库。 技术规格 编程语言&#xff1a;C/C&#xff0c;能适配任何平台&#xff0c;包括但不限于Windows、Linux、Android、ARM视频编解码器&#xff1a;H264、H26…