The Open Hardware Mobile Manipulator (OHMM) is a project begun by the Geometric and Physical Computing group at Northeastern University College of Computer and Information Science. We use 10 OHMM kits in our introduction to robotics software course CS4610.
Mechanical CAD, bill of materials, and manufacturing files are available in the ohmm-hw repository on google code, under the Creative Commons Attribution-ShareAlike 3.0 license.
The CAD files are developed with Alibre Design PE 2012, which is reasonably priced but unfortunately not free or open software. In the future perhaps there will be a free CAD system with sufficient capabilities for a project like this. Note: you only need Alibre if you intend to modify the design or otherwise work directly with the CAD. If you just want to build the robot, all you should need are the provided manufacturing files.
The manufacturing files consist of STL for 3D printing and a DXF to laser cut a 12 by 24 inch sheet of 3/16 inch acrylic. We use a Dimension uPrint Plus for 3D printing and a ULS VLS3.50 for laser cutting. It should be possible to use online services such as Ponoko in case you don’t have access to a 3D printer or laser cutter, though this has yet to be tried. Also, many low-cost 3D printers are now available, such as MakerBot. We have neither yet evaluated the feasibility of using these; some parts may have no build orientation without steep overhangs, which generally require a two-material system for deposition printing.
Detailed info and sources for all parts and materials are given in the bill of materials, which consists of an OpenOffice spreadsheet and several auxiliary text files.
There are no custom circuit boards in the current version of OHMM, only several off-the-shelf boards.
We will be posting a wiring diagram as well as videos detailing how to connect the boards and modify them where needed.
Sourcecode for the OHMM operating software is available in the ohmm-sw repository on google code, under the GNU GPLv2 license.
The main code for the LLP is a real-time monitor program written in C which communicates with the HLP over USB serial. A user can interact directly with the monitor in ASCII command mode using a terminal program (e.g. minicom or ckermit) or the OHMM Java layer can run on the HLP as described below.
With a longer USB cable it is possible to replace the onboard HLP with any external computer compatible with the Orangutan SVP. We are also experimenting with an option to use a netbook as the onboard HLP.
Code for the HLP is mainly in Java. The OHMM Java library manages serial communications with the LLP and exposes a high-level API to interface with the hardware. An optional scripting layer based on JScheme is also provided, as are various utilities and base classes for acquiring and processing RGB and depth images.
ARM builds are included for a variety of external libraries including OpenCV, JavaCV, libfreenect, and OpenNI (in our testing libfreenect is significantly faster and more reliable than OpenNI on the Pandaboard, and it now includes depth-to-RGB registration).
We are currently developing a ROS interface based on rosjava.
We are preparing a set of videos detailing how to build OHMM from scratch.
We use OHMM in our introduction to robotics software course CS4610 at the Northeastern University College of Computer and Information Science. This course is aimed at advanced undergrads and beginning grad students with knowledge of Java programming but no prior robotics experience. Students build the robots in increments over the course of the term, working in groups of 2 to 4. As each new hardware element is added the students must design, implement, and demonstrate corresponding software.
Developed assignments include:
Other small mobile manipulators.
This material is based upon work supported by the National Science Foundation under Grant No. 1149235. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.