Posts Tagged ‘ai’

My Final Year Project Idea – The Hand

Tuesday, November 10th, 2009

project

Taken from my project proposal:

I plan to create a robotic hand/arm that can respond to human commands and perform in basic problem-solving situations, where human guidance is kept at a minimum. After seeing a lot of different types of robotic arms, I believe that creating an arm isn’t that difficult, but writing the software that allows the robot to make informed decisions would be much more of a challenge.

I intend to create a humanoid hand (possibly with only 3-4 digits) that can perform a range of tasks, such as replicating a simple tune on a piano that the droid has been played, picking up objects, distinguishing weights and possibly even colours and materials which will require the robot to adjust the level of grip. This will require me to look at video pattern recognition for shapes and objects and possibly rely on the robots memory for previously-encountered objects.

I would like to use a combination of either Max5 or Flash and the Arduino for the hardware-software interaction and a series of servos and pulleys wrapped within an aluminium, plastic or copper construction, with FSRs (Force-Sensitive Resistors),  and a spring-loaded immersion resistor for measuring the weight.

I am not looking to create a particularly fast-moving limb, but rather one that is dexterous enough to try a larger range of movements to complete a certain task.

My original idea was to create a pair of hands that could pick up and play a games console controller, like a PlayStation 3, but this would require extreme amounts of both dexterity and speed.

Now, the human hand is a complex thing and I’ve never looked at it more. The shear levels of dexterity are incredible, particularly in the thumb, which has to oppose the fingers perfectly in order to function. The human hand has a huge number of different muscles and tendons in order to create a vast library of shapes for different applications.

3936469406_722bf104c2

However, the main movements of a human hand can be summarised as shown below:

Movement2

Movement1

This of course ignores the 3 axis of movement that the entire arm has, with one hinge join in the elbow and 2 axis of movement in the shoulder – up/down and forward/backwards. However, the hand itself is comprised of just 16 major ‘bones’, but even this can be simplified. Most of us will find it hard to bend the 2 joints in our fingers independently of one another, therefore the finger itself only needs one form of control – curl up and extend. The knuckles are the next degree of movement and on top of the fingers fist>flat movement, they only require a small movement to spread the fingers apart and together again. The wrist is another simple joint with just 2 degrees of rotation. The most challenging digit is the thumb. I never noticed just how freely it moves in all 3 axis as well as bending in 2 places.

If I can design and build a hand that can accommodate all of these movements, the rest should be relatively easy(!)

Using 1, possibly 2 Arduino Duemilanove ATmega328 boards (I have just ordered 2!) and either Flash CS4/CS5 or more likely Max5 MSP, coupled with a variety of servos ranging from torques of 2kg/cm to a massive 15kg/cm, some PVC-coated steel braided wire and a multitude of sensors, I think I can make a hand that can perform almost as many tasks as a human hand. From thereon in, pre-recorded tasks and movements should(!) be easy…

My plan from my project proposal:

  1. Design a humanoid limb which is capable of the levels of dexterity of a human hand
  2. Build a skeleton to work around using a resistant material
  3. Fill the limb with servos and wires
  4. Connect everything up to Max5 to make sure the servos work as planned
  5. Experiment with moving different servos in different orders in order to mimic human-like movements
  6. Physically move the arm to get some values and data back for the different positions
  7. Program in some pre-recorded functions like “Pass to me” for extending the arm when it has something and ‘Yes/No, True/False’ for trial and error or reinforced learning
  8. Get the arm to see objects and move to a position over them
  9. Use the pre-recorded ‘grasp’ movement to grasp objects
  10. Use the pre-recorded “Pass to me” movement to pass me an object, or the “Move to” command to move the object to another place.

Good luck to me!

Updated Dissertation Structure

Tuesday, October 27th, 2009

dissertation
The title is still “Language, Code and Communication – What Does It Take To Make Artificial Intelligence?”, but I have now re-drafted my dissertation structure as follows:

  1. Introduction
    • 1.1 – What I plan to discuss
    • 1.2 – A brief history of AI
  2. Intelligence
    • 2.1 – What is intelligence?
    • 2.2 – How do we solve problems?
      • 2.2a – Intrinsic and extrinsic knowledge
      • 2.2b – Learning by trial and error
  3. Communication and Language
    • 3.1 – Why the need to communicate?
      • 3.1a – Humans
      • 3.1b – Machines
      • 3.1c – The Internet
    • 3.2 – Why and how did language evolve?
      • 3.2a – Spoken word
      • 3.2b – Written
      • 3.2c – Print
      • 3.2d – Digital
  4. Code
    • 4.1 – Why do we need code?
      • 4.1a – Communication
      • 4.1b – Increasing productivity
      • 4.1c – Problem solving
    • 4.2 – How has code evolved to better handle complex tasks?
    • 4.3 – Why do different codes exist?
  5. Artificial Intelligence
    • 5.1 – How does AI work and how has it evolved?
      • 5.1a – Set-response AI
        • 5.1a.1 – Point and click games
        • 5.1a.2 – Command-line games
      • 5.1b – Linear reactive AI
        • 5.1b.1 – Pong
        • 5.1b.2 – PacMan
      • 5.1c – Strategic learning-based AI
        • 5.1c.1 – Chess machines
        • 5.1c.2 – Social networking sites
      • 5.1d – Problem-solving and self-autonomous AI
        • 5.1d.1 – ASIMO
        • 5.1d.2 – Mars Explorer
    • 5.2 – Faking intelligence
    • 5.3 – The worry of self-awareness
      • 5.3a – The Terminator franchise
      • 5.3b – I, Robot
      • 5.3c – Issac Asimovs “Three Laws of Robotics”
        • 5.3c.1 – The possible 4th and 5th laws
  6. How hard is it to make AI?
    • 6.1 – Have we actually created intelligence? (as defined in 2.1)
    • 6.2 – How can AI be made better?
    • 6.3 – What is holding us back?
      • 6.3a – Technical limitations
      • 6.3b – Social restrictions

As for references, I only have:

  • Prolog – Programming for Artificial Intelligence, Second Edition by Ivan Bratko [0-201-41606-9]
  • AI: The Tumultuous History of the Search for Artificial Intelligence by Daniel Crevier [0-465-02997-3]