Meeting Notes - 24 June 2021
Tyler: Prerelease testing is supported in ROS2, and always has been (though it hasn’t been documented).
Industrial CI also supports prerelease testing.
We recently consistently added this to all ROS1 and ROS2 repos.
Preparing Galactic and Rolling releases (thanks to Vatan for putting lots of work into this).
Most packages are passing in prerelease.
Michael: We decided that it would be preferable to migrate the Pilz tests to a different package, but we still need to decide on where.
Need to come up with test cases that don’t depend on generated IKFast solvers and dependencies that are required outside the resources package
Could use UR kinematics solver (closed-form analytics) for this, but we would still rely on external dependencies.
Due to the way the buildfarm handles dependencies for package, all tests in a package need to be able to run without relying on outside dependencies.
Don’t want to add an IK solver plugin specific to MoveIt Kinematics that is only used for tests.
Need to get feedback from Robert before we get too far into this.
Henning: Should we update development sections to separate ROS1 and ROS2?
An example of something to change would be the code guidelines, since they’re different between ROS1 and ROS2 (for example, recommended C++ version, logging, Boost dependencies).
Michael: Note that ROS2 documentation is not represented on the code guidelines page.
Balance between community content vs. marketing
Michael: Need to have sufficient review time for all content. At least a day would be preferable.
Getting useful PR reviews
Michael: Really need full reviews of PRs, small reviews aren’t helpful.
Better to have 1 full review per PR instead of 5 partial reviews. Being a maintainer means learning about the code base to understand it.
Henning: PickNik set an internal goal for each dev to review a certain number of PRs. Working towards getting everyone more directly involved with open source development.
Dave: We don’t want to discourage people from contributing by setting a very high bar for reviews.
Henning: Partial reviews can be really helpful (though this depends on the reviewer).
Michael: It’s useful to have reviews from experienced devs from different fields, even if they’re not MoveIt experts.
Felix: we should make sure that new contributors have positive interactions with the community, so they’ll be encouraged to come back.
Henning: Also useful to point specific devs towards parts of code where they have expertise.
Dave: In some commercial projects, it’s the responsibility of the PR creator to request a specific reviewer. We could take a similar approach here.
Code owners feature
Tyler: This generates lots of emails when changes are submitted. Worried that people would filter out important info as noise.
Michael: Responsibility of individual contributors to decide what they want to monitor.
Dave: Probably a good idea to turn this on for MoveIt2 to help keep people involved. The code owners list also needs to be brought up-to-date so it includes current active maintainers.
An article was linked about using GitHub bots to improve the experience of the Codeowners feature: https://www.fullstory.com/blog/taming-github-codeowners-with-bots
SQLite warehouse plugin
Presented by Michael and Bjarne.
A problem with the warehouse plugin is it uses MongoDB, which has a high barrier to entry and is inefficient for for most practical use cases.
Bjarne: I wrote a SQLite warehouse plugin (incidentally, as a COVID quarantine project).
Happy to push it to the MoveIt organization. Would be willing to maintain it. Confident that it does work. Also works on ROS2 Rolling.
Henning: Is there a straightforward migration path from MongoDB to SQLite?
Bjarne: There isn’t a simple tool for this migration process yet, but it would be possible to make one.
Michael: Need to have tutorials for this plugin as well.
Felix: In general, there isn’t a from-zero warehouse tutorial, so a new tutorial would be great to have.
Planner regression in Noetic
Michael: A regression was introduced by trying to resolve an edge case with orientation constraints. This is important to fix, since it’s a serious regression within the main released branch. Either we fix this very soon, or we revert the commits that caused it.
Jafar: There are some additional bugs with checking that poses satisfy orientation constraints. Will investigate more this week.
Lior is from the Microsoft edge robotics team.
Their team has created updated tutorials for Noetic, and has also discussed adding an Azure DB warehouse plugin
Nisala: Working on MoveIt2 support for MacOS.
Has an example CI pipeline on Github Actions for MacOS.
MoveIt2 PR with MacOS fixes.
MoveIt Setup Assistant status
Henning: Development of the ROS2 version of the MSA is still in-progress.
Blocked by the design of the MoveIt config packages.
Many things like launch files are much different than ROS1, so MSA needs to be rewritten.
New user experience
Michael: Important to keep this in mind in our dev efforts. As an example, some of the robot configuration outputs from MSA were broken (example issue), so users couldn’t easily get up and running through MSA.
There are bugs in the tutorials and things that don’t work well in the GUIs. Lots of opportunities for easy fixes.
Bystander Effect means that few new users post issues about the problems they run into.
Felix von Drigalski
Bjarne von Horn
Vatan Aksoy Tezer