首页 > 其他分享 >机器人控制系列教程之关节空间运动控制器搭建(2)

机器人控制系列教程之关节空间运动控制器搭建(2)

时间:2024-06-30 17:28:40浏览次数:3  
标签:教程 机器人 控制器 模块 关节 ref dot 搭建

推文:机器人控制系列教程之关节空间运动控制器搭建(1)中,主要讲解了在关节空间中,基于计算力矩的控制系统设计和搭建,我们直接使用了Simulink中的Joint Space Motion Model模块来进行控制系统的搭建和调试,下面我们将详细讲解一下另外两种控制器。

PD控制器

在基于PD控制器来控制机器人时,与计算力矩控制系统相类似,但是其输入变成了 q r e f 、 q ˙ r e f q_{ref}、\dot q_{ref} qref​、q˙​ref​,具体定义如下:

  • 输入: q r e f 、 q ˙ r e f q_{ref}、\dot q_{ref} qref​、q˙​ref​分别为期望的关节配置、速度;还可使用ExteralForce函数自定义外力和扭矩,单位为N和N·m。
  • 输出: q 、 q ˙ 、 q ¨ q、\dot q、\ddot q q、q˙​、q¨​分别为关节配置、速度、加速度,但Simulink的模块中只返回加速度,可使用积分单元模块来求解其他变量。

与计算扭矩控制一样,该系统使用了标准刚体机器人动力学,但使用PD控制器定义广义力输入Q:

其中

  • G ( q ) G(q) G(q):为所有关节保持其位置所需的力矩和力,这是由于在给定的重力下作用在机器人上的重力和力。使用gravityTorque函数计算重力力矩。详细的讲解可见:

控制器输入参数有:

  • K P K_{P} KP​ - 比例增益,指定为 N * N 矩阵,其中 N 为机器人关节数
  • K D K_{D} KD​ - 微分增益,指定为 N * N 矩阵

独立关节运动系统

在对该系统进行独立关节运动建模时,不是将闭环系统建模为标准刚体机器人动力学加控制输入,而是将每个关节建模为二阶系统,该系统已具有所需的误差行为:

  • 输入: q r e f 、 q ˙ r e f q_{ref}、\dot q_{ref} qref​、q˙​ref​分别为期望的关节配置、速度;无自定义外力和扭矩输入。
  • 输出: q 、 q ˙ 、 q ¨ q、\dot q、\ddot q q、q˙​、q¨​分别为关节配置、速度、加速度,但Simulink的模块中只返回加速度,可使用积分单元模块来求解其他变量。

下图所示为第 i 个关节建立了以下闭环二阶行为模型:

或可表示为:


因此,整个系统的模型为

  • [ ω n 2 ] d i a g {[\omega _n^2]_{diag}} [ωn2​]diag​:N * N对角线,ω为自然频率,单位Hz。
  • [ 2 ζ ω n 2 ] d i a g {[2\zeta \omega _n^2]_{diag}} [2ζωn2​]diag​:N * N对角线矩阵,ζ为阻尼比,在jointSpaceMotionModel模块的DampingRatio属性中指定。

独立关节运动模型代表了理想化行为下的闭环系统。在没有外力的情况下,假设反馈没有延迟(如连续积分),使用计算扭矩控制的运动模型会产生等效输出。

这两种控制器的切换可在Joint Space Motion Model模块的Motion Type中选择对应的控制系统,如下图所示:

往期推荐

在这里插入图片描述

标签:教程,机器人,控制器,模块,关节,ref,dot,搭建
From: https://blog.csdn.net/2301_78660208/article/details/140083487

