Group 10 – Helping Hand Taylor Jones Eric Donley Kurt Graf Matt Carlson OUR PROJECT IS • A Haptic Robotic Arm controlled by a sleeve mounted with motion and force sensors on a human operator's arm – which controls the motion-tracking robotic arm's proportional motion. These robots have a wide range of industrial and medical applications such as pick and place robots, surgical robots etc. They can be employed in places where precision and accuracy are required. Robots can also be employed where human hand cannot penetrate. Theoretically, adding digits (fingers) to the arm with extremely fine control could make a skilled work duplication station possible. That means you make a part at your workstation and the Helping Hand duplicates your work on a robotic station. Motivation for Project We are Electrical Engineers and a Computer Engineer candidates for Bachelor of Science in Engineering diplomas Concern for real working world (industrial) knowledge and skills led the team to choose for senior design project a modern application of an industrial standard robotic application - the robotic arm. PROJECT CONCEPT Why study the human-operated robot arm? The future of robotics in manufacturing and assembly is increasing flexibility both in mechanical performance and ubiquitous integration with human workers. The future of robotics is greater dexterity, easier and quicker programmability, and safe operation with human coworkers. Building a tele-operated master-slave robot arm driven by sensors worn on a human arm is investigating future possibilities and general performance considerations of advanced robotics. Goals and Objectives of Our Project 1. Proportional motion-tracking of a human operator's arm motion 2. Fast tracking response = or < 0.1 seconds 3. Effective grasp-and-place 50 gram object with end-effector 4. Smooth and safe and stable motion 5. 6+1DOF with elbow and wrist roll Specifications of Performance 1. Less than 0.1 second (human reaction time) delay from human arm motion to robot arm motion-tracking response 1. Automatic reset to start position 3. Internal range-of-motion limitation fail-safes 4. Grasp, lift, and place 50 gram payload 5. End-effector does not damage payload Not an Open Loop System Exteroceptive (operator) Feedback System Overview AL5D Arm • Length : 20 in. • Gripper width : 1.25 in. • Degree’s of freedom : 7 MPU-6000/6050 Six-Axis MEMS MPU-6000/6050 Six-Axis (Gyro + Accelerometer) MEMS MotionTracking™ Devices for Smart Phones, Tablets, and Wearable Sensors Completed sensor board with 4x4x1 mm gyro TWI Timing • V(0) = 0 • V(inf) = Vcc • Vcc = Vc + I*R • Vcc = Vc + R*C*dVc/dt • High >= 0.7*Vcc • Low <= 0.3*Vcc • tmax = 300ns • dVc/dt + Vc/RC = Vcc/RC • Vc = Vcc(1-e^(-t/RC)) TWI Timing • 0.7*Vcc = Vcc*(1-e^(-t/RC)) • 0.7 = 1 – e^(-t/RC) • -t = RC*ln(0.3) • RC = -t/ln(0.3) • t <= 300ns • RC <= (300*10^(-9))/ln(0.3) • RC <= 2.49*10^(-7) GYRO Equation The gyro gives data in degrees/second To determine actual angle of rotation requires integration with respect to time ∫dΘ dt = Θ Mounted Sensors Motor Choice Microcontrollers Name I/O pins Memory A/D converter PWM Language Price Basic ATOM 24 24 14k code 368 RAM 256 EEPROM 11 channels 3 channels BASIC $8.95 PICAXE-20X2 18 4k code 256 RAM 11 channels 0 channels BASIC $3.88 ATxmega128A4U 34 128k code 8k SRAM 2k EEPROM 12 channels 16 channels C or Assembly $3.00 Propeller 40 pin DIP 32 64k RAM/ROM 0 channels 0 channels Created in code Spin $7.99 Operational Flow Chart Software Flow Motor Control Void init_motors(void) Main Loop -int main(void) IO control Void init_pins(void) Void move_to_default(void) Void move_motors(uin8_t[7]) Sensor Control Void init_sensors(void) Math Functions void getQuaternion(int16_t*,const uint8_t*) void createQuaternion(Quaternion*,const uint8_t*) Void init_twi(void) void GetGravity(VectorFloat*,Quaternion*) Void read_sensors(void) void GetYawPitchRoll(ypr,Quaternion*,VectorFloat*) Void translate(accel_t_gyro_union, accel_t_gyro_union, accel_t_gyro_union) void loadBuffer(uint8_t*,accel_t_gyro_union) Motor Coordination • • • • • Base motor is controlled by the yaw of the bicep sensor Shoulder motor is controlled by the pitch of the bicep sensor Elbow rotation is controlled by the roll of the forearm sensor Elbow motor is controlled by the yaw of the forearm sensor Wrist rotation is controlled by the roll of the hand sensor Click to edit the outline text format Second Outline Level Third Outline Level Fourth Outline Level Fifth Outline Level Sixth Outline Level Seventh Outline Level Eighth Outline Level Sensor Data Conversion TESTING A plastic robot arm prototype was built and proved very useful for component acquisition. In particular, an arduino control board was used to initially test the gyro sensor boards and to test the servos after mounting them on the metal robot arm. 3 systems’ components required testing: • 6-axis gyroscope-accelerometer sensors • Digital and analog servo motors • Microcontroller board Testing Results • 7 servos plus two spares were tested out of the box – OK • 7 servos plus two spares tested on robot arm – 5 OK Base and shoulder servos aren’t strong enough Base only rotates plus or minus 5 degrees Shoulder only rotates 30 degrees • 4 6-axis MPU-6050 gyro-accelerometers tested individually – OK 6-axis MPU-6050 gyro-accelerometers not tested in system • 1 MCU built and tested unconnected to sensor-robot system – OK Power Supply • Two different supplies are needed • Microcontroller and sensors • Rated at 3.3v • Servos • Rated at 6v Power Supply • Initial plan • Battery Pack • • 6v Limitations • Current Click to edit the outline text format Second Outline Level Third Outline Level Fourth Outline Level Fifth Outline Level Sixth Outline Level Seventh Outline Level Eighth Outline Level New Plan • Power plug through the wall • Advantages • Limitless power supply • Configurable for high current • Disadvantages • Bulky • Increase costs • Use of transformer to step down the voltage from the wall to 6v • Then rectify the voltage to DC • Use of linear regulator to further drop the voltage to 3.3v Combine 2 power supplies in one using a shared dc power bus and dc-to-dc regulator Single PC 350 Watt P/S configured as a Shared DC Power Bus at 5 Volts for servos and dc-to-dc regulated to 3.3 Volts for sensors and micro-controller unit 5 Volts PC 350 W P/S driving 120V 18 amps AC in at 5 volts 3.3 Volts Base Servo Shoulder elevation Servo Elbow rotation Servo Elbow elevation Servo Wrist/ Forearm rotation Servo Wrist elevation Servo Gripper Servo LD1117AV33 MCU Gyro Bicept Gyro Forearm PC Power Supply Connection board 5V to 3.3V Voltage Regulator Gyro Hand Work Remaining to Complete Demo 1. Programming effectiveness between sensors, mcu, and servos tested and proven 2. Power supplies built, tested, implemented 3. Mechanical and electrical system performance documented Budget