A Fast Approach in Generating High Quality Grasps Watcharapol Watcharawisetkul Adviser: Asst. Prof. Nattee Niparnan, Ph.D. สวัสดีครับ กระผมนายวัชรพล วัชรวิเศษกุล วันนี้มานำเสนอโครงร่างวิทยานิพนธ์เรื่อง A Fast Approach in Generating High Quality Grasps โดยมี ผศ. ดร. นัทที นิภานันท์ เป็นอาจารย์ที่ปรึกษาวิทยานิพนธ์
Outline Introduction Theory & relate works Idea Evaluations Scope ทฤษฎีและงานวิจับที่เกี่ยวข้อง แนวคิดในการทำงานวิจัย การวัดผลงานวิจัย และสุดท้ายเป็น ขอบเขตุของงานวิจัยนะครับ
Outline Introduction Theory & relate works Idea Evaluations Scope
ความสามารถในการจับวัตถุต่างๆเป็นความสามารถทที่จำเป็นมากสำหรับหุ่นยนต์ ไม่ว่าจะเป็นหุ่นยนต์ทำงานบ้าน หุ่นยนต์ดูแลผู้ป่วย หรือแม้กระทั่งหุ่นยนต์สำรวจอวกาศ หุ่นยนต์เหล่านี้จะต้องสามารถหยิบจับสิ่งของได้เพื่อให้สามารถทำงานต่างๆได้สำเร็จ http://www.dvice.com/archives/2008/10/i-robot-maid-to.php https://news.brown.edu/articles/2012/05/braingate2 http://www.dvice.com/2013-7-17/robosimian-jpls-ape-inspired-first-responder Robotic grasping
A Robot That Cooks Japanese Okonomiyaki Pancakes www.diginfo.tv นี่เป็นตัวอย่างหุ่นยนต์ทำแพนเค้กของญี่ปุ่น หุ่นตัวนี้สามารถทำงานได้หลากหลาย ก็เพราะว่าหุ่นยนต์ตัวนี้มีความสามารถในการหยิบจับเครื่องมือต่างๆสำหรับใช้ทำงานแต่ละชนิดได้นั่นเอง คือหากจะกวนแป้งก็ต้องหยิบช้อน หากจะพลิกแป้งก็ต้องหยิบตะหริว หากจะโรยหน้าก็ต้องหยิบกระป๋องเครื่องปรุง แต่หากสังเกต จะเห็นว่าเครื่องมือเหล่านี้มีการเตรียมส่วนที่ใช้สำหรับจับไว้อยู่แล้ว เช่นกระป๋องเครื่องปรุงจะมีแท่งยื่นออกมาสำหรับให้หุ่นยนต์จับได้ง่ายๆอยู่ หรือกล่าวคือหุ่นยนต์ตัวนี้จะทำงานได้ในสภาพแวดล้อมที่มีการเตรียมไว้ให้เท่านั้น https://www.youtube.com/watch?v=nv7VUqPE8AE / หยิบ http://gifyoutube.com/gif/m2RV2q / เท https://gifyoutube.com/gif/v11V0G / พลิก https://gifyoutube.com/gif/v11VMA 2009 หุ่นใน lab https://www.youtube.com/watch?v=-Stz0pATsXc A Robot That Cooks Japanese Okonomiyaki Pancakes
ซึ่งในโลกของความเป็นจริงมีวัตถุอยู่หลากหลายมาก ลักษณะของวัตถุแต่ละอันก็มีความแตกต่างกัน หากว่าหุ่นยนต์สามารถจับวัตถุเหล่านี้ได้อย่างอัตโนมัติเหมือนมนุษย์ ก็จะทำให้หุ่นยนต์นั้นสามารถทำงานต่างๆได้มากขึ้นตามไปด้วย
Grasping pipeline Object perception Grasp synthesis Grasp planning 1 2 3 4 Object perception Grasp synthesis Grasp planning Grasp execution เพื่อให้หุ่นยนต์สามารถจับวัตถุได้อย่างอัตโนมัตินั้น เราสามารถแบ่งการทำงานออกเป็น 4 ขั้นตอนใหญ่ๆ ดังนี้ Object perception Grasp synthesis Grasp Planning Grasp execution
Object perception Object perception 1 รูปร่างลักษณะของวัตถุที่จะจับ และสภาพแวดล้อมรอบๆนั้นเป็นอย่างไร? โดยอาศัยข้อมูลจาก sensor ต่างๆ หลังจากได้ข้อมูลเหล่านี้มาแล้ว
✔ ✘ Grasp synthesis force closure grasp Grasp synthesis 2 ควรจะให้นิ้วของหุ่นยนต์สัมผัสกับวัตถุที่ตำแหน่งไหนดี? เช่นในรูปซ้ายมือจะเป็นท่าจับที่ไม่ดี เพราะไม่สามารถออกแรงต้านแรงบิดทิศทวนเข็มนาฬิกาได้ ส่วนรูปขวามือนั้นจะเป็นท่าจับที่มีคุณสมบัติ force closure ซึ่งสามารถออกแรงต้านทานแรงและแรงบิดภายนอกได้ทุกทิศทาง
Grasp planning Grasp planning 3 จะให้หุ่นยนต์เคลื่อนที่อย่างไรเพื่อจับวัตถุตามตำแหน่งที่ต้องการ Humanoid motion planning for dual-arm manipulation and re-grasping tasks
Grasp execution Grasp execution 4 และในขั้นตอนสุดท้ายก็จะเป็นการควบคุมข้อต่อต่างๆของหุ่นยนต์ เพื่อเคลื่อนที่ไปจับวัตถุตามแผนที่วางไว้อย่างแม่นยำ https://www.youtube.com/watch?v=QYEJJA52wG8 https://gifyoutube.com/gif/vOqNgX
Focus on Object perception Grasp synthesis Grasp planning 1 2 3 4 Object perception Grasp synthesis Grasp planning Grasp execution โดยในวิทยานิพนธ์นี้จะมุ่งเน้นไปที่ขั้นตอนการสังเคราะห์ท่าจับ
Complexity of grasp synthesis 800 facets 4 fingers ~10 days to generate all force-closure grasps ซึ่งการสังเคราะห์ท่าจับนั้นเป็นปัญหาที่มีความซับซ้อนสูง เพื่อให้เห็นภาพเราลองมาดูตัวอย่างการสังเคราะห์ท่าจับบนโมเดลรูปสุนัขที่มีด้านอยู่ 800 ด้านกัน เพื่อให้ง่ายเราจะกำหนดให้นิ้วจับเฉพาะจุดศูนย์กลางของแต่ละด้านเท่านั้น เท่ากับว่าจะมีจุดจับที่ใช้วางนิ้วได้อยู่ 800 จุด ในตัวอย่างนี้เราจะใช้การจับแบบ 4 นิ้ว จาก 800 จุด เลือกมา 4 จุดเพื่อจับ เท่ากับว่าจะมีท่าจับที่เป็นไปได้ทั้งหมดประมาณ 1700 ล้านท่าจับ ซึ่งจะต้องใช้เวลาถึง 10 วันเลยทีเดียวในการตรวจสอบคุณสมบัติ force closure ของท่าจับที่เป็นไปได้ทั้งหมด จะเห็นได้ว่าถึงแม้วัตถุจะมีความละเอียดต่ำ แต่การสังเคราะห์ท่าจับก็ยังใช้เวลานานมากอยู่ดี 325.917 sec / ncr(100;4) = 8.31161180498441175908e-5 Use center of each facet as a contact point 16,938,959,800 possible grasp force-closure check ~ 0.05 ms/grasp
Objective Propose grasp synthesis algorithm Focus on high quality grasps Try to reduce computation time Input Position and normal of object surface points Output List of high quality grasps ดังนั้นจุดประสงค์ของวิทยานิพนธ์คือ เราจะเสนอ algorithm การสังเคราะห์ท่าจับของหุ่นยนต์ ที่สนใจเฉพาะท่าจับที่มีคุณภาพสูง และพยายามทำให้สามารถคำนวนผลได้อย่างรวดเร็ว โดย input ของระบบคือ ตำแหน่ง และ normal ของจุดบนพื้นผิวของวัตถุ และ output ของระบบคือ ท่าจับที่มีคุณภาพสูง
Outline Introduction Theory & relate works Idea Evaluations Scope ต่อไปเรามาดูทฤษฎี และงานวิจัยที่เกี่ยวข้องกัน
Hard finger w/ friction Finger models Hard finger w/o friction อันดับแรกเราต้องมาทำความเข้าใจโมเดลของนิ้วสัมผัสกันก่อน โดยในงานวิจัยการจับของหุ่นยนต์ จะนิยมใช้อยู่ 3 โมเดล ได้แก่ นิ้วแข็งแบบไม่มีแรงเสียดทาน สัมผัสกับวัตถุเป็นจุด ออกแรงกระทำกับวัตถุได้แค่ทิศตั้งฉากกับพื้นผิวเท่านั้น หากออกแรงในทิศทางอื่นจะทำให้เกิดการลื่นขึ้น โมเดลที่ 2 คือ นิ้วแข็งแบบมีแรงเสียดทาน เนื่องจากมีแรงเสีดทานด้วยทำให้แรงที่นิ้วออกได้โดยไม่ทำให้ลื่นนั้นจะอยู่ภายในกรวยแรงเสียดทาน โมเดลที่ 3 คือ นิ้วออน ซึ่งจะสัมผัสกับวัตถุเป็นพื้นผิว ทำให้นอกจากจะออกแรงกระทำกับวัตถุได้แล้ว ยังสามารถออกแรงบิดได้อีกด้วย โดยในวิทยานิพนธ์นี้จะใช้โมเดลแบบ นิ้วแข็งที่มีแรงเสียดทาน http://www.intechopen.com/books/theoretical-biomechanics/towards-a-realistic-and-self-contained-biomechanical-model-of-the-hand Hard finger w/ friction Soft finger
Wrench · Force ( f ) Torque (τ = r × f ) r Wrench [ f , r × f ] 3D f Concatenation of force and torque 6D · f r การออกแรงกระทำกับวัตถุนั้น นอกจากจะแรงแล้ว ยังทำให้เกิด torque หรือแรงบิดด้วย ซึ่งในการพิจรณาการจับของหุ่นยนต์จะสนใจทั้งแรงและแรงบิดไปพร้อมๆกันอยู่เสมอ จึงนำแรงและแรงบิดมาเขียนต่อกันเรียกว่า wrench โดยในการจับวัตถุใน 3 มิติ แรงและแรงบิดจะมี dimension เป็น 3 ทำให้ wrench มี dimension เป็น 6
Good grasp Equilibrium ∑ f = 0 , ∑ τ = 0 Force closure Ability to resist any external disturbance การจับที่ดีนั้นจะต้องทำให้วัตถุอยู่ในสภาพสมดุล ไม่มีการเคลื่อนที่เทียบกับมือ แต่เงื่อนไขแค่นี้อาจยังไม่พอ ลองพิจรณาท่าจับในรูปด้านขวา โดยให้นิ้วเป็นนิ้วแข็งแบบไม่มีแรงเสียดทาน ซึ่งท่าจับนี้เป็นการจับที่อยู่ในสภาพสมดุลได้อยู่แล้วนะครับ แต่หากมีแรงภายนอกมากระทำกับวัตถุ ก็จะทำให้วัตถุนั้นเสียสภาพสมดุลทันที เพราะนิ้วไม่สามารถออกแรงต้านแรงภายนอกได้ ดังนั้นการจับที่ดีควรจะมีคุณสมบัติอีกอย่างหนึ่ง นั่นคือคุณสมบัติ force closure ซึ่งนอกจากจะเป็นการจับที่อยู่ในสภาพสมดุลแล้ว ยังสามารถออกแรงต้านแรงกระทำภายนอกในทิศทางต่างๆได้อีกด้วย
Force closure [3] B. Mishra et al. , “On the existence and synthesis of multifinger positive grips,” 1987. Zero wrench lies in convex hull of wrenches generated by finger [11] Y. Zheng and C.-M. Chew, “Distance between a point and a convex cone in n-dimensional space: computation and applications,” 2009. Fast force closure test algorithm คุณ Mishra ได้เสนอเงื่อนไขสำหรับ force closure ว่า wrench ศูนย์ หรือหรือจุด origin ของ wrench space จะต้องอยู่ภายใน convex hull ของ wrench ที่เกิดจากการสัมผัสของนิ้ว ซึ่งเงื่อนไขนี้เป็นเงื่อนไขที่ได้รับความนิยมเป็นอย่างมากในการตรวจสอบคุณสมบัติ force closure ต่อมาในปี 2009 คุณยู เซ็ง ได้เสนอวิธีตรวจสอบคุณสมบัติ force closure ที่คำนวนได้เร็วขึ้นมาก The total grasp matrix has full row rank. The sum of negative normal contact wrenches lies in the convex cone generated by the primitive contact wrenches. (the distance between the sum and the convex cone being zero)
Concurrent grasp 2. The vectors pointing inward positively span R2 Concurrent point 1. There exist 3 lines in the friction cones that intersect in a single point 2. The vectors pointing inward positively span R2
Number of fingers [8] X. Markenscoff et al. , “The Geometry of Grasping,” 1990. Sufficient no. of fingers to archived force closure without friction with friction 2D 4 3 3D 7 คุณ Markenscoff ได้แสดงให้เห็นถึงจำนวนนิ้วที่เพียงพอสำหรับคุณสมบัติ force closure โดยการจับใน 2 มิติ โดยไม่มีแรงเสียดทานจะต้องใช้นิ้ว 4 นิ้ว ถ้ามีแรงเสียดทานจะใช้นิ้ว 3 นิ้ว สวนการจับใน 3 มิติ ถ้าไม่มีแรงเสียดทานจะใช้ 7 นิ้ว ถ้ามีแรงเสียดทานจะใช้ 4 นิ้ว โดยในวิทยานิพนธ์นี้พิจรณาการจับวัตถุบน 3 มิติ โดยใช้นิ้วแข็งที่มีแรงเสียดทาน จึงจะสนใจการจับแบบ 4 นิ้วเท่านั้น
Grasp quality measure [6] C. Ferrari and J. Canny, “Planning optimal grasps,” 1992 Largest-minimum resisted wrench ɛ-metric คุณสมบัติ force closure จะแยกท่าจับออกเป็นแค่ เป็น force closure กับไม่เป็น force closure เท่านั้น แต่จริงๆแล้วท่าจับที่เป็น force closure เหมือนกันก็จะมีคุณภาพต่างกัน จึงต้องใช้ตัววัดคุณภาพท่าจับเข้ามาช่วยในการเลือกท่าจับด้วย ซึ่งหนึ่งในตัววัดคุณภาพท่าจับที่ได้รับความนิยมมากคือ ขนาดของ wrench ที่น้อยที่สุดที่สามารถทำลาย force closure ได้ หรือเรียกสั้นๆว่า ɛ-metric
Grasp synthesis [18] C. Borst et al. , “Grasping the dice by dicing the grasp,” 2003. Randomized algorithm Simple filter [19] N. Niparnan and A. Sudsang, “Positive Span of Force and Torque Components of Four-Fingered Three- Dimensional Force-Closure Grasps,” 2007. Necessary but not sufficient
Grasp synthesis [21] S. El-Khoury and A. Sahbani, “A Sufficient Condition For Computing N-Finger Force-Closure Grasps of 3D Objects,” 2008 Sufficient but not necessary [5] N. Niparnan and A. Sudsang, “Fast computation of 4-fingered force-closure grasps from surface points,” 2004 Concurrent grasp C. Sangkhavijit et al. , “Computing 4-Fingered Force-Closure Grasps from surface Points Using Genetic Algorithm,” 2006
Outline Introduction Theory & relate works Idea Evaluations Scope
Problem statement Grasp synthesis problem Input Slow Input Position and normal of object surface points Output List of high quality grasps
N. Niparnan concurrent grasp [5] 1. Random concurrent point p 2. List all surface points which have p in friction cone 3. Enumerate 3 points and test positively span R2
Contribution Faster grasp synthesis algorithm Using heuristic to generate high quality grasps
Ways to improve How to chose concurrent point p Parallel computing Chose high probability point first Object center Object skeleton Parallel computing Decompose object
Outline Introduction Theory & relate works Idea Evaluations Scope
Evaluations Force closure recheck Solution completeness test Compare the algorithm efficiency With Grasping the dice [18] + Niparnan N. filter [19] Sufficient but not necessary [21] Niparnan N. concurrent grasp [5] Considering All solutions Only high quality solutions
Outline Introduction Theory & relate works Idea Evaluations Scope
Scope Propose grasp synthesis algorithm Consider only 3D 4 fingered grasp Deal with non-sticky hard finger with friction Measure grasp quality by using ɛ-metric Perform experiments in simulator
Scope (2) Use a set of object surface points and its corresponding normal as a input Test on 3D object model selected from The KIT object model database that have around 800 facets. Assume uniform density mass
Q & A
Reference [5] N. Niparnan and A. Sudsang, “Fast computation of 4-fingered force-closure grasps from surface points,” 2004 [6] C. Ferrari and J. Canny, “Planning optimal grasps,” 1992 [18] C. Borst et al. , “Grasping the dice by dicing the grasp,” 2003. [19] N. Niparnan and A. Sudsang, “Positive Span of Force and Torque Components of Four-Fingered Three-Dimensional Force-Closure Grasps,” 2007. [21] S. El-Khoury and A. Sahbani, “A Sufficient Condition For Computing N-Finger Force-Closure Grasps of 3D Objects,” 2008
Work plan Study background knowledge and review related work Devise and implement algorithm Evaluate and record the result Conclude the result Write thesis and prepare for defense