Interview: what hardware developers can learn from software developers
Matthieu Lapeyre is a CAD guy who recently started a new project where he had to work closely with a software team. In the process, Matthieu learned that the tools and processes in the software world are more capable and evolved, because software engineers use tools written by software engineers for software engineers. In his search for a modern data management tool for mechanical design, Matthieu contacted GrabCAD and told us what he had learned from the software team.
Matthieu works for Flowers Laboratory, FLOWing Epigenetic Robots and Systems. His team recently launched the Poppy Project. Poppy is an open-source humanoid platform based on robust, flexible, easy-to-use hardware and software. The team, based in Inria Bordeaux and Ensta ParisTech, France, aims to develop an affordable and hackable humanoid robot for science, education, art and geeks. Poppy was initially made for a research project about understanding biped locomotion, and full-body physical and social interaction in robots and humans. It is an open-source platform so participants can freely download the source both for hardware and software to assemble their own robot.
Although it has already been used for several experiments, Poppy is still in development. The team had decided to release it in a beta stage as they add collaborators and expand their initiative and broaden the team’s expertise. They estimate to be at 75% completion of the total work needed to have a truly easy-to-use, plug’n'play and polyvalent robot.
One-on-one with Matthieu Lapeyre
I recently caught up with Matthieu who was in the US presenting a scientific paper at the Humanoids 2013 Conference. A PhD student on the Flowers Team, Matthieu’s work focuses on the bipedal walking in humanoid robots. He is interested both by developmental learning algorithms and by the role of the body morphology to achieve the walking. He designed the humanoid platform Poppy as a platform for conducting walking experiments and as an open, user-friendly platform for research labs.
You mentioned you've learned a lot from working with software developers. How did this realization come about?
With software development version control is important. Our software team uses Git, for example. Now I can’t work without it even for CAD. Our robotics project is open source so I need to use developmental branches for this type of work. I use Git flows to keep repositories organized.
What else have you used to manage your files?
I tried SolidWorks PDM but it’s not great. For one, its too complicated. A simple interface is important because we want to attract people to participate not scare them away. I couldn’t find anything like SVN (Apache Subversion) or any modern source control system. At this point it looks like we’re probably going to use Git for individual work and GrabCAD Workbench for sharing work with others.
What do you think PDM solutions lack that you need?
PDM is missing the ability to branch, fork and make merge requests. With an open source project, especially an open source robot, people are making their own modifications but they don’t have editing rights for the main repository. They need to be able to make merge requests- send notifications from their repository to ours so their changes can be merged upstream. That’s better than everyone working on the exact same version.
How is the Poppy Project going?
We just launched it October 15 and there is already a lot of interest. Twenty people contacted us with interest immediately. Many in France but also some in the US, Australia and England. For us, collaboration isn’t just fun, it’s necessary to continue our research.
We have already had 3 robots produced. They’re 3D printed robots. Anyone can build one, you just have to buy the electronic components and have it printed. You can use something like Shapeways for example.
Is there a required CAD format for this project?
Well, I use SolidWorks. So, if others want to work with me they will need to as well. An STL or binary file isn’t a good way to work. They can get an educational SolidWorks license for $150.
What are your best practices to get a team collaborating on a single assembly?
To design the assembly, I used a skeleton modeling technique- only using construction geometry like faces and planes. This way people can work on different parts without conflicts with each other. I use configurations on the skeleton to represent the different mechanism positions.
We share on the same platform and let people to make their own modifications, try new controllers. We’re working on the same robot but different people are good at different parts. For people who are good at and focused on specific elements, they can start with our robot as the base and add to it. Some are good at hands, some at legs etc. For example I am good at designing the legs and body but not hands. That’s why an open source project is beneficial. We have the basic mechanical platform and now we’re looking to collaborate.
What do you need for a successful collaboration?
Collaborators should be able to pull requests from the repository and add to the main project. An open source project is different from a team project. There are a lot of participants. It is difficult to share files and when you can only share bits, its not effective.
But even in an open source project, protection and control is still very important so that is a requirement as well.
Any final thoughts?
We are surprised and touched by the early comments, feedback and enthusiasm for Poppy.
For more information and to get involved yourself, visit http://www.poppy-project.org/
The Next Generation of PDM
More teams are using Cloud, Analytics, Mobile, and Social tools to speed up product development. Independent analyst firm, Consilia Vektor, explains how this changes Product Data Management (PDM) as you know it and how this can help your team work smarter.
About the author: (Jon Stevenson)
All posts by Jon Stevenson