双编码器构建机器人零力拖动/导纳控制思路

news2024/10/6 18:32:48

前言

这篇博客主要记录昨日与实验室大佬针对UR5机器人拖动示教功能实现的思路。由于本人并非主攻力控方面。直到昨天在做实验的时候,与力控组的大佬讨论过后才了解UR机器人实现导纳控制的思路。

关于导纳控制/零力拖动

导纳控制与阻抗控制单从字面去理解很容易记混淆,实际上只要从算法输入输出就可以进行区分。
导纳控制: 机器人感知外力,根据控制律,输出电机的位移与速度;
阻抗控制: 机器人感知目标位移,目标速度与当前位移,当前速度的差值,根据控制律,输出电机的力矩。
导纳控制可以应用于零力拖动(示教)等任务场景。下图就是导纳控制的经典框图,参考仓库
导纳控制
可以看出输入到机器人的是位移与速度项

双编码器思路

对于外力的感知,是构建导纳控制的关键。有多种方法可以对外力的进行估计与测量,比如直接使用力传感器,动量估计算法等等… 但是在这里则是采用双编码器思路,一个编码器固定于电机端,另一个编码器固定于运动输出端,二者通过减速器进行连接。当施加外力使得机器人的关节偏离原位后,两个编码器之间的差值通过类似胡克定律的方式计算出外力。此即为双编码器思路。
当感知到外力后,就需要按照上面的控制律分别计算出机器人关节的加速度项,由于这个过程中机器人的惯性矩阵 M M M是起作用了,因此重力所起的作用也在这个过程中抵消了。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ROS中的节点与包

ROS中的节点与包 超声波传感器节点创建Package包 创建node节点运行node节点 安装的基本单位是包 一个包就是一组节点 超声波传感器节点 创建Package包 catkin_create_pkg ssr_pkg rospy roscpp std_msgs软件包回访 其实,在/opt/ros/noetic/share 里面都是软件包…

【沁恒蓝牙mesh】CH58x USB功能开发记录(0)

本文主要介绍基于【沁恒蓝牙mesh】CH58x USB功能,结合CH583m 评估板的软硬件为二次开发作一系列说明 💖 作者简介:大家好,我是喜欢记录零碎知识点的小菜鸟。😎📝 个人主页:欢迎访问我的 Etherne…

java多线程文件下载器

文章目录 1.简介2.文件下载的核心3.文件下载器的基础代码3.1 HttpURLConnection3.2 用户标识 4.下载信息4.1 计划任务4.2 ScheduledExecutorService🍀 schedule方法🍀 scheduleAtFixedRate方法🍀 scheduleWithFixedDelay方法 5.线程池简介5.1…

多维时序 | MATLAB实现SOM-BP自组织映射结合BP神经网络的多变量时间序列预测

多维时序 | MATLAB实现SOM-BP自组织映射结合BP神经网络的多变量时间序列预测 目录 多维时序 | MATLAB实现SOM-BP自组织映射结合BP神经网络的多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现SOM-BP自组织映射结合BP神经网络的多变量时…

Qt 自定义分页控件

目录 前言1、功能描述2、代码实现2.1 ui文件2.1 头文件2.2 源码文件2.3 设计思路 4、示例5、总结 前言 在应用程序开发时经常会遇到数据分页的需求,每一页展示特定数量的数据,通过点击按钮翻页或者输入页码跳转到指定页。 本文介绍一个自定义分页控件&a…

微服务-开篇-个人对微服务的理解

