MoveIt Manipulation WG Meeting - March 24th

The next Manipulation WG Meeting / MoveIt Maintainer Meeting will be 2022-03-24T15:00:00Z.

Agenda

  • Old Business
  • Welcome new Core Contributors
  • MoveIt 2 Development update
    • Rolling Jammy jamming (Henning)
    • MSA Migration Status (DLu)
  • GSoC next steps (Mark)
  • WMD 2022 (Henning)
  • Future of kinematics_base (destogl)

Please request any agenda topics you would like included.

Meeting:

Real-time meetings by Google. Using your browser, share your video, desktop, and presentations with teammates and customers.

Phone Numbers (US)

+1 347-486-5750

PIN: 644 991 049#

Hi,

I have a topic to discuss with you. I have discussed this already with few people so here a concrete proposal. Would be great if we could spend some time today to start discussions about this.

Topic: “Can we move kinematic_base out of MoveIt2 repository”
Rationale:

  • in Control WG we are looking to integrated more advanced (Cartesian) controllers into ros2_control;
  • we can create our own “kinamatic_base” for it, but this does not make much sense;
  • we would like to load kinematics plugins – preferable the same plugins MoveIt is using, so we make it easier for users;
  • doing this now leads to circular dependencies between MoveIt2 and ros2_controllers repositories;
  • also, it would not be bad to reduce the amount of dependencies if only IK should be used;

Concrete use-case:

Possible solutions:

  1. kinematics_base package is placed in an external repository and there are no dependencies on MoveIt packages (if possible)
  2. kinematics_base package is placed in ros2_control or ros2_controllers repositories that are already dependency for MoveIt2
  • in both cases kinematics_base goes out of MoveIt2 repositories, and it is used as external dependency (probably cannot depend anymore on moveit-packages)

24 March, 2022 MoveIt Maintainer Meeting

Agenda

David Lu!!:: MSA refactor update
Mark Moll: Google Summer of Code
Denis Stogl: Can we move kinematic_base out of MoveIt repo?

Notes

Introductions

  • Tiffany Cappellari: from Southwest Research Institute
  • Max Daiber-Huppert: will be taking over from Gauthier on the Fraunhofer IPA welding project

Henning/Vatan: Jammy update

  • Vatan: packages related to messages are still broken on main but working in testing
  • Denis: there will be a sync today, so we just need to wait a little bit
  • Denis: ros2_control has a setup to build for Focal in CI, which is useful since lots of users are still using Focal.

David Lu!!: MoveIt Setup Assistant Refactor presentation

  • David is an independent robotics contractor and has done a lot of work on ROS navigation previously
  • Background: MoveIt2 still didn’t have MSA in September 2020 when it came out of Beta
    • MSA is really useful for efficiently configuring new robots for MoveIt, so the lack of MSA in ROS2 has been a big pain point
  • Big issues: porting UI to ROS2 C++, no tests, limited extensibility, supporting ROS2 Python launch files, new ROS2 parameters
  • Goals for refactor: separate GUI logic from functional logic, add extensibility via pluginlib, allow customizing control flow
  • Made separate SetupStep plugins that can be extended and linked together.
  • Config generation is split into smaller config plugins (vs. previous monolithic approach)
  • Use data warehouse to get different types of config info
  • There are numerous plugins for the different types of configuration data.
  • Jafar made a PR (591) to make a single object for MoveIt config info. David has built off this. The result is that the launch file can be a lot smaller, since we can pass the MoveIt config to the ROS2 python launch description generator function.
  • Biggest outstanding question: how to integrate perception, controllers, and simulation? Lots has changed in ROS2, so the path from ROS1 to ROS2 for this isn’t obvious.
  • Michael: Want to talk about launch file structure, as a proposal document
  • Michael: How difficult would this be to port back to ROS1?
    • David: In general it should not be too difficult. Would need to replace some rclcpp functions.
    • Michael: Motivation for this is to make it easier to cherry-pick fixes between ROS1 and ROS2 versions. It will be hard to port these types of changes if the implementations are very different.
  • David: The list of plugins to load on startup will be configurable, which supports loading custom 3rd-party plugins.
  • Framework is extensible to other types of wizards too. Might be good for navigation too.

Mark: Google Summer of Code (GSOC)

  • Web page: 2022 Google Summer of Code | MoveIt
  • Working on reviewing applications. Project maintainers will discuss who to select to participate.
  • Michael: Should we ask that applicants have previously created a MoveIt PR as a requirement for consideration? This helps filter applicants – previously it’s been important to see code from students to assess the value of their contributions.
    • Mark: Open to this idea, seems like a useful screening step. Will add an application requirement to submit a PR.
  • Michael: Do we have applicants?
    • Mark: Yes, we do!
    • Michael: There are some people on the Discord server asking about applications. Mentors should review and respond to those.
  • Mark: Looking for mentors and co-mentors

Henning: When should we have World MoveIt Day?

  • Proposed date: 26 May, 2022 (also the normal maintainer meeting day)
  • Mark: Background – this is the MoveIt hackathon-style event.
  • Mark: Might be a good opportunity for in-person events.
  • Simon: This is a holiday (Ascension Day). Might be better to pick a different day to get better attendance from Europeans.
  • Henning: Should discuss which tracks we want to have.

Denis: kinematics_base

  • Brief Denis intro: ros2_control maintainer
  • New Cartesian controllers (like the admittance controller) need inverse kinematics solvers. Would be nice for these to be implemented as plugins.
  • The main blocker is a circular dependency between MoveIt2 and ros2_control.
  • Henning: Mostly a runtime dependency. The tests rely on ros2_control as well through the demo robot configuration.
  • Denis: Want to have a standardized interface for IK plugins. Not sure how much of the current IK implementation relies on MoveIt-specific libraries. Want to reduce the dependency here.
  • Denis: All previous controllers just operated in joint space, but we’re starting to add controllers that need to operate in Cartesian space.
  • Michael: There was a lot of work previously to consolidate MoveIt into one repo, and what’s being suggested here is to split things out again. Would it be possible to split ros2_control instead?
  • Michael: The current IK interface has lots of problems (Robert gave a talk about this some time ago). It might be better to create a new interface in a separate repo, then have MoveIt and ros2_control both depend on that new repo.
  • Henning: IK depends on the robot model, which brings in the MoveIt core libraries anyway. Also need to discuss what the goals are here, since there’s overlap with what Servo is trying to do for Cartesian jogging.
  • Denis: Next step is to outline what ros2_control would need from a kinematics_base package and then discuss with MoveIt maintainers to find common needs.

Attendees

Abishalini Sivaraman
Andy Zelenak
Chris Thrasher
Cory Crean
David Lu!!
Davide Falconti
Denis Stogl
Gauthier Hentz
Harsh Deshpande
Henning Kayser
Jack Center
Jafar Abdi
Joe Schornak
Mark Moll
Marq Rasmussen
Max Daiber-Huppert
Michael (aka v4hn)
Nathan Brooks
Sebastian Jahr
Sencer Yazici
Simon Schmeisser
Tiffany Cappellari
Tyler Weaver
Vatan Aksoy Tezer

2 Likes