Torso Report - DarshanNalwal/hello_world GitHub Wiki

Problem statement:

To design, build and develop an experimental humanoid robot platform that has basic artificial intelligence and achieves static and dynamic stability.

Literature survey:

To design ,build and develop a humanoid robot is a complex problem to encounter, as it has many degrees of freedom to control, use the feedback in real time and hence achieve dynamic and static stability.

We modelled our robot considering it to be a three to four years child and hence the height obtained from anthropometric data was about 94 centimetres. The weight of the robot decided to below 10 kilograms.

Then we chose the torso design where through our search found that to maintain zero moment point is a crucial factor, during dynamic walking and that during static walk was control of centre of gravity.

Then, also we considered the design of arm whose length was decided to be about 37 centimetre according to the anthropometric data as mentioned earlier. In this version of the robot we are concentrating mainly on the dynamic stability of the robot and the arm do not have much of function to do.

Revised problem statement:

To design, build and develop torso with arms that enables the dynamic stability of the whole structure, which also has the enclosure for battery placement, controller placement and touch screen for robot status display.

Requirements:

ROBOT USE CASES:

  1. Robot used to getup when it falls.
  2. Robot used to walk from one point to another point
  3. Robot used for evolution in design.
  4. Robot used for pick and place.
  5. Robot used in space.
  6. Robot used for autonomous vehicle driving.
  7. Robot used for welding.
  8. Robot used as a guide for specially abled people.
  9. Robot used for painting.
  10. Robot used to study social behaviour.
  11. Robot used for laboratory assistance.

REQUIREMENTS:

  1. Maintain CG of whole robot just above thies and ZMP inside support polygon during dynamic walking.
  2. Modular in design.
  3. Enable quasi-static evolution.
  4. High stifness and strength.
  5. Light in weight.
  6. Independent testable platform.
  7. Handel dynamic shocks.
  8. Wires intact at maximum stretch point.
  9. Robot can sustain 9g forces.
  10. Robot can sustain extreme weather conditions such as extreme temperature
  11. Robot able to collect data on atmosphere variables.
  12. Robot can able to run on solar power.
  13. Robot can understand and interpret road safety signal.
  14. Robot detect passer by and stop when detected.
  15. Robot can learn and traslate different languages.
  16. Robot can allow the students to learn different domains.
  17. Robot can conduct test to evaluate one’s performance.
  18. Robot can help to walk.
  19. Robot can wait for traffic signals.
  20. Robot endeffector can allow the user to insert or change brushes of different size.
  21. Robot can contain paint resistant coating on its exoskeleton.
  22. Robot controller can be based on artificial neural networks.
  23. Robot can able to lear different equipment hazards.
  24. Robot can be able to understand the behaviour of different laboratory equipment and if used for a specific laboratory it can be programmed according to that.

UML DIAGRAM:

torso_use_case_diagram

Design specifications:

