OCS2工具箱

实时系统优化控制工具箱
参考视频:ETH 最优控制/MPC 实时求解器 OCS2 使用入门
参考文档:OCS2 求解器入门

选择OCS2

OCS2 是一个 MPC 实时求解器 (SLQ/iLQR),依赖 Pinocchio 构建机器人动力学模型,采用 RViz 或者 RaiSim 验证 (Rollout)。

OCS2介绍

(1)最优控制实时系统
(2)C++库:fast MPC 在高维系统
(3)提供了一个统一接口:先进的优化控制求解器
(4)提供了ROS接口,Python接口,通过CppADCodeGen实现自动区分和代码生成,与 Pinocchi等高性能刚体库的接口
(5)缓存友好:运动学和动力学能被快速计算并且重用在cost,约束,dynamics…
(6)在机器人平台上证实可用:球形机器人,固定/移动机械臂,四足机器人

OCS2能求解的问题

实时最优控制问题
定义:时间触发的最优控制序列问题
在这里插入图片描述

OCS2求解器和他们的特征
  • DDP微分动态规划:
    (1)连续时间SLQ (2)离散时间iLQR
  • SQP:Multiple shooting 多重动态规划
  • Path INtegral Stochastic OC (PISOC)
    算法拓展:
    处理实时问题
    处理约束:(1)状态输入等式约束(2)状态(only)等式和不等式约束(松弛屏障或增广拉格朗日量)
    包含频域约束,如致动器带宽

如何对于给定的问题建立MPC

优化控制问题接口
在这里插入图片描述

定义优化控制问题

(1)定义好优化控制compoents
(2)优化控制问题三步定义:

设置控制compoents为优化控制问题
设置/共享 ReferenceManagerInterface
(可选)设置/共享 SolverSynchronizedModule

对于机器人例子,我们在一个名为RobotInterface的样板类中执行这些操作,检查这些例子:

  • Ballbot接口
  • CartpoleInterface
  • DoubleIntegrator接口
  • MobileManipulator接口
  • LeggedRobot接口

构造最优控制问题
设置如下模块:
Cost,Soft Constraints, Hard Constraints, Dynamics, Pre-computation
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
OCS2缓存友好:在cost,constraints,dynamics和他们的近似值能够共享计算量。
使用PreComputation::request弥补一般不能弥补的计算量。

同步模块
在这里插入图片描述
MPC闭环
在这里插入图片描述

如何定义问题

OCS2机器人示例建模工具和界面

常见的机器人
一般:推杆、Double-Integrator
特殊的例子:球形机器人、四旋翼无人机
复杂、拓展的例子:机械臂、腿式机器人
在这里插入图片描述
从URDF到最优控制(OCP)问题
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

[LeetCode] 2.两数相加

一、题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个…

react native引用原生组件时无法显示的问题处理

最近有个需求,要在react native中嵌入一个原生的视频组件,同事嵌入后发现有问题: 内容无法显示 https://musicfe.com/rn-android-webview 参考这个方法,在嵌入之后调用一下。 public void manuallyLayoutChildren(View view) {int width v…

【前端笔记】ant-design-vue 3.x使用modal.method()自定义content内容小记

在一次编写业务代码时,碰到了一种既想要Modal.success样式,有想要定制其content内容的情况。 大部分情况下,使用Modal.method()这种方式时,可能content内容固定都是字符串,那如果想要做更高级的交互怎么办&#xff1f…

1.计算机系统概述

目录 一. 计算机的发展 二. 计算机硬件的基本组成 三. 各个硬件的工作原理 (1)主存储器 (2)运算器 (3)控制器 (4)一个例子 四. 计算机系统的层次结构 五. 计算机的性能指标…

【Mysql】Mysql中表连接的原理

连接简介 在实际工作中,我们需要查询的数据很可能不是放在一张表中,而是需要同时从多张表中获取。下面我们以简单的两张表为例来进行说明。 连接的本质 为方便测试说明,,先创建两个简单的表并给它们填充一点数据: …

Redis Functions 介绍(二)

首先,让我们先回顾一下上一篇讲的在Redis Functions中关于将key的名字作为参数和非key名字作为参数的区别,先看下面的例子 首先,我们先在一个Lua脚本文件mylib.lua中定义如下的库和函数 //--------------------mylib.lua 文件开始 --------…

SpringBoot项目从resources目录读取文件

SpringBoot 从 resources 读取文件 使用 Spring 给我们提供的工具类来进行读取 File file org.springframework.util.ResourceUtils.getFile("classpath:人物模板.docx");可能读取失败,出现如下错误: java.io.FileNotFoundException: clas…

C语言实现九九乘法表

学习C语言后&#xff0c;我们会发现打印九九乘法表是很简单的&#xff0c;话不多说&#xff0c;我们上代码&#xff01; 目录 1.函数代码 2.运行结果 1.函数代码 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() {int i 1;int j 1;int n 0;//行数in…

Instant-NGP论文笔记

