medical robotics applications & design …jasmith/courses/bme100/docs/...• unimate puma 560...

42
Medical Robotics Applications & Design Considerations (Part 1) Dr. James Smith

Upload: others

Post on 31-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Medical Robotics Applications &

Design Considerations (Part 1)

Dr. James Smith

Page 2: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

A Short History of Robotics

Page 3: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Abu Al-Jazari (1136-1206) •  Arabic scholar during the Islamic Golden Age. •  Invented the crank-shaft and connecting rod •  Invented an escapement mechanism and cogged gears – allowing

machines to be programmed •  Called the “Father of Modern Engineering” and the “Father of Robotics”

A hydropowered water-raising machine

A valve-operated reciprocating suction piston pump

The elephant clock

Programmable humanoid robots.

Page 4: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Leonardo Da Vinci (1492-1519)

•  Was an artist and military during the Italian Renaissance. •  Designed and built programmable “automata”. •  After his death his works were destroyed and sketches

scattered and was forgotten about as an engineer until the 1800’s

Built a programmable robotic knight to entertain visitors to a castle.

Built a programmable cart which carried a robotic lion that entertained

guests at a party.

Page 5: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Nikola Tesla (1856-1943) •  Serbian who emigrated to the U.S. at 28 •  Invented AC electricity generation, AC transmission,

AC motors, and radio. •  “The man who invented the twentieth century” •  Many people credited Marconi and Edison with many

of Tesla’s inventions (because he was not American) but the U.S. Supreme Court eventually sided with Tesla on all patent disputes

He demonstrated robotic radio-controlled boats in 1898 at Madison Square Garden

Page 6: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Famous Robots

• Unimate Puma 560 – Widely used manipulator

•  iRobot’s Roomba – Most successful home

vacuum robot •  Boston Dynamics

– Big Dog – Cheetah – PETMAN

Page 7: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Robot Manipulators

Page 8: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Electromechanical Arms

•  Mech. Linkages •  Motors

– Electrical – Pneumatic – Hydraulic

•  Sensors – Angle – Vision – Force – Etc.

Page 9: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Mechanical Linkages: Kinematics

•  Kinematic chains •  Know lengths •  Track angles •  Need linear algebra

& matrices! – MTH 141 – PCS 211

Page 10: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Actuation Types •  Electrical (EES612)

– Common – Clean – Compact

•  Pneumatic – Fast – Light – Compressor needed

•  Hydraulic – Powerful – Dirty – Pump needed

Page 11: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Sensors •  EES 604 & 674 •  Angle

– Potentiometers –  Incremental Encoders

•  Velocity – Tachometer – Derivative of Angle

•  Force – Accelerometers – Strain Gauges

Page 12: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Sensors

•  Ultrasound – Motion (Doppler) – Range (ToF)

•  Vision – Visible –  “Invisible”

•  Electromagnetics – EMG – EKG – EES 674

3D Visual Target Tracking

Page 13: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Important Concepts

•  Physical concepts – Hooke’s Law – Newton’s Second Law – Motor and Load interaction

Page 14: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Hooke’s Law •  Force in a spring (F)

– Proportional to change in length (∆l) – Spring constant: k

F = k ⋅ Δl

Page 15: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

•  Don’t apply voltage to motor •  Apply an unknown mass to

the motor •  Resulting displacement

corresponds to load on motor by the mass.

Motor Mass

What is a good spring location?

Applying Hooke’s Law Force Control: Sensing Motor Load

Page 16: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Motor Voltage & Speed

Motor Speed vs. Voltage

0

100

200

300

0 5 10

Applied Voltage (Volts)

Mo

tor S

haft

Sp

eed

(R

PM

)

•  Lego motors accept voltage commands via software

•  The motor speed varies with applied voltage –  Higher voltage batteries

also speed up the motors •  When motor is loaded

you need to apply a larger voltage to get enough current.

Page 17: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Force Control: Generate a Known Force

•  Motors produce forces (torques)

•  Attach a linear spring to the motor shaft

•  Send a voltage “command” to motor

•  Motor shaft angle corresponds to the spring force

Page 18: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Haptic Rendering Algorithm •  Collision detection & response

Collision Detection

Collision Response

Object Database

(Geometry &

Material)

Position & Orientation

Force & Torque

Contact Info

Page 19: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Design Considerations for Robots in Medicine

Page 20: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

System Selection

•  Function •  Safety • User Interface • Cost

Page 21: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Categories

• Manipulation type – Teleoperation – Autonomous

• Control Mode – Admittance

• Measure force & produce displacement

– Impedance • Measure displacement & produce force

Page 22: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Robots in Surgery

•  1985 - Puma 560 – Needle in brain biopsy

•  1992 - Robodoc – Milling in femur for hip replacement

•  2000 - da Vinci Surgical System – Laparoscopic procedures"– Cardiac valve repair & others – St. Mike’s has one

Page 23: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Da Vinci Robot

•  Teleoperation – Non-autonomous

•  $3000 + in “consumable” parts per operation – Very expensive

Page 24: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Surgical Robotics in Action

Page 25: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Surgical Robots in Action

Page 26: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Haptics: Enhancing Surgical Robots

• Relating to sense of touch •  As opposed to optic (sight) • Why?

– Simulation – Human performance studies

Page 27: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

