ZNN零化神经网络及其在机器人上的应用

1.解等式约束问题

1.1等式QP问题描述

考虑如下等式约束的时变二次规划(QP)问题:

采用拉格朗日乘数法将其转换为无约束优化问题:

对未知量求偏导:

将上式整理成矩阵的形式:

1.2ZNN解等式约束问题

定义误差函数:

ZNN模型的误差动态方程:

其中,ρ为可调参数,越大收敛越快,不同维度可以用不同的ρ。\Phi (e(t)))为ZNN神经网络激活函数。

因此,求解等式QP问题的零化神经网络ZNN模型如下:

激活函数\Phi (e(t)))的常见及改进计算方法:

(1)线性饱和激活函数

(2)Sigmoid激活函数

(3)有限时间收敛的激活函数(改进)

1.3仿真举例

考虑如下二次规划问题:

结果如下:

2.解等式和不等式约束问题

2.1等式和不等式约束问题描述

考虑如下不等式/等式约束的时变二次规划(QP)问题:

根据KKT条件,将上式写为:

其中,\lambda ^{*}(t)\mu ^{*}(t)为等式和不等式约束的拉格朗日乘子,输出y^{*}(t)如下:

将上式写成矩阵形式:

2.2ZNN解等式和不等式约束问题

定义误差函数:

动态误差方程:

ZNN迭代求解模型:

其中,\Psi (f(y(t),t))为ZNN激活函数,\gamma为可调节参数。

3.在机器人上的应用

3.1在冗余机器人及关节故障轨迹跟踪上的应用

冗余机械臂重复运动规划旨在消除冗余机械臂重复执行末端封闭轨迹任务时的关节角漂移现象,具体地,希望机械臂各关节角在一个任务周期结束后,仍然回到期望起始角度。每个任务周期以同一初始关节状态运行,可避免机械臂产生非期望的关节轨迹,有助于封闭轨迹重复作业的安全运行。机械臂轨迹规划的基本做法是基于机械臂运动学模型,通过给定的期望末端笛卡尔位置求取合适的关节角度。考虑n自由度冗余机械臂,其关节角度和末端执行器位置关系如下:

其中,r(t)为t时刻机械臂末端执行器在笛卡尔坐标系下位置坐标,θ(t)表示对应时刻的关节角度向量,f(·)表示关节角与机械臂末端位置间的非线性映射关系。两边同时求取时间导数:

其中,J(θ(t))为机器人的雅可比矩阵。则机器人的重复运动规划问题可描述为:

写成矩阵形式为:

最终效果如下:

 

3.2在线对机器人进行动力学参数辨识

3.3基于基于机器人动力学模型的实时控制

4.视频展示

ZNN零化神经网络—在机器人冗余控制及关节故障轨迹跟踪上的应用

技术/代码/文章复现/教学指导,交流邮箱/企鹅(欢迎交流、讨论、私信):3531225003@qq.com 

我的weChat:brave_gtq

打赏请链接:飞舞的哲

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HICE-day6

二层交换 交换基础 所谓的二层交换机指的是针对数据的二层头部(以太网帧头)中的MAC地址进行寻址并转发数据的交换设备。二层交换机不具备路由功能,它工作在OSI七层模型的第二层,因此被称为二层交换机。 上图中,PC1、…

ret2text

上一篇博客是对栈溢出的基本学习,做了几个题练习了一下,师兄给的建议是多用gdb,更直观,动态也可以查看寄存器和栈的变化 一、如何使用gdb 1.peda插件的安装 为了方便查看堆栈和寄存器,最好是安装peda插件&#xff0…

Ubuntu安装Gitlab详细图文教程

1、环境准备 1.1、Ubuntu环境 Ubuntu24.04Sever版安装教程 1.2、更新系统 sudo apt update -y sudo apt-get update sudo apt-get upgrade 2、安装Nginx 2.1 安装nginx # 安装 apt install nginx -y 2.2 修改nginx配置⽂件 # 修改nginx配置 vim /etc/nginx/si…

计算机网络之王道考研读书笔记-1

第 1 章 计算机网络体系结构 1.1 计算机网络概述 1.1.1 计算机网络概念 internet(互连网):泛指由多个计算机网络互连而成的计算机网络。这些网络之间可使用任意通信协议。 Internet(互联网或因特网):指当前全球最大的、开放的、由众多网络和路由器互连…

交互妙方Ethercat转Profinet网关连接雷赛伺服驱动器

客户需求:将雷赛DM3E伺服驱动器接入西门子系列PLC,该PLC使用Profinet协议通讯,而伺服驱动器为EthereCAT协议,故使用开疆智能EtherCAT转Profinet网关进行数据转换。 配置过程: 1:首先找到伺服驱动器的官网下…

TDengine 新功能 从 CSV 批量创建子表

1. 背景 我们在从一些数据源(比如关系型数据库)批量导入数据前,我们可能需批量创建出所需子表。TDengine 引擎从 v3.3.3.0 版本开始,提供了通过 CSV 文件批量创建子表的功能,使用者只要按约定的格式生成 CSV 文件&…

帮忙摆脱焦虑的「自洽」逻辑

每个人都像是一座孤岛,承载着各自的梦想、恐惧与困惑。外界的解读、评判和定义有时如同环岛的潮水,时而温柔轻拂,时而猛烈拍打,让人在自我认知中漂泊不定。 当置于艰难处境,被焦虑、抑郁等负面情绪不断吞噬&#xff0c…

