Developing a new humanoid robot like Intel’s Jimmy isn’t a trivial task by any stretch of the imagination, yet they were able to quickly bring the robot to the debut stage in record time. I was curious about how they were able to achieve so much so fast, and Andrew Alter, the Lead R&D Engineer at Trossen Robotics explained how Jimmy leverages Open Source technology, like the DARwin-OP Project, and benefits from advice/assistance from other leading humanoid guru’s.
Lem: What’s the difference between this robot and the Darwin-OP?
Andrew: The robot itself is a derivative of the Darwin-OP project. Part of the goal of the original Darwin-OP project, which was funded by an NSF grant, was to build an open source extensible humanoid platform.
The Darwin software framework provides an amazing starting point and features the best open source humanoid robotics code out there. However its fairly complex and so not many people outside of university environments are doing a lot with it to further development. Plenty of teams who compete using them in RoboCup, but people actively developing and expanding the open source project are somewhat rare (or at least, not many are publishing their work, which is understandable because of the competitive nature of Robocup!)
I took the framework and have been working for the last 6 months in conjunction with Intel, USC, Olin College, and Wayne Losey- (as well as my mentor Rob Farrell, whose sage advice and wisdom I have to thank for leapfrogging me into humanoid robotics) to advance the code.
Lem: Is the code and functionality continuing to evolve?
Andrew: We are adding more features, code comments, and documentation (code comments are largely non-existent), and most importantly a REST based API which will expose the higher level functions of the robot so that we can get more developers onboard.
Lem: Sounds like the code is really complex.
Andrew: The stock code essentially is at a Masters of CompSci level as it stands, so were hoping to make it a lot more accessible to people. They won’t have to dig into the core code, unless they want to.
I've also made it more scalable for larger or smaller size humanoid robots by more easily exposing and documenting the parameters within the code where this can be modified. Lastly, we've made the code to be more flexible when it comes to OS and CPU compatibility.
I've done testing on ARM based ODROID boards using Xubuntu, the 64bit Intel NUC running Ubuntu 14.04 and Yocto OE Linux, and the Minnowboard, and open source Atom based board from Intel (same OS selection as the NUC).
The Yocto Project is very interesting, providing a development framework to deploy highly-customized OpenEmbedded Linux OSs. We have a 'Meta-21CRobots' Yocto layer which tells the Yocto IDE exactly how to configure the OS for one of our robots, and is more or less agnostic to the CPU hardware you're using. This is a huge step in creating a unified OS architecture for us to develop on.
Lem: Comparing Jimmy to the original concept units I saw at the World Maker Faire in New York last September, it looks like there are a lot of changes.
Andrew: Hardware wise, everything has been completely redesigned from scratch. New 5052 custom aluminum frame components, torso, head, electronics, etc.
The Jimmy robot is literally over 3x as big as a Darwin, standing 68cm tall and weighing in at 6kg. The servos used in the legs are the top-of-the-line MX-106T as opposed to the MX-28Ts used on the Darwin- almost 3x the torque.
Lem: 3D printing played a big role in Jimmy’s design also.
Andrew: We designed the 3D printed shells to be easily modifiable so users can customize the appearance.
Lem: How does Jimmy compare to DARwin-OP in terms of CPU and other electronics?
Andrew: The Darwin currently runs a fairly outdated Intel Atom single core 1.1ghz processor with 1gb of ram (think original netbook). The Jimmy research humanoid comes stock with a quad core i5 CPU with 4gb of ram, 32gb SSD, and WiFi/Bluetooth/gigabit/usb3.0.We're replacing the CM-730 with an completely open-source Arbotix-PRO, which will feature an upgraded Cortex M4 w/ integrated floating point math and gigabit ethernet.
Lem: It sounds like Jimmy will literally run rings around DARwin-OP...
Andrew: Performance wise the robot is about twice as fast, has a much larger payload capacity, and can run for 60-90 minutes. The Darwin ran for 15-20 on average as a point of comparison. We can stably walk about 30cm/sec, with bursts up to 50cm/sec (though users must be very careful of inertia during acceleration/deceleration at these speeds).
Overall we’re standing on the shoulders of giants to improve an already amazing platform. The Darwin-OP project provided such a great leaping point, and projects like this are exactly why the open source robotics initiative is needed.
Stay tuned for Part 3….