How to Use an Android Device and Lego NXT to Build a Two-Wheel Self-Balancing Robot

by HippoDevices in Circuits > Robots

20767 Views, 207 Favorites, 0 Comments

How to Use an Android Device and Lego NXT to Build a Two-Wheel Self-Balancing Robot

IMG_8895.JPG

Today, I will teach you how to make an Android powered and controlled Two-Wheel Self-Balancing robot with Lego NXT.

Firstly, let's see a testing video for the final robot.

Here is another testing on the slope:

To build this robot, all the things you need are list below:

- Two Android devices. One for balancing control and one for remote control. The one what I use for balancing control is Nexus 7, for remote control is an Android smart phone with a simple control app.

- Lego NXT kit.

- An Android ADK board. The one I use is called HippoADK.

- A ADK board to Lego shield. The one I use is HippoADK-Lego Shield.

- A battery.

How does this robot work?

By using the HippoADK board and HippoADK-Lego Shield, Nexus 7 can read the status of the Lego Motors and can also control the Lego Motors. While balancing, with the gyroscope sensor in Nexus 7, the robot can adjust the status of the Lego Motors to keep balance. Hippo-ADK is an open-source electronics prototyping platform based on Android. By combining an Arduino-like microcontroller board with Android, not only does it allows you to tap into the powerful resources of your smart devices, but also to do so in an amazingly simple and elegant manner.

For more about HippoADK, you can see more details here.

Let's go to see how to build this robot.

Assembly Instructions

IMG_20140706_141322.jpg
IMG_20140706_141416.jpg

The attach pdf file is the assembly instructions of the main part of the robot by LEGO NXT.

Downloads

Add ADK Parts and Battery to the Robot

IMG_20140706_143354.jpg
IMG_20140706_143214.jpg
IMG_20140706_143110.jpg
IMG_20140706_143031.jpg
IMG_20140706_142910.jpg
IMG_20140706_142844.jpg
IMG_20140706_142738.jpg
IMG_20140706_142659.jpg
IMG_20140706_142556.jpg
IMG_20140706_142444.jpg
IMG_20140706_142341.jpg
IMG_20140706_142111.jpg
IMG_20140706_142005.jpg
IMG_20140706_141830.jpg
IMG_20140706_141720.jpg
IMG_20140706_151553.jpg
IMG_20140706_151626.jpg

1. Add battery as the above pictures show.

2. Add HippoADK and HippoADK-Lego Shield as above pictures show.

Connect the Wires

IMG_20140706_151659.jpg
IMG_20140706_151815.jpg

Connect the wires.

Add Nexus 7 to the Robot

IMG_20140706_161954.jpg
IMG_20140706_162038.jpg
BalanceRobot-AIBlocks.jpg

After assemble the Lego parts of the robot, you can program the robot using our graphical programming platform based on App Inventor. As you can see the code is incredibly simple we can show it in one picture.

BalanceFilterDemo is attached. You can use it to test the Kalman filter together with the phone's accelerometer and gyroscope.

You can easily add Nexus 7 to the robot as above pictures show.

Run the Robot

IMG_8894.jpg

Put the robot on the desk, turn on the power and run the robot.