二叉搜索树 平衡树(c嘎嘎版)

定义: 二叉搜索树是一种二叉树的树形数据结构,其定义如下: 空树是二叉搜索树。 若二叉搜索树的左子树不为空,则其左子树上所有点的附加权值均小于其根节点的值。 若二叉搜索树的右子树不为空,则其右子树上所有点的附加权值均大于其根节点的值。 二叉搜索树的左右子树均为…

旅游系统旅游小程序PHP+Uniapp

旅游门票预订系统,支持景点门票、导游产品便捷预订、美食打卡、景点分享、旅游笔记分享等综合系统 更新日志 V1.3.0 1、修复富文本标签 2、新增景点入驻【高级版本】3、新增门票核销【高级版】4、新增门票端口【高级版】

使用winscp从windows访问Ubuntu进行文件传输

Ubuntu 系统上的准备工作 • 安装 SSH 服务器: 确保 Ubuntu 系统上已经安装了 SSH 服务器。如果没有安装,可以使用以下命令安装: sudo apt update sudo apt install openssh-server • 启动 SSH 服务: 确保 SSH 服务正在运行&a…

Day10 苍穹外卖项目 订单搜索、各个状态的订单统计、查询订单详细、接单、拒单、取消订单、派送订单、完成订单

目录 1.订单搜索 1.1 需求分析和设计 1.2 接口设计 1.2 代码实现 1.2.1 admin/OrderController 1.2.2 OrderService 1.2.3 OrderServiceImpl 2.各个状态的订单数量统计 2.1 需求分析和设计 2.2 接口设计 2.3 代码实现 2.3.1 admin/OrderController 2.3.2 OrderService 2.3.3 Or…

智慧商城:登录页静态布局,axios请求数据切换图形验证

登录页静态布局 在src目录下新建 styles,主要用于 存放公共样式。在该文件夹下新建common.less文件,并将其在main.js中引入 将图片拷贝到src文件夹下的 assets文件夹下 完成静态布局 点击左箭头能返回到首页 所有组件头部返回左箭头颜色都是一样的&#…

uni-app开发AI康复锻炼小程序,帮助肢体受伤患者康复!

**提要:**近段时间我们收到多个康复机构用户,咨询AI运动识别插件是否可以应用于肢力运动受限患者的康复锻炼中来,插件是可以应用到AI康复锻炼中的,今天小编就为您介绍一下AI运动识别插件在康腹锻炼中的应用场景。 一、康复机构的应…

怎样设计校园物联网智慧用电平台?

安科瑞戴婷 Acrel-Fanny 相关背景 安全用电历来都是学校安全工作的一个重点,然而每年因此发生的人身伤害以及火灾事故却在继续着,究其原因,主观上是我们的防患意识淡薄,客观上则是由于学生在宿舍使用违规电器、乱拉电线造成的。…

STM32F405 + CubeMX - 产生互补PWM波,中心对齐模式1 + PWM模式2(FOC算法专用)

导言 在FOC算法里,SVPWM用于产生三相PWM波给电机。为了生成SVPWM波形,STM32的高级定时器TIM使用互补PWM的中心对齐模式1可以很好地实现。 如上图所示,按照后面的笔记来配置TIM1后,可以产生的互补PWM波形。 我们期望的SVPWM&…

【Excel】单元格分列

目录 分列(新手友好) 1. 选中需要分列的单元格后,选择 【数据】选项卡下的【分列】功能。 2. 按照分列向导提示选择适合的分列方式。 3. 分好就是这个样子 智能分列(进阶) 高级分列 Tips: 新手推荐基…

助力 Tuanjie OpenHarmony 开发:如何使用工具包 Hilog 和 SDK Kits Package?

随着团结引擎从 1.0.0 迭代至 1.3.0,越来越多的开发者开始使用团结引擎开发 OpenHarmony 应用。 在开发的过程中,我们也收到了大量反馈,尤其是在日志、堆栈和性能数据方面,这些信息对开发和调试过程至关重要。同时,我…

穷举vs暴搜vs深搜vs回溯vs剪枝系列一>找出所有子集的异或总和再求和

题目&#xff1a; 解析&#xff1a; 代码&#xff1a; private int ret;//返回周结果private int path;//枚举一个元素就异或进去public int subsetXORSum(int[] nums) {dfs(nums, 0);return ret;} private void dfs(int[] nums, int pos){ret path;for(int i pos; i <…

详解排序几大算法

一、插入排序 基本思想&#xff1a; 直接插入排序是一种简单的插入排序算法&#xff0c;其基本思想是&#xff1a;把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中&#xff0c;直到所有的记录插入完为止&#xff0c;得到一个新的有序序列。 步骤&#x…

ARMS 用户体验监控正式发布原生鸿蒙应用 SDK

作者&#xff1a;杨兰馨&#xff08;楠瑆&#xff09; 背景 2024 年 10 月 22 日&#xff0c;华为正式发布了原生鸿蒙操作系统&#xff08;HarmonyOS NEXT&#xff09;。原生鸿蒙实现了系统底座全部自研&#xff0c;系统的流畅度、性能、安全特性等方面显著提升&#xff0c;也…