相关文章

  • 【web】1、前端基础搭建
    1创建项目1.1选择node环境nvm(其他博主)安装教程https://blog.csdn.net/qq_43940789/article/details/126042822对应使用命令nvmlistavailable     //显示可以安装的所有node.js的版本nvminstall<version>   //安装node.js的命名version是版本号......
  • 视图与视图控制器生命周期
    在MVC模型中,V指view,负责用户界面的显示、处理用户输入,并将输入传递给控制器。C是指ViewController,充当模型和视图之间的中介。控制器接收用户输入,处理用户请求,并将结果传递给视图以更新显示。本文详细介绍在iOS开发中UIView与UIViewController的生命周期。UIView的生命周期主要......
  • 不会你打我!使用AI绘画Stable Diffusion或Midjourney创建你的专属表情包!附完整详细教程
    大家好,我是向阳相信大家对微信表情包一定非常熟悉了,可能每天都在使用别人的表情包。那么有没有想过制作自己的专属表情包呢?那您可能觉得我又不会设计,怎么制作呢?没关系,虽然不会设计,但是我们可以简单地使用一些AI辅助。不是也上架了自己制作的表情包~今天将自己通过AI制作......
  • AI绘画Stable Diffussion 实操教程: 真人图片秒变动漫风,亲手绘制你的专属动漫头像
    大家好,我是向阳你是否曾幻想过自己置身于动漫世界,拥有那些令人羡慕的二次元特征?随着人工智能技术的飞速发展,这一幻想已不再遥不可及。在本文中,我们将一起揭开StableDiffusion技术的神秘面纱,探索如何利用这一技术将你的真实照片转换成充满魅力的动漫形象。我们将一步步引导......
  • 免费ddns工具,快解析DNS解析使用教程
    DDNS(DynamicDomainNameServer),中文叫动态域名解析,主要用于没有固定公网ip的网络环境下,使用一个固定的域名,解析动态变化的ip地址,达到远程访问的目的。众所周知,目前公网ip资源非常紧缺,固定公网ip价格非常昂贵,而动态公网ip因为每天都会变,使用起来很不方便。这时DDNS的价值就提......
  • 免费ddns工具,快解析DNS解析使用教程
    DDNS(DynamicDomainNameServer),中文叫动态域名解析,主要用于没有固定公网ip的网络环境下,使用一个固定的域名,解析动态变化的ip地址,达到远程访问的目的。众所周知,目前公网ip资源非常紧缺,固定公网ip价格非常昂贵,而动态公网ip因为每天都会变,使用起来很不方便。这时DDNS的价值就提......
  • Python教程:开箱即用的Python os模块知识
    1.简介注:文末有福利领取哦Python的os模块提供了许多接口用于与操作系统进行交互,包括文件操作、目录操作、路径操作、环境变量操作、系统信息获取等。以下是os模块中常用的接口及其解释:文件和目录操作:os.remove(path):删除指定路径的文件。os.rename(src,dst):......
  • AI姓氏头像,简单到有手就行!详细教程
    这种AI姓氏头像的账号,大家都刷到过吧!阅读篇篇10万+,真是太火爆了!这种艺术字的制作方法很简单,而且是免费的!现在就给大家解密这种漂亮的艺术字是怎么做的!详细教程正式开始!大家只要跟着教程一步一步来,就能做出非常漂亮的AI形式签名!百度网盘请输入提取码百度网盘为您提供文......
  • 七、若依--P17--P18【黑马程序员Java最新AI+若依框架项目开发新方案视频教程,基于RuoYi
    学习视频【黑马程序员Java最新AI+若依框架项目开发新方案视频教程,基于RuoYi-Vue3前后端分离版本,从前端到后端再到AI智能化应用全通关】https://www.bilibili.com/video/BV1pf421B71v/?p=6&share_source=copy_web&vd_source=3949d51b57b2891ea14d6e51c792bef6二次开发P17:新......
  • RT-Thread 体验教程:1.STM32CubeMX与RT-Thread的简易化学反应
    基于STM32CubeMX与RT-Thread的入门体验教程本入门体验教程将指导你如何基于STM32CubeMX生成的工程,手动移植RT-Thread源码,并进行基础开发。关于如何使用STM32CubeMX创建工程,可以参考网上的相关教程,也可以参考本博客的文章《STM32CubeMX创建MDK工程》。1.创建RT-Thre......