Introduction to Manipulation Lecture 15-1 Introduction to Manipulation
Introduction to Manipulation Manipulation Definition - 물리적 접촉이나 힘과 모멘트에 영향을 미침으로 Object들을 움직이거나 재배치 하는 과정 (원문 : refer to the process of moving or rearranging objects in the environment by establishing physical contact and exerting forces and moments) Problem Formulation == Walking parameterrize - m:mass, I:Inertia xy plane orientation theta F1, F2, F3 목표 - Object의 초기 자세 에서( 𝑞 𝑜𝑏𝑗𝑒𝑐𝑡 , 𝑞 𝑟𝑜𝑏𝑜𝑡 ) 목표 위치(?)로 움직이기( 𝑞𝑑 𝑜𝑏𝑗𝑒𝑐𝑡 ) Walking Problem과의 차이점 - Kinematics와 Dynamics가 더 Decomposition 됨 - More Contact and richer models of contact(non-convex geometry) - More focus on uncertainty(relatively less on stability)
Kinematics Planning A Standard Decomposition Step 1 : examine object and figure out where/ how to grasp it “grasp synthesis” Step 2 : plan collision free kinematics trajectory to grasp location or pre grasp Step 3 : execute the grasp Step 4 : plan collision free path for robot + object Step 5 : release grasp
Kinematics Planning Kinematics Planning(via trajectory optimization) 𝑞 =𝑢 : direct control velocity of the object Robot Configuration : 𝑥 ℎ𝑎𝑛𝑑 =𝑓(𝑞) : the position od the hand or each fingers<- forward kinematics Kinematics Constraints : 𝑥 𝑓𝑖𝑛𝑔𝑒𝑟𝑠 𝑡 𝑝𝑖𝑐𝑘𝑢𝑝 =𝑔𝑟𝑎𝑠𝑝 𝑝𝑜𝑖𝑛𝑡 : nonlinear constraint Avoid Collision->Joint limit->solver and trajectory optimization with constraint
Grasp Synthesis : Form Closure Grasp Synthesis/Grasp Feedback From Closure : for all object motions 𝑞 𝑜𝑏𝑗𝑒𝑐𝑡≠0 then at least one contact constraint is violated Notation - Normal Vector ni, Contact Points Pi, Contact Point in body frame ri
Grasp Synthesis : Form Closure Single Contact point 𝑛𝑖 𝑇 𝑃𝑖 ≥0 Pi=F(qobject, ri) 𝑃𝑖 = 𝜕𝑓 𝜕𝑞 𝑞 𝑜𝑏𝑗𝑒𝑐𝑡=𝐽𝑖(𝑞𝑜𝑏𝑗𝑒𝑐𝑡, 𝑟𝑖) 𝑞 𝑜𝑏𝑗𝑒𝑐𝑡 Goal->to pick ri 𝑛𝑖 𝑇 𝐽(𝑞,𝑟𝑖) 𝑞 ≥0 -> linear eq. in 𝑞 -> for all 𝑞 , must violate at least one constraint A 𝑞 ≥0 => 𝑞 =0 - linear program
Grasp Synthesis: Force Closure Lecture 15-4 Grasp Synthesis: Force Closure
Grasp Synthesis: Force Closure Force와 Torque의 관계식(자코비안) 과 마찰력 조건을 이용하여 로봇 손이 인가해야 할 힘을 계산한다. Wrench란?? F or T?? 최적화를 통해 minimum force를 구할 수 있다. Grasp feedback을 이용하여 외란에도 원하는 동작을 수행할 수 있도록 한다.
Grasp Synthesis: Force Closure Contact position 설정이 중요하다.
Grasp Synthesis: Force Closure Underactuated hand (trend) why? 1 motor, 4-bar linkage + spring Atlas hand DRC-HUBO hand
Manipulation with Dynamic Constraints Lecture 15-5 Manipulation with Dynamic Constraints
Manipulation with Dynamic Constraints The little humanoid of the FIRA soccer competition. 만약에 물체가 로봇보다 무거우면? 무거운 물체를 들면 로봇의 다이나믹스도 변한다.
Manipulation with Dynamic Constraints 𝑞 𝑟𝑜𝑏𝑜𝑡 , 𝑞 𝑜𝑏𝑗𝑒𝑐𝑡 는 항상 알고 있고, 𝑞 𝑟𝑜𝑏𝑜𝑡 0 , 𝑞 𝑜𝑏𝑗𝑒𝑐𝑡 (0)이 주어졌을 때 trajectory optimization을 통해 입력 u를 찾을 수 있다. Dynamics constraints와 𝑞 𝑜𝑏𝑗𝑒𝑐𝑡 𝑡 𝑓𝑖𝑛𝑎𝑙 =𝑔𝑜𝑎𝑙 을 만족해야 한다.
Manipulation with Dynamic Constraints 이렇게 복잡한 contact model을 전에 배웠던 hybrid event로 쉽게 계산할 수 있을까? LCP(Linear Complenentary Problem) solver
Manipulation with Dynamic Constraints 충돌할 때의 힘을 구할 수 있다면 시뮬레이션은 쉽게 만들어진다. 아래의 조건들을 만족하는 힘 F를 Optimization을 통해 구할 수 있다. 만약 마찰력이 선형화되었다면 complementary constraint도 역시 선형 시스템이기 때문에 Linear complementary problem(LCP)라 한다. (If I make a linear approximation of my friction cone, it’s LCP.) 매 시간 LCP를 푼다. F는 0 Impulse로 발생. : not good. “time-stepping method” (using time-averaged force)
Manipulation with Dynamic Constraints 𝑥 𝑛+1 = 𝑓 𝑑𝑡 𝑥 𝑛 ,𝑢 𝑛 ,𝐹 𝑛 SNOPT (Sparse Nonlinear Optimizer) 라이브러리!!