How can YOU explore medical robotics?

It’s within reach!

Page 28: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Medical Robot Development Process

•  Identification of pathology or ablation –  What needs fixing?

•  Identification of affordable technology –  What motors and sensors? At what cost?

•  Determine level of functional replacement –  What is possible? –  Keep it simple & effective!

•  Risk evaluation –  Never underestimate what can go wrong! –  Failures always occur. What is the acceptable risk level?

•  Prototype device, test & start again •  Test on larger population set •  International certification •  Manufacture & distribute device •  Long process: up to 15 years!

–  Otto-Bock C-leg development began in the 1980s; released in 1999

Start

End

Manufacture

Prototype

Test

Page 29: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Commercial Toolkits

• Commercial Off-the-Shelf – Cheap ($300 - $700) – Easy to obtain – Refined user interfaces

•  Examples – Lego Mindstorms – Vex – Fischer Technik

Page 30: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Manipulating Everyday Objects with Prosthetic Hands

30

LEGO Mindstorms NXT

From: http://sketchup.google.com/3dwarehouse Lego Mindstorms NXT Components by paytonrwhite

Page 31: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Manipulating Everyday Objects with Prosthetic Hands

31

NXT BRICK • 32-bit ARM Processor - 256 KB Flash

- 64 KB RAM • 4 button user interface • 100 x 64 LCD Display • Speaker • A/B/C Output Ports – Motors • 1/2/3/4 Input Ports – Sensors • USB download interface

Page 32: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

NXT Programming: Option 1 • NXT-G

– Visual / GUI programming

– Comes with Lego Mindstorms

– Integrated debugging & downloading

– USB & Bluetooth

Page 33: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Manipulating Everyday Objects with Prosthetic Hands

33

NXT Programming: Option 2 •  C-like progamming language

–  Harder, but more powerful & flexible than NXT-G •  Use Bricx interface in Windows or Text Editor in Unix

–  http://bricxcc.sourceforge.net •  Use “Not eXactly C” compiler

–  http://bricxcc.sourceforge.net/nbc/nxcdoc/NXC_Guide.pdf •  NXT Brick executes resulting “Byte Code” (NBC)‏

–  http://bricxcc.sourceforge.net/nbc

•  Download programs using USB - linxt (Linux) or BricxCC (Windows)

Page 34: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Manipulating Everyday Objects with Prosthetic Hands

34

NXT Buttons • Centre Button (square)

On/Enter/Run •  Arrow Buttons

left/right select • Rectangular Button

Clear/Go Back/ exit

Page 35: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Manipulating Everyday Objects with Prosthetic Hands

35

Not eXactly C Program: btn.nxc

// NXC LCD Button Demo // Task main() { Int count = 0; TextOut(0,LCD_LINE1,”LCD > ButtonDemo”); while(count < 5) { count = ButtonCount(BTNRIGHT,false); NumOut(0,LCD_LINE2,count); } }

Page 36: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Manipulating Everyday Objects with Prosthetic Hands

36

Compile – Upload – Run File NXCdefs.h must be in the directory

• Compile: nbc –I=. btn.nxc -O=btn.rxe • Upload: linxt –u btn.rxe • Run: My Files/Software Files/btn

Page 37: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Manipulating Everyday Objects with Prosthetic Hands

37

NXT Sensors •  Ultrasonic Sensor - detect objects - measure distance to object •  Touch Sensor - touch / no touch (on/off) •  Light Sensor - distinguish light/dark - measure light intensity •  Sound Sensor - ~3 – 6 KHz - measure sound level (dB/dBA)

Page 38: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Manipulating Everyday Objects with Prosthetic Hands

38

NXT Servo Motor • Connect to Outputs A/B/C •  Built-in rotation sensor - Measure angle - Measure # of rotations - Motor may be off • Continuous rotation - Fwd/Rev Power/Speed • Rotate (Servo Mode) - Fwd/Rev # of degrees - PID control

Page 39: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Manipulating Everyday Objects with Prosthetic Hands

39

NXT View – Test Sensors •  Sensors connect to inputs 1/2/3/4 • NXT program “View” used to test sensors •  Select View / Sensor Type / Run - Use to verify sensor operation - Display sensor measurement value

• Motors connect to outputs A/B/C • Motors include a rotation sensor - Display motor rotation angle - Display # of rotations

Page 40: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Manipulating Everyday Objects with Prosthetic Hands

40

NXC Documentation / Examples

• Next Byte Codes & Not eXactly C – http://bricxcc.sourceforge.net/nbc

• NXC documentation – Programmers guide – http://bricxcc.sourceforge.net/nbc/nxcdoc

• NXC Examples – http://bricxcc.sourceforge.net/nbc/nxcsamples – see: nxcsamples.zip

Page 41: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Robotics Competition

Page 42: Medical Robotics Applications & Design …jasmith/courses/bme100/docs/...• Unimate Puma 560 – Widely used manipulator • iRobot’s Roomba – Most successful home vacuum robot

Alan Turing (1912-1954) •  Englishman known as the “father of computer science” •  Invented the idea of a programmable computer (Universal Turing

Machine) in 1936 •  Built machines to break the German enigma code in WWII •  Proposed the Turing Test to establish whether a machine is intelligent

or not in 1950

A turing machine made with Lego Mindstorms RCX