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

Adding Trajopt_Ifopt option to all examples #389

Merged
merged 25 commits into from
Feb 17, 2024

Conversation

rjoomen
Copy link
Contributor

@rjoomen rjoomen commented Oct 2, 2023

Examples

  • car_seat_example
  • freespace_hybrid_example
  • pick_and_place_example
  • puzzle_piece_auxillary_axes_example (but "TrajOpt IFOPT currently does not support dynamic cartesian waypoints!")
  • puzzle_piece_example

Other examples

  • basic_cartesian_example (already present)
  • glass_upright_example (already present)
  • online_planning_example (always Ifopt)
  • scene_graph_example (no planning involved)
  • freespace_ompl_example (OMPL only)
  • glass_upright_ompl_example (OMPL only)

Other

@rjoomen
Copy link
Contributor Author

rjoomen commented Oct 2, 2023

@Levi-Armstrong I can't get the car_seat_example to place the seat using Ifopt. Could you take a look? Maybe my choice of parameters is wrong.

@Levi-Armstrong
Copy link
Contributor

@Levi-Armstrong I can't get the car_seat_example to place the seat using Ifopt. Could you take a look? Maybe my choice of parameters is wrong.

I will take a look, but I am not surprised that this was is not working with the Ifopt version based on our discussion about the collision implementation. I am working on moving the collision utilities to trajopt_common so we can update the legacy code to help compare the two.

Copy link

codecov bot commented Nov 21, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (981dd03) 85.62% compared to head (97fb925) 85.62%.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #389   +/-   ##
=======================================
  Coverage   85.62%   85.62%           
=======================================
  Files         221      221           
  Lines       14681    14681           
=======================================
  Hits        12571    12571           
  Misses       2110     2110           

@Levi-Armstrong
Copy link
Contributor

I imagine some the issues my be resolved with the latest fixes in TrajOpt 0.7.2 release. Does this release fix any of the examples?

@rjoomen rjoomen force-pushed the ifopt_examples branch 2 times, most recently from 74c2484 to 9a491b9 Compare November 28, 2023 21:07
@rjoomen rjoomen force-pushed the ifopt_examples branch 2 times, most recently from 70477a3 to 6086340 Compare December 15, 2023 06:17
@rjoomen rjoomen force-pushed the ifopt_examples branch 3 times, most recently from bb38344 to ff8389f Compare January 10, 2024 08:33
@rjoomen rjoomen marked this pull request as ready for review January 10, 2024 12:32
@rjoomen
Copy link
Contributor Author

rjoomen commented Jan 10, 2024

All applicable examples have an Ifopt option added now. I got the car_seat_example working, the puzzle_piece_example and pick_and_place_example do not converge, so I disabled their unit tests.

This is ready for review now.

(BTW: The CI fails on the unrelated LoadAndExportPluginTest.)

@Levi-Armstrong
Copy link
Contributor

@rjoomen I think you just need to update a unit test because you modified the task_composer_plugins.yaml.

@Levi-Armstrong
Copy link
Contributor

@rjoomen It looks like another test is failing.

2024-01-17T19:43:15.0335977Z 5: [ RUN      ] TesseractExamples.GlassUprightTrajOptExampleUnit
2024-01-17T19:43:15.2321985Z 5: Info:    glass upright plan example
2024-01-17T19:43:15.2390217Z 5: Program: Composite Instruction, Description: Tesseract Composite Instruction
2024-01-17T19:43:15.2391605Z 5: Program: {
2024-01-17T19:43:15.2394743Z 5: Program:   Move Instruction, Move Type: 0, State WP: Pos=   -0.4  0.2762       0 -1.3348       0  1.4959       0
2024-01-17T19:43:15.2396646Z 5: , Description: Start Instruction
2024-01-17T19:43:15.2399950Z 5: Program:   Move Instruction, Move Type: 0, State WP: Pos=    0.4  0.2762       0 -1.3348       0  1.4959       0
2024-01-17T19:43:15.2401575Z 5: , Description: freespace_plan
2024-01-17T19:43:15.2402084Z 5: Program: }
2024-01-17T19:43:15.2882494Z 5: Info:    1 JointVelTermInfo coeffs given. Applying to all 7 joints
2024-01-17T19:43:15.2883310Z 5: Info:    1 JointVelTermInfo targets given. Applying to all 7 joints
2024-01-17T19:43:15.6667157Z 5: Info:    TrajOptMotionPlannerTask motion planning failed (Failed to find valid solution) for process input: Tesseract Composite Instruction
2024-01-17T19:43:15.6673985Z 5: Info:    Planning took 0.404566 seconds.
2024-01-17T19:43:15.6674984Z 5: Info:    Final trajectory is collision free
2024-01-17T19:43:15.6696994Z 5: /__w/tesseract_planning/tesseract_planning/target_ws/src/tesseract_examples/test/glass_upright_example_unit.cpp:25: Failure
2024-01-17T19:43:15.6698239Z 5: Value of: example.run()
2024-01-17T19:43:15.6698726Z 5:   Actual: false
2024-01-17T19:43:15.6699117Z 5: Expected: true
2024-01-17T19:43:15.6706477Z 5: [  FAILED  ] TesseractExamples.GlassUprightTrajOptExampleUnit (639 ms)

@rjoomen
Copy link
Contributor Author

rjoomen commented Jan 18, 2024

Yes, weird, because it does pass on stable. I'll look into it.

@rjoomen
Copy link
Contributor Author

rjoomen commented Feb 16, 2024

I worked a fix this weekend and should have PR up this coming weekend.

All examples are working now (with PR tesseract-robotics/trajopt#387), I think this is good to go once that PR is merged, Thanks, Levi.

@Levi-Armstrong
Copy link
Contributor

@rjoomen Does the car seat work with Ifopt?

@Levi-Armstrong
Copy link
Contributor

I will review this over the weekend.

@Levi-Armstrong
Copy link
Contributor

Please squash merge, after CI is passing.

@Levi-Armstrong
Copy link
Contributor

It looks like the pick and place example for ifopt is failing.

@Levi-Armstrong
Copy link
Contributor

@rjoomen I pushed a commit fixing the pick and place example. I just had to update the configuration to match the original trajopt and everything was able to plan. It is starting to look like the ifopt version now aligns with the legacy trajopt.

@rjoomen
Copy link
Contributor Author

rjoomen commented Feb 17, 2024

I am not allowed to merge, as the stable checks are marked as required and did not pass. (Is it correct they should be required?)

@Levi-Armstrong Levi-Armstrong merged commit c791e74 into tesseract-robotics:master Feb 17, 2024
10 of 13 checks passed
@Levi-Armstrong
Copy link
Contributor

@rjoomen Thank you!

@rjoomen rjoomen deleted the ifopt_examples branch February 17, 2024 21:02
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.

3 participants