Sunday, June 15, 2014

LightZord - The Father's day robot

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:


Here is another picture of LightZord wearing his Lei:



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.


7 comments:

  1. This comment has been removed by a blog administrator.

    ReplyDelete
  2. This comment has been removed by a blog administrator.

    ReplyDelete
  3. This comment has been removed by a blog administrator.

    ReplyDelete
  4. This comment has been removed by a blog administrator.

    ReplyDelete
  5. This comment has been removed by a blog administrator.

    ReplyDelete
  6. This comment has been removed by a blog administrator.

    ReplyDelete
  7. This comment has been removed by a blog administrator.

    ReplyDelete