




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Learning Object Models For Non-prehensile Manipulation Siddharth Sanan, Mason Bretan and Larry Heck AbstractUsing 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 robots 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 14. One of the practical challenges to deploying such systems in the real world is the high variability in human environments and the robots 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 57. 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 kk2 + : R,if 6= 0 0 + v : R,if = 0 (1) p = Tv kk (2) m = ? kk,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 Chasles 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 palms surface is layered with neoprene to minimize slipping between the object and the palm. A calibrated Kinect sensors 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 li1) lthand krik rpalmthen 15:typei topple 16:else 17:if d(ni ni1) 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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业灌溉智能化升级路径:2025年行业深度剖析报告
- 东兴市艺佳种苗进出口贸易有限公司年产1万吨矿粉加工项目环境影响报告表
- 安全教育训练培训总结课件
- 扶贫搬迁工程方案范文(3篇)
- 安全教育活动培训课件
- 狂欢节的最后一天课件
- 牧歌电气安全培训班课件
- 安全教育平台应用培训课件
- 江苏省常州市2025年初中化学学业水平考试试卷附真题答案
- 安全教育培训资料台账课件
- TJFPA 0002-2019《建筑消防设施维护保养技术规程》
- AI智能宠物机器狗行业市场发展前景及趋势预测与投资分析研究报告(2025-2030版)
- uom无人机考试试题及答案
- 2025执业医师资格考试练习题库完美版含答案
- 天然气泄漏监测与预警系统-全面剖析
- 前列腺增生知识课件
- 动环监控介绍铁路专用通信子系统教学湖南铁道课件
- 人工智能辅助情报分析-全面剖析
- 2022-2027年中国电力工程监理行业市场运行现状及投资规划建议报告
- 患者自杀案例分析
- 副主任护师职称述职报告
评论
0/150
提交评论