SL.NO D/W Measure of performance Egg units Range value Ideal value Validation Priority
1 D CG position during various activities. cm 0-2 cm 0 Method Cg lies in the Convex polygon tested using simulation 10
2 D No. of removable parts. Count 1-10 10 Ease of assembly & disassembly 8
3 D Features improved or added with new version. Count 1-20 20 Reliability of new features added without conflicting the existing features. 9
4 D Young’s modulus. N/m2 1-100 GPa 1.5 GPa Stress v/s strain curve used to find young’s modulus. 9
5 D Mass Kg 3-5 3 Weighting machine 9
6 D Efficiency on different platform. % 0-100 100 Calculation of efficiency on various platform and mean deviation. 8
7 D Impulsive force or torque calculation. N or N-m 0-6 kN 0 Calculation of external force & deflection of the part on which force shock is impacted. 9
8 D Calculation of deflection. cm 0-5 cm 0 Checking for loose connection and removal of any wires. 9
9 W Calculation of gravitational force N 0-2381 2381 Testing on application of 9 g force. 5
10 W Determination of temperature. K 273-500 298 Temperature sensor. 4
11 W Determination of humidity % 40-100 80 Humidity sensor 3
12 W Power kW 0.25-1 0.25 Robot able to charge on solar power 5
13 W Ability to detect various colours nm 400-500 450 Calculation of wavelength light detected. 4
14 W Calculation of distance between robot and next passerby Metre 0-∞ 0 Distance sensor 5
15 W Ability to speak different languages Count 0-15 15 Comparison using standard text-to-speech engine. 4
16 W Ability to teach different subjects. Counts 0-100 100 Inspection of robot database using professionals 4
17 W Maximum marks allotted for test Number of marks 0-100 100 Ability to test performance of individual. 2
18 W Calculation of reaction force due to robot support --- 0-50 50 Load sensor 3
19 W Shortest path determination m 0-2000 0 GPS sensor 2
20 W No of different brushes can be attached to end effector count 0-10 10 inspection 3
21 W Ability to resist ammonia present painting W/W 0-1 1 Calculation of weight ratio of ammonia 2
22 W Ability to understand social behaviour - - - Determination of robot behaviour on various test situations 2

Range of motion:

range of motion

DOF of torso:

torso_dof

Black Box:

black_box

Function structure:

fuction_structure

Morphological chart:

Function Solution 1 Solution 2 Solution 3 Solution 4
Charging unit Li-Po battery charger Wireless charger
Provide electrical energy Li-Po battery NiMH battery Lead acid battery Li-ion battery
DC to DC converter Buck converter voltage divider voltage booster
To process input data and provide control signal Toradex raspberry pi arduino beagle bone
To amplify the control signal and provide required wave form to actuate actuator Cube servo G15 driver ESCON maxon motor driver
Convert electrical energy into mechanical energy stepper motor servo motor DC motor Brushless motor
Determine the instantaneous position Rotary encoder Optical encoder Linear encoder Position encoder
Determine the torque Torque sensor Force sensor Accelerometer
Display the status of the robot and accept user input Liquid Crystal Display LED Display Cathode Ray Tube Display
Determine orientation of the robot IMU GPS camera
Identify and diagnose the error Open loop control system Closed loop control system
Determine the potential difference between the two terminals of energy source Voltmeter Multimeter

Hardware architecture:

hardware_archi

Software architecture:

soft archi

Software flow:

software_flow

Torso and arm motor torque calculation:

motor tor

Battery requirement and power calculations:

The power calculation is important step in whole of Robot design since it allows to determine the battery capacity,type of battery required and finally decide number of such batteries required.

To calculate the power required we need to first calculate the mechanical power and equate it to electrical power,where we get current and hence battery capacity.

We calculate mechanical power from the motor torque Tmot and its angular speed it to be known i.e. ωmot Now ,

         Pmechanical = Tmot * ωmot

                     = 6.4(N-m)*((54*2π) / 60)(rad/sec)

                     =33.792 Watt

         Pelectrical = IV  (if we provide a 24V supply we now require)

                   I = (33.792 / 24)

                   I = 1.408

To drive the motor for 1 hour we require

                   Q = 1.408*3600

                     = 5068 mAh

If we equire 24 such motor and hence battery capacity required would be

             Q total = 121651.2 mAh

We require 12 batteries of 10000 mAh each or 5 batteries of 21600 each.

Motor selection:

REASONS FOR SELECTION:

  1. Type of motor selected - Servo motor

    Servo motor is selected as it suited for high precision , low motor size and closed loop control system.

  2. Type of battery selected - Li-Po battery

    Li-Po battery is known for its high energy density and hence its low size and it is rechargeable.

  3. Type of controller selected - Toradex

  4. To detect orientation of the robot- IMU IMU units are the 9 axis (gyroscope, accelerometer and magnetometer),low in cost and easy to control

Torso motor selection:

  • Shoulder X and Shoulder Y = MX-64AR(4)
  • Arm Z left and Arm Z right = MX-28R(2)
  • Elbow left and right = MX-28R(2)
  • Torso = MX-106R(2)

