Project 介绍
工具方向、运动冗余和路径点时序协同优化用于机器人辅助制造
作者:Yongxue Chen, Tianyu Zhang, Yuming Huang, Tao Liu, Charlie C.L. Wang
在本文中,作者提出了一种并发和可扩展的轨迹优化方法,以提高机器人辅助制造的质量。作者的方法在输入的包含大量路径点的工具路径上同时优化工具方向、运动冗余和路径点时序,以提高运动的平滑性,同时考虑制造约束。不同的是,现有方法总是以解耦的方式确定这些参数。为了处理工具路径上的大量路径点,我们提出了一种基于分解的数值方案,以外核(out-of-core)方式优化轨迹,该方案也可以并行运行以提高效率。通过仿真和物理实验,作者展示了他们的方法在机器人辅助增材制造示例中的性能。
“工具方向、运动冗余和路径点时序协同优化用于机器人辅助制造”,有条件接受,2024年12月。
Arxiv 论文 https://arxiv.org/abs/2409.13448
截图来源:https://www.youtube.com/watch?v=vILrYwFufUk&ab_channel=CharlieC.L.Wang
代码获取与编译
代码: https://github.com/Yongxue-Chen/ConcurrentTrajOpt
安装
请使用 Qmake 文件 "ShapeLab.pro" 编译代码。
平台:Windows + Visual Studio + QT 插件(测试版本:VS2022 + QT5.14.2 + msvc2017_64)
安装步骤:
安装 Visual Studio 扩展插件 (QT VS Tool) 以打开 *.pro 文件并生成项目
将 'ShapeLab' 设置为启动项目
更改三个项目 (GLKLib、QMeshLib 和 ShapeLab) 的平台工具集(如果不匹配):属性页 -> 配置属性 -> 常规 -> 常规属性 -> 平台工具集 -> 选择正确的平台工具集。
在 ShapeLab 项目中安装所需的软件包(1)fcl,(2)abseil,(3)armadillo,(4)gsl 和(5)gtest。使用 “vcpkg” 安装这些软件包是一个简单的方法。注意:使用 vcpkg 安装 fcl 可能会在解决方案配置为“调试”时导致编译错误。因此,最好使用“发布”配置。
在以下位置添加额外的库字典:ShapeLab 属性页 -> 配置属性 -> 链接器 -> 常规 -> 额外的库字典 -> 添加两个字典 "..\ThirdPartyDependence\libsvm" 和 "..\ThirdPartyDependence\osqp"
启用 OpenMP 以获得最佳性能:ShapeLab 属性页 -> 配置属性 -> C/C++ -> 语言 -> Open MP 支持 -> 选择 'Yes (/openmp)'
打开控制台:ShapeLab 属性页 -> 配置属性 -> 链接器 -> 系统 -> 子系统 -> 选择 'Console (/SUBSYSTEM:CONSOLE)'
使用
步骤 0:加载机器人模型:点击 UI 右侧的 Load Robots 按钮。
步骤 1:加载工具路径和层:点击 inputPathAndLayer 按钮。\DataSet\models 中提供了一些测试示例。
步骤 2:初始化优化:点击 Initialize Optimization 按钮。
步骤 3:优化:点击 Optimization 按钮。机器人关节角度以及基坐标系中工具的位置和方向将保存到 \DataSet\output 中。
CC BY 4.0许可协议
运行程序
主界面
终端输出:
hPos=12.6pTool=151.762 -88.265 188.612delete robSystemhPos=12.6pTool= 151.585 -88.7572 189.022Finish input objFinish input objFinish input objFinish input objFinish input objFinish input objFinish input obj