For Father’s day, I wanted to make a totally awesome robot but I did not know what a totally awesome robot would look like so I asked my daughters. This post shows the robot that we came up with. I also bought a second Beaglebone Black with a 7.0” LCD cape to make a remote controller unit for our totally awesome robot. We named the new robot LightZord and below is his first video:
As you can see, he has a little bit of a weight issue that causes him to wobble a lot when he turns (at least I think that is the problem). Not really sure how to solve this issue yet but if anyone has a suggestion please leave a comment below.
Here are a couple of pictures of the inside of LightZord:
The insides are wired exactly the same way as my previous robot and this is documented in the following posts:
What really makes LightZord different from my first robot is the remote controller unit. To build this controller I purchased a second Beaglebone Black Rev C, 4D Systems 7.0”LCD Cape, second BluetoothUSB adapter and a second EasyACC battery charger.
The new Beaglebone black Rev C comes with Debian preinstalled but I had a lot of issues trying to get the Bluetooth adapter to work with the preinstalled version of Debian so I put Angstrom on it. Beaglebone.org’s getting started page documents how to install a new OS.
I then attached the Beaglebone Black to the 7.0” touchscreen cape as the documentation shows. Once I powered up the Beaglebone, with the cape, the only issue I encountered was the touch screen calibration application did not automatically start. Since the touch screen was unusable without the calibration, I connected the Beaglebone black to my network, SSH’d to the Beaglebone and ran the ts_calibrate command manually. This did not actually solve the issue since it did not update the calibration so I copied the output of the ts_calibrate command to /etc/pointercal. This forced the calibration utility to run the next time the Beaglebone started and correctly calibrated the touchscreen.
There is a virtual keyboard under the Universal Access menu option titled Florence Virtual Keyboard application. This keyboard works really well with the touch screen but I would not recommend configuring your Beaglebone using that small keyboard. It is a lot easier to connect your Beaglebone to your network and SSH in.
Now that I had my touch screen connected and calibrated, I configured the USB Bluetooth adapter as documented on in this post. I then paired the controller with the LightZord robot and ran the Rover 5 rfcomm client application whose code is inthis post. From here I could control LightZord buy typing in the following commands:
u – full speed
j – all stop
i – increase speed
k – decrease speed
o – set direction all forward
i – set direction all reverse
z – spin left
c – spin right
This was a pretty cool Father’s day project with my daughters. There is still a couple of to-do’s left. I want to eliminate the wobbling when LightZord turns, I want to add a GUI to the Rover 5 rfcomm client application and finally we still need to paint/decorate LightZord. After all that is done, we can then add some sensors and create a robot that can move around by himself.