机械臂力控方法概述(一)

目录

1. MoveIt 适用范围

2. 力控制框架与 MoveIt 的区别

3. 力控方法

3.1 直接力控制 (Direct Force Control)

3.2 间接力控制 (Indirect Force Control)

3.2.1 柔顺控制 (Compliant Control)

3.2.2 阻抗控制 (Impedance Control)

3.2.3 导纳控制 (Admittance Control)

3.3 力/位混合控制 (Force/Position Hybrid Control)

4. 使用 ROS Control 框架:

5. 创建自定义控制器:

6. 集成力传感器与反馈回路:

7. 求解雅可比矩阵进行速度控制:


        在实际的机械臂力控任务中,一般不直接使用 MoveIt 来实现力控制。MoveIt 的主要功能集中在运动规划碰撞检测逆运动学求解路径优化等方面,而力控制通常涉及的是实时的力反馈力矩控制,这些功能不是 MoveIt 的主要强项。下面是更详细的解释:

1. MoveIt 适用范围

        MoveIt 适用于运动规划而非实时控制。MoveIt 的设计初衷是为机器人提供路径规划工具,帮助机器人规划出不与环境碰撞的可行路径,适用于自由运动或复杂环境中的路径计算。它的主要功能集中在:

  • 路径规划:基于环境信息和目标位置计算最优路径。
  • 碰撞检测:确保机械臂在规划路径时避免与环境中的物体发生碰撞。
  • 逆运动学:帮助找到末端执行器(如夹爪)在空间中的姿态对应的关节角度配置。

这些功能是离线或在线路径规划时非常重要的,但它们并不适用于实时的力/位置混合控制任务。

2. 力控制框架与 MoveIt 的区别

        机械臂的力控制(Force Control)要求能够根据传感器数据(例如力/扭矩传感器)的反馈,实时调整机械臂的运动或受力。这通常用于以下场景:

  • 接触控制:例如装配任务、打磨任务,机械臂需要在执行过程中与环境表面保持一定的力。
  • 柔顺控制:允许机械臂在特定方向上产生柔顺的运动,以避免对接触物体施加过大的力。

这种实时的力控制,需要高频率的控制回路,通常通过以下工具或方法实现:

  • 力/位置混合控制器:如 ros_controllers 中的 Cartesian Impedance Controller,或者基于力传感器的自定义控制器。
  • ROS 力矩控制包:例如 ros_control 提供的 force_torque_sensor_controller,用于结合力传感器的数据进行控制。
  • 力矩控制模式:很多机械臂控制器(如 KUKA、Universal Robots)提供了力矩控制模式,直接在硬件层面控制机械臂各关节的力矩输出。

3. 力控方法

3.1 直接力控制 (Direct Force Control)

        直接力控制旨在实时控制机器人末端执行器施加的力。通过使用力传感器实时监测施加的力,控制系统可以动态调整机器人的运动,以确保施加力与目标力相匹配。这种控制方式适用于需要精确施加力的应用,如自动化装配、打磨或焊接等。

3.2 间接力控制 (Indirect Force Control)

        间接力控制通过控制机器人的运动来间接实现对施加力的控制。这种方法通常依赖于机器人模型和动态响应,以调整关节或末端的运动来影响力的输出。间接力控制可以细分为几种主要方法:

3.2.1 柔顺控制 (Compliant Control)

        柔顺控制的目标是使机器人在与环境交互时具有一定的柔顺性。它允许机器人在一定范围内根据外部力进行适应,从而减少冲击或损伤。

        被动柔顺 (Passive Compliance)

被动柔顺通过机械设计(如弹簧、阻尼器等)实现,不需要控制系统的实时调整。机器人在受到外力时能够自然变形,以缓冲冲击或适应环境变化。

        主动柔顺 (Active Compliance)

        主动柔顺需要实时反馈和控制系统的参与。机器人根据力传感器的反馈动态调整运动,以确保施加的力在期望范围内,提供更高的适应能力。

3.2.2 阻抗控制 (Impedance Control)

        阻抗控制通过设置力与位移之间的动态关系来实现对力的控制。机器人能够根据外部力的变化调整其运动,表现出一定的“阻抗”,类似于弹簧的行为。

3.2.3 导纳控制 (Admittance Control)

        导纳控制与阻抗控制相对,主要关注在施加一定的力后,机器人如何反应以改变其运动状态。它允许机器人根据施加的力来调整其位移或速度,从而达到柔顺交互的效果。

