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

Release 1.0 Task List #1098

Open
26 tasks
Levi-Armstrong opened this issue Jan 7, 2025 · 9 comments
Open
26 tasks

Release 1.0 Task List #1098

Levi-Armstrong opened this issue Jan 7, 2025 · 9 comments

Comments

@Levi-Armstrong
Copy link
Contributor

Levi-Armstrong commented Jan 7, 2025

Component updates

  • Update TOTG to match MoveIt(2), some discussion here.
  • Port Ruckig changes, here.

Support

  • Define cmake target naming convention and update all packages
  • ReadTheDocs Documentation
  • CI Debian release process
  • Prepare for and start respecting Semver once we're at 1.0, and add CI tooling to check this.
  • Clean up all outdated issues, discussions and PRs.

Trajopt-Ifopt

  • Update Trajopt-Ifopt to leverage Node Variable Set
  • Finish the weighted sum logic in Trajopt to match Trajopt-Ifopt to validate the (new) approach of the latter, here.
  • Update the osqp-eigen interface. Currently 0.6.3 is specified here, with the interface requiring work to support the latest osqp-eigen here.

Wishlist

  • Coal (formerly HPP-FCL) as a discrete collision checker, here.
  • Coal as a continuous collision checker (not started yet).
  • Add toleranced Cartesian waypoints to Trajopt-Ifopt, here.
@Levi-Armstrong Levi-Armstrong pinned this issue Jan 7, 2025
@robinsonmm
Copy link

@marrts see this discussion. Open to ideas, and comments on things like Descartes etc

@johnwason
Copy link
Contributor

RPI has also developed a very fast inverse kinematic solver IK-GEO: https://github.com/rpiRobotics/ik-geo

I had planned to work on this end of last year but may not get to it until the spring.

@aelias36 @controlguy168

@rjoomen
Copy link
Contributor

rjoomen commented Jan 9, 2025

RPI has also developed a very fast inverse kinematic solver IK-GEO: https://github.com/rpiRobotics/ik-geo

I had planned to work on this end of last year but may not get to it until the spring.

@aelias36 @controlguy168

This IK-solver might also be of interest: https://github.com/steffanlloyd/quik

@aelias36
Copy link

aelias36 commented Jan 9, 2025

RPI has also developed a very fast inverse kinematic solver IK-GEO: https://github.com/rpiRobotics/ik-geo

I had planned to work on this end of last year but may not get to it until the spring.

@aelias36 @controlguy168

Here are some features of IK-Geo which I hope are of interest:

  • Very fast. For example, 40x faster than IK-Fast for the UR5.
  • Returns all solutions, not just solutions close to an initial guess.
  • Robust to internal and boundary singularities. Continuous approximate solutions means that joint values are returned even when the end effector is right at the workspace boundary or even slightly outside it.
  • Compatible with not just 6-DOF robots but also 7-DOF robots (using shoulder-elbow-wrist angle) and parallel robots.
  • Compact source code makes it easy to port and modify. Many people have already forked it and provided improvements.

IK-Geo repo: https://github.com/rpiRobotics/ik-geo
IK-Geo paper (preprint): https://arxiv.org/pdf/2211.05737
7-DOF paper: https://www.sciencedirect.com/science/article/pii/S0094114X24002519

@marrts
Copy link
Contributor

marrts commented Jan 10, 2025

I think an extremely useful thing to add, I don't think it strictly needs to be done for 1.0, would be better logging control for everything that is output to the terminal currently. This way users have more control over what goes to the terminal and unique task output could be mapped to individual tasks, which could then be saved to files later for easier debugging, especially when running tasks in parallel.

Also, the current console_bridge use can be slightly annoying. The character count is limited and it locks a common thread every time it is called, which likely has a negligable effect but maybe could be better.

I don't think something needs to be built completely custom for tesseract from the ground up, but I think there are opportunities for some quality of life improvements there.

@johnwason
Copy link
Contributor

We should also enable pre-commit before a 1.0 release. I started work on this in #996.

@johnwason
Copy link
Contributor

Here are some notes on ABI compatibility policies:

ROS seems to generally follow the Debian release policy. The "ROS Rolling" distribution is similar to "Debian Sid": https://wiki.debian.org/DebianUnstable

@Levi-Armstrong
Copy link
Contributor Author

Related to logging, I would like to add abseil-cpp as a depend and start levering some of its features like logging. Probably need to make that call prior to a 1.0 release.

@johnwason
Copy link
Contributor

@Levi-Armstrong it would be helpful to have a way to associate log messages with a specific taskflow instance and/or step.

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

No branches or pull requests

6 participants