I was lucky enough to attend the Intel Developer’s Forum in San Francisco this year. The highlight of the event was a full-day session that involved the assembly and programming of a 4 wheel drive robot platform using the Intel Edison Microprocessor board. I’ll share my experiences in this post.
To my surprise, every person who attended was provided a free 4WD robot platform to keep. The kit included all the parts and tools required to assemble the robot. I’ve come to learn that this kit was a hybrid of several available products including:
- Seeed Studio’s Skeleton Bot – 4WD Hercules Mobile Robotic Platform including a battery, charger, and USB cables
- Seeed Studio’s 4WD Driver Platform v1.0
- Intel’s Edison processor
- Some other misc. goodies like a LiPo bag, a Low Voltage Detector, and some tools
Since I have had some experience assembling kits like this, I was finishing steps ahead of most of the class. I did find myself frustrated a few times and having to reverse and re-do parts of the assembly because the instructions were not very clear. The build required no soldering.
The assembled robot is quite sturdy – it’s made of metal and thick plastic parts. The 4WD driver platform is an all-in-one board that includes a mounting bracket for the Edison, and connectors and Motor encoders for up to 4 motors. The board can drive up to 2A per motor and can handle inputs from 6 – 16V. Ours was configured to provide the Edison with the required 3.3V, but it also has other options.
Once the assembly was done, we dove deep into the software side of the robot. This was especially interesting for me since this was my first experience working with the Edison. It was also my first exposure to Node.js used during the programming. I learned that the program provided was custom built by the session instructor for this platform. The Intel developer IDE was a new experience for me as well so there was a bit of a learning curve. This learning curve was increased by the fact that the provided developer laptops were running Linux which was also new to me.
During the session, we had some major issues with programming the robot. Each Edison was connected to the convention center’s WiFi in order to allow software updates to be uploaded. Unfortunately, it was highly unreliable and forced us to retry each upload multiple times. I’ve continued to play with this platform at home and have had no problems, so I suspect the conference center’s WiFi was either mis-configured over over-loaded.
The end result was a browser-based interface that could be consumed by any Wifi-connected platform to allow control of the robot. The very basic interface provided a set of arrows to allow the operator to move the robot. It uses skid steering to turn and works best on a bare floor (no rug). I zipped and downloaded all the example source code for my own future reference.
The platform has a nice mounting plate on the top and lots of mounting holes on the front, back and sides for mounting sensors and other payload. The motors are powerful enough to handle small loads making this a great educational platform.
Once complete, I realized that I would somehow need to transport this robot home in my luggage. With the coaching of the instructor, I removed the wheels and packed the battery inside the LiPo bag in my carry-on so I would not violate any airline regulations. It was a tight fit, but I did manage to get it all packed.
Once home, I re-ran the Edison scripts to connect it to my home WiFi and the fun continued.