3.3 力/位混合控制 (Force/Position Hybrid Control)

        力/位混合控制结合了位置控制和力控制的特性。在抛光或打磨过程中,机械臂需要精确控制末端执行器的位置以跟随工作表面,同时保持恒定的接触力。这种情况下,机器人通过力位控制可以实现目标,即在表面移动时保持适当的施加力,以确保均匀的表面处理效果。例如,打磨时,机械臂可以通过力传感器实时监测施加的力,并根据反馈调整移动速度,以保持恒定的打磨压力。

4. 使用 ROS Control 框架

ROS 提供了ros_control框架,该框架为机械臂的实时控制提供了接口。力控可以通过创建自定义控制器并使用此框架来实现:

  • Position Controller:控制机械臂的关节位置,适用于导纳控制。
  • Effort Controller:直接控制关节的力矩,适用于阻抗控制。
  • Velocity Controller:控制机械臂关节的速度,常用于结合导纳控制的实现。

5. 创建自定义控制器

在 ROS 中,通常需要根据具体的控制需求编写一个自定义控制器:

  • 使用 ROS Control 中的控制器框架,在控制器中订阅外部的传感器数据(例如,力传感器)。
  • 实现实时反馈逻辑:比如,当检测到力传感器的输出超出预设范围时,调整机械臂末端的速度或关节位置。

6. 集成力传感器与反馈回路

  • 力传感器的集成:机械臂末端通常安装力/力矩传感器,实时采集与外部环境的力反馈。
  • 数据处理:通过订阅力传感器的 ROS 话题,将采集到的力数据输入到自定义控制器中。
  • 反馈控制:根据力传感器数据,控制器实时调整机械臂的运动参数(位置、速度或力),以保持恒定的接触力。

7. 求解雅可比矩阵进行速度控制

在实现笛卡尔空间的末端速度控制时,通常需要求解雅可比矩阵,将末端的线速度和角速度转换为各关节的速度。此过程可以通过 ROS 中的 Orocos KDL 库实现:

  • 雅可比矩阵求解:Orocos KDL 库提供了直接的雅可比矩阵求解函数,用于笛卡尔空间与关节空间之间的转换。
  • 速度控制:通过求解雅可比矩阵,实时调整机械臂末端的速度,实现对外力的响应。

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

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

相关文章

Wordpress—一个神奇的个人博客搭建框架

wordpress简介 在当今数字化的时代,拥有一个属于自己的个人博客,不仅可以记录生活点滴、分享专业知识,还能展示个人风采。而在众多的博客搭建框架中,Wordpress 以其强大的功能和灵活性脱颖而出。今天,就让我们一起深入…

大数据研究实训室建设方案

一、概述 本方案旨在提出一套全面的大数据研究实训室建设策略,旨在为学生打造一个集理论学习与实践操作于一体的高端教育环境。实训室将专注于培养学生在大数据处理、分析及应用领域的专业技能,通过先进的设施配置、科学的课程体系和实用的实训模式&…

红黑树的底层讲解

一、红黑树的介绍 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是红(red)或黑(black)。通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红…

linux环境下的程序设计与git操作

目录 前言: 进度条小程序: 先介绍几个背景知识 代码实现 Git操作 总结 其他指令 前言: 本文将重点介绍1. linux下的程序设计,并使用linux下的几个函数接口。实现一个简单的小程序 2.本着开源精神,进行git操作。…

Vue详细入门(语法【三】)

今天滴的学习目标!!! Vue组件是什么?组件的特性和优势Vue3计算属性Vue3监听属性 在前面Vue详细入门(语法【一】——【二】)当中我们学习了Vue有哪些指令,它的核心语法有哪些?今天我们…

(AtCoder Beginner Contest 375) 题解(下)

一、题解 第 E 题 3 Team Division 一眼看像背包,观察数据范围,合法的总能力值 ≤ 500 \le 500 ≤500,那么我们可以设计一个背包DP: int dp[110][510][510]; //dp[i][j][k] 表示前 i 个人,分给第一组的能力值是 j&…

微服务架构 --- 使用Seata处理分布式事务

目录 一.Seata 是什么? 1.Seata的核心架构: 2. Seata的分布式事务处理流程: 二.Seata的基本使用: 1.环境准备: 2.引入依赖: 3.加入配置来使用Seata: (1)首先在nacos上添加一…

免费版视频压缩软件:让视频处理更便捷

