Description:

Robotics technology recently has been progressing quite dramatically. With emerging of 3D printing technology, it is much easy to produce robot structure. Although hardware has improved quite a lot and also cost is low, software remains a challenge to make an intelligent robot

This project is an attempt to introduce students to the realm of robotic, 3D printing/modelling, smart phone app development and Embedded Linux. 

Project Goal:

The goal of this project is to implement enhanced version of hexapod robot(video demo of typical implemenation http://youtu.be/jYKSbAZlGfg). The enhancement includes using IOS/Android app via WiFi to control the gaits and walk modes (forward, backward, rotate and etc.) of the robot, and also intelligently to avoid obstacles without human interaction. It is able to speak via internal speech synthesizer. Two portions of software will be implemented. One is the daemon processing running in the robot itself. The other is the IOS/Androd control app running in the smart phone.

Daemon processing program is mainly to perform the robotic kinematic and anaylsis data from sensors to make decision to avoid obstacles. It also take instructions from the IOS/Android app to do the movements. The sensing should have high precendent than the instructions from the app. When there is a text feed, it passes to the speech synthesizer.

IOS/Android app is the control program that issue movement instructions to the hexapod robot. The interface of the app must be user friendly which may use the gestures and accelerometers to issue the movement instructions. Movement instructions include forward, backward, turn left, turn right, stop and etc. A small area of screen should reverse to show if robot has sensed any obstacles in the front of it. A text box is for text feeding to the robot to speak. A webcam is placed on the head to stream the vision. A page on the app is to captured this video streaming. 

Hexapod Robot:

Students are required to build the hexapod robot. The hexapod robot consists of following components. The components can be purchased in online store.

  1. 3D print body - needs to remodelling the 3D design to hold the electronic components.
  2. Main processor board - two boards can be choosen, running Linux.
  3. 12/18 of servo motors
  4. Connectors and Cables
  5. Sensors
  6. Power Input
  7. WiFi for Raspberry Pi
  8. Sound
  9. Small USB Hub
  10. M3 screws



Tools to Use:

The following development tools are introduced to use in this project.

  1. Development platform - Ubuntu Linux, OSX
  2. Integrated Development Environment - Netbeans
  3. Source code management tool - git
  4. Programming Language - C/C++, Java/Objective-C
  5. XML-RPC Communication protocol
  6. GNU Make
  7. Speech synthesizer - espeak
  8. Android SDK/IOS SDK
  9. Running platform - Embedded Linux, IOS/Android
  10. 3D modelling tools - blenderSketchupMake



References:

  1. Development Guide
  2. Robot Inverse Kinematics
  3. A Guide To using IMU
  4. Sensor fusion
  5. PID Controller (Proportional, Integral and Derivative) controller
  6. Walks and gaits demo
  7. An Example of Taking measurement for IK Caculation
  8. Stubby - a full documented hexapod

 

Project Deliverable:

Followings must complete.

  1. Hardware - the hexapod robot
  2. Software - processing daemon running in the robot and the IOS/Android control app
  3. Written report - must include the analysis of robot kinematics, an example here.



Pre-requisition:

Students who are interested and believe themselves having strong programming skill in required programming languages. He/she has interest in learning robotic and embedded Linux. Self-motivation is important because development tools and knowledges on robotic may not be taught in any CS courses.