Skip to content

Commit 16bc78b

Browse files
Nikos-dgallantandreAndre Gallant
authored
Summer2025refactor (#40)
* State as of 2025-07-24 * Switch to Clion for experimentation * Cleanup * trying to figure out why Clion is not configuring properly * clean * Continue cleanup * Major format change Continue cleanup * Add manipulator and world * finish porting blast_rush * bughunt * Adding tests and validating (1) * Adding tests and validating (2) * hunting for performance difference between old blast and generic manipulators. * Implement Tracy Start SQP port * Initial port of nlopt sqp. * Still debugging sqp. Different behavior between Debug and Release. * SQP port works * comments * Fixed get_link6_task() * Functional example_manipulator + accelerations * Added accelerated distance functions * WIP constraint_with_segments * Configure default build for CMAKE with Clion * Add new sqp function with blast structures. * Add elements in the Optimization struct to facilitate * Added to the WIP constraints_with_segments - added test to change INF_REAL to 1e300 (limits branching) * small cleanup * Add the actual constraints in the new segment constraints function * WIP Most PVA gradients are good. Needs testing. * WIP added torque gradients. Needs testing * Simplified gradient coeff for position * Added analytical gradients for dvj/dT and daj/dT - also cleaned up center and half_range that are not necessary anymore for bound constraint of pos * Test for analytical gradients dvj/dT & daj/dT * Merging with some cleanup. Beginning of torque gradient cleanup * Initial gradient function for Segments * NEW constraint_with_segments works + tested - There is still an issue with the optimization using constraint_with_segments - constraints + gradients are calculated 9-8X faster than the bruteforce method * NEW optimization_with_segment works - validated + benchmarked - 2-3X faster than OG * Cleanup SQP function * Example_manipulator loops initial guesses for better testing * Remove random 1.01 magic constants in the constraints * Remove equality constraints in the SQP function * cleanup and add std::array for some manipulator fields. * WIP Added collision constraints. Not currently working in an optimization. * Comment out constraints with no gradient because it is now broken with the collision constraints. * Fixed collisions with segment + merge - merged eval_manipulator.cpp (initial benchmark for accelerations) * Acceleration with all constraints (eval_manip) Reworked the amount of constraints we compute : - TCP speed 1 per point - Self Collisions 1 per point (worst) - External Collisions 1 per point (worst) * Added guess functions per segments * Benchmarks for UR5e are working * Added worst col per capsule (external) - Launching benchmark for UR5e with this commit * Paper 2 final benchmarks Needs cleanup * ICRA2026 cleanup --------- Co-authored-by: Andre Gallant <gallantandre@gmail.com> Co-authored-by: Andre Gallant <andre.gallant@umoncton.ca> Co-authored-by: Andre Gallant <gallantandre@umoncton.ca>
1 parent 5ce005e commit 16bc78b

178 files changed

Lines changed: 3679805 additions & 9067 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.clang-format‎

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
Language: Cpp
3+
BasedOnStyle: LLVM
4+
AccessModifierOffset: -4
5+
AlignConsecutiveAssignments: Consecutive
6+
AlignConsecutiveDeclarations: Consecutive
7+
AlignOperands: true
8+
AlignTrailingComments:
9+
Kind: Always
10+
OverEmptyLines: 1
11+
AlwaysBreakTemplateDeclarations: Yes
12+
PointerAlignment: Left
13+
BreakBeforeBraces: Attach
14+
BreakConstructorInitializers: AfterColon
15+
ColumnLimit: 0
16+
PackConstructorInitializers: CurrentLine
17+
ContinuationIndentWidth: 8
18+
IncludeCategories:
19+
- Regex: '^<.*'
20+
Priority: 1
21+
- Regex: '^".*'
22+
Priority: 2
23+
- Regex: '.*'
24+
Priority: 3
25+
IncludeIsMainRegex: '([-_](test|unittest))?$'
26+
IndentCaseLabels: true
27+
IndentWidth: 2
28+
InsertNewlineAtEOF: true
29+
MacroBlockBegin: ''
30+
MacroBlockEnd: ''
31+
MaxEmptyLinesToKeep: 2
32+
NamespaceIndentation: None
33+
SpaceAfterCStyleCast: true
34+
SpaceAfterTemplateKeyword: false
35+
SpaceBeforeRangeBasedForLoopColon: false
36+
SpaceInEmptyParentheses: false
37+
SpacesInAngles: false
38+
SpacesInConditionalStatement: false
39+
SpacesInCStyleCastParentheses: false
40+
SpacesInParentheses: false
41+
TabWidth: 2
42+
...

‎.gitignore‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
.vscode/
55
.vs/
66
build/
7-
MDA_tests/
8-
97

108

119
### Standard C++ ignores

‎.idea/.name‎

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎.idea/cmake.xml‎

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎.idea/codeStyles/Project.xml‎

Lines changed: 113 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎.idea/codeStyles/codeStyleConfig.xml‎

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎.idea/dictionaries/project.xml‎

Lines changed: 23 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)