Meeting Notes - 25 March 2021
Meta-Topic: Time Zone Issues
Google Calendar apparently has a bug when scheduling meetings during the time where Europe and the US daylight saving times are out of sync. This has messed us up before as well – important to remember this when scheduling meetings next year!
World MoveIt Day 2021
General consensus is that organizing separate focus tracks worked well.
Mark: Fireside chats were different than expected, and they ended up being open-ended discussions instead of agenda-based. Overall a good format.
Mark: Continue public discussion of the roadmap document created during WMD discussions.
Roadmap item: MoveIt should not be a “no-code” solution
Felix: Agree that we don’t want to be a no code solution. However, we should also consider that we want to target users who are not industrial users. A very large percentage of MoveIt users are students and tinkerers. We have lots of good introductory material and tutorials, and we serve as an overall entrypoint for ROS. We do provide the RViz motion planning plugin and the MoveIt Stup Assistant, which provide graphical ways to set up motion planning. Commercial robots provide similar user interfaces.
Robert: Prefer to keep the MoveIt Setup Assistant in the core repositories. Having them together makes CI and integration testing easier, and helps avoid regressions when the MoveIt core libraries change.
Jorge: An important future direction will be to continue to provide fundamental components that work as building blocks for other applications. Someone could already use the MoveIt visualization libraries to create a no-code application.
Felix: MoveIt is already an “easy robot interface” in many ways. Many people want to move their robot with MoveIt without dealingwiht code or plugins. The MotionPlanning is the main entry point for many vs. MoveIt Setup Assistant. Nothing onboards more people and better than “works out of the box”.
Roadmap item: Grasping
Mark: Manipulation is very hard! We want to add more advanced functionality to switch between different behaviors. It’s currently non-trivial to do this sort of thing if you’re not already a MoveIt expert. What else should we add?
Jorge: Are there any examples of advanced industrial-level grasp manipulation?
Felix: As long as you have a CAD model, the problem is pretty well-solved. There are lots and lots of commercial solutions out there for this sort of problem.
Mark: Suction works well for many automation problems.
Jorge: Have talked with industry reps, and they say that no one is asking for advanced grippers for real industrial use cases (e.g. high-DOF humanoid hands).
Henning: MoveIt Grap still need to be ported into MoveIt2. It’s more straightforward to implement a MTC stage that solves the grap instead of using MoveIt Grasp. This works well for suction grasps and 2-finger grasps. MoveIt Grasp tries to do too much, since it additionally tries to plan approach and retreat motions while optimizing multiple grasp strategies.
Mark: Agree that MoveIt Grasp tries to do too much. Compare to Boston Cleek’s work with integrating external grasping libraries that do the same kinds of tasks better. There are certainly opportunities to refactor Grasp.
Marq: IT would be better to restructure the integration between these functional parts to support using popular 3rd-party frameworks for manipulation. For example, we can mask RGB-D data depicting a scene and provide that as an input to an ML-based grasping library to identify objects and grasp poses.
Mark: This seems similar to how things work for controllers in ROS. Analogous to decoupling planning a trajectory from running a controller that attempts to follow a trajectory.
Mark: Upcoming ROSCon will be the first one that is not colocated with an academic conference. It might be challenging for some people to attend for this reason.
Google Summer of Code (GSOC)
Mark: We’re putting out a call for students and recent graduates who have familiarity with ROS and MoveIt to work part-time on some projects. Participants ideally are already doing robotics research and want to improve their software dev skills while getting paid to work. A new change for this year is that the GSOC positions are part-time, which affects the scope of projects that can be completed within the program. We also need mentors – some projects already have mentors assigned, but it’s possible to co-mentor.
Tyler: We added integration with the
precommit utility. This runs the style formatter as a git hook, so it automatically performs the format check before you push your changes. It also only checks the diff, so it’s fast! In general we’re working to migrate to GitHub Actions. We’re currently working on getting MoveIt2 switched over. We previously had issues with performance on Actions, but after some further testing it seems to work much better, and we’re not encountering any limit that would bother us. We had 40 concurrent jobs running on the same repo without any problems. The machines used for the CI runners are reasonably fast, and have lots of RAM and SSD space. There are some nice features that make things go faster, such as incremental builds and caching between runs. Hopefully the days of waiting to work through an enormous backlog of jobs are behind us.
Mark: In general it’s good practice to use tools that other people built and use.
precommit are great examples of this. Hopefully it won’t take too much work to keep the new pipelines in working order.
Tyler: An example of something that is not finished is the PR to enable code coverage. It will make CI setup a lot easier, since there’s basically just a
run_code_coverage=true flag instead of a whole separate script.
Robert: To confirm, have we decided not to go to CircleCI?
Tyler: Correct. CircleCI isn’t supported in
industrial_ci. There are lots of benefits to using
industrial_ci, such as having nearly identical config files for ROS1 and ROS2, so it’s beneficial for us to use it. Also, CircleCI runner machines only have 4GB RAM, which caused lots of problems when building packages, especially the ones involving GUIs.
Robot: GitHub Actions also integrates nicely with GitHub – good to be using a first-class tool!
industrial_ci benefit is that it’s largely CI-agnostic (for supported platforms), so it’s straightforward to adapt for client projects where clients don’t want to use GitHub hosting.
Abishalini Sivaraman, Andy Zelenak, Cassidy Elliott, Christian Henkel, Felix von Drigalski, Henning Kayser, Jafar Abdi, Joe Schornak, Jorge Nicho, Mark Moll, Marq Rasmussen, Nathan Brooks, Robert Hashke, Tyler Weaver