从吃饭说起 个人理解新事物的时候喜欢将天上飞的理念转换成平常生活中的实践,对比理解这些高大上的名词,才能让我们减少恐慌的同时加深理解。废话不多说,我们从吃饭开始说起,逐渐类比出微服务的思想。 (个人见解&…

计蒜客详解合集(1)期

以后对于简单题目,大致6道题目出一期,稍有难度的才单独一期发布~ 目录 T1266——出勤记录 T1170——人民币支付 T1122——最长最短单词 T1115——字符串判等 T1116——验证子串 T1118——删除单词后缀 T1266——出勤记录 小蒜的算法课老师每次…

任正非说:段到段而不是端到端的变革,一定会局部优秀了,而全局灾难了。

你好!这是华研荟【任正非说】系列的第34篇文章,让我们聆听任正非先生的真知灼见,学习华为的管理思想和管理理念。 一、执行一个良好的流程和建立一个良好的流程同样重要。业务部门的一把手要担负起建设和优化流程的责任,而不是流程…

NFS服务器的搭建

架设一台NFS服务器,并按照以下要求配置 准备阶段:准备两台虚拟机,一台作为服务端,一台作为客户端 服务端(Server):192.168.75.139 客户端(Client):192.168.75.160 两…

【Java 进阶篇】Java Filter 执行流程及生命周期详解

引言 在 Java Web 开发中,Filter 是一种强大的组件,它允许我们在请求到达 Servlet 之前或者响应返回给客户端之前执行一些操作。Filter 的应用场景非常广泛,例如日志记录、权限验证、字符编码转换等。本文将深入讨论 Java Filter 的执行流程…

element-Cascader级联选择器用法?

html <el-form-item label"行业选择" :label-width"formLabelWidth"><div class"m-4"><el-cascader v-model"form.tradeid" :options"options" :props"props" /></div></el-form-ite…

【仿真动画】人机协作机器人自动化产线仿真动画欣赏

人机协作机器人自动化产线仿真动画 动画部分思维导图 机器人自动化产线仿真动画是利用三维动画技术对机器人自动化产线进行仿真模拟&#xff0c;以直观、形象的方式展示产线的运行情况。它具有以下作用&#xff1a; 提高沟通效率 机器人自动化产线的设计、实施和维护涉及多个部…

19.9 Boost Asio 同步字典传输

这里所代指的字典是Python中的样子&#xff0c;本节内容我们将通过使用Boost中自带的Tokenizer分词器实现对特定字符串的切割功能&#xff0c;使用Boost Tokenizer&#xff0c;可以通过构建一个分隔符或正则表达式的实例来初始化tokenizer。然后&#xff0c;可以使用该实例对输…

阿里云服务器u1和e实例有什么区别?哪个比较好?

阿里云服务器u1和e实例有什么区别&#xff1f;哪个比较好&#xff1f;通用算力型u1比较好&#xff0c;因为u1服务器是独享型云服务器&#xff0c;e实例是共享型。 阿里云服务器ECS经济型e实例和通用算力型u1实例有什么区别&#xff1f;如何选择&#xff1f;ECS经济型e实例是共…

Modern C++ 转换构造函数和类型转换函数

在 C/C 中&#xff0c;不同的数据类型之间可以相互转换。无需用户指明如何转换的称为自动类型转换&#xff08;隐式类型转换&#xff09;&#xff0c;需要用户显式地指明如何转换的称为强制类型转换。 不管是自动类型转换还是强制类型转换&#xff0c;前提必须是编译器知道如何…

U盘插在电脑上显示要格式化磁盘怎么办

U盘是一种便携式存储设备&#xff0c;广泛应用于各种场合。然而&#xff0c;有时候我们可能会遇到一些问题&#xff0c;比如将U盘插入电脑后显示要格式化磁盘&#xff0c;这通常意味着U盘的分区出现了问题或者U盘的文件系统已经损坏。这种情况下&#xff0c;我们应该如何解决呢…

linux 显卡驱动 cuda 离线安装

1、 安装显卡驱动&#xff1a; Download NVIDIA, GeForce, Quadro, and Tesla Drivers &#xff08;1&#xff09;注意选择对应的cuda版本&#xff0c;和系统版本&#xff0c;并下载 &#xff08;2&#xff09;

client-go controller-runtime kubebuilder

背景 这半年一直做k8s相关的工作&#xff0c;一直接触client-go controller-runtime kubebuilder&#xff0c;但是很少有文章将这三个的区别说明白&#xff0c;直接用框架是简单&#xff0c;但是出了问题就是黑盒&#xff0c;这不符合我的理念&#xff0c;所以这篇文章从头说起…

【C语言 | 预处理】C语言预处理详解(一) —— #define、#under、#if、#else、#elif、#endif、#include、#error

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

Python基础教程之十八:Python字典交集–比较两个字典

Python示例&#xff0c;用于查找2个或更多词典之间的常见项目&#xff0c;即字典相交项目。 1.使用“&#xff06;”运算符的字典交集 最简单的方法是查找键&#xff0c;值或项的交集&#xff0c;即 & 在两个字典之间使用运算符。 example.pya { x : 1, y : 2, z : 3 }…