Difference between revisions of "Project:Kinect Robotic Arm"

From London Hackspace Wiki
Jump to navigation Jump to search
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
== Goals ==
 +
 
The idea here is to have an intelligent Robot Arm that is able to find and pick objects,
 
The idea here is to have an intelligent Robot Arm that is able to find and pick objects,
 
not using a pre-determined sequence of steps nor some kind of remote control, but
 
not using a pre-determined sequence of steps nor some kind of remote control, but
Line 5: Line 7:
 
Later one could add some wheels to it - with a mobile platform, this would in fact be
 
Later one could add some wheels to it - with a mobile platform, this would in fact be
 
converted into an autonomous robot. The Kinect would also be used to detect and avoid
 
converted into an autonomous robot. The Kinect would also be used to detect and avoid
obstacles.
+
obstacles - No more sensors should be needed.
  
 
In terms of usefulness, although it doesn't really have to be useful, as it is so cool,
 
In terms of usefulness, although it doesn't really have to be useful, as it is so cool,
 
it could be used to pick lego parts that might be spread on the floor and put them into a box.
 
it could be used to pick lego parts that might be spread on the floor and put them into a box.
 
  
 
== Hardware ==
 
== Hardware ==
Line 20: Line 21:
 
== Kinect ==
 
== Kinect ==
  
[[File:Kinect_Windows.png]]
+
This is a special version of Kinect - it has a "Near Mode" that allows to see objects as close as 40 centimeters (the normal Kinect only sees objects from 80 centimeters)
 +
 
 +
[[File:Kinect Windows.jpg]]
  
 
== The Arm ==
 
== The Arm ==
Line 29: Line 32:
  
 
== The Servo Controller ==
 
== The Servo Controller ==
It allows to control up to 32 servos, so, one has a lot of room for aditional developments.
+
It allows to control up to 32 servos, so, one has plenty of room for aditional developments.
  
 
[[File:SSC32_Controller.jpg]]
 
[[File:SSC32_Controller.jpg]]
 +
 +
== Raspberry Pi ==
 +
 +
With the ARM11 processor 700Mhz, 512Mb RAM running Linux, there's plenty of processing power to analyse the Kinect depth data.
 +
 +
[[File:Raspberry_Pi.jpg]]
  
 
== Problems & Challenges ==
 
== Problems & Challenges ==
Line 38: Line 47:
 
this controller is prepared to integrate with Arduino.
 
this controller is prepared to integrate with Arduino.
  
The Kinect would be connected the Raspberry Pi, as there is no drivers of Kinect for Arduino, but there is
+
The Kinect would be connected the Raspberry Pi, as there is no drivers of Kinect for Arduino, but there is something called "OpenKinect" that allows to communicate with Kinect from Linux, and one can't install Linux
something called "openKinect" that allows to have Kinect acessible from Linux, and one can't install Linux
 
 
in Arduino.
 
in Arduino.
One might ask why to have an Arduino, and not connect the Rasperry Pi directly to the servo controller?
+
One might ask why to have an Arduino, and not connect the Raspberry Pi directly to the servo controller?
 
It might be possible, but one only has documentation on how to connect the server controller to Arduino ...
 
It might be possible, but one only has documentation on how to connect the server controller to Arduino ...
  
Line 60: Line 68:
 
* [http://robotics.nuvvo.com/lesson/7437-moving-servos-with-a-ssc-32-and-an-arduino SSC32 and Arduino]
 
* [http://robotics.nuvvo.com/lesson/7437-moving-servos-with-a-ssc-32-and-an-arduino SSC32 and Arduino]
 
* [http://www.lynxmotion.com/images/html/build128.htm SSC-32 software]
 
* [http://www.lynxmotion.com/images/html/build128.htm SSC-32 software]
 +
 +
== Comments & Suggestions ==
 +
 +
(add your comment or suggestion here)
 +
 +
[[Category:Projects]]

Latest revision as of 15:12, 3 June 2013

Goals

The idea here is to have an intelligent Robot Arm that is able to find and pick objects, not using a pre-determined sequence of steps nor some kind of remote control, but instead use Kinect sensor to find the objects to pick.

Later one could add some wheels to it - with a mobile platform, this would in fact be converted into an autonomous robot. The Kinect would also be used to detect and avoid obstacles - No more sensors should be needed.

In terms of usefulness, although it doesn't really have to be useful, as it is so cool, it could be used to pick lego parts that might be spread on the floor and put them into a box.

Hardware

  • Robot Arm Kit - 6 DOF
(includes the SSC32 Servo Controller)
  • Kinect (PC Version)
  • Arduino Uno
  • Raspberry Pi

Kinect

This is a special version of Kinect - it has a "Near Mode" that allows to see objects as close as 40 centimeters (the normal Kinect only sees objects from 80 centimeters)

Kinect Windows.jpg

The Arm

With 6 degrees of freedom it's very flexible.

Robotic Arm.jpg

The Servo Controller

It allows to control up to 32 servos, so, one has plenty of room for aditional developments.

SSC32 Controller.jpg

Raspberry Pi

With the ARM11 processor 700Mhz, 512Mb RAM running Linux, there's plenty of processing power to analyse the Kinect depth data.

Raspberry Pi.jpg

Problems & Challenges

Having the arduino connected to the arm's servos using the SSC32 controler shouldn't be too dificult as this controller is prepared to integrate with Arduino.

The Kinect would be connected the Raspberry Pi, as there is no drivers of Kinect for Arduino, but there is something called "OpenKinect" that allows to communicate with Kinect from Linux, and one can't install Linux in Arduino. One might ask why to have an Arduino, and not connect the Raspberry Pi directly to the servo controller? It might be possible, but one only has documentation on how to connect the server controller to Arduino ...

Eventually one might be able to control the Kinect with Arduino without using OpenKinect ...

The most difficult part will be to analyse the raw data that comes from Kinect and get some meaning out of it...

Resources

Comments & Suggestions

(add your comment or suggestion here)