First of all, you need some kind of plate or platform to hold everything. For our plate, we designed it in SolidWorks, and then cut it out using the laser-cutter. The base is simply a piece of acrylic with the necessary holes cut in it. There are four holes to attach the Kinect, four to attach the BeagleBoard (via stand offs) and then two sets of holes to hold the Picatinny rail mounts. For anyone that is interested, the necessary SolidWorks files can be found here.
Now that you've got the Kinect and BeagleBoard anchored to the robot, you need to power them, and allow the Kinect to communicate with the robot. Let's begin by solving the power problem.
First of all, this website was helpful, because they actually took apart a Kinect cable and put up pictures of the guts, so we knew what we were getting in to before we started slicing and dicing. Below is what the standard Kinect power cable looks like:
As you can see, the 12V wall plug and and the USB data cable meet at a special proprietary connector, which the Kinect then plugs in to. To begin, we cut off the 12V wall plug. We soldered on a standard 5.5mm male connector to the wall plug, as you can see in the photo below:
To the proprietary connector, we soldered a standard 5.5mm female connector, as shown below:
Next, we made the below cable:
On the left edge is a shielded power connector that connects to the robot's 12V power supply. On the right side is a standard male cable. Thus, it is easy for us to switch between powering the Kinect from a standard wall socket, and powering it from the robot. We made another cable that is similar to the one shown above to connect to the robot's 5V power supply. This cable would then connect to and power the BeagleBoard.
With our power issues solved, the only remaining cable issues were for data. The BeagleBoard has multiple USB ports, so data from the Kinect was simply sent to the BeagleBoard over USB, as shown in the picture below:
Finally, to communicate between the BeagleBoard and the robot, we simply connected the BeagleBoard's ethernet port to the ethernet port on the robot, using the below ethernet cable:
And that's pretty much it.
Here is a photo with everything put together and attached to the robot:
Below is a video explanation of all of our connections:
- BeagleBoard xM- http://beagleboard.org/hardware-xM
- Standard 5.5mm female power connector- DigiKey P/N: CP3-1000-N
- Shielded power connector- DigiKey P/N: CP-1380-N
- Standard male 5.5mm power receptacle