Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add TrajOpt Ifopt planner #443

Conversation

mpowelson
Copy link
Contributor

@mpowelson mpowelson commented Nov 12, 2020

Adds a Tesseract planner for the trajopt_ifopt planner. This planner will eventually replace the trajopt planner and is meant to be functionally equivalent. Currently only the trajopt_sqp solver (equivalent to trajopt_sco) is supported via this planner. However, we may eventually set this up such that IPOPT of SNOPT can be used too.

@mpowelson
Copy link
Contributor Author

mpowelson commented Nov 13, 2020

@Levi-Armstrong Just to keep you updated, I think this is nearing a workable state. The main thing left is the collision terms, but I think I will put that off until #426 is addressed.

There are also the obvious things like acceleration, jerk, singularity avoidance, cost from error func, etc that are not yet supported in trajopt_ifopt.

@Levi-Armstrong
Copy link
Contributor

@Levi-Armstrong Just to keep you updated, I think this is nearing a workable state. The main thing left is the collision terms, but I think I will put that off until #426 is addressed.

There are also the obvious things like acceleration, jerk, singularity avoidance, cost from error func, etc that are not yet supported in trajopt_ifopt.

Thats great. Let me know if I can help with anything.

@mpowelson
Copy link
Contributor Author

The collision term skeleton has been added. However, it will require some work in trajopt before it is usable.

@mpowelson mpowelson force-pushed the feature/trajopt_ifopt branch 3 times, most recently from ed312b7 to b1972ec Compare December 30, 2020 01:38
@mpowelson mpowelson marked this pull request as ready for review December 30, 2020 01:39
@mpowelson
Copy link
Contributor Author

@Levi-Armstrong Believe it or not, I think this is ready for review. It requires trajopt #219 which has not been merged yet.

@mpowelson mpowelson force-pushed the feature/trajopt_ifopt branch 2 times, most recently from 539f485 to 5703a57 Compare December 30, 2020 19:30
@mpowelson
Copy link
Contributor Author

Pushed a clang-tidy fix and deleted an unused cpp file

@mpowelson
Copy link
Contributor Author

@Levi-Armstrong It looks like it can't find tesseract_motion_planners-targets.cmake? Here's the error

@mpowelson mpowelson linked an issue Dec 31, 2020 that may be closed by this pull request
@Levi-Armstrong
Copy link
Contributor

@mpowelson Can you rebase on the latest?

@mpowelson mpowelson force-pushed the feature/trajopt_ifopt branch from c047ed8 to b503ace Compare January 5, 2021 00:51
@mpowelson
Copy link
Contributor Author

@mpowelson Can you rebase on the latest?

Done

@mpowelson mpowelson force-pushed the feature/trajopt_ifopt branch from b503ace to b56b160 Compare January 5, 2021 16:20
@mpowelson
Copy link
Contributor Author

@Levi-Armstrong This is ready for review. I don't know why Windows is upset.

@Levi-Armstrong
Copy link
Contributor

Ah, so the windows build is failing because there is no implementation for the toXML in the default composite and plan profiles. I would add them in the cpp and throw and exception if they are called until we have time to implement.

@codecov
Copy link

codecov bot commented Jan 7, 2021

Codecov Report

Merging #443 (fa0bd50) into feature/CommandLanguage (93a9745) will decrease coverage by 0.13%.
The diff coverage is 27.90%.

Impacted file tree graph

@@                     Coverage Diff                     @@
##           feature/CommandLanguage     #443      +/-   ##
===========================================================
- Coverage                    70.53%   70.39%   -0.14%     
===========================================================
  Files                          220      220              
  Lines                        14181    14219      +38     
===========================================================
+ Hits                         10002    10009       +7     
- Misses                        4179     4210      +31     
Impacted Files Coverage Δ
...collision/include/tesseract_collision/core/types.h 100.00% <ø> (ø)
...de/tesseract_command_language/cartesian_waypoint.h 33.33% <0.00%> (-6.07%) ⬇️
...ers/trajopt/profile/trajopt_default_plan_profile.h 100.00% <ø> (ø)
..._motion_planners/trajopt/profile/trajopt_profile.h 100.00% <ø> (ø)
...ract_motion_planners/src/trajopt/trajopt_utils.cpp 39.42% <0.00%> (-3.97%) ⬇️
...c/trajopt/profile/trajopt_default_plan_profile.cpp 53.27% <42.85%> (-1.19%) ⬇️
...nclude/tesseract_command_language/joint_waypoint.h 56.25% <50.00%> (+0.10%) ⬆️
...t/problem_generators/default_problem_generator.cpp 69.31% <75.00%> (-0.05%) ⬇️
...esseract/tesseract_collision/src/fcl/fcl_utils.cpp 88.08% <0.00%> (-0.52%) ⬇️

@Levi-Armstrong Levi-Armstrong merged commit 34aa8d3 into tesseract-robotics:feature/CommandLanguage Jan 7, 2021
Levi-Armstrong pushed a commit to Levi-Armstrong/tesseract-1 that referenced this pull request Jan 7, 2021
Levi-Armstrong pushed a commit that referenced this pull request Jan 7, 2021
@mpowelson
Copy link
Contributor Author

Thanks for fixing this by the way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

How to add toleranced joint position using TCL?
2 participants