文章目录 论文笔记 论文笔记 instant-ngp的nerf模型与vanilla nerf的模型架构相同。 instant-ngp的nerf模型包含两个MLP&#xff0c;第一个MLP就两个全连接&#xff0c;输入维度是32&#xff08;16层分辨率x2&#xff09;&#xff0c;输出是16&#xff08;用于预测密度&#x…

【LeetCode每日一题合集】2023.9.18-2023.9.24(⭐拓扑排序⭐设计数据结构:LRU缓存实现 LinkedHashMap⭐)

文章目录 337. 打家劫舍 III&#xff08;树形DP&#xff09;2560. 打家劫舍 IV&#xff08;二分查找动态规划&#xff09;LCP 06. 拿硬币&#xff08;简单贪心模拟&#xff09;2603. 收集树中金币⭐思路——拓扑排序删边 2591. 将钱分给最多的儿童&#xff08;分类讨论&#xf…

记一次pdjs时安装glob出现,npm ERR! code ETARGET和npm ERR! code ELIFECYCLE

如往常一样&#xff0c;我使用pdjs来编译proto文件&#xff0c;但出现了以下报错&#xff1a; 大致就是pdjs的util在尝试执行npm install glob^7.2.1 escodegen^1.13.0时出错了 尝试手动执行安装&#xff0c;escodegen被正确安装&#xff0c;但glob^7.2.1出错 npm ERR! code E…

Redis那些事儿(三)

文章目录 1. 前言2. 常用api介绍3. 需求假设&#xff08;获取离我最近的停车场&#xff09;4. 代码示例 1. 前言 接着上一篇Redis那些事儿&#xff08;二&#xff09; &#xff0c;这一篇主要介绍Redis基于Geo数据结构实现的地理服务&#xff0c;它提供了一种方便的方式来存储和…

库房管理软件采购申请流程代码实现解析

300rmb掏了个javavue2的小系统&#xff0c;学习代码&#xff0c;调整下申请流程。 原有的入库流程是&#xff0c;库管&#xff08;admin&#xff09;提出采购申请给采购员&#xff08;caigou&#xff09;&#xff0c;采购员采购入库时点击入库完成采购入库流程。 想弄清后端代…

非关系型数据库Redis的安装【Linux】及常用命令

前言 Redis&#xff08;Remote Dictionary Server&#xff09;是一种开源的内存数据库管理系统&#xff0c;它以键值存储方式来存储数据&#xff0c;并且支持多种数据结构&#xff0c;如字符串、哈希、列表、集合、有序集合等。Redis最初由Salvatore Sanfilippo开发&#xff0c…

数据分析实战 | 关联规则分析——购物车分析

目录 一、数据及分析对象 二、目的及分析任务 三、方法及工具 四、数据读入 五、数据理解 六、数据预处理 七、生成频繁项集 八、计算关联度 九、可视化 一、数据及分析对象 数据集链接&#xff1a;Online Retail.xlsx 该数据集记录了2010年12月01日至2011年12月09日…

Docker 修改镜像的Digests值

最近工作中遇到个事情&#xff0c;我在本地虚拟机导出的镜像&#xff0c;导入到服务器发现镜像的digests是<none>&#xff0c;网上找了半天发现没有相关的解决方案&#xff0c;服务器上的源码是通过镜像的hash值拉取镜像没有Tag&#xff0c;镜像digests为<none>很痛…

21. 合并两个有序链表

Problem: 21. 合并两个有序链表 文章目录 思路1 递归实现2 迭代实现 Code 思路 方法1 递归实现 方法2 迭代实现 1 递归实现 分析问题 对于本题&#xff0c;合并两个有序链表A和B&#xff0c;mergeTwoLists&#xff08;A,B&#xff09;&#xff0c;递归只需要关注本层我要干什么…

性能优于BERT的FLAIR:一篇文章入门Flair模型

文章目录 What is FLAIR&#xff1f;FLAIR ModelContextual String Embedding for Sequence Labelingexample FLAIR Application AreaSentiment AnalysisNamed Entity RecognitionText Classification FLAIR一、什么是FLAIR&#xff1f;二、FLAIR Library的优势是什么&#xff…

23年面试总结

网易一面 231026 0、介绍下你自己 1、具体负责的工作内容 系统的建设与维护工作。环境搭建与维护、巡检、容量规划、CICD流水线管理、可观测指标建立、监控告警处理&#xff0c;用户的请求事件问题处 2、介绍一下http协议 http协议&#xff08;hyper text transfer protoco…

突破性技术!开源多模态模型—MiniGPT-5

多模态生成一直是OpenAI、微软、百度等科技巨头的重要研究领域&#xff0c;但如何实现连贯的文本和相关图像是一个棘手的难题。 为了突破技术瓶颈&#xff0c;加州大学圣克鲁斯分校研发了MiniGPT-5模型&#xff0c;并提出了全新技术概念“Generative Vokens "&#xff0c…