IROS2019国际学术会议论文集 1178_第1页
IROS2019国际学术会议论文集 1178_第2页
IROS2019国际学术会议论文集 1178_第3页
IROS2019国际学术会议论文集 1178_第4页
IROS2019国际学术会议论文集 1178_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Learning Object Models For Non prehensile Manipulation Siddharth Sanan Mason Bretan and Larry Heck Abstract Using models to represent information about the world is a well known paradigm for successful robot control in the real world Numerous methods exist today that can leverage these models to make robots perform tasks either by directly exploiting the model structure or by accessing the model via a simulation In this work we explore how robots can use demonstrations to quickly build descriptive models of objects for manipulation tasks Our framework uses demonstrations to incrementally build task relevant geometric and physics based object models that can be used to build simulations of the world that the robot is interacting with We present experiments that involve estimating geometric features of an object when demonstration data from a user interacting with the object is available We also demonstrate our method on the task of toppling a box with a 7 DoF manipulator equipped with a palm at its end Using our approach the robot is able to complete the task using only a few demonstrations I INTRODUCTION Robots can function extremely well in structured environ ments like factory fl oors where there is minimal uncertainty in the robot s model of the environment At the same time over the past decade numerous tasks have been demonstrated in lab environments that mimic the unstructured nature of human homes 1 4 One of the practical challenges to deploying such systems in the real world is the high variability in human environments and the robot s ability to adapt its skills to a novel instance of a task One way to practically address this challenge is to en code the robot with skills that are parameterized by the environment model and the robot learns these real world environment parameters with real world experience In this work we focus on how a system can learn these environment parameters so that parameterized skills can be adapted and utilized in the real world We do not focus on how to fi nd the solution of a particular skill like reaching grasping or walking which has been the focus of much of the recent work on robot learning 5 7 The key assumption here is that the skill must be parameterized by some learn able environment parameters This implies providing some structural priors regarding the task or forcing the system to learn this structure In this work we leverage structural priors arising from contact for e g an object can rotate topple about an edge that it is resting on This prior can then be used fi rst in the backward sense where a model is learnt from demonstrations and then in the forward sense where a policy is parameterized by learnt model The approach described above is also motivated by the recent successes of policy search methods that rely heavily SiddharthSanan MasonBretanandLarryHeckarewiththe AI Center Samsung Research America Mountain View CA USA s sanan a Robot attempts to topple a box without knowledge of the object b User interacts with object showing it how it topples c Robot updates its model of the object and successfully reattempts the task Fig 1 The robot learning to topple a box with the help of a single human demonstration on high bandwidth access to a simulation of the system 5 8 9 The methods described in this work are complemen tary to these techniques as we are addressing the problem of getting to the simulation which can then be leveraged by any essentially any policy search method The idea of learning a model of the task from demon strations and self practice to improve robot control has been explored extensively within the context of model based control and reinforcement learning 7 10 11 Recently these types of methods have been combined with the rep resentational power of neural networks NNs to represent policy 6 12 13 and to represent state 14 15 A full review of learning control is beyond the scope of this paper 16 provides a good overview In this work we leverage user demonstrations to construct an object model consisting of object features that are useful for non prehensile manipulation We request a user to probe an object by pushing poking or by using tools From 2019 IEEE RSJ International Conference on Intelligent Robots and Systems IROS Macau China November 4 8 2019 978 1 7281 4003 2 19 31 00 2019 IEEE4784 visual observations of these demonstrations we develop an object model that parameterizes a task policy Our proposed approach for skill learning is shown for an example task in Fig 1 The robot initially attempts the task with a default policy Fig 1a requests a user demonstration when it fails Fig 1b updates its internal model of the environment and then successfully attempts the task again Fig 1c Our work is related to research on learning articulation models 17 18 in that we are concerned with how the motion of one rigid body the object is constrained with respect to another the palm Unlike prior work we are also concerned with inferring object features related to these kinematic constraints that arise due to contact rather than articulation Additionally when data is available we build models associated with these inferred object features This paper is organized as follows Sec II describes our approach for identifying object features like edges and faces and identifying models associated with edge features In Sec III we describe experiments identifying geometric and dynamic parameters of an object In Sec IV we describe an implementation of our approach for the task of toppling an object on the palm of a 7 DoF manipulator In Sec V we present our conclusions and future directions for research II LEARNINGOBJECTMODELS FROMINTERACTION The goal of our system is to build a descriptive model of the object that is grounded in geometry and mechanics We then utilize this model to build a skill that is parameterized by the model We will choose an object centric frame of reference for learning the object model as this allows us to learn task relevant properties that are invariant to geometric transformations of the object For the work presented in this paper we will assume that the object is a polyhedron and can remain at rest on any of its faces We will describe our object using an object description tree M like the one shown in Fig 2 The object description tree consists of a collection of contact features that describe the contact mechanics of the object Since we assume only polyhedral objects the features are comprised of edges E and faces F Each contact feature has geometric parameters associated with it that are dependent on the type of feature Every contact feature can also have an associated dynamic model D that defi nes how the object moves when when a particular contact feature is active A contact feature is said to be active if that feature is in contact with an external body and the object motion is therefore constrained by it This factorization of the object dynamics into dynamics conditioned on the contact constraint is visualized in Fig 4 A Learning Contact Features To learn contact features we will make use of screw theory and describe object motions using their twist coordinates and associated screw parameters 19 This allows us to treat all motions of the object in a unifi ed manner and keep our descriptions coordinate free as much as possible The twist coordinates v are computed using the log map Fig 2 An example of an object description tree log g where g SE 3 and se 3 For the sake of brevity we will omit details regarding this computation since this is standard procedure The screw S corresponding to a twist consists of three parameters an axis l the pitch p and a magnitude m 19 l v k k2 R if 6 0 0 v R if 0 1 p Tv k k 2 m k k if 6 0 kvk if 0 3 Learning Edges Edges of the object are learnt when a user interacts with an object that results in rotation about an edge of the object see Fig 3a The trajectory g t SE 3 is recorded for the duration of the demonstration t 0 tf The relative transformation g0 t g 0 1g t is also computed t 0 tf Then for each g0 t we compute the screw parameters using 1 3 If the axis l t remains consistent during the demonstration and the pitch p t 0 we identify the motion as an edge rotation trajectory ERT It should be noted here that any planar transformation g SE 2 can be represented as either a pure translation or pure rotation a consequence of Chasle s theorem in the plane However it is possible to distinguish between a general sliding trajectory and a pure rotation trajectory by looking at the whole trajectory The consistency of the axis l t serves to distinguish planar sliding and ERTs An inconsistent l t with p t uniformly 0 corresponds to a sliding motion with a non stationary axode It is still theoret ically possible although unlikely from empirical evidence to have a stationary axode during motion that is not ERT To deal with this possibility we use the following heuristic if the distance between the axis l and the object frame origin is greater than the size of the palm known a priori rpalm then we do not classify the motion as ERT The above steps are summarized in Alg 1 Once a demonstration has been classifi ed as an ERT we need to compute and save information regarding the edge The method is summarized in Alg 2 We treat the edge as an infi nite line in R3 For every instance of time we defi ne 4785 a b c Robot model of object as it topples Fig 3 Building an object description an estimate of the edge l t r t t where r t is simply the fi rst term in 1 r t t v t k t k2 4 t and v t are known from the twist t Any point on the edge is then given by l t r t t where R Note that we do not recover information regarding the length of an edge Figure 3c shows this internal representation of the object obtained after a toppling demonstration The representation includes the orientation of the edge B and the position vector Br in the body frame B Also shown is the angle of the center of mass CoM in a plane normal to B which is part of the dynamic model associated with the edge which we describe in Sec II B Once l t is computed t 0 tfinal we need to compute a single le that represents the data l t For the sake of simplicity we choose te argmaxt t and le l te The reasoning here is that the larger the magnitude of motion the smaller the errors in perceiving that motion in a practical perception system Note A more rigorous approach might be to compute the equivalent of a mean over the lines l which may be computed as the euclidean mean over r and a directional mean over where notation indicates normalization by magnitude of the vector Learning Faces An object face is identifi ed when a user demonstrates object motion that corresponds to planar sliding see Fig 3b We call such a motion of the object as a face slide trajectory FST As in the previous case we compute the transformation gO t and the screw parameters Additionally we compute the term n t defi ned as n t t if 6 0 v t v t v t if 0 5 v t simply defi nes the plane containing the translation velocity vectors If the pitch p t 0 t 0 tf and n t Fig 4 Sub manifolds that describe the system under different contact states remains consistent t 0 tf then the motion is classifi ed as FST Other Features In this work we do not deal with ob jects with curved surfaces and edges Such features will correspond to identifying invariant surfaces during rolling motion of the object Features such as vertices also can be identifi ed with motions that correspond to spherical rotations Vertices may also be derived from the intersection of learnt edges In this work we also do not deal with demonstrations that contain compound motions For instance if a single demonstration contains both planar sliding and toppling in sequence then additional temporal segmentation of the demonstration based on type of motion will be needed In this work we do deal with such temporal segmentation of demonstrations B Identifying Models on Sub Manifolds Instead of learning the complete 6D dynamics of a rigid object we learn dynamic models that are conditioned on the contact mode of the object Once geometric features described in the previous section are identifi ed we associate simple dynamic models associated with each of these fea tures The motivation for doing this is two fold 1 simple models can be used to speed up any planning and trajectory optimization procedures that may be used downstream in the pipeline and 2 it allows us to incrementally build richer models which are built from a collection of simple models Fig 4 provides a visualization of the factorization of the dynamics for different contact modes of an object For instance If the object is moving freely in space the con fi guration evolves on 6D manifold SE 3 However as the box is toppling its confi guration evolves on a 1 dimensional submanifold S 1 We exploit this dimensionality reduction that happens as a result of contact to learn simple task relevant models of the object Toppling Once an edge of the object has been identifi ed about which the object can topple as described in Sec II A we use a planar pendulum like model to describe the dynamics of the object when moving about the edge The planar model is described in a plane orthogonal to the vector that defi nes the toppling edge E1 in Fig 3a and 3c The model is parameterized by the angle of the CoM from the gravity vector the distance lpof the CoM from the edge and the mass m of the object During toppling the object moves rigidly with the palm during the initial phase as shown in Fig 5 A and Fig 5 B 4786 Fig 5 Different stages of toppling as observed from a plane that is orthogonal to A The object initially resting on a face B The object moves rigidly with the palm while palm Fig 6 Experimental setup During this phase the object is supported by one of its faces which counteracts the gravitational torque about the edge When the palm rotates to an angle the gravitational torque changes direction and the object topples under the effect of gravity until it comes to rest on a face adjacent to the previous resting face Fig 5c For executing toppling it is only necessary to have information regarding the parameters and To estimate we make use of additional pose information of the palm that the object is resting on The procedure is described in Sec III A While toppling can be achieved using quasi static motion of the palm other tasks such as fl ipping an object are inher ently dynamic and can utilize richer models with estimates of lpand m Using a pendulum model it is fairly straight forward to compute these parameters given a state trajectory for the object III EXPERIMENTS Our experiments were run on a 7 DoF Sawyer robot with a palm attached to its end see Fig 6 The palm s surface is layered with neoprene to minimize slipping between the object and the palm A calibrated Kinect sensor s rgb camera was used for the vision system Frames from the rgb camera are used for tracking 6D pose position and orientation of objects with the help of AprilTags 20 that are affi xed on the objects Object pose data is collected during offl ine online demonstrations and for estimating task state The robot is controlled by computing desired palm motions and then commanding the corresponding joint trajectory which is computed using standard inverse kinematics techniques Algorithm 1 Demo Classifi cation 1 g0 g1 gN 2 functionCLASSIFYDEMO 3 T contactcond 4 type maxtypefreq T return most frequent type 5 return type 6 end function 7 functionCONTACTCOND 8 S 9 T 10 for each gi do 11 si computescrew gi q0 using 1 3 12 S add si 13 if pi pththen 14 if d li li 1 lthand krik rpalmthen 15 typei topple 16 else 17 if d ni ni 1 nththen using 5 18 typei slide 19 end if 20 end if 21 else 22 typei general 23 end if 24 T add typei 25 end for 26 return T 27 end function Algorithm 2 Edge Identifi cation 1 g0 g1 gN 2 S computescrew 3 type classifydemo S 4 if type is topple then 5 imax argmaxikdik 6 re e rimax imax 7 return re e 8 end if A Edge identifi cation The robot identifi es edges using demonstrations of ob ject toppling Two types of demonstrations are used for toppling as shown in Fig 7a and 7b During a direct demonstration Fig 7a the user directly interacts with the object and only pose data for the object is collected during demonstrations The robot is not given prior information on whether the demonstration is a toppling demonstration or sliding demonstration It uses the method described in Alg 1 to distinguish between the two Edges are identifi ed using the algorithm described in Alg 2 Fig 9a shows the incrementally built robot representation of the object as it encounters novel demonstrations The eight edges that are shown correspond to toppling demonstrations about the eight unique edges While only eight of the 12 edges are shown it is possible to identify the additional edges with additional demonstrations Table I provides localization accuracy results for two adjacent edges of the object The results are based on 10 demonstrations for each edge The edges are localized with respect to an object fi xed frame the origin of which is marked as a green dot in Fig 9a As the learnt representation is in an object fi xed frame the 4787 a b c Fig 7 Three types of demonstrations used in the experiments a Direct demonstrations involve the user directly interacting with the object In this setup only the the state of the object is observed to build a model of the object b Instrumented demonstrations involve the user manipulating the object using an instrumented tool With this setup the state of the object and the tool plate are observed and used to build a model of the object c Sliding demonstrations 0 00 51 01 52 02 53 03 5 0 0 1 0 2 1 3 1 box rad box box e box 0 00 51 01 52 02 53 03 5 time s 0 00 0 06 0 12 0 18 palm rad palm e palm 0 0 3 0 6 0 9 0 box rad s Fig 8 Box box and palm angles palm during demonstration e box and e palm red dot in plots are the angles of the box and palm at the instance the toppl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论