SkillAgentSearch skills...

ConcurrentTrajOpt

Co-Optimization of Tool Orientations, Kinematic Redundancy, and Waypoint Timing for Robot-Assisted Manufacturing

Install / Use

/learn @Yongxue-Chen/ConcurrentTrajOpt
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Co-Optimization of Tool Orientations, Kinematic Redundancy, and Waypoint Timing for Robot-Assisted Manufacturing

Yongxue Chen, Tianyu Zhang, Yuming Huang, Tao Liu, and Charlie C.L. Wang, "Co-optimization of tool orientations, kinematic redundancy, and waypoint timing for robot-assisted manufacturing", IEEE Transactions on Automation Science and Engineering, vol.22, pp.12102-12117, April 2025. [Arxiv Paper] [Video]

Installation

Please compile the code with Qmake file "ShapeLab.pro".

Platform: Windows + Visual Studio + QT-plugin (tested version: VS2022 + QT5.14.2 + msvc2017_64)

Install Steps:

  • Install Visual Studio Extension plug-in (QT VS Tool) to open the *.pro file and generate the project
  • Set 'ShapeLab' as the Startup project
  • Change Platform Toolset for three projects (GLKLib, QMeshLib, and ShapeLab) if not matched: Property Pages -> Configuration Properties -> General->General Properties -> Platform Toolset -> choose the correct platform toolset.
  • Install required packages (1)fcl, (2)abseil, (3)armadillo, (4)gsl, and (5)gtest in the ShapeLab project. An easy way to install these packages is to use the “vcpkg”. Note: Installing fcl with vcpkg may result in a compilation error when the solution configuration is "Debug". Therefore, it is best to use the "Release" configuration.
  • Add additional library dictionaries at: ShapeLab Property Pages -> Configuration Properties -> Linker -> General -> Additional Library Dictionaries -> add two dictionaries "..\ThirdPartyDependence\libsvm" and "..\ThirdPartyDependence\osqp"
  • Enable OpenMP to get best performace at: ShapeLab Property Pages -> Configuration Properties -> C/C++ -> Language -> Open MP Support -> Select 'Yes (/openmp)'
  • Open Console at: ShapeLab Property Pages -> Configuration Properties -> Linker -> System -> SubSystem -> Select 'Console (/SUBSYSTEM:CONSOLE)'

Usage

Step 0: Load robot model: Click button Load Robots on the right side of the UI.

Step 1: Load toolpath and layer: Click button inputPathAndLayer. Some examples for testing are given in \DataSet\models

Step 2: Initialize optimization: Click button Initialize Optimization.

Step 3: Optimization: Click button Optimization. The robot joint angles, as well as the position and orientation of the tool in the base coordinate system, will be saved into \DataSet\output

Contact Information

Yongxue Chen (yongxue.chen@postgrad.manchester.ac.uk)

Charlie C.L. Wang (charlie.wang@manchester.ac.uk)

View on GitHub
GitHub Stars19
CategoryDevelopment
Updated3mo ago
Forks4

Languages

C++

Security Score

87/100

Audited on Dec 26, 2025

No findings