实时最优控制(Real-Time Optimal Control)工具

系列文章目录


前言

许多现代控制方法,如模型预测控制(model-predictive control),在很大程度上依赖于实时解决优化问题。特别是,高效解决优化控制问题的能力使复杂机器人系统在实现高动态行为(highly dynamic behaviors)方面取得了许多最新突破。以实时性能(real-time performance)解决这些优化问题的能力极具挑战性,目前是机器人学(robotics)、航空航天(aerospace)、运筹学(operations research)、金融学(finance)等众多学科中一个非常活跃的研究领域。为了让那些可能不具备非线性优化(nonlinear optimization)、动力学(dynamics)或控制(control)方面必要背景的从业人员更容易使用这些功能强大的方法,机器人社区开发了几款开源软件包,专门用于设置和解决最优控制问题。本教程式研讨会面向广大听众,旨在让社区了解这些软件包的优点,并重点介绍现代最优控制技术最近取得的成功。


 

一、求解器

1.1 TrajectoryOptimization.jl

卡内基梅隆大学机器人探索实验室用 Julia 编程语言开发了一套工具,用于设置和解决轨迹优化(trajectory optimization)问题。他们的核心求解器 ALTRO 使用迭代 LQR (iLQR) 和增强拉格朗日法 (augmented Lagrangian method,ALM) 来处理一般路径约束,并结合主动集方法(active-set method)来完善解决方案。尽管 ALTRO 是用高级编程语言编写的,但它在凸规划(convex programs)、二阶锥规划(second-order cone programs)和一般非线性轨迹优化(general nonlinear trajectory optimization)问题上的表现令人印象深刻。它能原生处理三维旋转,在李代数(Lie algebra)上执行优化,并使用单位四元数(unit quaternions)作为全局参数化(global parameterization)。

1.2 OCS2

OCS2 是专为切换系统(Switched Systems)优化控制(Optimal Control of Switched Systems,OCS2)定制的 C++ 工具箱。该工具箱提供了连续时间域(称为 SLQ)和离散时间域(称为 iLQR)中微分动态规划(Differential Dynamic Programming,DDP)算法的高效实现。OCS2 通过增强拉格朗日法(augmented Lagrangian)和松弛障碍法处理一般路径约束。为便于在机器人任务(robotic tasks)中应用 OCS2,它为用户提供了额外的工具,以便根据 URDF 模型设置系统动力学(如运动学或动力学模型)和成本/约束(如避免自碰撞(self-collision avoidance)和末端执行器跟踪(end-effector tracking))。该库还提供了一个自动微分(automatic differentiation)工具,用于计算系统动力学(dynamics)、约束(constraints)和成本(cost)的导数。该工具箱的实现高效且数值稳定(numerically stable),加上其用户友好的界面,为在机载计算能力有限的众多机器人应用中以 MPC 方式部署该工具箱铺平了道路。

1.3 Crocoddyl

Crocoddyl 是一种优化控制求解器,用于机械臂(manipulator)和足式机器人(legged robots)的全身模型预测控制(whole-body model predictive control)。它从一开始就建立在前端(成本和约束图(graph of cost and constraints)、积分器(integration)、函数及其导数的评估)和后端(数值约束求解器(numerical constrained solver))的分离之上。在提供通用接口的同时,前端主要基于刚体动力学库 Pinocchio,该库使 Crocoddyl 能够非常高效地评估成本、动力学及其导数,并提供代码生成整个计算的可能性。对于足式机器人,接触约束条件可直接在机器人动力学内部处理,并采用独创算法求解,从而实现稳健高效的评估。评估图的构建遵循 "先离散,后求解 "(discretize first, solve second)的方法,实现了后端和前端的完全解耦。我们提出了几种后端求解器,它们大多是 DDP 算法的变体。主要的 DDP 求解器实现了多重射击策略(multiple shooting strategy)和盒式约束(box constraints)。我们正在发布一个等式/不等式约束增强拉格朗日求解器(equality/inequality-constraint augmented Lagrangian solver)和一个能够考虑外部参数(如接触位置(contact location)、定时(timings)或编码设计参数(codesign parameters))的求解器。Crocoddyl 已用于在仿人机器人、机械臂和四足机器人上实现带有低级扭矩伺服(low-level torque servo)的在线全身模型预测控制(online whole-body model predictive control)。将提出复制控制器的指导原则。Crocoddyl 也是一项基于开放源代码和 BSD-3 许可的国际合作项目。它由法国国家科学研究中心(LAAS-CNRS)、巴黎英瑞亚公司(Inria Paris)、爱丁堡大学、牛津大学、特伦托大学、马克斯-普朗克研究所或纽约大学牵头开发。我们很高兴为新用户提供指导,也欢迎大家为我们提供帮助。

1.4 SCP Toolbox

序列凸规划(Sequential Convex Programming,SCP)工具箱是一个 Julia 库,它为一套实时序列凸编程(SCP)算法提供了解析器 - 求解器接口。高级优化控制问题解析器为用户提供了使用以下算法解决通用非凸轨迹问题(generic nonconvex trajectory problems)的能力: LCvx、SCvx、PTR 和 GuSTO。这些算法已应用于航空航天和机器人独立研究问题,可能与 NASA、SpaceX、Blue Origin 和 Masten Space Systems 等组织相关。该工具箱源于一篇最新的综合教程论文,介绍了无损凸化和 SCP 算法的理论与实践。除初学者教程外,该工具箱还提供了 8 个预定义示例,包括四旋翼飞行、NASA 阿波罗交会、火星着陆和 SpaceX 星际飞船着陆翻转

 

 

 

 

  • 19
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在CentOS上安装Sybase Open Client(OCS)需要进行以下步骤: 1. 首先,确保你已经安装了CentOS操作系统,并且具有管理员权限。 2. 下载Sybase OCS的安装文件。你需要从SAP官方网站获取合适版本的Sybase OCS安装包。下载后,将其保存到你的CentOS服务器上的合适位置。 3. 解压安装包。使用以下命令解压下载的安装包: ``` tar -xvf <sybase_ocs_package.tar.gz> ``` 4. 进入解压后的目录。使用cd命令进入解压后的目录: ``` cd <sybase_ocs_package_directory> ``` 5. 运行安装程序。使用root用户权限运行Sybase OCS的安装程序: ``` sudo ./setup.bin ``` 6. 按照安装向导的指示进行设置。根据你的需求和系统配置,选择合适的选项。在安装过程中,你将需要提供Sybase OCS的安装路径、数据库服务器信息等信息。 7. 完成安装。等待安装程序完成所有必要的步骤,并确认安装成功。 8. 配置环境变量。打开你的shell配置文件(如~/.bashrc),并添加以下行以设置Sybase OCS相关环境变量: ``` export SYBASE=/opt/sybase export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SYBASE/OCS-16_0/lib ``` 然后保存文件并执行以下命令使环境变量生效: ``` source ~/.bashrc ``` 现在你已经在CentOS上成功安装了Sybase Open Client(OCS)。你可以使用Sybase OCS提供的API和工具与Sybase数据库进行通信和交互。请注意,以上步骤仅适用于Sybase OCS的安装,如果你需要安装其他Sybase产品(如ASE或Replication Server),则需要参考相应的文档和安装指南。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值