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

World MoveIt Day 2021 Tracks #363

Closed
2 tasks
tylerjw opened this issue Feb 9, 2021 · 14 comments
Closed
2 tasks

World MoveIt Day 2021 Tracks #363

tylerjw opened this issue Feb 9, 2021 · 14 comments
Assignees
Projects

Comments

@tylerjw
Copy link
Member

tylerjw commented Feb 9, 2021

Description

Tracks for World MoveIt day. These will have separate Google Meet and Discord rooms with maintainers supporting groups of participants in working on various parts of MoveIt. The goal is to allow users to self-select based on their background and interests into different tracks where they can contribute.

Intro to Contributing

Introduction: Users will be given an introduction to ament_lint and shown instructions on how to run various linters and build/test moveit2.
Background: Experience with building and testing software and interest in becoming a contributor to moveit.
Maintainers: @tylerjw
Tasks:

  • Prepare readme with links to resources
  • Merge PR enabling ROS2 linting

ros2_control, connecting to hardware

Maintainers:@AndyZe
Details: TBD (@AndyZe please edit this and fill in details)

Porting Tutorials for MoveIt2

Maintainers: @mlautman
When: TBD (time you plan on being online and leading this)
Where: TBD (google meet link)

Other ideas (need someone to lead/prepare these)

  • Sanding/painting demo using new OMPL constraints capability and/or hybrid planner. This would be for those with the background and motivation to attempt to create a new demo application exploring new features during WMD.
  • Reviewing/Porting tutorials
  • ...

Meta

This is our rough initial design for MoveIt day. This is here so we can work together on the plan for World MoveIt day to make it really productive and good for new users. We know there are many rough edges and usability issues with MoveIt2 and hope that this can help round some of those issues and lower the barrier to entry for new users. To that point, we are planning on preparing an LXD container with instructions for using it to allow everyone to start using moveit2 quickly.

Updated this to reflect what I'm planing on preparing and that the other tracks were ideas that need people to champion/lead them if they are going to happen.

@tylerjw tylerjw added this to To do in Sprint 00 via automation Feb 9, 2021
@mamoll
Copy link
Contributor

mamoll commented Feb 10, 2021

The sanding demo sounds challenging. It could be split into two main subproblems:

  • Take a predefined sanding tool path, and turn it into a constraint function that can be used with the new constrained motion planning that @JeroenDM and @bostoncleek have been working on. This constraint function would take arbitrary joint states and project them onto a nearby joint state s.t. the end effector is somewhere along the tool path. Constrained interpolation allows you to move along the tool path for two valid joint states.
  • Take a valid trajectory and execute it subject to force constraints: force in the surface normal direction should above some value, forces in all other directions should be below some level. No idea how easy this is. @AndyZe?

@tylerjw
Copy link
Member Author

tylerjw commented Feb 10, 2021

The idea of the sanding problem was an attempt at creating a fun robotics project for those that have the correct background and interest. It also seems like a great way to announce get people excited about the new features in moveit2. This plan is mostly an attempt to make WMD useful and engaging for people of varying backgrounds and skillsets. Please change/challenge any part of the plan itself too.

@AndyZe
Copy link
Member

AndyZe commented Feb 11, 2021

Sanding is gonna be more of a ros_control problem, I think. There are some practical issues, like:

  • how are forces going to be sensed, for people working remotely? Is the PickNik ur5e going to be used?
  • if we would rather simulate, then be aware that Gazebo and Ignition aren't very capable in ROS2 yet.

I think sanding is the type of problem that's going to require one or two people hacking for a few days, rather than a group of 5 people hacking for one day. It takes focus.

@AndyZe
Copy link
Member

AndyZe commented Feb 11, 2021

Here are some ideas that are more bite sized:

  • get a robot working with MoveIt in Gazebo or Ignition
  • Port tutorials
  • we could have a list of extraneous features we want removed. It's easier to remove code and test it than write new code, I think
  • Write integration tests for the tutorials. The test could simply check that the tutorial nodes don't die. It doesn't need to be fancy.

@AndyZe
Copy link
Member

AndyZe commented Feb 11, 2021

A ros2_control help room would be great, to help people start using more hardware.

@tylerjw
Copy link
Member Author

tylerjw commented Feb 11, 2021

@AndyZe thank you for the reply. Is there one of the things you listed that you think you'd like to lead a group doing? Sanding is a really hard problem and I'm not sure it is possible to completely do it, just that it would be a fun way to get people to start hacking using the new features in planning.

@AndyZe
Copy link
Member

AndyZe commented Feb 11, 2021

I'd be interested in doing a ros2_control help room. Hopefully with @destogl and @livanov93

@mamoll
Copy link
Contributor

mamoll commented Feb 11, 2021

If you change sanding to, say, spray painting, then the first part of what I wrote above (finding a continuous point path for a given tool path) would still be useful on its own.

@felixvd
Copy link
Contributor

felixvd commented Feb 12, 2021

I like the idea of topic rooms / shared goals rather than one big "ok let's all develop something" because it's better not to feel lost as a newcomer, but we will need to be careful with topic selection and making sure you can join it at any time (and from any time zone). Am I getting right that this is meant to group people into roughly "Applications", "Contributing" and "ROS2"?

@tylerjw
Copy link
Member Author

tylerjw commented Feb 12, 2021

The painting application would get around the force control needed for sanding, which seems like an easier to accomplish goal. I think the idea here is that there is a handful of separate rooms lead by different people that people could select based on background and interests. In the past when we'd have people come into our office it was a challenge to accomplish a change that'd get merged that day. For the "intro to contributing" group, I'm hoping to prepare a guide and have it be fixing linting issues so we can turn on linters used on the ros2 project itself on moveit2.

Thank you for pointing out that we need to make this work across timezones. For these tracks, we should publish when each of us plans on being where so people know when they can find us if they want to talk with us directly during this. For the work, I am hoping much of it can be somewhat self-directed and based on some work prepared by whoever is leading each group. However, by trying to have multiple people work on similar tasks we can hopefully work together at some level. At the very least we'll be able to do reviews easily because we should understand what the work is trying to do.

@mlautman
Copy link
Contributor

I am interested to work on porting the tutorials during WMD. If anyone else wants to team up on this, I wouldn't mind having a coding buddy.

@felixvd
Copy link
Contributor

felixvd commented Mar 1, 2021

I can't get over the fact that we don't have multiple planner support. If @henningkayser can make time, I'd like to discuss what to do about it. Maybe we could have a call the day before WMD, since most of my workday is during the EU night? I'll see about spending WMD on this, in that case.

@bostoncleek
Copy link
Contributor

Here is the WIP PR #337 for the cartesian path planning track. I look forward to others joining me!

@henningkayser henningkayser moved this from To do to Done in Sprint 00 Mar 23, 2021
@tylerjw
Copy link
Member Author

tylerjw commented Mar 26, 2021

closing as we did this

@tylerjw tylerjw closed this as completed Mar 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

No branches or pull requests

8 participants