1 / 15

Robotic Hand-Eye Systems

Robotic Hand-Eye Systems. CMPUT 610 Martin Jagersand. What is involved in making real vision-guided motion?. Hand-Eye System. System requirements. Solve many very different motion tasks Flexible, teachable/re-programmable Real time On special embedded computers or general workstations

gaia
Download Presentation

Robotic Hand-Eye Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Robotic Hand-Eye Systems CMPUT 610 Martin Jagersand

  2. What is involved in making real vision-guided motion?

  3. Hand-EyeSystem

  4. System requirements • Solve many very different motion tasks • Flexible, teachable/re-programmable • Real time • On special embedded computers or general workstations • Different special HW • Multiprocessors

  5. Toolbox

  6. System design • Interpreted “scripting” language gives flexibility • Compiled language needed for speed and HW interface. Examples Matlab Haskell PVM Dyn linking (mex) Greencard C, C++, fortran C, C++

  7. PVMParallel Virtual Machine • Message passing based distributed systems • Implemented for many machine architectures • Runs separate (heavyweight) unix processes. • Advantage: when can’t link together binaries: • Linux libc5, libc6; IRIX lib32, libn32, lib64 • High level process monitoring

  8. Library structure • /usr/erskine2/prof/jag/matlabdirs

  9. Ideas: • Data flow architecture natural. • Higher order functions to go from general to specific motion primitives. • Toolbox of primitive motion behaviors.

  10. Usage example: • Specialize robot • projandwait(zero3,’robotmovehill’,A3D,’WaitForHill’); • Initialize goals and trackers • [TrackCmd3D,N] = InitTrackers([1 1],[0,1]); • PU = GetGoals([1 1],[0,1]); • Servo control • J3s = LineMove(‘projandwait’,TrackCmd3D,J3i,PU,Ndi,err)

  11. Fran/Frob motivation:Imperative Software Limits • Integration leads to recurring implementation chores • Writing loops to step forward discretely in time • Time slicing time-varying components that operate in parallel • Code reuse • Two pieces of code need to do almost the same thing, but not quite • What’s correct? • The design doesn’t look at all like the code • Hard to tell if its a bug in the code, or a bug in the design Programs should describe what to do nothow to do it

  12. Feature Tracking Feature Tracking Image Filtering Image Filtering New XVision Programming Model Video In Stream Partitioning Combination Feature Tracking Image Filtering Data Out

  13. Programming Dynamical Systems trackMouth v = bestSSD mouthIms (newsrcI v (sizeof mouthIms)) trackLEye v = bestSSD leyeIms (newsrcI v (sizeof leyeIms)) trackREye v = bestSSD reyeIms (newsrcI v (sizeof reyeIms)) trackEyes v = composite2 (split, join) (trackLEye v) (trackREye v) where split = segToOrientedPts --- some geometry join = orientedPtsToSeg --- some more geometry trackClown v = composite2 concat2 (trackEyes v) (trackMouth v)

  14. Summary • Most current demos solve one specific movement • For solving many everyday tasks we need flexibility and reprogrammability • Interpreted scripting language • Higher order functions • What is SwEng anyway?

  15. Bill

More Related