Torque requirements:

  • Shoulder x and y is 4.02 N-m.
  • Arm z 1.9 N-m.
  • Elbow 1.6 N-m.
  • Torso 8 N-m.

Comparison:

  • Based on torque requirement calculations we end up with 3 series of dynamixel motors namely 64, 28 and 106.
  • Out of RX-64, MX-64AT, MX-64AR, RX-64 not has PID control and MX 64T has TTL communication so we selected MX-64AR.
  • Out of MX-106T and MX-106R , MX-106T has TTL communication so we selected MX-106R.
  • Out of MX-28R and AX-18A , AX-18A not has PID control and has TTL communication so we selected MX-28R.
  • TTL – has two transistors in operation which amplifies the collector leakage current hence distorted signal is included when communication is long range.
  • TTL uses 3 pins for connection while RS-485 uses 4.

Motor selection table:

1ntitled

Torso design:

torso_design

Simulation:

right_arm left_arm

Comparison between Dynamixel motor and Maxon motor:

Maxon motor selection procedure:

426- ESCON 36/2 DC can take +5 V and 5 A for 10 ms.(3.3 A continuous)

i.e., if we are driving the motor at 12V it can deliver 1.5 times the stall torque for 10 ms.

To provide the stall torque in case of worst case we require to calculate the time of operation that brings it from worst case.

The maximum displacement during worst case to bring to normal state is about 90 degrees.

Now , for a 55 RPM motor (MX-64 AR) the required is

    t=(90/360)*(60/55)

     =15/55

     = 270ms 

Hence, we cannot use the auxillary torque for the mtor to drive worst case.

Gear Ratio Calculation:

The required power to drive the torso motor is obtained as below

   P = (Tm*ω)
     = (8.0 Nm*2pi*55)/60
     = 40.0 W

From the above calculations we selected DCX 26 L whose torque is 46.9 Mn.

Therefore, the required gear ratio is.

  N = (8000/46.9)
    = 170.57

From the obtained gear ratio, we selected GPX26 gear.

COMPARISON BETWEEN MAXON MOTORS AND DYNAMIXEL MOTORS tabel:

BASIS OF COMPARISON MAXON Maxon model DYNAMIXEL Dynamixel model
Torque (leg and torso) 46.9mNm(without gear box) DCX 26L (motor) 6.4Nm (for torso ABS) MX-64AR
8-10Nm (with gear ) GPX 26 (gear box) 8Nm (leg and pelvis) MX-106R
Torque for arm,ankle & head 37.2mNm(without gear box) A-max 32 (motor) 1Nm for head and arm MX-28R
1.3Nm (with gear box) GP 32 BZ (gear box) 1.2Nm for ankle MX-28R
motor-1.9Nm
Weight 170g DCX 26 L (motor) 153g MX-106R
153g GPX 26(gear box) 126g MX-64AR
211g A-max 32(motor) 73g MX-28R
190g GP 32 BZ (gear box)
40g ESCON 36/2 DC
Cost 1-4 (Rs-15168.00) GPX 26 (gear box) 1-5(Rs-28450 ) MX-28R
5-19(Rs-12380.57) 6 unit (Rs-25776)
1-4(Rs-13481.229) DCX 26 L (motor) 1-5(Rs-36501) MX-64AR
5-19(Rs-11807.46) 6unit(Rs-34904)
1-4(Rs-10224.88) A max 32 (motor) 1-5(Rs-57040) MX-106R
5-19(Rs-9169.83) 6unit(Rs-54900)
1-4(Rs-17610.24) GP 32 BZ (gear box)
5-19(Rs-12634.57)
1-4(Rs-10075.09) ESCON 36/2 DC
5-19(Rs-9430.34)
Total cost( Rs) 785367.16 850974.00

FINAL BILL OF MATERIALS:

FINAL BOM final bomd