The robot revolution is happening and it's in need of more open and modular technology! Providing an open source platform to build a robot will help anyone having a robot solution in mind to jump start development for that solution. Not only a small robot for learn or play, but a real close to human size robot which can carry a significant load in order to perform a real world task. Making a modular and open platform will allow anyone to build this and change this to their own needs. The platform should be affordable, targeting a 1000 euro budget for a mobile base robot which can navigate an environment. This project focuses on the mobile base first, but adding generic end effectors or complete robotic arms is definitely the next step.
There aren't that many robot platforms out there that you can buy and start building your own robot. There are a *lot* toy-scale platforms, but somewhat larger, closer to human-size and able to carry a load, not so much. The ones that do exist either are targeting commercial use and are priced accordingly (~10K euro) or have other serious limitations. When I wanted to build my own robot a year ago and looked for a platform to build it on, there were basically two options which came close. The Turtlebot 2 which uses the Kobuki base and the Parallax Arlo platform. I had a budget in mind with of around 1000 euro. This already excluded the Arlo, which would take up the complete budget and then some, on the mobile base alone. I have some experience with the Kobuki in real life and was generally disappointed with the noise and small payload ability (~5KG) and the relative high price tag of 350 USD (without shipping). At the same time the 'hover'boards became popular, can carry a real load (~100KG), operate silently due to their brushless hub motors and are relatively inexpensive (~200 euro). I remembered seeing the VESC, an open source brushless electronic speed controller project (on Hackaday off-course) and the idea to combine them into a robot platform was born. I wanted to build a robot which I could use, but was also designed with some principles in mind, to allow the project to be open and reusable by others.
To be truly modular there should be no limitations up front. The design should be extensible, but also allow parts of it to be replaced by something else. In the end building a robot should be as easy as building your PC, build a frame, add a power supply, wheels, sensors, computer and add or develop software.
- Total physical modularity: it should be possible to change the appearance or design of the robot to meet a desired solution. This is accomplished with the use of T-slot profiles which allow you to rapid prototype the design of the robot to build the solution you need.
- Total electronic modularity: instead of one big controller board which is designed up-front with the capabilities required the electronics is build around a modular power supply and modular electronics with separate USB controller boards for each input / output.
- Total software modularity: the ROS driver is built around the ros_control library with a implementation of the wheel driver interface to allow controlling the wheels in different configurations. Currently the robot is designed as a differential drive mobile base, but with the wheel driver interface it's easy to extend to a different configuration if needed.
Fully open technology, meaning:
- open source software (also for firmware)
- open source hardware
- open design
- open documentation
- uses only open projects
- has an open tool chain
- has no dependency on a proprietary component for which there is no alternative
I think the VESC project is an excellent example of this. It's fully open source hardware and software, the toolchain is fully open: electronics design is made with Kicad, the BLDC-tool to program the VESC is also released as open source and the firmware is based on the open ChibiOS.
To give some contrast to this: the Turtlebot 2 has the 'open...