现在不少人已经习惯通过视频来记录生活、传播信息和进行娱乐的重要方式。但是由于设备大家现在录制的文件都会比较大,这时候就比较需要一些缩小视频的工具了。今天我们一起来探讨视频压缩软件免费版来为我们带来的生动世界。 1.Foxit视频压缩大师 链接直达&#x…

ESP32移植Openharmony外设篇(1)MQ-2烟雾传感器

外设篇 实验箱介绍 旗舰版实验箱由2部分组成:鸿蒙外设模块(支持同时8个工作)、鸿蒙平板。 其中,鸿蒙平板默认采用RK3566方案。 OpenHarmony外设模块采用底板传感器拓展板方式,底板默认采用ESP32方案,也…

青少年编程能力等级测评CPA C++一级试卷(1)

青少年编程能力等级测评CPA C一级试卷(1) 一、单项选择题(共20题,每题3.5分,共70分) CP1_1_1.在C中,下列变量名正确的是( )。 A.$123 B&#…

Redis 的安装与部署(图文)

前言 Redis 暂不支持Windows 系统,官网上只能下载Linux 环境的安装包。但是启用WSL2 就可以在Windows 上运行Linux 二进制文件。[要使此方法工作,需要运行Windows 10 2004版及更高版本或Windows 11]。本文在CentOS Linux 系统上安装最新版Redis&#xf…

【C++】unordered_set、unordered_map超详细封装过程,处理底层细节

🚀个人主页:小羊 🚀所属专栏:C 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 前言1、数据泛型2、迭代器2.1 重载2.2 begin、end2.3 const迭代器2.4 unordered_map中[]重载 3、特殊类型 总结 前…

如何设计开发RTSP直播播放器?

技术背景 我们在对接RTSP直播播放器相关技术诉求的时候,好多开发者,除了选用成熟的RTSP播放器外,还想知其然知其所以然,对RTSP播放器的整体开发有个基础的了解,方便方案之作和技术延伸。本文抛砖引玉,做个…

Unity 实战案例全解析 实现时间停止效果+世界变灰

画面里运动的那个小玩意这么写 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Partol : MonoBehaviour {public Transform pos1;public Transform pos2;public float speed;private Transform target;void Start() {target p…

前端开发攻略---取消已经发出但是还未响应的网络请求

目录 注意&#xff1a; 1、Axios实现 2、Fetch实现 3、XHR实现 注意&#xff1a; 当请求被取消时&#xff0c;只会本地停止处理此次请求&#xff0c;服务器仍然可能已经接收到了并处理了该请求。开发时应当及时和后端进行友好沟通。 1、Axios实现 <!DOCTYPE html> &…

性能测试工具JMeter

本次使用的博客系统的url&#xff1a; http://8.137.19.140:9090/blog_edit.html 1. JMeter介绍 环境要求&#xff1a;要求java&#xff0c;jdk版本大于8&#xff1b; Apache JMeter 是 Apache 组织基于 Java 开发的压⼒测试⼯具&#xff0c;⽤于对软件做性能测试&#xff1b…

带新手用一套坦克大战搞定Java核心编程

有不少在校大学生朋友私信笔者&#xff0c;觉得现在的Java教程学的比较枯燥&#xff0c;有没有能学到基础知识同时还有做项目感觉的教程。因为笔者最早接触Java时学的是马士兵老师、韩顺平老师这样的大佬当时出的教程&#xff0c;尤其印象深刻的是二位大佬的坦克大战项目&#…

基于DSP+ARM+FPGA的电能质量分析仪的软件设计

软件设计是电能质量设备的核心内容&#xff0c;上述章节详细介绍了电能质量参数的 算法&#xff0c;并且通过仿真实验进行了验证&#xff0c;本章将结合现代电能质量监测设备需求实 现算法在实际电网中应用。根据设计的电能质量分析仪的需求分析&#xff0c;进行总体的 软件…

Java筑基之路:运算符深入(下)

&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d; &#x1f947;博主昵称&#xff1a;小菜元 &#x1f35f;博客主页…

计算机网络:数据链路层 —— 共享式以太网

文章目录 共享式以太网CSMA/CD 协议CSMA/CD 协议 的基本原理 共享式以太网的争用期共享式以太网的最小帧长共享式以太网的最大帧长共享式以太网的退避算法截断二进制指数退避算法 共享二进制以太网的信道利用率使用集线器的共享式以太网10BASE-T 共享式以太网 共享式以太网是当…