├── .gitignore ├── Jacobian.ipynb ├── MultiBody.ipynb ├── MyFirstIK.ipynb ├── README.md ├── ReemCIK.ipynb ├── SomeAlgorithm.ipynb ├── SpaceVecAlg.ipynb ├── graph ├── __init__.py ├── axis.py ├── body.py ├── joint.py ├── multibody.py ├── transform.py └── vector6d.py ├── ik ├── __init__.py ├── ik_tasks.py └── multi_task.py ├── img ├── MultiBody │ └── .placeholder ├── MyFirstIK │ └── .placeholder ├── ReemCIK │ └── .placeholder ├── SomeAlgorithm │ └── .placeholder └── SpaceVecAlg │ └── .placeholder ├── robots ├── __init__.py ├── reemc.py ├── reemc_data │ ├── meshes │ │ ├── arm │ │ │ ├── arm_1.mtl │ │ │ ├── arm_1.obj │ │ │ ├── arm_2.mtl │ │ │ ├── arm_2.obj │ │ │ ├── arm_3.mtl │ │ │ ├── arm_3.obj │ │ │ ├── arm_4.mtl │ │ │ ├── arm_4.obj │ │ │ ├── arm_5.mtl │ │ │ ├── arm_5.obj │ │ │ ├── arm_6.mtl │ │ │ └── arm_6.obj │ │ ├── base │ │ │ ├── base.mtl │ │ │ └── base.obj │ │ ├── hand │ │ │ ├── hand_finger_1.mtl │ │ │ ├── hand_finger_1.obj │ │ │ ├── hand_finger_2.mtl │ │ │ ├── hand_finger_2.obj │ │ │ ├── hand_finger_3.mtl │ │ │ ├── hand_finger_3.obj │ │ │ ├── hand_palm.mtl │ │ │ ├── hand_palm.obj │ │ │ ├── hand_thumb.mtl │ │ │ └── hand_thumb.obj │ │ ├── head │ │ │ ├── head_1.mtl │ │ │ ├── head_1.obj │ │ │ ├── head_2.mtl │ │ │ └── head_2.obj │ │ ├── kinect.mtl │ │ ├── kinect.obj │ │ ├── leg │ │ │ ├── leg_1.mtl │ │ │ ├── leg_1.obj │ │ │ ├── leg_3.mtl │ │ │ ├── leg_3.obj │ │ │ ├── leg_4.mtl │ │ │ ├── leg_4.obj │ │ │ ├── leg_6.mtl │ │ │ ├── leg_6.obj │ │ │ ├── r_foot.mtl │ │ │ └── r_foot.obj │ │ ├── sensors │ │ │ └── xtion_pro_live │ │ │ │ ├── xtion_pro_live.mtl │ │ │ │ └── xtion_pro_live.obj │ │ └── torso │ │ │ ├── torso_2.mtl │ │ │ └── torso_2.obj │ ├── reemc_full.pkl │ └── reemc_full.urdf └── tutorial_tree.py └── urdf_to_pickle ├── __init__.py └── urdf_to_pickle.py /.gitignore: -------------------------------------------------------------------------------- 1 | .ipynb_* 2 | img/*/*.png 3 | -------------------------------------------------------------------------------- /Jacobian.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Jacobian\n", 8 | "\n", 9 | "In this tutorial we will see how to compute some jacobian and related data:\n", 10 | "\n", 11 | " * [Kinematics Jacobian](#Kinematics-Jacobian)\n", 12 | " * [Center of Mass Jacobian](#Center-of-Mass-Jacobian)\n", 13 | " * [Centroidal Momentum Matrix](#Centroidal-Momentum-Matrix)" 14 | ] 15 | }, 16 | { 17 | "cell_type": "code", 18 | "execution_count": 1, 19 | "metadata": { 20 | "collapsed": false 21 | }, 22 | "outputs": [ 23 | { 24 | "name": "stdout", 25 | "output_type": "stream", 26 | "text": [ 27 | "TutorialTree structure:\n", 28 | "\n", 29 | " Return the MultiBodyGraph, MultiBody and the zeroed MultiBodyConfig with the\n", 30 | " following tree structure:\n", 31 | "\n", 32 | " b4\n", 33 | " j3 | Spherical\n", 34 | " Root j0 | j1 j2 j4\n", 35 | " ---- b0 ---- b1 ---- b2 ----b3 ----b5\n", 36 | " Fixed RevX RevY RevZ PrismZ\n", 37 | " \n" 38 | ] 39 | } 40 | ], 41 | "source": [ 42 | "import numpy as np\n", 43 | "import eigen3 as e\n", 44 | "import spacevecalg as sva\n", 45 | "import rbdyn as rbd\n", 46 | "\n", 47 | "from robots import TutorialTree\n", 48 | "\n", 49 | "print 'TutorialTree structure:'\n", 50 | "print TutorialTree.__doc__\n", 51 | "\n", 52 | "# create a robot with the same structure than the one in the MultiBody tutorial\n", 53 | "mbg, mb, mbc = TutorialTree()" 54 | ] 55 | }, 56 | { 57 | "cell_type": "markdown", 58 | "metadata": {}, 59 | "source": [ 60 | "## What's a Jacobian ?\n", 61 | "\n", 62 | "A Jacobian is the partial derivative of a multi-variate function with respect of one of his variable.\n", 63 | "In [RBDyn](https://github.com/jorisv/RBDyn) the Jacobian is generaly the derivative with respect of the $ \\mathbf{q} $ articular position vector.\n", 64 | "\n", 65 | " * Kinematics: $ \\frac{\\partial {}^{b} X_O(\\mathbf{q})}{\\partial \\mathbf{q}} = J_b(\\mathbf{q}) $\n", 66 | " * Center of Mass: $ \\frac{\\partial \\mathbf{c}(\\mathbf{q})}{\\partial \\mathbf{q}} = J_{CoM}(\\mathbf{q}) $\n", 67 | "\n", 68 | "Here $ {}^{b} X_O $ is the configuration of a body $ b $ and $ \\mathbf{c} $ the center of mass of the MultiBody system.\n", 69 | "\n", 70 | "Those Jacobian will be really useful when using gradient based optimisation (inverse kinematic). But we can also use it for control like show the following equations:\n", 71 | "\n", 72 | " * $ \\hat{v}_b = \\frac{\\partial {}^{b} X_O(\\mathbf{q})}{\\partial \\mathbf{t}} = \\frac{\\partial {}^{b} X_O(\\mathbf{q})}{\\partial \\mathbf{q}} \\frac{\\partial \\mathbf{q}}{\\partial \\mathbf{t}} = J_b(\\mathbf{q}) \\mathbf{\\alpha} $\n", 73 | " * $ \\dot{c} = \\frac{\\partial \\mathbf{c}(\\mathbf{q})}{\\partial \\mathbf{t}} = \\frac{\\partial \\mathbf{c}(\\mathbf{q})}{\\partial \\mathbf{q}} \\frac{\\partial \\mathbf{q}}{\\partial \\mathbf{t}} = J_{CoM}(\\mathbf{q}) \\mathbf{\\alpha} $\n", 74 | "\n", 75 | "A last kind-of jacobian is the Centroidal Momentum matrix ($ CM $):\n", 76 | "\n", 77 | " * Centroidal Momentum: $ \\hat{h}_c(\\mathbf{q}, \\mathbf{\\alpha}) = CM(\\mathbf{q}) \\mathbf{\\alpha} $\n", 78 | " \n", 79 | "This matrix will also be useful to control the Centroidal Momentum of a MultiBody system.\n", 80 | "\n", 81 | "## Kinematics Jacobian\n", 82 | "\n", 83 | "The kinematics Jacobian allow to compute some values related to a body $ b $:\n", 84 | " * Jacobian matrix $ J_b $\n", 85 | " * Jacobian matrix time derivative $ \\dot{J}_b $\n", 86 | " * Body velocity $ \\hat{v}_b $\n", 87 | " * Body normal acceleration $ \\dot{J}_b \\alpha $\n", 88 | " \n", 89 | "In this tutorial we will only focus on the Jacobian matrix and Body velocity functions.\n", 90 | "\n", 91 | "### Classic use\n", 92 | "\n", 93 | "The `rbd::Jacobian` class can be a little tricky to use. This class have some states and you should be careful about how you use it.\n", 94 | "\n", 95 | "Let's see the class constructor:\n", 96 | "```c++\n", 97 | "Jacobian(const MultiBody& mb, int bodyId,\n", 98 | "\t\t const Eigen::Vector3d& point=Eigen::Vector3d::Zero())\n", 99 | "```\n", 100 | "You need to provide the Multibody system, the body **id** and an optional `point` ($ {}^p r_b $) translation on this body. It's recommended to not use the `point` parameter since it can be provided has an argument of some methods.\n", 101 | "\n", 102 | "By calling this constructor you will be able to compute the following Jacobian:\n", 103 | "$$\n", 104 | "\\frac{\\partial xlt({}^{p} r_b) {}^{b} X_O(\\mathbf{q})}{\\partial \\mathbf{q}} = J_{bp}(\\mathbf{q})\n", 105 | "$$\n", 106 | "Where $ {}^{b} X_O $ is the transformation from the origin to the body b and $ xlt({}^{p} r_b) $ the `point` translation provided has argument of the `rbd::Jacobian` constructor.\n", 107 | "\n", 108 | "There is two methods to easily compute the dense Jacobian matrix:\n", 109 | "```c++\n", 110 | "const Eigen::MatrixXd& jacobian(const MultiBody& mb, const MultiBodyConfig& mbc)\n", 111 | "const Eigen::MatrixXd& bodyJacobian(const MultiBody& mb, const MultiBodyConfig& mbc)\n", 112 | "```\n", 113 | "The first one will compute the Jacobian in Origin frame orientation: $ plx({}^O E_b) J_{bp}(\\mathbf{q}) $.\n", 114 | "The second one will compute the Jacobian in body frame orientation: $ J_{bp}(\\mathbf{q}) $.\n", 115 | "\n", 116 | "Both method **Input**:\n", 117 | " * bodyPosW\n", 118 | " * motionSubspace\n", 119 | "\n", 120 | "Let's illustrate it." 121 | ] 122 | }, 123 | { 124 | "cell_type": "code", 125 | "execution_count": 2, 126 | "metadata": { 127 | "collapsed": false 128 | }, 129 | "outputs": [ 130 | { 131 | "name": "stdout", 132 | "output_type": "stream", 133 | "text": [ 134 | "Dense Jacobian in Origin frame orientation\n", 135 | "1 1 0 0\n", 136 | "0 0 1 0\n", 137 | "0 0 0 1\n", 138 | "0 0 0 0\n", 139 | "0 0 0 0\n", 140 | "0 0 0 0\n", 141 | "\n", 142 | "Dense Jacobian in body frame orientation\n", 143 | "1 1 0 0\n", 144 | "0 0 1 0\n", 145 | "0 0 0 1\n", 146 | "0 0 0 0\n", 147 | "0 0 0 0\n", 148 | "0 0 0 0\n", 149 | "\n" 150 | ] 151 | } 152 | ], 153 | "source": [ 154 | "mbc.zero(mb)\n", 155 | "rbd.forwardKinematics(mb, mbc)\n", 156 | "rbd.forwardVelocity(mb, mbc) # mandatory because jacobian need mbc.motionSubspace !\n", 157 | "\n", 158 | "b4Id = mbg.bodyIdByName('b4')\n", 159 | "jac_b4 = rbd.Jacobian(mb, b4Id)\n", 160 | "jacO = jac_b4.jacobian(mb, mbc)\n", 161 | "jacB = jac_b4.bodyJacobian(mb, mbc)\n", 162 | "\n", 163 | "print 'Dense Jacobian in Origin frame orientation'\n", 164 | "print jacO\n", 165 | "print\n", 166 | "print 'Dense Jacobian in body frame orientation'\n", 167 | "print jacB\n", 168 | "print" 169 | ] 170 | }, 171 | { 172 | "cell_type": "markdown", 173 | "metadata": {}, 174 | "source": [ 175 | "Jacobian are similar because b4 have the same frame than the origin.\n", 176 | "\n", 177 | "Now if we try with a non zero configuration of the MultiBody." 178 | ] 179 | }, 180 | { 181 | "cell_type": "code", 182 | "execution_count": 3, 183 | "metadata": { 184 | "collapsed": false 185 | }, 186 | "outputs": [ 187 | { 188 | "name": "stdout", 189 | "output_type": "stream", 190 | "text": [ 191 | "Dense Jacobian in Origin frame orientation\n", 192 | " 1 0.514286 -0.367726 0.774782\n", 193 | " 0 0.689068 -0.360671 -0.628571\n", 194 | " 0 0.510584 0.857143 0.0679007\n", 195 | " 0 0 0 0\n", 196 | " 0 0 0 0\n", 197 | " 0 0 0 0\n", 198 | "\n", 199 | "Dense Jacobian in body frame orientation\n", 200 | " 0.514286 1 5.55112e-17 0\n", 201 | " -0.367726 5.55112e-17 1 0\n", 202 | " 0.774782 0 0 1\n", 203 | " 0 0 0 0\n", 204 | " 0 0 0 0\n", 205 | " 0 0 0 0\n", 206 | "\n" 207 | ] 208 | } 209 | ], 210 | "source": [ 211 | "quat = e.Quaterniond(np.pi/3., e.Vector3d(0.1, 0.5, 0.3).normalized())\n", 212 | "\n", 213 | "mbc.q = [[],\n", 214 | " [np.pi/2.],\n", 215 | " [np.pi/3.],\n", 216 | " [-np.pi/2.],\n", 217 | " [0.5],\n", 218 | " [quat.w(), quat.x(), quat.y(), quat.z()]]\n", 219 | "\n", 220 | "rbd.forwardKinematics(mb, mbc)\n", 221 | "jacO = jac_b4.jacobian(mb, mbc)\n", 222 | "jacB = jac_b4.bodyJacobian(mb, mbc)\n", 223 | "\n", 224 | "print 'Dense Jacobian in Origin frame orientation'\n", 225 | "print jacO\n", 226 | "print\n", 227 | "print 'Dense Jacobian in body frame orientation'\n", 228 | "print jacB\n", 229 | "print" 230 | ] 231 | }, 232 | { 233 | "cell_type": "markdown", 234 | "metadata": {}, 235 | "source": [ 236 | "We can use the following property to check that our's computations are correct:\n", 237 | "\n", 238 | "$$\n", 239 | "plx({}^O E_b) \\hat{v}_{bp} =\n", 240 | "plx({}^O E_b) \\frac{\\partial xlt({}^{p} r_b) {}^{b} X_O(\\mathbf{q})}{\\partial \\mathbf{t}} =\n", 241 | "plx({}^O E_b) J_{bp}(\\mathbf{q}) \\mathbf{\\alpha}\n", 242 | "$$\n", 243 | "and\n", 244 | "$$\n", 245 | "\\hat{v}_{bp} =\n", 246 | "\\frac{\\partial xlt({}^{p} r_b) {}^{b} X_O(\\mathbf{q})}{\\partial \\mathbf{t}} =\n", 247 | "J_{bp}(\\mathbf{q}) \\mathbf{\\alpha}\n", 248 | "$$\n", 249 | "\n", 250 | "But before doing that we have to be careful. Our's robot is constitued of 6 DoF but if we look, the jacobian of b4 only have 4 columns.\n", 251 | "\n", 252 | "The jacobian method is computing the dense jacobian. Before applying the $ \\alpha $ articular velocity vector on it we need to transform this matrix in his sparse form. Hopefully the `rbd::Jacobian` class have a method to do that:\n", 253 | "```c++\n", 254 | "void fullJacobian(const MultiBody& mb,\n", 255 | "\t\t const Eigen::Ref& jac,\n", 256 | "\t\t Eigen::MatrixXd& res) const\n", 257 | "```\n", 258 | "This method take the MultiBody system, the dense Jacobian `jac` and the output sparse Jacobian `res`." 259 | ] 260 | }, 261 | { 262 | "cell_type": "code", 263 | "execution_count": 4, 264 | "metadata": { 265 | "collapsed": false 266 | }, 267 | "outputs": [ 268 | { 269 | "name": "stdout", 270 | "output_type": "stream", 271 | "text": [ 272 | "Sparse Jacobian in Origin frame orientation\n", 273 | " 1 0 0 0 0.514286 -0.367726 0.774782\n", 274 | " 0 0 0 0 0.689068 -0.360671 -0.628571\n", 275 | " 0 0 0 0 0.510584 0.857143 0.0679007\n", 276 | " 0 0 0 0 0 0 0\n", 277 | " 0 0 0 0 0 0 0\n", 278 | " 0 0 0 0 0 0 0\n", 279 | "\n", 280 | "Sparse Jacobian in body frame orientation\n", 281 | " 0.514286 0 0 0 1 5.55112e-17 0\n", 282 | " -0.367726 0 0 0 5.55112e-17 1 0\n", 283 | " 0.774782 0 0 0 0 0 1\n", 284 | " 0 0 0 0 0 0 0\n", 285 | " 0 0 0 0 0 0 0\n", 286 | " 0 0 0 0 0 0 0\n", 287 | "\n", 288 | "alpha: [[], [0.0], [0.0], [0.0], [0.0], [0.0, 0.0, 0.0]]\n", 289 | "Residual in Origin orientation frame: 0.0\n", 290 | "Residual in body orientation frame: 0.0\n", 291 | "\n", 292 | "alpha: [[], [0.47677333721005144], [0.7741694328769283], [0.8247737497589269], [0.25609730486578974], [0.28190958251947873, 0.8252984923746803, 0.29314447966087087]]\n", 293 | "Residual in Origin orientation frame: 1.11022302463e-16\n", 294 | "Residual in body orientation frame: 1.57009245868e-16\n", 295 | "\n" 296 | ] 297 | } 298 | ], 299 | "source": [ 300 | "# allocate sparse matrix\n", 301 | "sparseJacO = e.MatrixXd(6, mb.nrDof())\n", 302 | "sparseJacB = e.MatrixXd(6, mb.nrDof())\n", 303 | "\n", 304 | "jac_b4.fullJacobian(mb, jacO, sparseJacO)\n", 305 | "jac_b4.fullJacobian(mb, jacB, sparseJacB)\n", 306 | "\n", 307 | "print 'Sparse Jacobian in Origin frame orientation'\n", 308 | "print sparseJacO\n", 309 | "print\n", 310 | "print 'Sparse Jacobian in body frame orientation'\n", 311 | "print sparseJacB\n", 312 | "print\n", 313 | "\n", 314 | "# 0 alpha vector\n", 315 | "mbc.alpha = map(lambda j: j.zeroDof(), mb.joints())\n", 316 | "rbd.forwardVelocity(mb, mbc) # run the forward velocity to compute bodyPosW and bodyPosB\n", 317 | "\n", 318 | "# take back body velocity in Origin orientation frame and in body orientation frame\n", 319 | "b4Index = mb.bodyIndexById(b4Id)\n", 320 | "bodyVelW = list(mbc.bodyVelW)\n", 321 | "bodyVelB = list(mbc.bodyVelB)\n", 322 | "V_b4_O = bodyVelW[b4Index]\n", 323 | "V_b4 = bodyVelB[b4Index]\n", 324 | "\n", 325 | "# convert the alpha articular parameter vector into a numpy vector\n", 326 | "alphaVec = e.toNumpy(rbd.dofToVector(mb, mbc.alpha))\n", 327 | "\n", 328 | "# compute velocity from jacobian\n", 329 | "jacVelO = e.toNumpy(sparseJacO)*alphaVec\n", 330 | "jacVelB = e.toNumpy(sparseJacB)*alphaVec\n", 331 | "\n", 332 | "print 'alpha:', map(list, mbc.alpha)\n", 333 | "print 'Residual in Origin orientation frame:', np.linalg.norm(jacVelO - e.toNumpy(V_b4_O.vector()))\n", 334 | "print 'Residual in body orientation frame:', np.linalg.norm(jacVelB - e.toNumpy(V_b4.vector()))\n", 335 | "print\n", 336 | "\n", 337 | "# now we apply a new alpha vector\n", 338 | "alphaVec = np.mat(np.random.rand(mb.nrDof(),1))\n", 339 | "\n", 340 | "mbc.alpha = rbd.vectorToDof(mb, e.toEigenX(alphaVec))\n", 341 | "rbd.forwardVelocity(mb, mbc) # run the forward velocity to compute bodyPosW and bodyPosB\n", 342 | "\n", 343 | "bodyVelW = list(mbc.bodyVelW)\n", 344 | "bodyVelB = list(mbc.bodyVelB)\n", 345 | "V_b4_O = bodyVelW[b4Index]\n", 346 | "V_b4 = bodyVelB[b4Index]\n", 347 | "\n", 348 | "# compute velocity from jacobian\n", 349 | "jacVelO = e.toNumpy(sparseJacO)*alphaVec\n", 350 | "jacVelB = e.toNumpy(sparseJacB)*alphaVec\n", 351 | "\n", 352 | "print 'alpha:', map(list, mbc.alpha)\n", 353 | "print 'Residual in Origin orientation frame:', np.linalg.norm(jacVelO - e.toNumpy(V_b4_O.vector()))\n", 354 | "print 'Residual in body orientation frame:', np.linalg.norm(jacVelB - e.toNumpy(V_b4.vector()))\n", 355 | "print" 356 | ] 357 | }, 358 | { 359 | "cell_type": "markdown", 360 | "metadata": {}, 361 | "source": [ 362 | "It's also possible to directly compute $ plx({}^O E_b) \\hat{v}_{bp} $ and $ \\hat{v}_{bp} $ with the following methods:\n", 363 | "```c++\n", 364 | "sva::MotionVecd velocity(const MultiBody& mb, const MultiBodyConfig& mbc) const\n", 365 | "sva::MotionVecd bodyVelocity(const MultiBody& mb, const MultiBodyConfig& mbc) const\n", 366 | "```\n", 367 | "First one **Input**:\n", 368 | " * bodyPosW\n", 369 | " * bodyVelB\n", 370 | " \n", 371 | "Second one **Input**:\n", 372 | " * bodyVelB" 373 | ] 374 | }, 375 | { 376 | "cell_type": "markdown", 377 | "metadata": {}, 378 | "source": [ 379 | "### Modern use\n", 380 | "\n", 381 | "We see how to use the `rbd::Jacobian` class. It's really easy to compute the Jacobian of a point attached to a body in two different orientation frame. But how to compute a Jacobian in a different frame ?\n", 382 | "\n", 383 | "`rbd::Jacobian` provide a method to do like this. Instead of using the `point` static translation you can provide à full transformation has argument:\n", 384 | "```c++\n", 385 | "const Eigen::MatrixXd& jacobian(const MultiBody& mb, const MultiBodyConfig& mbc,\n", 386 | "\t\t\t const sva::PTransformd& X_0_p);\n", 387 | "```\n", 388 | "**Input**:\n", 389 | " * bodyPosW\n", 390 | " * motionSubspace\n", 391 | "\n", 392 | "The Jacobian computed is the following:\n", 393 | "$$\n", 394 | "\\hat{v}_{bp} =\n", 395 | "\\frac{\\partial {}^{p} X_O}{\\partial \\mathbf{t}} =\n", 396 | "J_{bp}(\\mathbf{q}) \\mathbf{\\alpha}\n", 397 | "$$\n", 398 | "\n", 399 | "It's then really easy to compute the Origin orientation and the body frame Jacobian with\n", 400 | "$$ {}^{p} X_O = plx({}^O E_b) xlt({}^{p} r_O) {}^{b} X_O $$\n", 401 | "and\n", 402 | "$$ {}^{p} X_O = xlt({}^{p} r_O) {}^{b} X_O $$\n" 403 | ] 404 | }, 405 | { 406 | "cell_type": "code", 407 | "execution_count": 5, 408 | "metadata": { 409 | "collapsed": false 410 | }, 411 | "outputs": [ 412 | { 413 | "name": "stdout", 414 | "output_type": "stream", 415 | "text": [ 416 | "Residual of Origin orientation frame Jacobian: 2.09205062047e-16\n", 417 | "Residual of body frame Jacobian: 0.0\n" 418 | ] 419 | } 420 | ], 421 | "source": [ 422 | "bodyPosW = list(mbc.bodyPosW)\n", 423 | "X_O_b = bodyPosW[b4Index]\n", 424 | "X_b_p = sva.PTransformd(jac_b4.point())\n", 425 | "X_O_p = X_b_p*X_O_b\n", 426 | "X_O_p_O = sva.PTransformd(X_O_b.rotation()).inv()*X_O_p\n", 427 | "\n", 428 | "jacO_modern = jac_b4.jacobian(mb, mbc, X_O_p_O)\n", 429 | "jacB_modern = jac_b4.jacobian(mb, mbc, X_O_p)\n", 430 | "\n", 431 | "print 'Residual of Origin orientation frame Jacobian:', np.linalg.norm(e.toNumpy(jacO) - e.toNumpy(jacO_modern))\n", 432 | "print 'Residual of body frame Jacobian:', np.linalg.norm(e.toNumpy(jacB) - e.toNumpy(jacB_modern))" 433 | ] 434 | }, 435 | { 436 | "cell_type": "markdown", 437 | "metadata": {}, 438 | "source": [ 439 | "Like for the classic methods it's possible to compute the velocicy $ \\hat{v}_{bp} $ from the `rbd::Jacobian` class:\n", 440 | "```c++\n", 441 | "sva::MotionVecd velocity(const MultiBody& mb,\n", 442 | " const MultiBodyConfig& mbc, const sva::PTransformd& X_b_p) const\n", 443 | "```\n", 444 | "**Input**:\n", 445 | " * bodyVelB\n", 446 | " * $ {}^{p} X_b $ transformation from the Jacobian body $ b $ to the attached frame.\n", 447 | "\n", 448 | "**BEWARE** the modern `jacobian` method take the $ {}^{p} X_O = {}^{p} X_b {}^{b} X_O $ transform while the modern `velocity` method take the $ {}^{p} X_b $ transform." 449 | ] 450 | }, 451 | { 452 | "cell_type": "code", 453 | "execution_count": 6, 454 | "metadata": { 455 | "collapsed": false 456 | }, 457 | "outputs": [ 458 | { 459 | "name": "stdout", 460 | "output_type": "stream", 461 | "text": [ 462 | "Veloctiy in Origin orientation frame: 0.545394 -0.287668 0.871242 0 0 0\n", 463 | "Velocity in body frame (classic): 0.527107 0.649976 0.66254 0 0 0\n", 464 | "Velocity in body frame (modern): 0.527107 0.649976 0.66254 0 0 0\n" 465 | ] 466 | } 467 | ], 468 | "source": [ 469 | "V_O_p_O_classic = jac_b4.velocity(mb, mbc)\n", 470 | "V_O_p_classic = jac_b4.bodyVelocity(mb, mbc)\n", 471 | "V_O_p = jac_b4.velocity(mb, mbc, X_b_p)\n", 472 | "\n", 473 | "print 'Veloctiy in Origin orientation frame:', V_O_p_O_classic\n", 474 | "print 'Velocity in body frame (classic):', V_O_p_classic\n", 475 | "print 'Velocity in body frame (modern):', V_O_p" 476 | ] 477 | }, 478 | { 479 | "cell_type": "markdown", 480 | "metadata": {}, 481 | "source": [ 482 | "## Center of Mass Jacobian\n", 483 | "\n", 484 | "The center of mass of a $ N $ rigid body system can be computed with the following equation:\n", 485 | "$$\n", 486 | "\\mathbf{c} = \\sum\\limits_{i=1}^{N} \\frac{w_i m_i {}^{c_i} r_O}{\\mathbf{m}}\n", 487 | "$$\n", 488 | "Where\n", 489 | " * $ m_i $ is the mass of the body $ i $\n", 490 | " * $ {}^{c_i} r_O $ is the position of the center of mass of the body $ i $\n", 491 | " * $ \\mathbf{m} = \\sum\\limits_{i=1}^{N} m_i $ the mass of the system\n", 492 | " * $ w_i $ a custom weight set for each body by the user (1 by default)\n", 493 | "\n", 494 | "The jacobian is then:\n", 495 | "$$\n", 496 | "\\frac{\\partial \\mathbf{c}(\\mathbf{q})}{\\partial \\mathbf{q}} = J_{CoM}(\\mathbf{q})\n", 497 | "$$\n", 498 | "\n", 499 | "There is two implementation of the CoM Jacobian:\n", 500 | " * `rbd::DummyCoMJacobian`: Use a simple but slow algorithm\n", 501 | " * `rbd::CoMJacobian`: Faster implementation of the algorithm\n", 502 | " \n", 503 | "Both have a quit similar API, but it's recommanded to only use `rbd::CoMJacobian` that is faster and don't have any drawback compared to `rbd::DummyCoMJacobian`.\n", 504 | "\n", 505 | "The `rbd::CoMJacobian` class allow to compute the following values:\n", 506 | " * CoM Jacobian matrix $ J_{CoM} $\n", 507 | " * CoM Jacobian matrix time derivative $ \\dot{J}_{CoM} $\n", 508 | " * CoM velocity in Origin orientation frame $ \\dot{\\mathbf{c}} $\n", 509 | " * CoM normal acceleration $ \\dot{J}_{CoM} \\alpha $\n", 510 | "\n", 511 | "Like the Kinematic Jacobian we will only see how to compute the CoM Jacobian matrix and te CoM velocity.\n", 512 | "\n", 513 | "The `rbd::CoMJacobian` have two constructor:\n", 514 | "```c++\n", 515 | "CoMJacobian(const MultiBody& mb)\n", 516 | "CoMJacobian(const MultiBody& mb, std::vector weight)\n", 517 | "```\n", 518 | "The first one initialize the class with a $ w_i $ vector to one while the second one use the vector provided by the user.\n", 519 | "\n", 520 | "The `rbd::CoMJacobian` store some inertial value of the MultiBody so **Remember** to call the following method each time you modifying an inertial parameter of the MultiBody:\n", 521 | "```c++\n", 522 | "void updateInertialParameters(const MultiBody& mb)\n", 523 | "```\n", 524 | "\n", 525 | "The following method allow to compute the CoM Jacobian matrix in the Origin orientation frame:\n", 526 | "```c++\n", 527 | "\tconst Eigen::MatrixXd& jacobian(const MultiBody& mb, const MultiBodyConfig& mbc)\n", 528 | "```\n", 529 | "**Input**:\n", 530 | " * bodyPosW\n", 531 | " * motionSubspace\n", 532 | " \n", 533 | "Finally the next method compute the linear velocity of the CoM in the Origin orientation frame\n", 534 | "```c++\n", 535 | "\tEigen::Vector3d velocity(const MultiBody& mb, const MultiBodyConfig& mbc) const\n", 536 | "```\n", 537 | "**Input**:\n", 538 | " * bodyPosW\n", 539 | " * bodyVelB" 540 | ] 541 | }, 542 | { 543 | "cell_type": "code", 544 | "execution_count": 7, 545 | "metadata": { 546 | "collapsed": false 547 | }, 548 | "outputs": [ 549 | { 550 | "name": "stdout", 551 | "output_type": "stream", 552 | "text": [ 553 | "CoM velocity from velocity: [[-0.09346977 -0.13628341 0.19342472]]\n", 554 | "CoM velocity from Jacobian: [[-0.09346977 -0.13628341 0.19342472]]\n", 555 | "Residual: 6.79869977755e-17\n" 556 | ] 557 | } 558 | ], 559 | "source": [ 560 | "# create a random alpha vector\n", 561 | "alphaVec = np.mat(np.random.rand(mb.nrDof(),1))\n", 562 | "\n", 563 | "mbc.alpha = rbd.vectorToDof(mb, e.toEigenX(alphaVec))\n", 564 | "rbd.forwardVelocity(mb, mbc) # run the forward velocity to compute bodyPosW and bodyPosB\n", 565 | "\n", 566 | "# compute the jacobian\n", 567 | "jac_com = rbd.CoMJacobian(mb)\n", 568 | "jac_com_mat = jac_com.jacobian(mb, mbc)\n", 569 | "\n", 570 | "# compute the velocity and the velocity from the CoM Jacobian matrix\n", 571 | "vel_com = jac_com.velocity(mb, mbc)\n", 572 | "vel_com_jac = e.toNumpy(jac_com_mat)*alphaVec\n", 573 | "\n", 574 | "print 'CoM velocity from velocity:', e.toNumpy(vel_com).T\n", 575 | "print 'CoM velocity from Jacobian:', vel_com_jac.T\n", 576 | "print 'Residual:', np.linalg.norm(e.toNumpy(vel_com).T - vel_com_jac.T)" 577 | ] 578 | }, 579 | { 580 | "cell_type": "markdown", 581 | "metadata": {}, 582 | "source": [ 583 | "### Centroidal Momentum Matrix\n", 584 | "\n", 585 | "The Centroidal Momentum at the CoM frame $ \\hat{h}_c $ is defined by the following equation:\n", 586 | "$$\n", 587 | "\\hat{h}_c = \\sum\\limits_{i=1}^{N} {}^{\\mathbf{c}} w_i X^{*}_i (\\hat{I}_i \\hat{v}_i)\n", 588 | "$$\n", 589 | "Where\n", 590 | " * $ {}^{\\mathbf{c}} X^{*}_i $ is the dual transform from the body $ i $ to the center of mass\n", 591 | " * $ \\hat{I}_i $ is the Rigid Body Inertia of the body $ i $\n", 592 | " * $ \\hat{v}_i $ is the velocity vector of the body $ i $\n", 593 | " * $ w_i $ a custom weight set for each body by the user (1 by default)\n", 594 | " \n", 595 | "The Centroidal Momentum Matrix ($ CM $) will allow to rewrite the Centroidal Momentum equation in the following form:\n", 596 | "$$\n", 597 | "\\hat{h}_c = CM \\mathbf{\\alpha}\n", 598 | "$$\n", 599 | "This form will be really useful when using optimization solver because it can make a relation between $ \\hat{h}_c $ and the $ \\mathbf{\\alpha} $ control vector.\n", 600 | "\n", 601 | "The `rbd::CentroidalMomentumMatrix` class can compute the following values:\n", 602 | " * The Centroidal Momentum Matrix in CoM frame $ CM $\n", 603 | " * The Centroidal Momentum Matrix in CoM frame time derivative $ \\dot{CM} $\n", 604 | " * The Centroidal Momentum in CoM frame $ \\hat{h}_c\n", 605 | " * The Centroidal Momentum normal acceleration in CoM frame $ \\dot{CM} \\alpha $\n", 606 | " \n", 607 | "Like the Kinematic and the CoM Jacobian we will not focus on the time derivative computation in this tutorial.\n", 608 | "\n", 609 | "First let's look at the constructors:\n", 610 | "```c++\n", 611 | "CentroidalMomentumMatrix(const MultiBody& mb)\n", 612 | "CentroidalMomentumMatrix(const MultiBody &mb, std::vector weight)\n", 613 | "```\n", 614 | "The first one initialize the class with a $ w_i $ vector to one while the second one use the vector provided by the user.\n", 615 | "\n", 616 | "Then to compute the CM Matrix you need to call:\n", 617 | "```c++\n", 618 | "void computeMatrix(const MultiBody& mb, const MultiBodyConfig& mbc,\n", 619 | " \t const Eigen::Vector3d& com)\n", 620 | "```\n", 621 | "**Input**:\n", 622 | " * bodyPosW\n", 623 | " * motionSubspace\n", 624 | " * CoM translation from Origin (not in MultiBodyConfig)\n", 625 | " \n", 626 | "You can then obtain the computed matrix with the `const Eigen::MatrixXd& matrix() const` getter.\n", 627 | "\n", 628 | "Finally you can compute the $ \\hat{h}_c $ value with the following method:\n", 629 | "```c++\n", 630 | "sva::ForceVecd momentum(const MultiBody& mb,\n", 631 | " const MultiBodyConfig& mbc, const Eigen::Vector3d& com) const\n", 632 | "```\n", 633 | "**Input**:\n", 634 | " * bodyPosW\n", 635 | " * bodyVelB\n", 636 | " * CoM translation from Origin (not in MultiBodyConfig)" 637 | ] 638 | }, 639 | { 640 | "cell_type": "code", 641 | "execution_count": 8, 642 | "metadata": { 643 | "collapsed": false 644 | }, 645 | "outputs": [ 646 | { 647 | "name": "stdout", 648 | "output_type": "stream", 649 | "text": [ 650 | "Centroidal Momentum from momentum: [[ 4.98169283 -0.30382868 3.73266045 -0.35257911 -0.9196868 0.71035043]]\n", 651 | "Centroidal Momentum from CM Matrix: [[ 4.98169283 -0.30382868 3.73266045 -0.35257911 -0.9196868 0.71035043]]\n", 652 | "Residual: 1.1185187043e-15\n" 653 | ] 654 | } 655 | ], 656 | "source": [ 657 | "# create a random alpha vector\n", 658 | "alphaVec = np.mat(np.random.rand(mb.nrDof(),1))\n", 659 | "\n", 660 | "mbc.alpha = rbd.vectorToDof(mb, e.toEigenX(alphaVec))\n", 661 | "rbd.forwardVelocity(mb, mbc) # run the forward velocity to compute bodyPosW and bodyPosB\n", 662 | "com = rbd.computeCoM(mb, mbc)\n", 663 | "\n", 664 | "# compute the CM Matrix\n", 665 | "CMM = rbd.CentroidalMomentumMatrix(mb)\n", 666 | "CMM.computeMatrix(mb, mbc, com)\n", 667 | "CMM_mat = CMM.matrix()\n", 668 | "\n", 669 | "# compute the momentum and the momentum from the CM Matrix\n", 670 | "h_c = CMM.momentum(mb, mbc, com)\n", 671 | "h_c_jac = e.toNumpy(CMM_mat)*alphaVec\n", 672 | "\n", 673 | "print 'Centroidal Momentum from momentum:', e.toNumpy(h_c.vector()).T\n", 674 | "print 'Centroidal Momentum from CM Matrix:', h_c_jac.T\n", 675 | "print 'Residual:', np.linalg.norm(e.toNumpy(h_c.vector()).T - h_c_jac.T)" 676 | ] 677 | }, 678 | { 679 | "cell_type": "code", 680 | "execution_count": null, 681 | "metadata": { 682 | "collapsed": true 683 | }, 684 | "outputs": [], 685 | "source": [] 686 | } 687 | ], 688 | "metadata": { 689 | "kernelspec": { 690 | "display_name": "Python 2", 691 | "language": "python", 692 | "name": "python2" 693 | }, 694 | "language_info": { 695 | "codemirror_mode": { 696 | "name": "ipython", 697 | "version": 2 698 | }, 699 | "file_extension": ".py", 700 | "mimetype": "text/x-python", 701 | "name": "python", 702 | "nbconvert_exporter": "python", 703 | "pygments_lexer": "ipython2", 704 | "version": "2.7.6" 705 | } 706 | }, 707 | "nbformat": 4, 708 | "nbformat_minor": 0 709 | } 710 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SpaceVecAlg and RBDyn tutorials 2 | 3 | This repository contain IPython notebook tutorial for the SpaceVecAlg and the RBDyn library: 4 | * [SpaceVecAlg tutorial](http://nbviewer.ipython.org/github/jorisv/sva_rbdyn_tutorials/blob/master/SpaceVecAlg.ipynb) 5 | * [MultiBody tutorial](http://nbviewer.ipython.org/github/jorisv/sva_rbdyn_tutorials/blob/master/MultiBody.ipynb) 6 | * [Rigid Body Algorithm tutorial](http://nbviewer.ipython.org/github/jorisv/sva_rbdyn_tutorials/blob/master/SomeAlgorithm.ipynb) 7 | * [Jacobian tutorial](http://nbviewer.ipython.org/github/jorisv/sva_rbdyn_tutorials/blob/master/Jacobian.ipynb) 8 | * [My First Inverse Kinematic](http://nbviewer.ipython.org/github/jorisv/sva_rbdyn_tutorials/blob/master/MyFirstIK.ipynb) 9 | * [Inverse Kinematic with the REEM-C humanoid robot](http://nbviewer.ipython.org/github/jorisv/sva_rbdyn_tutorials/blob/master/ReemCIK.ipynb) 10 | 11 | ## Execute 12 | 13 | ### Dependencies 14 | 15 | To execute those IPython notebook you must have: 16 | 17 | * [IPython]() (test with the version 3) 18 | * [Eigen3ToPython](https://github.com/jorisv/Eigen3ToPython) 19 | * [SpaceVecAlg](https://github.com/jorisv/SpaceVecAlg) 20 | * [RBDyn](https://github.com/jorisv/RBDyn) 21 | * [mayavi2]() 22 | -------------------------------------------------------------------------------- /graph/__init__.py: -------------------------------------------------------------------------------- 1 | from multibody import MultiBodyViz 2 | from transform import vtkTransform, setActorTransform 3 | from axis import Axis 4 | from vector6d import Vector6dViz, MotionVecViz, ForceVecViz 5 | -------------------------------------------------------------------------------- /graph/axis.py: -------------------------------------------------------------------------------- 1 | from tvtk.api import tvtk 2 | 3 | import eigen3 as e 4 | import spacevecalg as sva 5 | 6 | from transform import setActorTransform 7 | 8 | class Axis(object): 9 | def __init__(self, X=sva.PTransformd.Identity(), length=0.1, text=''): 10 | """ 11 | Create a 3D axis. 12 | """ 13 | self._X = X 14 | self.axesActor = tvtk.AxesActor(total_length=(length,)*3, 15 | axis_labels=False) 16 | self.axesActor.user_transform = tvtk.Transform() 17 | 18 | textSource = tvtk.TextSource(text=text, backing=False) 19 | textPdm = tvtk.PolyDataMapper(input=textSource.output) 20 | #self.textActor = tvtk.Actor(mapper=textPdm) 21 | self.textActor = tvtk.Follower(mapper=textPdm) 22 | # take the maximum component of the bound and use it to scale it 23 | m = max(self.textActor.bounds) 24 | scale = length/m 25 | self.textActor.scale = (scale,)*3 26 | # TODO compute the origin well... 27 | self.textActor.origin = ( 28 | -(self.textActor.bounds[0] + self.textActor.bounds[1])/2., 29 | -(self.textActor.bounds[2] + self.textActor.bounds[3])/2., 30 | -(self.textActor.bounds[4] + self.textActor.bounds[5])/2., 31 | ) 32 | ySize = self.textActor.bounds[3]*1.2 33 | self.X_text = sva.PTransformd(e.Vector3d(0., -ySize, 0.)) 34 | self._transform() 35 | 36 | 37 | def _transform(self): 38 | setActorTransform(self.axesActor, self._X) 39 | # user_transform is not take into account by Follower 40 | self.textActor.position = tuple((self.X_text*self._X).translation()) 41 | 42 | 43 | @property 44 | def X(self): 45 | return self._X 46 | 47 | 48 | @X.setter 49 | def X(self, X): 50 | self._X = X 51 | self._transform() 52 | 53 | 54 | def addActors(self, scene): 55 | """ 56 | Add actors to the scene. 57 | """ 58 | scene.renderer.add_actor(self.axesActor) 59 | scene.renderer.add_actor(self.textActor) 60 | self.textActor.camera = scene.camera 61 | 62 | 63 | def removeActors(self, scene): 64 | """ 65 | Remove actors from the scene. 66 | """ 67 | scene.renderer.remove_actor(self.axesActor) 68 | scene.renderer.remove_actor(self.textActor) 69 | -------------------------------------------------------------------------------- /graph/body.py: -------------------------------------------------------------------------------- 1 | from os.path import splitext 2 | 3 | from tvtk.api import tvtk 4 | 5 | import eigen3 as e 6 | import spacevecalg as sva 7 | 8 | 9 | 10 | FILE_READER = { 11 | '.obj': tvtk.OBJReader, 12 | '.stl': tvtk.STLReader, 13 | } 14 | 15 | 16 | def linesBody(mb, bodyId, successorJointsId): 17 | """ 18 | Return a mesh represented by lines and the appropriate static transform. 19 | """ 20 | apd = tvtk.AppendPolyData() 21 | sources = [] 22 | 23 | # create a line from the body base to the next joint 24 | for s in map(mb.jointIndexById, successorJointsId[bodyId]): 25 | X_s = mb.transform(s) 26 | sources.append(tvtk.LineSource(point1=(0., 0., 0.), 27 | point2=tuple(X_s.translation()))) 28 | 29 | # add an empty source to avoid a warning if AppendPolyData have 0 source 30 | if len(sources) == 0: 31 | sources.append(tvtk.PointSource(radius=0.)) 32 | 33 | map(lambda s: apd.add_input(s.output), sources) 34 | apd.update() 35 | 36 | pdm = tvtk.PolyDataMapper(input=apd.output) 37 | actor = tvtk.Actor(mapper=pdm) 38 | actor.property.color = (0., 0., 0.) 39 | actor.user_transform = tvtk.Transform() 40 | 41 | return actor, sva.PTransformd.Identity() 42 | 43 | 44 | def meshBody(fileName, scale=(1., 1., 1.)): 45 | """ 46 | Return a mesh actor and the appropriate static transform. 47 | """ 48 | reader = FILE_READER[splitext(fileName)[1]](file_name=fileName) 49 | output = reader.output 50 | 51 | # if a scale is set we have to apply it 52 | if map(float, scale) != [1., 1., 1.]: 53 | tpdf_transform = tvtk.Transform() 54 | tpdf_transform.identity() 55 | tpdf_transform.scale(scale) 56 | tpdf = tvtk.TransformPolyDataFilter(input=reader.output, transform=tpdf_transform) 57 | tpdf.update() 58 | output = tpdf.output 59 | 60 | # compute mesh normal to have a better render and reverse mesh normal 61 | # if the scale flip them 62 | pdn = tvtk.PolyDataNormals(input=output) 63 | pdn.update() 64 | output = pdn.output 65 | 66 | pdm = tvtk.PolyDataMapper(input=output) 67 | actor = tvtk.Actor(mapper=pdm) 68 | actor.user_transform = tvtk.Transform() 69 | 70 | return actor, sva.PTransformd.Identity() 71 | 72 | 73 | def endEffectorBody(X_s, size, color): 74 | """ 75 | Return a end effector reprsented by a plane 76 | and the appropriate static transform. 77 | """ 78 | apd = tvtk.AppendPolyData() 79 | 80 | ls = tvtk.LineSource(point1=(0., 0., 0.), 81 | point2=tuple(X_s.translation())) 82 | 83 | p1 = (sva.PTransformd(e.Vector3d.UnitX()*size)*X_s).translation() 84 | p2 = (sva.PTransformd(e.Vector3d.UnitY()*size)*X_s).translation() 85 | ps = tvtk.PlaneSource(origin=tuple(X_s.translation()), 86 | point1=tuple(p1), 87 | point2=tuple(p2), 88 | center=tuple(X_s.translation())) 89 | 90 | apd.add_input(ls.output) 91 | apd.add_input(ps.output) 92 | 93 | pdm = tvtk.PolyDataMapper(input=apd.output) 94 | actor = tvtk.Actor(mapper=pdm) 95 | actor.property.color = color 96 | actor.user_transform = tvtk.Transform() 97 | 98 | return actor, sva.PTransformd.Identity() 99 | -------------------------------------------------------------------------------- /graph/joint.py: -------------------------------------------------------------------------------- 1 | from tvtk.api import tvtk 2 | 3 | import eigen3 as e 4 | import spacevecalg as sva 5 | 6 | 7 | def makeActor(source, color): 8 | """ 9 | Create an actor from a source and a color. 10 | """ 11 | pdm = tvtk.PolyDataMapper(input=source.output) 12 | actor = tvtk.Actor(mapper=pdm) 13 | actor.property.color = color 14 | actor.user_transform = tvtk.Transform() 15 | return actor 16 | 17 | 18 | def revoluteJoint(joint): 19 | """ 20 | Return a cylinder and the appropriate static transform. 21 | """ 22 | axis = e.toEigen(e.toNumpy(joint.motionSubspace())[:3]) 23 | s = tvtk.CylinderSource(height=0.1, radius=0.02) 24 | quat = e.Quaterniond() 25 | # Cylinder is around the Y axis 26 | quat.setFromTwoVectors(axis, e.Vector3d.UnitY()) 27 | return makeActor(s, tuple(axis)), sva.PTransformd(quat) 28 | 29 | 30 | def prismaticJoint(joint): 31 | """ 32 | Return a prism and the appropriate static transform. 33 | """ 34 | axis = e.toEigen(e.toNumpy(joint.motionSubspace())[3:]) 35 | s = tvtk.CubeSource(x_length=0.02, y_length=0.1, z_length=0.02) 36 | quat = e.Quaterniond() 37 | quat.setFromTwoVectors(axis, e.Vector3d.UnitY()) 38 | return makeActor(s, tuple(axis)), sva.PTransformd(quat) 39 | 40 | 41 | def sphericalJoint(joint): 42 | """ 43 | Return a shpere and the appropriate static transform. 44 | """ 45 | s = tvtk.SphereSource(radius=0.02) 46 | return makeActor(s, (1., 1., 1.)), sva.PTransformd.Identity() 47 | -------------------------------------------------------------------------------- /graph/multibody.py: -------------------------------------------------------------------------------- 1 | import rbdyn as rbd 2 | 3 | from body import linesBody, meshBody, endEffectorBody 4 | from joint import revoluteJoint, prismaticJoint, sphericalJoint 5 | from transform import setActorTransform 6 | 7 | 8 | 9 | JOINT_FROM_TYPE = { 10 | rbd.Joint.Rev: revoluteJoint, 11 | rbd.Joint.Prism: prismaticJoint, 12 | rbd.Joint.Spherical: sphericalJoint 13 | } 14 | 15 | 16 | class MultiBodyViz(object): 17 | def __init__(self, mbg, mb, meshDict={}, endEffectorDict={}): 18 | """ 19 | MutiBody visualisation. 20 | Params: 21 | - meshDict : {bodyName: (fileName, X_s, scale)} 22 | - endEffectorDict : {bodyName, X_to_end_effector, size, color} 23 | """ 24 | self.aBodies = [] # (body index, actor, X_s) 25 | self.aJoints = [] # (joint index, actor, X_s) 26 | 27 | successorJointsId = dict(mbg.successorJoints(mb.body(0).id())) 28 | 29 | # body displayed by a line 30 | lineBodiesByIndex = {bi:b for bi, b in enumerate(mb.bodies()) if 31 | len(list(successorJointsId[b.id()])) > 0} 32 | 33 | # create actor from mesh 34 | for bodyName, (fileName, X_sm, scale) in meshDict.items(): 35 | bodyId = mbg.bodyIdByName(bodyName) 36 | bi = mb.bodyIndexById(bodyId) 37 | try: 38 | del lineBodiesByIndex[bi] # don't create a line body if a mesh is set 39 | except KeyError: 40 | pass 41 | a, X_s = meshBody(fileName, scale) 42 | self.aBodies.append((bi, a, X_sm)) 43 | 44 | # create actor from end effector 45 | for bodyName, (X_see, size, color) in endEffectorDict.items(): 46 | bodyId = mbg.bodyIdByName(bodyName) 47 | bi = mb.bodyIndexById(bodyId) 48 | a, X_s = endEffectorBody(X_see, size, color) 49 | self.aBodies.append((bi, a, X_s)) 50 | 51 | for bi, b in lineBodiesByIndex.items(): 52 | a, X_s = linesBody(mb, b.id(), successorJointsId) 53 | self.aBodies.append((bi, a, X_s)) 54 | 55 | for ji, j in enumerate(mb.joints()): 56 | try: 57 | a, X_s = JOINT_FROM_TYPE[j.type()](j) 58 | self.aJoints.append((ji, a, X_s)) 59 | except KeyError: 60 | pass 61 | 62 | 63 | def display(self, mb, mbc, displayBodies=True, displayJoints=True): 64 | """ 65 | Display the MultiBody. 66 | """ 67 | bodyPosW = list(mbc.bodyPosW) 68 | 69 | if displayBodies: 70 | for bi, actor, X_s in self.aBodies: 71 | X_a = X_s*bodyPosW[bi] 72 | setActorTransform(actor, X_a) 73 | 74 | if displayJoints: 75 | for ji, actor, X_s in self.aJoints: 76 | X_a = X_s*bodyPosW[ji] 77 | setActorTransform(actor, X_a) 78 | 79 | 80 | def addActors(self, scene): 81 | """ 82 | Add all actors to the scene. 83 | """ 84 | actors = map(lambda ab: ab[1], self.aBodies) +\ 85 | map(lambda aj: aj[1], self.aJoints) 86 | for actor in actors: 87 | scene.renderer.add_actor(actor) 88 | 89 | 90 | if __name__ == '__main__': 91 | import sys 92 | sys.path += [".."] 93 | 94 | import numpy as np 95 | import eigen3 as e 96 | import spacevecalg as sva 97 | 98 | from robots import TutorialTree 99 | 100 | mbg, mb, mbc = TutorialTree() 101 | 102 | q = map(list, mbc.q) 103 | q[1] = [np.pi/2.] 104 | q[2] = [-np.pi/4.] 105 | q[3] = [-np.pi/2.] 106 | q[4] = [0.5] 107 | mbc.q = q 108 | rbd.forwardKinematics(mb, mbc) 109 | 110 | X_s = sva.PTransformd(sva.RotY(-np.pi/2.), e.Vector3d(0.1, 0., 0.)) 111 | mbv = MultiBodyViz(mbg, mb, endEffectorDict={'b4':(X_s, 0.1, (0., 1., 0.))}) 112 | 113 | # test MultiBodyViz 114 | from tvtk.tools import ivtk 115 | viewer = ivtk.viewer() 116 | mbv.addActors(viewer.scene) 117 | mbv.display(mb, mbc) 118 | 119 | # test axis 120 | from axis import Axis 121 | a1 = Axis(text='test', length=0.2) 122 | a1.addActors(viewer.scene) 123 | a1.X = sva.PTransformd(sva.RotX(np.pi/2.), e.Vector3d.UnitX()) 124 | 125 | # test vector6d 126 | from vector6d import ForceVecViz, MotionVecViz 127 | M = sva.MotionVecd(e.Vector3d(0.2, 0.1, 0.), e.Vector3d(0.1, 0., 0.2)) 128 | F = sva.ForceVecd(e.Vector3d(-0.2, -0.1, 0.), e.Vector3d(-0.1, 0., -0.2)) 129 | MV = MotionVecViz(M, a1.X) 130 | FV = ForceVecViz(F, sva.PTransformd(sva.RotX(np.pi/2.), e.Vector3d.UnitX()*1.4)) 131 | MV.addActors(viewer.scene) 132 | FV.addActors(viewer.scene) 133 | -------------------------------------------------------------------------------- /graph/transform.py: -------------------------------------------------------------------------------- 1 | def vtkTransform(X): 2 | """ 3 | Transform a PTranform into a vtk homogeneous transformation matrix. 4 | """ 5 | R = X.rotation() 6 | T = X.translation() 7 | return (R[0], R[1], R[2], T[0], 8 | R[3], R[4], R[5], T[1], 9 | R[6], R[7], R[8], T[2], 10 | 0., 0., 0., 1.) 11 | 12 | 13 | def setActorTransform(actor, X): 14 | """ 15 | Set an actor user_transform with a PTransform 16 | """ 17 | actor.user_transform.set_matrix(vtkTransform(X)) 18 | -------------------------------------------------------------------------------- /graph/vector6d.py: -------------------------------------------------------------------------------- 1 | from tvtk.api import tvtk 2 | 3 | import eigen3 as e 4 | import spacevecalg as sva 5 | 6 | from transform import setActorTransform 7 | 8 | class Vector6dViz(object): 9 | def __init__(self, linear, angular, frame, linColor, angColor): 10 | """ 11 | Create the visualization of a 6D vector with a linear and angular part. 12 | Parameter: 13 | linear: 3d linear component (e.Vector3d) 14 | angular: 3d angular component (e.Vector3d) 15 | frame: vector frame (sva.PTransformd) 16 | linColor: linear component color (float, float, float) 17 | angColor: angular component color (float, float, float) 18 | """ 19 | self.linearActor, X_l = self._createVector(linear, frame, linColor) 20 | self.angularActor, X_a = self._createVector(angular, frame, angColor) 21 | 22 | # create a Arc around the angular axis 23 | # The arc must turn around the X axis (Arrow default axis) 24 | angNorm = angular.norm() 25 | angNormW = angNorm*0.3 26 | arcSource = tvtk.ArcSource(point1=(angNorm/2., -angNormW, -angNormW), 27 | point2=(angNorm/2., -angNormW, angNormW), 28 | center=(angNorm/2., 0., 0.), negative=True, 29 | resolution=20) 30 | arcPdm = tvtk.PolyDataMapper(input=arcSource.output) 31 | self.arcActor = tvtk.Actor(mapper=arcPdm) 32 | self.arcActor.property.color = angColor 33 | self.arcActor.user_transform = tvtk.Transform() 34 | # apply the angular transform 35 | setActorTransform(self.arcActor, X_a) 36 | 37 | 38 | def _createVector(self, vector, frame, color): 39 | source = tvtk.ArrowSource() 40 | pdm = tvtk.PolyDataMapper(input=source.output) 41 | actor = tvtk.Actor(mapper=pdm) 42 | actor.user_transform = tvtk.Transform() 43 | actor.property.color = color 44 | norm = vector.norm() 45 | actor.scale = (norm,)*3 46 | quat = e.Quaterniond() 47 | # arrow are define on X axis 48 | quat.setFromTwoVectors(vector, e.Vector3d.UnitX()) 49 | X = sva.PTransformd(quat)*frame 50 | setActorTransform(actor, X) 51 | return actor, X 52 | 53 | 54 | def addActors(self, scene): 55 | """ 56 | Add actors to the scene. 57 | """ 58 | scene.renderer.add_actor(self.linearActor) 59 | scene.renderer.add_actor(self.angularActor) 60 | scene.renderer.add_actor(self.arcActor) 61 | 62 | 63 | def removeActors(self, scene): 64 | """ 65 | Remove actors from the scene. 66 | """ 67 | scene.renderer.remove_actor(self.linearActor) 68 | scene.renderer.remove_actor(self.angularActor) 69 | scene.renderer.remove_actor(self.arcActor) 70 | 71 | 72 | 73 | class ForceVecViz(Vector6dViz): 74 | def __init__(self, F, frame): 75 | """ 76 | Helper class to display a sva.ForceVecd. 77 | """ 78 | super(ForceVecViz, self).__init__(F.force(), F.couple(), frame, 79 | (1., 0., 0.), (1., 1., 0.)) 80 | 81 | 82 | 83 | class MotionVecViz(Vector6dViz): 84 | def __init__(self, M, frame): 85 | """ 86 | Helper class to display a sva.MotionVecd. 87 | """ 88 | super(MotionVecViz, self).__init__(M.linear(), M.angular(), frame, 89 | (0., 0., 1.), (1., 0., 1.)) 90 | -------------------------------------------------------------------------------- /ik/__init__.py: -------------------------------------------------------------------------------- 1 | from multi_task import multiTaskIk 2 | from ik_tasks import BodyTask, PostureTask, CoMTask 3 | -------------------------------------------------------------------------------- /ik/ik_tasks.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | import eigen3 as e 4 | import spacevecalg as sva 5 | import rbdyn as rbd 6 | 7 | 8 | 9 | class BodyTask(object): 10 | def __init__(self, mb, bodyId, X_O_T, X_b_p=sva.PTransformd.Identity()): 11 | """ 12 | Compute the error and the jacobian to target a static frame for a body. 13 | 14 | Parameters: 15 | - mb: MultiBody system 16 | - bodyId: ID of the body that should move 17 | - X_0_T: targeted frame (PTransformd) 18 | - X_b_p: static frame on the body bodyId 19 | """ 20 | self.bodyIndex = mb.bodyIndexById(bodyId) 21 | self.X_O_T = X_O_T 22 | self.X_b_p = X_b_p 23 | self.jac = rbd.Jacobian(mb, bodyId) 24 | self.jac_mat_sparse = e.MatrixXd(6, mb.nrDof()) 25 | 26 | def X_O_p(self, mbc): 27 | X_O_b = list(mbc.bodyPosW)[self.bodyIndex] 28 | return self.X_b_p*X_O_b 29 | 30 | def dimension(self): 31 | return 6 32 | 33 | def g(self, mb, mbc): 34 | X_O_p = self.X_O_p(mbc) 35 | g_body = sva.transformError(self.X_O_T, X_O_p) 36 | return e.toNumpy(g_body.vector()) 37 | 38 | def J(self, mb, mbc): 39 | X_O_p = self.X_O_p(mbc) 40 | # set transformation in Origin orientation frame 41 | X_O_p_O = sva.PTransformd(X_O_p.rotation()).inv()*X_O_p 42 | jac_mat_dense = self.jac.jacobian(mb, mbc, X_O_p_O) 43 | self.jac.fullJacobian(mb, jac_mat_dense, self.jac_mat_sparse) 44 | return e.toNumpy(self.jac_mat_sparse) 45 | 46 | 47 | 48 | class PostureTask(object): 49 | def __init__(self, mb, q_T): 50 | """ 51 | Target a default configuration for the robot. 52 | 53 | Parameters: 54 | - mb: MultiBody system 55 | - q_T: Targeted configuration (mbc.q size) 56 | """ 57 | self.q_T = q_T 58 | 59 | def isDefine(j): 60 | return j.type() in (rbd.Joint.Prism, rbd.Joint.Rev, rbd.Joint.Spherical) 61 | # take back joint and joint index that are define 62 | self.jointIndex = [i for i, j in enumerate(mb.joints()) if isDefine(j)] 63 | self.joints = [mb.joint(index) for index in self.jointIndex] 64 | nrDof = reduce(lambda dof, j: dof + j.dof(), self.joints, 0) 65 | self.dim = nrDof 66 | 67 | # initialize g 68 | self.g_mat = np.mat(np.zeros((nrDof, 1))) 69 | 70 | # initialize the jacobian 71 | self.J_mat = np.mat(np.zeros((nrDof, mb.nrDof()))) 72 | posInG = 0 73 | for jIndex, j in zip(self.jointIndex, self.joints): 74 | posInDof = mb.jointPosInDof(jIndex) 75 | self.J_mat[posInG:posInG+j.dof(), 76 | posInDof:posInDof+j.dof()] = np.eye(j.dof()) 77 | posInG += j.dof() 78 | 79 | def dimension(self): 80 | return self.dim 81 | 82 | def g(self, mb, mbc): 83 | q = map(list, mbc.q) 84 | jointConfig = list(mbc.jointConfig) 85 | posInG = 0 86 | for jIndex, j in zip(self.jointIndex, self.joints): 87 | if j.type() in (rbd.Joint.Prism, rbd.Joint.Rev): 88 | self.g_mat[posInG:posInG+j.dof(),0] = q[jIndex][0] - self.q_T[jIndex][0] 89 | elif j.type() in (rbd.Joint.Spherical,): 90 | orid = e.Quaterniond(*self.q_T[jIndex]).inverse().matrix() 91 | self.g_mat[posInG:posInG+j.dof(),0] =\ 92 | e.toNumpy(sva.rotationError(orid, jointConfig[jIndex].rotation())) 93 | posInG += j.dof() 94 | return self.g_mat 95 | 96 | def J(self, mb, mbc): 97 | return self.J_mat 98 | 99 | 100 | 101 | class CoMTask(object): 102 | def __init__(self, mb, com_T): 103 | """ 104 | Target a fixe CoM position. 105 | 106 | Parameters: 107 | - mb: MultiBody system 108 | - com_T: Targeted CoM position (eigen3.Vector3d) 109 | """ 110 | self.com_T = com_T 111 | self.comJac = rbd.CoMJacobian(mb) 112 | 113 | def dimension(self): 114 | return 3 115 | 116 | def g(self, mb, mbc): 117 | return e.toNumpy(rbd.computeCoM(mb, mbc) - self.com_T) 118 | 119 | def J(self, mb, mbc): 120 | return e.toNumpy(self.comJac.jacobian(mb, mbc)) 121 | -------------------------------------------------------------------------------- /ik/multi_task.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | import eigen3 as e 4 | import rbdyn as rbd 5 | 6 | 7 | def multiTaskIk(mb, mbc, tasks, delta=1., maxIter=100, prec=1e-8): 8 | """ 9 | The multiTaskIk function is a generator that will return at each call 10 | the new step in the IK process. 11 | 12 | Parameters: 13 | - mb: MultiBody system. 14 | - mbc: Initial configuration 15 | - tasks: List of tasks could be of two form: 16 | - (weight, task): apply a global weight on all task dimension 17 | - ((weight,), task): apply a different weight on each dimension of the 18 | task 19 | - delta: Integration step 20 | - maxIter: maximum number of iteration 21 | - prec: stop the IK if \| \alpha \|_{\inf} < prec 22 | 23 | Returns: 24 | - Current iteration number 25 | - Current articular position vector q 26 | - Current articular velocity vector alpha (descent direction) 27 | - \| \alpha \|_{\inf} 28 | """ 29 | q = e.toNumpy(rbd.paramToVector(mb, mbc.q)) 30 | iterate = 0 31 | minimizer = False 32 | 33 | # transform user weight into a numpy array 34 | tasks_np = [] 35 | for w, t in tasks: 36 | dim = t.dimension() 37 | w_np = np.zeros((dim,1)) 38 | if isinstance(w, (float, int)): 39 | w_np[:,0] = [w]*dim 40 | elif hasattr(w, '__iter__'): 41 | w_np[:,0] = w 42 | else: 43 | raise RuntimeError('%s unknow type for weight vector') 44 | tasks_np.append((w_np, t)) 45 | 46 | while iterate < maxIter and not minimizer: 47 | # compute task data 48 | gList = map(lambda (w, t): np.mat(w*np.array(t.g(mb, mbc))), tasks_np) 49 | JList = map(lambda (w, t): np.mat(w*np.array(t.J(mb, mbc))), tasks_np) 50 | 51 | g = np.concatenate(gList) 52 | J = np.concatenate(JList) 53 | 54 | # compute alpha 55 | alpha = -np.mat(np.linalg.lstsq(J, g)[0]) 56 | 57 | # integrate and run the forward kinematic 58 | mbc.alpha = rbd.vectorToDof(mb, e.toEigenX(alpha)) 59 | rbd.eulerIntegration(mb, mbc, delta) 60 | rbd.forwardKinematics(mb, mbc) 61 | 62 | # take the new q vector 63 | q = e.toNumpy(rbd.paramToVector(mb, mbc.q)) 64 | 65 | alphaInf = np.linalg.norm(alpha, np.inf) 66 | yield iterate, q, alpha, alphaInf # yield the current state 67 | 68 | # check if the current alpha is a minimizer 69 | if alphaInf < prec: 70 | minimizer = True 71 | iterate += 1 72 | 73 | 74 | if __name__ == '__main__': 75 | import sys 76 | sys.path += [".."] 77 | 78 | import spacevecalg as sva 79 | 80 | from ik_tasks import BodyTask, PostureTask, CoMTask 81 | from robots import TutorialTree 82 | 83 | mbg, mb, mbc = TutorialTree() 84 | quat = e.Quaterniond(np.pi/3., e.Vector3d(0.1, 0.5, 0.3).normalized()) 85 | mbc.q = [[], 86 | [3.*np.pi/4.], 87 | [np.pi/3.], 88 | [-3.*np.pi/4.], 89 | [0.], 90 | [quat.w(), quat.x(), quat.y(), quat.z()]] 91 | rbd.forwardKinematics(mb, mbc) 92 | rbd.forwardVelocity(mb, mbc) 93 | 94 | # target frame 95 | X_O_T = sva.PTransformd(sva.RotY(np.pi/2.), e.Vector3d(1.5, 0.5, 1.)) 96 | X_b5_ef = sva.PTransformd(sva.RotX(-np.pi/2.), e.Vector3d(0., 0.2, 0.)) 97 | 98 | # create the task 99 | bodyTask = BodyTask(mb, mbg.bodyIdByName("b5"), X_O_T, X_b5_ef) 100 | postureTask = PostureTask(mb, map(list, mbc.q)) 101 | comTask = CoMTask(mb, rbd.computeCoM(mb, mbc) + e.Vector3d(0., 0.5, 0.)) 102 | 103 | tasks = [(100., bodyTask), ((0., 10000., 0.), comTask), (1., postureTask)] 104 | q_res = None 105 | X_O_p_res = None 106 | alphaInfList = [] 107 | for iterate, q, alpha, alphaInf in\ 108 | multiTaskIk(mb, mbc, tasks, delta=1., maxIter=200, prec=1e-8): 109 | q_res = q 110 | alphaInfList.append(alphaInf) 111 | 112 | print 'iter number', len(alphaInfList) 113 | print 'last alpha norm', alphaInfList[-1] 114 | print 115 | print 'bodyTask error:', bodyTask.g(mb, mbc).T 116 | print 'postureTask error:', postureTask.g(mb, mbc).T 117 | print 'comTask error:', comTask.g(mb, mbc).T 118 | 119 | -------------------------------------------------------------------------------- /img/MultiBody/.placeholder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrl-umi3218/sva_rbdyn_tutorials/2120135aacc4341801374658f2bf6f4d655d3f80/img/MultiBody/.placeholder -------------------------------------------------------------------------------- /img/MyFirstIK/.placeholder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrl-umi3218/sva_rbdyn_tutorials/2120135aacc4341801374658f2bf6f4d655d3f80/img/MyFirstIK/.placeholder -------------------------------------------------------------------------------- /img/ReemCIK/.placeholder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrl-umi3218/sva_rbdyn_tutorials/2120135aacc4341801374658f2bf6f4d655d3f80/img/ReemCIK/.placeholder -------------------------------------------------------------------------------- /img/SomeAlgorithm/.placeholder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrl-umi3218/sva_rbdyn_tutorials/2120135aacc4341801374658f2bf6f4d655d3f80/img/SomeAlgorithm/.placeholder -------------------------------------------------------------------------------- /img/SpaceVecAlg/.placeholder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jrl-umi3218/sva_rbdyn_tutorials/2120135aacc4341801374658f2bf6f4d655d3f80/img/SpaceVecAlg/.placeholder -------------------------------------------------------------------------------- /robots/__init__.py: -------------------------------------------------------------------------------- 1 | from tutorial_tree import TutorialTree 2 | from reemc import ReemC 3 | -------------------------------------------------------------------------------- /robots/reemc.py: -------------------------------------------------------------------------------- 1 | import os 2 | import pickle 3 | 4 | import rbdyn as rbd 5 | 6 | from urdf_to_pickle import mbgFromMb 7 | 8 | def ReemC(): 9 | """ 10 | Return the ReemC MultiBodyGraph, MultiBody, the zeroed MultiBodyConfig 11 | and the mesh dictionary. 12 | """ 13 | rbd.copy_reg_pickle() 14 | 15 | reemcDataPath = os.path.join(os.path.dirname(__file__), 'reemc_data') 16 | filePath = os.path.join(reemcDataPath, 'reemc_full.pkl') 17 | with open(filePath, 'r') as reemCData: 18 | mb, meshDict = pickle.load(reemCData) 19 | mbc = rbd.MultiBodyConfig(mb) 20 | mbc.zero(mb) 21 | 22 | mbg = mbgFromMb(mb) 23 | 24 | def fixMeshPath(path): 25 | return os.path.join(reemcDataPath, path) 26 | 27 | meshDictFixPath = dict(map(lambda (key,(path,X,scale)): 28 | (key,(fixMeshPath(path),X,scale)), 29 | meshDict.items())) 30 | 31 | return mbg, mb, mbc, meshDictFixPath 32 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/arm/arm_1.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl arm_1.001 5 | Ns 96.078431 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.640000 0.640000 0.640000 8 | Ks 31.000000 31.000000 31.000000 9 | Ni -1.000000 10 | d 1.000000 11 | illum 2 12 | map_Kd /home/trollboy/dev/these/robots_blender_model-1/reemc/meshes_original/arm/arm_1_color.png 13 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/arm/arm_2.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl arm_2 5 | Ns 96.078431 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.640000 0.640000 0.640000 8 | Ks 10.000000 10.000000 10.000000 9 | Ni -1.000000 10 | d 1.000000 11 | illum 2 12 | map_Kd /home/trollboy/dev/these/robots_blender_model-1/reemc/meshes_original/arm/arm_2_color.png 13 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/arm/arm_3.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 1 3 | 4 | newmtl _2_-_Default 5 | Ns 96.078431 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.640000 0.640000 0.640000 8 | Ks 31.000000 31.000000 31.000000 9 | Ni -1.000000 10 | d 1.000000 11 | illum 2 12 | map_Kd ../robots_blender_model-1/reemc/meshes_original/arm/arm_3_color.png 13 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/arm/arm_3.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.74 (sub 0) OBJ File: 'empty.blend' 2 | # www.blender.org 3 | mtllib arm_3.mtl 4 | o arm3_lp_new 5 | v 0.000436 0.020950 -0.056698 6 | v 0.000436 0.029353 -0.069297 7 | v 0.000436 0.033525 -0.083531 8 | v 0.000436 -0.056709 -0.056505 9 | v 0.000436 0.033927 -0.092488 10 | v 0.000436 -0.050681 -0.050485 11 | v 0.000436 -0.037114 -0.042763 12 | v 0.000436 -0.021176 -0.038962 13 | v 0.000436 -0.006518 -0.040605 14 | v 0.000436 0.008030 -0.045551 15 | v 0.000436 0.032701 -0.103747 16 | v -0.045959 0.020950 -0.056698 17 | v -0.045283 0.029353 -0.069297 18 | v -0.042220 0.033525 -0.083531 19 | v -0.022294 -0.061402 -0.062497 20 | v -0.031809 -0.056709 -0.056505 21 | v -0.027299 0.033838 -0.100333 22 | v -0.012090 -0.063939 -0.066183 23 | v -0.015967 0.033331 -0.103879 24 | v -0.037352 0.033927 -0.092488 25 | v -0.038608 -0.050681 -0.050485 26 | v -0.044533 -0.037114 -0.042763 27 | v -0.045319 -0.021176 -0.038962 28 | v -0.046019 -0.006518 -0.040605 29 | v -0.046172 0.008030 -0.045551 30 | v 0.000436 -0.019657 -0.092411 31 | v 0.044938 -0.031142 -0.024324 32 | v 0.040848 -0.038535 -0.023860 33 | v 0.058993 -0.017739 -0.092815 34 | v 0.056177 -0.014464 -0.123419 35 | v 0.056419 0.007323 -0.107185 36 | v 0.056667 -0.002208 -0.116974 37 | v 0.054764 0.013575 -0.094662 38 | v 0.056238 -0.027464 -0.123234 39 | v 0.056300 -0.038992 -0.115596 40 | v 0.056240 -0.047890 -0.103519 41 | v 0.056547 -0.046064 -0.081517 42 | v 0.056056 -0.035075 -0.063756 43 | v 0.056423 -0.007732 -0.068087 44 | v 0.051461 0.017776 -0.071809 45 | v 0.000436 -0.013591 -0.144734 46 | v 0.000436 0.009510 -0.136651 47 | v 0.000436 0.024900 -0.122220 48 | v 0.026503 -0.013308 -0.145103 49 | v 0.026259 0.009952 -0.136796 50 | v 0.024998 0.025035 -0.122673 51 | v 0.026462 -0.064587 -0.117066 52 | v 0.025744 -0.052902 -0.132292 53 | v 0.026228 -0.035118 -0.142160 54 | v 0.000436 -0.053709 -0.132009 55 | v 0.000436 -0.064938 -0.116369 56 | v 0.000436 -0.036005 -0.141831 57 | v 0.026388 -0.070822 -0.098747 58 | v 0.000436 -0.070818 -0.097801 59 | v 0.051979 -0.050945 -0.131358 60 | v 0.047840 -0.052263 -0.132677 61 | v 0.049073 -0.064315 -0.117936 62 | v 0.052459 -0.061959 -0.116816 63 | v 0.051145 0.024036 -0.121378 64 | v 0.046840 0.025138 -0.122314 65 | v 0.048122 0.010034 -0.136470 66 | v 0.052078 0.009211 -0.134795 67 | v -0.047915 0.022681 -0.056531 68 | v -0.046867 0.031562 -0.069449 69 | v -0.035229 0.040807 -0.066683 70 | v -0.041724 0.036179 -0.084064 71 | v -0.021791 -0.064747 -0.061579 72 | v -0.031564 -0.060229 -0.055831 73 | v -0.027018 0.036479 -0.100434 74 | v 0.026619 -0.069389 -0.077766 75 | v 0.000436 0.036243 -0.104963 76 | v 0.020706 0.043841 -0.075348 77 | v 0.023104 0.036149 -0.103152 78 | v 0.037449 0.039940 -0.046079 79 | v 0.052222 -0.013381 -0.142670 80 | v 0.048396 -0.013214 -0.144768 81 | v 0.048331 -0.034493 -0.142532 82 | v 0.052040 -0.033796 -0.140477 83 | v -0.012848 -0.056454 -0.050931 84 | v 0.001482 -0.054489 -0.053596 85 | v -0.000926 -0.067630 -0.065623 86 | v -0.012185 -0.067503 -0.065243 87 | v 0.044750 0.036486 -0.075023 88 | v 0.040619 0.038504 -0.075812 89 | v 0.045208 0.034373 -0.100394 90 | v 0.048904 0.032342 -0.099337 91 | v -0.018617 0.044391 -0.072190 92 | v -0.001802 0.045309 -0.074852 93 | v -0.015412 0.035929 -0.104198 94 | v -0.036664 0.036714 -0.093445 95 | v -0.031671 -0.047144 -0.043099 96 | v -0.038857 -0.053951 -0.049626 97 | v -0.046466 -0.039444 -0.041605 98 | v -0.000453 -0.057116 -0.051694 99 | v 0.000436 -0.068654 -0.076695 100 | v 0.053596 -0.055087 -0.061487 101 | v 0.050237 -0.058456 -0.059418 102 | v 0.000436 -0.065255 -0.067641 103 | v 0.027248 -0.059077 -0.058164 104 | v 0.052999 -0.067018 -0.098672 105 | v 0.050132 -0.070134 -0.098871 106 | v 0.050013 -0.068747 -0.077947 107 | v 0.053329 -0.065314 -0.079695 108 | v -0.023770 -0.043010 -0.008691 109 | v -0.010190 -0.047390 -0.009281 110 | v 0.006060 -0.048310 -0.010373 111 | v 0.021911 -0.044071 -0.010880 112 | v 0.021740 0.047291 -0.013540 113 | v 0.006954 0.051542 -0.013235 114 | v -0.007906 0.051295 -0.013835 115 | v -0.023946 0.045746 -0.013213 116 | v 0.042627 -0.027088 -0.010733 117 | v 0.048419 -0.013096 -0.011392 118 | v 0.050142 0.001799 -0.011998 119 | v 0.045588 0.021693 -0.012378 120 | v -0.045576 0.022821 -0.007269 121 | v -0.049405 0.009480 -0.007216 122 | v -0.049467 -0.006414 -0.006609 123 | v -0.044111 -0.022208 -0.006730 124 | v 0.036557 -0.036885 -0.011324 125 | v 0.036397 0.038066 -0.012333 126 | v -0.034961 -0.034646 -0.007475 127 | v 0.000000 -0.000001 0.022580 128 | v -0.035888 0.036683 -0.009021 129 | v 0.022451 -0.047168 -0.042444 130 | v 0.000451 -0.047123 -0.041967 131 | v -0.011597 -0.047460 -0.042472 132 | v -0.027845 -0.044682 -0.031069 133 | v -0.024684 -0.042095 0.022580 134 | v -0.010824 -0.047421 0.022580 135 | v 0.005353 -0.048466 0.022580 136 | v 0.022983 -0.043276 0.022580 137 | v -0.029501 0.043488 -0.040342 138 | v -0.012427 0.048485 -0.045761 139 | v 0.002753 0.049407 -0.046165 140 | v 0.022488 0.046335 -0.045303 141 | v 0.023848 0.046224 0.022580 142 | v 0.009897 0.051269 0.022580 143 | v -0.005633 0.051825 0.022580 144 | v -0.022998 0.046467 0.022580 145 | v 0.046142 0.023669 -0.044215 146 | v 0.051702 0.000060 -0.040701 147 | v 0.051898 -0.020006 -0.039454 148 | v 0.049883 -0.040228 -0.041041 149 | v 0.042847 -0.025297 0.022580 150 | v 0.048455 -0.012838 0.022580 151 | v 0.050610 0.003015 0.022580 152 | v 0.045692 0.023335 0.022580 153 | v -0.047730 -0.022209 -0.038411 154 | v -0.048131 -0.006771 -0.039606 155 | v -0.047909 0.008156 -0.045539 156 | v -0.043572 0.025235 -0.037800 157 | v -0.045747 0.022588 0.022580 158 | v -0.049809 0.008299 0.022580 159 | v -0.049256 -0.007834 0.022580 160 | v -0.043414 -0.023526 0.022580 161 | v 0.033755 -0.035881 0.022580 162 | v 0.036389 0.036740 0.022580 163 | v -0.036299 0.036551 0.022580 164 | v -0.034733 -0.034638 0.022580 165 | v 0.048070 -0.043162 -0.039813 166 | v 0.040732 0.037295 -0.045581 167 | v -0.038710 0.036145 -0.038913 168 | v -0.040260 -0.037415 -0.029106 169 | v 0.000160 0.048790 0.021949 170 | v 0.000160 0.048790 0.030402 171 | v 0.033315 0.035057 0.021949 172 | v 0.033315 0.035057 0.030402 173 | v 0.047048 0.001903 0.021949 174 | v 0.047048 0.001903 0.030402 175 | v 0.033315 -0.031252 0.021949 176 | v 0.033315 -0.031252 0.030402 177 | v 0.000160 -0.044985 0.021949 178 | v 0.000160 -0.044985 0.030402 179 | v -0.032995 -0.031252 0.021949 180 | v -0.032995 -0.031252 0.030402 181 | v -0.046728 0.001903 0.021949 182 | v -0.046728 0.001903 0.030402 183 | v -0.032995 0.035057 0.021949 184 | v -0.032995 0.035057 0.030402 185 | vt 0.397762 0.858482 186 | vt 0.536250 0.846839 187 | vt 0.405491 0.895922 188 | vt 0.424431 0.930054 189 | vt 0.455281 0.961405 190 | vt 0.491614 0.977167 191 | vt 0.398611 0.835386 192 | vt 0.404125 0.806721 193 | vt 0.648186 0.920050 194 | vt 0.623892 0.946861 195 | vt 0.607142 0.961061 196 | vt 0.570668 0.978049 197 | vt 0.528926 0.984466 198 | vt 0.721533 0.754716 199 | vt 0.823051 0.840948 200 | vt 0.702355 0.782981 201 | vt 0.961808 0.859923 202 | vt 0.949910 0.902845 203 | vt 0.725519 0.940358 204 | vt 0.762441 0.967828 205 | vt 0.843296 0.708737 206 | vt 0.877714 0.718090 207 | vt 0.950552 0.735510 208 | vt 0.918931 0.721800 209 | vt 0.989154 0.697989 210 | vt 0.989328 0.741410 211 | vt 0.889409 0.698367 212 | vt 0.870779 0.306705 213 | vt 0.901783 0.282318 214 | vt 0.987668 0.306262 215 | vt 0.936808 0.271151 216 | vt 0.987588 0.271229 217 | vt 0.847145 0.573202 218 | vt 0.844805 0.527583 219 | vt 0.988505 0.527038 220 | vt 0.988678 0.572666 221 | vt 0.987773 0.333997 222 | vt 0.855826 0.334498 223 | vt 0.844151 0.480055 224 | vt 0.988325 0.479508 225 | vt 0.987947 0.379877 226 | vt 0.846524 0.380414 227 | vt 0.989054 0.671636 228 | vt 0.868279 0.672094 229 | vt 0.988871 0.623348 230 | vt 0.849767 0.623876 231 | vt 0.988125 0.426723 232 | vt 0.844610 0.427267 233 | vt 0.094031 0.540420 234 | vt 0.137026 0.514588 235 | vt 0.133103 0.524879 236 | vt 0.104023 0.548378 237 | vt 0.456120 0.071040 238 | vt 0.463894 0.077793 239 | vt 0.436359 0.123578 240 | vt 0.431012 0.114011 241 | vt 0.369646 0.107148 242 | vt 0.386620 0.580483 243 | vt 0.358512 0.539707 244 | vt 0.382719 0.519301 245 | vt 0.420831 0.553841 246 | vt 0.332884 0.479158 247 | vt 0.324883 0.488833 248 | vt 0.073327 0.579319 249 | vt 0.086288 0.580355 250 | vt 0.583517 0.023140 251 | vt 0.642964 0.031150 252 | vt 0.638545 0.040348 253 | vt 0.578367 0.032463 254 | vt 0.700765 0.038732 255 | vt 0.696951 0.047694 256 | vt 0.493052 0.038821 257 | vt 0.497692 0.048040 258 | vt 0.072299 0.661925 259 | vt 0.074735 0.724132 260 | vt 0.064189 0.727230 261 | vt 0.061984 0.667874 262 | vt 0.761294 0.033773 263 | vt 0.762447 0.039649 264 | vt 0.541438 0.020459 265 | vt 0.538703 0.031467 266 | vt 0.022504 0.809795 267 | vt 0.048293 0.777961 268 | vt 0.056617 0.779229 269 | vt 0.022327 0.814446 270 | vt 0.807239 0.012895 271 | vt 0.812984 0.016628 272 | vt 0.061741 0.625260 273 | vt 0.074311 0.621665 274 | vt 0.428046 0.760903 275 | vt 0.658819 0.897504 276 | vt 0.668812 0.843739 277 | vt 0.632044 0.752265 278 | vt 0.657608 0.794802 279 | vt 0.470613 0.727062 280 | vt 0.531657 0.711149 281 | vt 0.588627 0.723314 282 | vt 0.344666 0.625970 283 | vt 0.261972 0.546843 284 | vt 0.389867 0.453992 285 | vt 0.460207 0.516961 286 | vt 0.258261 0.346801 287 | vt 0.323449 0.334685 288 | vt 0.281792 0.386678 289 | vt 0.322086 0.414003 290 | vt 0.375114 0.369011 291 | vt 0.374742 0.287971 292 | vt 0.419239 0.319723 293 | vt 0.273726 0.292921 294 | vt 0.262371 0.317255 295 | vt 0.320427 0.274725 296 | vt 0.294126 0.278691 297 | vt 0.347334 0.277724 298 | vt 0.274923 0.248174 299 | vt 0.246524 0.271488 300 | vt 0.315547 0.234472 301 | vt 0.395990 0.249520 302 | vt 0.448208 0.277546 303 | vt 0.351448 0.233692 304 | vt 0.227805 0.301758 305 | vt 0.222180 0.335478 306 | vt 0.227754 0.371335 307 | vt 0.278471 0.437262 308 | vt 0.244672 0.405646 309 | vt 0.484596 0.360992 310 | vt 0.512139 0.327316 311 | vt 0.437371 0.415918 312 | vt 0.567330 0.127744 313 | vt 0.529436 0.168599 314 | vt 0.416905 0.188898 315 | vt 0.359538 0.178011 316 | vt 0.398959 0.240569 317 | vt 0.352439 0.225650 318 | vt 0.240854 0.266250 319 | vt 0.204304 0.234979 320 | vt 0.249152 0.200358 321 | vt 0.271226 0.241318 322 | vt 0.142736 0.178446 323 | vt 0.212573 0.130082 324 | vt 0.297168 0.103036 325 | vt 0.307957 0.180327 326 | vt 0.314483 0.226577 327 | vt 0.079183 0.331211 328 | vt 0.164374 0.334095 329 | vt 0.168190 0.387762 330 | vt 0.087896 0.413062 331 | vt 0.214529 0.335289 332 | vt 0.220354 0.373725 333 | vt 0.096838 0.251357 334 | vt 0.174211 0.281477 335 | vt 0.220054 0.298803 336 | vt 0.189132 0.441429 337 | vt 0.237407 0.412269 338 | vt 0.116938 0.482203 339 | vt 0.228347 0.492060 340 | vt 0.270702 0.446035 341 | vt 0.139398 0.599178 342 | vt 0.169189 0.569064 343 | vt 0.739353 0.104082 344 | vt 0.592142 0.393357 345 | vt 0.520221 0.317070 346 | vt 0.556054 0.283746 347 | vt 0.630146 0.350553 348 | vt 0.498196 0.482560 349 | vt 0.171373 0.630860 350 | vt 0.205697 0.601992 351 | vt 0.616129 0.089950 352 | vt 0.112148 0.677310 353 | vt 0.152793 0.705381 354 | vt 0.490032 0.223817 355 | vt 0.708039 0.132916 356 | vt 0.678111 0.161642 357 | vt 0.594737 0.234988 358 | vt 0.118228 0.750245 359 | vt 0.178136 0.561215 360 | vt 0.454280 0.266874 361 | vt 0.626610 0.197637 362 | vt 0.347788 0.810677 363 | vt 0.305568 0.854196 364 | vt 0.221370 0.761829 365 | vt 0.260330 0.720320 366 | vt 0.391847 0.763282 367 | vt 0.302210 0.672472 368 | vt 0.439590 0.710555 369 | vt 0.471935 0.673854 370 | vt 0.956178 0.803135 371 | vt 0.936346 0.764227 372 | vt 0.910672 0.737174 373 | vt 0.752450 0.728506 374 | vt 0.793192 0.711243 375 | vt 0.855216 0.979564 376 | vt 0.805645 0.981399 377 | vt 0.894733 0.964144 378 | vt 0.926137 0.938578 379 | vt 0.702183 0.907196 380 | vt 0.689076 0.865129 381 | vt 0.689997 0.819431 382 | vt 0.866182 0.281922 383 | vt 0.782375 0.208054 384 | vt 0.826800 0.169106 385 | vt 0.904238 0.238962 386 | vt 0.710897 0.439164 387 | vt 0.669711 0.476854 388 | vt 0.506582 0.637565 389 | vt 0.268633 0.890629 390 | vt 0.184933 0.805101 391 | vt 0.230380 0.933431 392 | vt 0.144358 0.851102 393 | vt 0.179898 0.984985 394 | vt 0.098908 0.895964 395 | vt 0.938682 0.202402 396 | vt 0.859790 0.134111 397 | vt 0.899235 0.094657 398 | vt 0.977744 0.162938 399 | vt 0.631202 0.517303 400 | vt 0.547620 0.436338 401 | vt 0.578501 0.567388 402 | vt 0.539838 0.604146 403 | vt 0.824799 0.322164 404 | vt 0.736945 0.236653 405 | vt 0.782401 0.364574 406 | vt 0.697617 0.277650 407 | vt 0.748393 0.400028 408 | vt 0.666025 0.314768 409 | vt 0.748875 0.630221 410 | vt 0.747693 0.597625 411 | vt 0.754667 0.594508 412 | vt 0.756537 0.633314 413 | vt 0.724336 0.575054 414 | vt 0.727157 0.568057 415 | vt 0.691893 0.575140 416 | vt 0.689030 0.568057 417 | vt 0.668405 0.597779 418 | vt 0.660743 0.594686 419 | vt 0.669587 0.630375 420 | vt 0.662613 0.633493 421 | vt 0.692944 0.652947 422 | vt 0.690123 0.659943 423 | vt 0.725387 0.652860 424 | vt 0.728250 0.659943 425 | vn -0.681100 -0.722200 -0.120200 426 | vn -1.000000 0.000000 0.000000 427 | vn -0.674600 -0.668900 -0.312100 428 | vn -0.677900 -0.550900 -0.486700 429 | vn -0.666600 -0.370300 -0.647000 430 | vn -0.683600 -0.159000 -0.712300 431 | vn -0.695300 -0.718600 0.014600 432 | vn -0.882800 -0.399200 -0.247600 433 | vn -0.502800 -0.864300 0.007300 434 | vn -0.692100 0.543700 -0.474700 435 | vn -0.678300 0.445300 -0.584400 436 | vn -0.676700 0.270200 -0.684900 437 | vn -0.670300 0.045400 -0.740600 438 | vn -0.354800 -0.639600 0.681800 439 | vn 0.000000 0.000000 1.000000 440 | vn -0.511700 -0.525000 0.680100 441 | vn 0.683100 0.298300 0.666600 442 | vn 0.528300 0.504400 0.682900 443 | vn -0.671000 0.312100 0.672600 444 | vn -0.536200 0.513400 0.670000 445 | vn 0.317200 -0.666400 0.674700 446 | vn 0.478200 -0.542500 0.690600 447 | vn -0.149100 0.293700 -0.944200 448 | vn -0.354600 0.279000 -0.892400 449 | vn -0.437100 0.292700 -0.850400 450 | vn -0.593500 -0.655000 -0.467700 451 | vn -0.349600 -0.669900 -0.654900 452 | vn -0.157100 -0.731300 -0.663700 453 | vn -0.120600 0.023000 -0.992400 454 | vn -0.202300 -0.217000 -0.955000 455 | vn -0.704200 -0.582400 -0.406100 456 | vn -0.029800 -0.503700 -0.863300 457 | vn -0.430900 -0.782300 -0.449900 458 | vn -0.525300 0.236700 -0.817300 459 | vn -0.379200 0.240200 -0.893600 460 | vn -0.293800 -0.688700 -0.662800 461 | vn 0.388400 -0.914200 -0.115100 462 | vn -0.187500 -0.917500 -0.350600 463 | vn -0.138000 0.533700 -0.834300 464 | vn -0.242700 0.740800 -0.626300 465 | vn -0.681800 0.567400 -0.461700 466 | vn 0.654100 -0.731300 0.193100 467 | vn 0.593200 -0.730500 0.338200 468 | vn 0.879400 -0.351100 0.321500 469 | vn 0.875300 -0.456900 0.158200 470 | vn 0.911300 -0.223700 0.345600 471 | vn 0.568500 -0.648100 0.506700 472 | vn -0.413800 -0.888900 -0.196500 473 | vn -0.970900 0.163100 -0.175100 474 | vn -0.759500 0.586100 -0.282000 475 | vn -0.973600 -0.130100 -0.187500 476 | vn -0.338900 0.588200 -0.734200 477 | vn -0.736600 -0.668800 0.100700 478 | vn -0.921000 -0.365000 -0.135900 479 | vn -0.789800 -0.253400 -0.558500 480 | vn -0.609400 0.552700 -0.568400 481 | vn -0.850000 -0.116000 -0.513800 482 | vn -0.848400 -0.107100 -0.518300 483 | vn -0.576300 -0.811900 -0.093000 484 | vn -0.685800 -0.707800 0.169000 485 | vn -0.668400 -0.739600 -0.078000 486 | vn -0.658800 -0.498800 -0.563100 487 | vn -0.675000 -0.659000 -0.331600 488 | vn -0.669100 0.385000 -0.635700 489 | vn -0.663900 0.075700 -0.744000 490 | vn -0.667600 -0.235700 -0.706200 491 | vn 0.342900 -0.935900 0.080600 492 | vn 0.086000 -0.922400 0.376400 493 | vn 0.977200 -0.072600 0.199200 494 | vn 0.972200 -0.221000 0.077900 495 | vn 0.989600 -0.134900 -0.049900 496 | vn 0.999600 0.025300 0.013500 497 | vn 0.992300 -0.116900 0.040100 498 | vn 0.986900 -0.059800 0.149700 499 | vn 0.989300 0.108000 0.097700 500 | vn 0.971600 0.229300 0.057600 501 | vn 0.958100 0.269200 0.098200 502 | vn 0.987100 -0.045500 -0.153400 503 | vn 0.988300 -0.102600 -0.113300 504 | vn 0.987900 0.088200 -0.127300 505 | vn 0.987500 0.025800 -0.155200 506 | vn 0.982800 0.180200 -0.039000 507 | vn 0.775200 0.076700 -0.627000 508 | vn 0.782800 -0.185100 -0.594000 509 | vn 0.756000 0.356900 -0.548600 510 | vn 0.771400 0.631100 -0.081100 511 | vn 0.733100 0.679000 0.037400 512 | vn 0.702900 0.611900 -0.362600 513 | vn 0.746800 -0.429100 -0.508100 514 | vn 0.824200 -0.490200 -0.283400 515 | vn 0.880400 -0.469000 -0.069700 516 | vn 0.903300 -0.332500 0.270900 517 | vn 0.889200 -0.443200 0.113500 518 | vn 0.941600 0.323500 0.093500 519 | vn 0.795500 0.599000 0.091000 520 | vn 0.987100 0.121900 0.103800 521 | vn -0.154100 0.973900 -0.166400 522 | vn -0.012800 0.977000 -0.212600 523 | vn 0.083300 0.925700 -0.368800 524 | vn 0.011300 0.794900 -0.606600 525 | vn 0.307400 0.919300 -0.245700 526 | vn 0.169800 0.817200 -0.550800 527 | vn 0.251300 -0.291400 -0.923000 528 | vn -0.004900 -0.314000 -0.949400 529 | vn -0.003100 0.107400 -0.994200 530 | vn 0.249400 0.114400 -0.961600 531 | vn -0.001200 0.520800 -0.853700 532 | vn 0.221600 0.511500 -0.830200 533 | vn 0.003000 -0.881800 -0.471500 534 | vn 0.010300 -0.992000 -0.125700 535 | vn 0.315900 -0.829400 -0.460800 536 | vn 0.404000 -0.907700 -0.112600 537 | vn 0.009000 -0.652700 -0.757500 538 | vn 0.205500 -0.634200 -0.745400 539 | vn 0.019100 -0.963800 0.266000 540 | vn 0.407400 -0.875600 0.259400 541 | vn 0.023900 -0.834100 0.551100 542 | vn 0.444700 -0.738200 0.507100 543 | vn -0.009000 -0.735000 0.678000 544 | vn 0.483100 -0.673200 0.559800 545 | vn -0.934500 0.348100 0.073600 546 | vn 0.716200 0.697600 0.017200 547 | vn 0.490000 0.871300 0.025100 548 | vn 0.298900 0.952800 -0.052600 549 | vn 0.408500 0.912700 -0.013100 550 | vn 0.998200 0.055800 0.019600 551 | vn -0.032200 -0.907100 0.419700 552 | vn 0.040200 -0.947800 0.316300 553 | vn -0.444100 0.895300 -0.034000 554 | vn -0.176600 -0.797800 0.576500 555 | vn -0.306300 -0.934100 0.183300 556 | vn 0.168600 0.970200 -0.173900 557 | vn -0.773800 0.627300 0.087300 558 | vn -0.460200 0.887700 0.015300 559 | vn 0.040800 0.994000 -0.101400 560 | vn -0.702900 -0.650200 0.288200 561 | vn 0.462600 -0.720600 0.516500 562 | vn 0.329900 0.940700 -0.078600 563 | vn -0.173400 0.981800 -0.076800 564 | vn -0.153600 -0.720500 0.676200 565 | vn -0.448900 -0.890300 0.076200 566 | vn -0.161300 -0.986800 0.011600 567 | vn 0.081200 -0.738400 0.669500 568 | vn 0.087100 -0.996200 0.008200 569 | vn 0.747600 0.039700 0.662900 570 | vn 0.709600 -0.200800 0.675400 571 | vn 0.620000 -0.386600 0.682700 572 | vn -0.097100 0.733900 0.672200 573 | vn -0.337700 0.660800 0.670200 574 | vn 0.139800 0.724400 0.675000 575 | vn 0.345500 0.646700 0.680000 576 | vn -0.733800 0.091000 0.673300 577 | vn -0.724700 -0.143400 0.673900 578 | vn -0.643200 -0.359900 0.675800 579 | vn -0.723400 0.690300 0.010100 580 | vn -0.905300 0.424500 -0.015400 581 | vn -0.687400 -0.717000 0.115100 582 | vn -0.893200 -0.443300 0.075200 583 | vn -0.990100 -0.140200 0.002100 584 | vn -0.989500 0.142400 -0.025200 585 | vn 0.933600 0.358200 0.009600 586 | vn -0.459300 0.888300 0.000600 587 | vn -0.170000 0.984900 -0.032300 588 | vn 0.125700 0.991500 -0.032100 589 | vn 0.000000 0.776400 0.630200 590 | vn 0.549000 0.549000 0.630200 591 | vn 0.707100 0.707100 0.000000 592 | vn 0.000000 1.000000 0.000000 593 | vn 0.776400 0.000000 0.630200 594 | vn 1.000000 0.000000 0.000000 595 | vn 0.549000 -0.549000 0.630200 596 | vn 0.707100 -0.707100 0.000000 597 | vn 0.000000 -0.776400 0.630200 598 | vn 0.000000 -1.000000 0.000000 599 | vn -0.549000 -0.549000 0.630200 600 | vn -0.707100 -0.707100 0.000000 601 | vn -0.776400 0.000000 0.630200 602 | vn -0.549000 0.549000 0.630200 603 | vn -0.707100 0.707100 0.000000 604 | usemtl _2_-_Default 605 | s 1 606 | f 3/1/1 26/2/2 2/3/3 607 | f 26/2/2 1/4/4 2/3/3 608 | f 10/5/5 1/4/4 26/2/2 609 | f 26/2/2 9/6/6 10/5/5 610 | f 5/7/7 26/2/2 3/1/1 611 | f 11/8/8 26/2/2 5/7/7 612 | f 98/9/9 4/10/10 26/2/2 613 | f 4/10/10 6/11/11 26/2/2 614 | f 26/2/2 6/11/11 7/12/12 615 | f 26/2/2 7/12/12 8/13/13 616 | f 129/14/14 123/15/15 160/16/16 617 | f 148/17/17 158/18/18 123/15/15 618 | f 153/19/19 123/15/15 159/20/20 619 | f 132/21/21 157/22/22 123/15/15 620 | f 26/2/2 8/13/13 9/6/6 621 | f 18/23/23 15/24/24 4/25/10 622 | f 98/26/9 18/23/23 4/25/10 623 | f 15/24/24 16/27/25 4/25/10 624 | f 20/28/26 17/29/27 5/30/7 625 | f 17/29/27 19/31/28 5/30/7 626 | f 19/31/28 11/32/8 5/30/7 627 | f 23/33/29 24/34/30 9/35/6 628 | f 9/35/6 8/36/13 23/33/29 629 | f 20/28/26 5/30/7 3/37/1 630 | f 3/37/1 14/38/31 20/28/26 631 | f 25/39/32 10/40/5 9/35/6 632 | f 9/35/6 24/34/30 25/39/32 633 | f 14/38/31 3/37/1 2/41/3 634 | f 2/41/3 13/42/33 14/38/31 635 | f 6/43/11 4/25/10 16/27/25 636 | f 16/27/25 21/44/34 6/43/11 637 | f 7/45/12 6/43/11 21/44/34 638 | f 21/44/34 22/46/35 7/45/12 639 | f 8/36/13 7/45/12 22/46/35 640 | f 22/46/35 23/33/29 8/36/13 641 | f 1/47/4 12/48/36 13/42/33 642 | f 13/42/33 2/41/3 1/47/4 643 | f 10/40/5 25/39/32 12/48/36 644 | f 12/48/36 1/47/4 10/40/5 645 | f 18/49/23 98/50/9 81/51/37 646 | f 81/51/37 82/52/38 18/49/23 647 | f 19/53/28 89/54/39 71/55/40 648 | f 71/55/40 11/56/8 19/53/28 649 | f 11/56/8 71/55/40 43/57/41 650 | f 120/58/42 28/59/43 27/60/44 651 | f 27/60/44 112/61/45 120/58/42 652 | f 144/62/46 27/60/44 161/63/47 653 | f 27/60/44 28/59/43 161/63/47 654 | f 15/64/24 18/49/23 82/52/38 655 | f 82/52/38 67/65/48 15/64/24 656 | f 14/66/31 13/67/33 64/68/49 657 | f 64/68/49 66/69/50 14/66/31 658 | f 13/67/33 12/70/36 63/71/51 659 | f 63/71/51 64/68/49 13/67/33 660 | f 19/53/28 17/72/27 69/73/52 661 | f 69/73/52 89/54/39 19/53/28 662 | f 92/74/53 93/75/54 22/76/35 663 | f 22/76/35 21/77/34 92/74/53 664 | f 12/70/36 25/78/32 151/79/55 665 | f 151/79/55 63/71/51 12/70/36 666 | f 20/80/26 14/66/31 66/69/50 667 | f 66/69/50 90/81/56 20/80/26 668 | f 24/82/30 23/83/29 149/84/57 669 | f 149/84/57 150/85/58 24/82/30 670 | f 93/75/54 149/84/57 23/83/29 671 | f 23/83/29 22/76/35 93/75/54 672 | f 25/78/32 24/86/30 150/87/58 673 | f 150/87/58 151/79/55 25/78/32 674 | f 90/81/56 69/73/52 17/72/27 675 | f 17/72/27 20/80/26 90/81/56 676 | f 16/88/25 15/64/24 67/65/48 677 | f 67/65/48 68/89/59 16/88/25 678 | f 68/89/59 92/74/53 21/77/34 679 | f 21/77/34 16/88/25 68/89/59 680 | f 26/2/2 11/8/8 43/90/41 681 | f 98/9/9 26/2/2 95/91/60 682 | f 26/2/2 54/92/61 95/91/60 683 | f 26/2/2 50/93/62 51/94/63 684 | f 26/2/2 43/90/41 42/95/64 685 | f 26/2/2 42/95/64 41/96/65 686 | f 26/2/2 52/97/66 50/93/62 687 | f 26/2/2 41/96/65 52/97/66 688 | f 26/2/2 51/94/63 54/92/61 689 | f 107/98/67 125/99/68 28/59/43 690 | f 28/59/43 120/58/42 107/98/67 691 | f 143/100/69 27/60/44 144/62/46 692 | f 113/101/70 112/61/45 27/60/44 693 | f 27/60/44 143/100/69 113/101/70 694 | f 36/102/71 29/103/72 37/104/73 695 | f 29/103/72 38/105/74 37/104/73 696 | f 29/103/72 39/106/75 38/105/74 697 | f 33/107/76 40/108/77 29/103/72 698 | f 40/108/77 39/106/75 29/103/72 699 | f 34/109/78 29/103/72 35/110/79 700 | f 32/111/80 29/103/72 30/112/81 701 | f 29/103/72 32/111/80 31/113/82 702 | f 33/107/76 29/103/72 31/113/82 703 | f 29/103/72 34/109/78 30/112/81 704 | f 29/103/72 36/102/71 35/110/79 705 | f 75/114/83 30/112/81 34/109/78 706 | f 34/109/78 78/115/84 75/114/83 707 | f 62/116/85 32/111/80 30/112/81 708 | f 30/112/81 75/114/83 62/116/85 709 | f 40/108/77 33/107/76 86/117/86 710 | f 86/117/86 83/118/87 40/108/77 711 | f 31/113/82 59/119/88 86/117/86 712 | f 86/117/86 33/107/76 31/113/82 713 | f 32/111/80 62/116/85 59/119/88 714 | f 59/119/88 31/113/82 32/111/80 715 | f 34/109/78 35/110/79 55/120/89 716 | f 55/120/89 78/115/84 34/109/78 717 | f 35/110/79 36/102/71 58/121/90 718 | f 58/121/90 55/120/89 35/110/79 719 | f 58/121/90 36/102/71 100/122/91 720 | f 37/104/73 38/105/74 96/123/92 721 | f 96/123/92 103/124/93 37/104/73 722 | f 37/104/73 103/124/93 100/122/91 723 | f 100/122/91 36/102/71 37/104/73 724 | f 38/105/74 144/62/46 96/123/92 725 | f 141/125/94 40/108/77 83/118/87 726 | f 83/118/87 162/126/95 141/125/94 727 | f 40/108/77 141/125/94 142/127/96 728 | f 142/127/96 39/106/75 40/108/77 729 | f 39/106/75 142/127/96 143/100/69 730 | f 143/100/69 38/105/74 39/106/75 731 | f 38/105/74 143/100/69 144/62/46 732 | f 87/128/97 88/129/98 89/54/39 733 | f 43/57/41 71/55/40 73/130/99 734 | f 73/130/99 46/131/100 43/57/41 735 | f 85/132/101 60/133/102 46/131/100 736 | f 46/131/100 73/130/99 85/132/101 737 | f 77/134/103 49/135/104 44/136/105 738 | f 44/136/105 76/137/106 77/134/103 739 | f 49/135/104 52/138/66 41/139/65 740 | f 41/139/65 44/136/105 49/135/104 741 | f 42/140/64 45/141/107 44/136/105 742 | f 44/136/105 41/139/65 42/140/64 743 | f 42/140/64 43/57/41 46/131/100 744 | f 46/131/100 45/141/107 42/140/64 745 | f 45/141/107 61/142/108 76/137/106 746 | f 76/137/106 44/136/105 45/141/107 747 | f 51/143/63 47/144/109 53/145/110 748 | f 53/145/110 54/146/61 51/143/63 749 | f 45/141/107 46/131/100 60/133/102 750 | f 60/133/102 61/142/108 45/141/107 751 | f 53/145/110 47/144/109 57/147/111 752 | f 57/147/111 101/148/112 53/145/110 753 | f 50/149/62 48/150/113 47/144/109 754 | f 47/144/109 51/143/63 50/149/62 755 | f 52/138/66 49/135/104 48/150/113 756 | f 48/150/113 50/149/62 52/138/66 757 | f 47/144/109 48/150/113 56/151/114 758 | f 56/151/114 57/147/111 47/144/109 759 | f 49/135/104 77/134/103 56/151/114 760 | f 56/151/114 48/150/113 49/135/104 761 | f 70/152/115 53/145/110 101/148/112 762 | f 101/148/112 102/153/116 70/152/115 763 | f 54/146/61 53/145/110 70/152/115 764 | f 70/152/115 95/154/60 54/146/61 765 | f 98/50/9 95/154/60 70/152/115 766 | f 70/152/115 99/155/117 98/50/9 767 | f 102/153/116 97/156/118 99/155/117 768 | f 99/155/117 70/152/115 102/153/116 769 | f 89/54/39 69/73/52 87/128/97 770 | f 68/89/59 79/157/119 92/74/53 771 | f 67/65/48 79/157/119 68/89/59 772 | f 86/117/86 59/119/88 60/133/102 773 | f 60/133/102 85/132/101 86/117/86 774 | f 94/158/120 79/157/119 82/52/38 775 | f 82/52/38 81/51/37 94/158/120 776 | f 82/52/38 79/157/119 67/65/48 777 | f 88/129/98 71/55/40 89/54/39 778 | f 100/122/91 101/148/112 57/147/111 779 | f 57/147/111 58/121/90 100/122/91 780 | f 103/124/93 96/123/92 97/156/118 781 | f 97/156/118 102/153/116 103/124/93 782 | f 69/73/52 90/81/56 87/128/97 783 | f 63/71/51 151/79/55 152/159/121 784 | f 61/142/108 62/116/85 75/114/83 785 | f 75/114/83 76/137/106 61/142/108 786 | f 99/155/117 97/156/118 161/63/47 787 | f 161/63/47 125/99/68 99/155/117 788 | f 121/160/122 74/161/123 136/162/124 789 | f 136/162/124 108/163/125 121/160/122 790 | f 113/101/70 143/100/69 142/127/96 791 | f 142/127/96 114/164/126 113/101/70 792 | f 127/165/127 79/157/119 94/158/120 793 | f 94/158/120 126/166/128 127/165/127 794 | f 66/69/50 64/68/49 65/167/129 795 | f 90/81/56 66/69/50 65/167/129 796 | f 65/167/129 87/128/97 90/81/56 797 | f 55/120/89 56/151/114 77/134/103 798 | f 77/134/103 78/115/84 55/120/89 799 | f 103/124/93 102/153/116 101/148/112 800 | f 101/148/112 100/122/91 103/124/93 801 | f 91/168/130 127/165/127 128/169/131 802 | f 93/75/54 92/74/53 91/168/130 803 | f 72/170/132 73/130/99 71/55/40 804 | f 71/55/40 88/129/98 72/170/132 805 | f 65/167/129 64/68/49 163/171/133 806 | f 163/171/133 133/172/134 65/167/129 807 | f 63/71/51 152/159/121 163/171/133 808 | f 163/171/133 64/68/49 63/71/51 809 | f 161/63/47 97/156/118 96/123/92 810 | f 96/123/92 144/62/46 161/63/47 811 | f 78/115/84 77/134/103 76/137/106 812 | f 76/137/106 75/114/83 78/115/84 813 | f 135/173/135 136/162/124 72/170/132 814 | f 72/170/132 88/129/98 135/173/135 815 | f 91/168/130 128/169/131 164/174/136 816 | f 164/174/136 93/75/54 91/168/130 817 | f 94/158/120 81/51/37 98/50/9 818 | f 98/50/9 80/175/137 94/158/120 819 | f 83/118/87 86/117/86 85/132/101 820 | f 85/132/101 84/176/138 83/118/87 821 | f 74/161/123 162/126/95 83/118/87 822 | f 83/118/87 84/176/138 74/161/123 823 | f 149/84/57 93/75/54 164/174/136 824 | f 134/177/139 135/173/135 88/129/98 825 | f 88/129/98 87/128/97 134/177/139 826 | f 72/170/132 136/162/124 74/161/123 827 | f 74/161/123 84/176/138 72/170/132 828 | f 84/176/138 85/132/101 73/130/99 829 | f 73/130/99 72/170/132 84/176/138 830 | f 98/50/9 99/155/117 80/175/137 831 | f 79/157/119 127/165/127 91/168/130 832 | f 91/168/130 92/74/53 79/157/119 833 | f 65/167/129 133/172/134 134/177/139 834 | f 134/177/139 87/128/97 65/167/129 835 | f 62/116/85 61/142/108 60/133/102 836 | f 60/133/102 59/119/88 62/116/85 837 | f 58/121/90 57/147/111 56/151/114 838 | f 56/151/114 55/120/89 58/121/90 839 | f 80/175/137 126/166/128 94/158/120 840 | f 125/99/68 126/166/128 80/175/137 841 | f 80/175/137 99/155/117 125/99/68 842 | f 130/178/140 129/179/14 104/180/141 843 | f 104/180/141 105/181/142 130/178/140 844 | f 131/182/143 130/178/140 105/181/142 845 | f 105/181/142 106/183/144 131/182/143 846 | f 132/184/21 131/182/143 106/183/144 847 | f 106/183/144 107/98/67 132/184/21 848 | f 157/185/22 132/184/21 107/98/67 849 | f 107/98/67 120/58/42 157/185/22 850 | f 147/186/145 148/17/17 123/15/15 851 | f 146/187/146 147/186/145 123/15/15 852 | f 145/188/147 146/187/146 123/15/15 853 | f 130/189/140 123/15/15 129/14/14 854 | f 131/190/143 123/15/15 130/189/140 855 | f 132/21/21 123/15/15 131/190/143 856 | f 123/15/15 139/191/148 140/192/149 857 | f 123/15/15 138/193/150 139/191/148 858 | f 123/15/15 137/194/151 138/193/150 859 | f 158/18/18 137/194/151 123/15/15 860 | f 123/15/15 153/19/19 154/195/152 861 | f 123/15/15 154/195/152 155/196/153 862 | f 123/15/15 155/196/153 156/197/154 863 | f 123/15/15 156/197/154 160/16/16 864 | f 123/15/15 140/192/149 159/20/20 865 | f 159/198/20 124/199/155 116/200/156 866 | f 116/200/156 153/201/19 159/198/20 867 | f 137/202/151 158/203/18 121/160/122 868 | f 121/160/122 108/163/125 137/202/151 869 | f 157/185/22 120/58/42 112/61/45 870 | f 112/61/45 145/204/147 157/185/22 871 | f 129/179/14 160/205/16 122/206/157 872 | f 122/206/157 104/180/141 129/179/14 873 | f 156/207/154 119/208/158 122/206/157 874 | f 122/206/157 160/205/16 156/207/154 875 | f 155/209/153 118/210/159 119/208/158 876 | f 119/208/158 156/207/154 155/209/153 877 | f 154/211/152 117/212/160 118/213/159 878 | f 118/213/159 155/214/153 154/211/152 879 | f 153/201/19 116/200/156 117/212/160 880 | f 117/212/160 154/211/152 153/201/19 881 | f 148/215/17 115/216/161 121/160/122 882 | f 121/160/122 158/203/18 148/215/17 883 | f 147/217/145 114/164/126 115/216/161 884 | f 115/216/161 148/215/17 147/217/145 885 | f 146/218/146 113/101/70 114/164/126 886 | f 114/164/126 147/217/145 146/218/146 887 | f 145/204/147 112/61/45 113/101/70 888 | f 113/101/70 146/218/146 145/204/147 889 | f 140/219/149 111/220/162 124/199/155 890 | f 124/199/155 159/198/20 140/219/149 891 | f 140/219/149 139/221/148 110/222/163 892 | f 110/222/163 111/220/162 140/219/149 893 | f 139/221/148 138/223/150 109/224/164 894 | f 109/224/164 110/222/163 139/221/148 895 | f 157/22/22 145/188/147 123/15/15 896 | f 138/223/150 137/202/151 108/163/125 897 | f 108/163/125 109/224/164 138/223/150 898 | f 105/181/142 104/180/141 128/169/131 899 | f 128/169/131 127/165/127 105/181/142 900 | f 105/181/142 127/165/127 126/166/128 901 | f 126/166/128 106/183/144 105/181/142 902 | f 106/183/144 126/166/128 125/99/68 903 | f 125/99/68 107/98/67 106/183/144 904 | f 28/59/43 125/99/68 161/63/47 905 | f 109/224/164 108/163/125 136/162/124 906 | f 136/162/124 135/173/135 109/224/164 907 | f 110/222/163 109/224/164 135/173/135 908 | f 135/173/135 134/177/139 110/222/163 909 | f 111/220/162 110/222/163 134/177/139 910 | f 134/177/139 133/172/134 111/220/162 911 | f 111/220/162 133/172/134 163/171/133 912 | f 163/171/133 124/199/155 111/220/162 913 | f 115/216/161 114/164/126 142/127/96 914 | f 142/127/96 141/125/94 115/216/161 915 | f 121/160/122 115/216/161 141/125/94 916 | f 141/125/94 162/126/95 121/160/122 917 | f 117/212/160 116/200/156 152/159/121 918 | f 152/159/121 151/79/55 117/212/160 919 | f 117/212/160 151/79/55 150/87/58 920 | f 150/87/58 118/213/159 117/212/160 921 | f 118/210/159 150/85/58 149/84/57 922 | f 149/84/57 119/208/158 118/210/159 923 | f 119/208/158 149/84/57 164/174/136 924 | f 164/174/136 122/206/157 119/208/158 925 | f 122/206/157 164/174/136 128/169/131 926 | f 128/169/131 104/180/141 122/206/157 927 | f 121/160/122 162/126/95 74/161/123 928 | f 124/199/155 163/171/133 152/159/121 929 | f 152/159/121 116/200/156 124/199/155 930 | f 166/225/165 168/226/166 167/227/167 931 | f 167/227/167 165/228/168 166/225/165 932 | f 168/226/166 170/229/169 169/230/170 933 | f 169/230/170 167/227/167 168/226/166 934 | f 170/229/169 172/231/171 171/232/172 935 | f 171/232/172 169/230/170 170/229/169 936 | f 172/231/171 174/233/173 173/234/174 937 | f 173/234/174 171/232/172 172/231/171 938 | f 174/233/173 176/235/175 175/236/176 939 | f 175/236/176 173/234/174 174/233/173 940 | f 176/235/175 178/237/177 177/238/2 941 | f 177/238/2 175/236/176 176/235/175 942 | f 168/226/166 166/225/165 180/239/178 943 | f 168/226/166 180/239/178 178/237/177 944 | f 168/226/166 178/237/177 170/229/169 945 | f 178/237/177 176/235/175 170/229/169 946 | f 176/235/175 172/231/171 170/229/169 947 | f 176/235/175 174/233/173 172/231/171 948 | f 180/239/178 166/225/165 165/228/168 949 | f 165/228/168 179/240/179 180/239/178 950 | f 178/237/177 180/239/178 179/240/179 951 | f 179/240/179 177/238/2 178/237/177 952 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/arm/arm_4.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 1 3 | 4 | newmtl arm_4 5 | Ns 96.078431 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.640000 0.640000 0.640000 8 | Ks 27.000000 27.000000 27.000000 9 | Ni -1.000000 10 | d 1.000000 11 | illum 2 12 | map_Kd ../robots_blender_model-1/reemc/meshes_original/arm/arm_4_color.png 13 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/arm/arm_4.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.74 (sub 0) OBJ File: 'empty.blend' 2 | # www.blender.org 3 | mtllib arm_4.mtl 4 | o default 5 | v -0.114479 -0.013862 -0.037490 6 | v -0.114479 0.055356 -0.036071 7 | v -0.055290 0.058543 -0.034773 8 | v -0.056942 -0.017071 -0.044523 9 | v -0.114479 -0.015051 0.036356 10 | v -0.114479 0.055642 0.035695 11 | v -0.046672 0.058465 0.036911 12 | v -0.058475 -0.023668 0.043629 13 | v -0.114479 -0.002999 0.044916 14 | v -0.114479 0.011277 0.049791 15 | v -0.114479 0.026638 0.049917 16 | v -0.114479 0.042553 0.045111 17 | v -0.114479 0.043868 -0.044509 18 | v -0.114479 0.030762 -0.049359 19 | v -0.114479 0.016365 -0.050346 20 | v -0.114479 -0.000549 -0.046034 21 | v -0.045496 0.041048 0.046566 22 | v -0.045863 0.023495 0.051354 23 | v -0.050774 -0.004888 0.051962 24 | v -0.059246 -0.019817 0.046738 25 | v -0.053779 0.000658 -0.047830 26 | v -0.051113 0.017044 -0.048892 27 | v -0.043289 0.032627 -0.048168 28 | v -0.044949 0.049861 -0.043531 29 | v -0.114479 0.064203 0.024401 30 | v -0.114479 0.069687 0.009163 31 | v -0.114479 0.070056 -0.006004 32 | v -0.114479 0.063166 -0.026006 33 | v -0.114479 -0.022120 -0.027906 34 | v -0.114479 -0.028229 -0.014810 35 | v -0.114479 -0.030512 -0.000104 36 | v -0.114479 -0.025095 0.022731 37 | v -0.047207 0.064705 0.021854 38 | v -0.048525 0.067780 0.007119 39 | v -0.046665 0.067044 -0.011569 40 | v -0.048320 0.063777 -0.025126 41 | v -0.056469 -0.027664 0.023057 42 | v -0.054125 -0.028534 0.001842 43 | v -0.054548 -0.027976 -0.020120 44 | v -0.054816 -0.027002 -0.032327 45 | v -0.114479 0.020066 0.000000 46 | v -0.079652 -0.022031 -0.029819 47 | v -0.080319 -0.028035 -0.015895 48 | v -0.081828 -0.030309 0.001658 49 | v -0.080393 -0.025821 0.021988 50 | v -0.079255 0.055747 0.036902 51 | v -0.080231 0.065960 -0.020463 52 | v -0.080962 0.069793 -0.007322 53 | v -0.080363 0.069548 0.008292 54 | v -0.079862 0.064921 0.022999 55 | v -0.079071 0.043226 0.044050 56 | v -0.081461 0.026927 0.049406 57 | v -0.081711 0.005821 0.048366 58 | v -0.083896 -0.006178 0.043676 59 | v -0.082583 0.046621 -0.044180 60 | v -0.081822 0.031693 -0.048834 61 | v -0.085417 0.016723 -0.049824 62 | v -0.084137 0.001489 -0.046872 63 | v -0.085062 -0.013518 -0.037985 64 | v -0.084335 -0.014864 0.038711 65 | v -0.081795 0.058040 -0.032900 66 | v -0.034631 0.056393 -0.040342 67 | v -0.023512 0.060114 -0.032369 68 | v -0.017502 0.051243 -0.046084 69 | v -0.002599 0.055206 -0.040448 70 | v -0.059231 0.031322 -0.047568 71 | v -0.059894 0.046746 -0.042015 72 | v -0.031341 0.043948 -0.048089 73 | v -0.069278 0.000629 -0.046337 74 | v -0.070288 -0.013839 -0.040872 75 | v -0.047532 0.053281 0.041487 76 | v -0.050536 -0.019779 -0.046295 77 | v -0.048713 -0.028349 -0.036156 78 | v -0.047540 -0.030322 -0.020436 79 | v -0.047719 -0.029932 0.001685 80 | v -0.042813 -0.035158 -0.039683 81 | v -0.034235 -0.043980 -0.028995 82 | v -0.027686 -0.048626 -0.015664 83 | v -0.023644 -0.046887 0.000340 84 | v -0.025804 -0.049577 -0.000353 85 | v -0.039574 -0.039892 -0.016002 86 | v -0.040285 -0.039454 -0.000367 87 | v -0.039089 -0.035307 0.001658 88 | v 0.008921 0.054717 -0.028185 89 | v 0.013053 0.053721 -0.014544 90 | v 0.012760 0.053379 0.000340 91 | v -0.015204 0.062032 -0.019105 92 | v -0.012029 0.062335 -0.008095 93 | v -0.011662 0.062457 0.004039 94 | v -0.017246 0.057290 0.039386 95 | v -0.018302 0.053439 0.045124 96 | v 0.015877 0.050734 0.044329 97 | v 0.014763 0.048010 0.050559 98 | v 0.039327 0.035988 0.045518 99 | v 0.038085 0.033951 0.051909 100 | v 0.052184 0.010899 0.044144 101 | v 0.050535 0.009745 0.051712 102 | v 0.051008 -0.015820 0.044731 103 | v 0.049474 -0.015307 0.051536 104 | v 0.041290 -0.033094 0.045210 105 | v 0.040016 -0.031846 0.051444 106 | v 0.023328 -0.047480 0.045217 107 | v 0.022993 -0.046056 0.051130 108 | v -0.000374 -0.053267 0.045951 109 | v -0.000339 -0.051288 0.051631 110 | v -0.023028 -0.047335 0.046368 111 | v -0.023214 -0.045088 0.051542 112 | v -0.038938 -0.035610 0.045566 113 | v -0.037780 -0.034522 0.051308 114 | v -0.048976 -0.028366 0.044706 115 | v -0.047543 -0.027228 0.049612 116 | v -0.039554 -0.035076 0.021151 117 | v -0.048912 -0.029336 0.022281 118 | v -0.023622 -0.047093 0.022064 119 | v -0.000686 -0.052916 0.000340 120 | v -0.000330 -0.053281 0.023282 121 | v 0.022743 -0.047534 0.000340 122 | v 0.022961 -0.047672 0.022033 123 | v 0.041203 -0.033465 0.022611 124 | v 0.040909 -0.033261 0.000340 125 | v 0.051078 -0.015421 0.022061 126 | v 0.050820 -0.014934 0.000340 127 | v 0.052255 0.010284 0.021972 128 | v 0.052064 0.010706 0.000340 129 | v 0.039203 0.036145 0.023089 130 | v 0.038838 0.035923 0.000340 131 | v -0.012967 0.061356 0.020427 132 | v 0.017402 0.052204 0.021581 133 | v -0.021516 0.035436 0.051399 134 | v 0.007230 0.029181 0.055499 135 | v 0.023468 0.018997 0.056482 136 | v 0.029644 0.006642 0.056545 137 | v 0.027334 -0.007675 0.056668 138 | v 0.019887 -0.021804 0.056546 139 | v 0.007770 -0.031734 0.055993 140 | v -0.006821 -0.032066 0.055810 141 | v -0.018380 -0.029048 0.055689 142 | v -0.033233 -0.020055 0.054891 143 | v -0.004732 -0.014247 0.058018 144 | v -0.024183 0.016029 0.055751 145 | v -0.029242 -0.004149 0.056426 146 | v 0.003788 0.008466 0.058506 147 | v -0.002442 0.000766 0.000340 148 | v -0.049189 -0.017423 -0.044156 149 | v -0.030176 0.042153 -0.044953 150 | v -0.003704 0.051265 -0.039869 151 | v -0.017103 0.048437 -0.043169 152 | v -0.041434 0.031281 -0.045354 153 | v -0.049550 0.017763 -0.045904 154 | v -0.052637 0.001439 -0.045406 155 | v -0.040736 -0.031177 -0.038617 156 | v -0.032398 -0.039214 -0.028236 157 | v -0.025619 -0.044125 -0.014380 158 | v 0.006863 0.050999 -0.029013 159 | v 0.012130 0.050355 -0.014542 160 | v -0.049551 -0.016466 0.000340 161 | v -0.030000 0.041902 0.000340 162 | v -0.003933 0.051281 0.000340 163 | v -0.017115 0.048331 0.000340 164 | v -0.041198 0.031090 0.000340 165 | v -0.049052 0.017582 0.000340 166 | v -0.052163 0.002157 0.000340 167 | v -0.041254 -0.029976 0.000340 168 | v 0.012567 0.049546 0.000340 169 | vt 0.671247 0.241867 170 | vt 0.598144 0.172328 171 | vt 0.635656 0.154147 172 | vt 0.187249 0.814869 173 | vt 0.199795 0.762532 174 | vt 0.312180 0.846765 175 | vt 0.280012 0.887378 176 | vt 0.675437 0.125141 177 | vt 0.628503 0.100975 178 | vt 0.554688 0.382672 179 | vt 0.636303 0.450207 180 | vt 0.604427 0.487628 181 | vt 0.526148 0.414228 182 | vt 0.047075 0.811138 183 | vt 0.064496 0.730961 184 | vt 0.086660 0.750545 185 | vt 0.719741 0.018811 186 | vt 0.708766 0.077813 187 | vt 0.660092 0.045252 188 | vt 0.423452 0.537325 189 | vt 0.507118 0.598986 190 | vt 0.475482 0.637687 191 | vt 0.399296 0.563042 192 | vt 0.449401 0.502404 193 | vt 0.538760 0.562241 194 | vt 0.496053 0.456313 195 | vt 0.570729 0.526160 196 | vt 0.489163 0.318285 197 | vt 0.518008 0.285214 198 | vt 0.587975 0.346819 199 | vt 0.545898 0.253980 200 | vt 0.617904 0.312590 201 | vt 0.571463 0.205996 202 | vt 0.647967 0.276743 203 | vt 0.438387 0.685654 204 | vt 0.340653 0.607403 205 | vt 0.384069 0.754900 206 | vt 0.293305 0.669989 207 | vt 0.348284 0.801054 208 | vt 0.242643 0.717689 209 | vt 0.566778 0.984073 210 | vt 0.527312 0.993111 211 | vt 0.515993 0.855281 212 | vt 0.725024 0.344286 213 | vt 0.766218 0.293839 214 | vt 0.695717 0.379897 215 | vt 0.664226 0.417491 216 | vt 0.452513 0.356197 217 | vt 0.419946 0.390194 218 | vt 0.367954 0.447501 219 | vt 0.343088 0.493714 220 | vt 0.821279 0.229908 221 | vt 0.737988 0.169163 222 | vt 0.769292 0.127831 223 | vt 0.851409 0.196950 224 | vt 0.812086 0.097810 225 | vt 0.883403 0.163016 226 | vt 0.191638 0.989352 227 | vt 0.113579 0.914861 228 | vt 0.143606 0.868001 229 | vt 0.238873 0.937227 230 | vt 0.479099 0.333725 231 | vt 0.791772 0.263724 232 | vt 0.703335 0.207840 233 | vt 0.157482 0.657275 234 | vt 0.120469 0.692410 235 | vt 0.218039 0.596698 236 | vt 0.277983 0.548940 237 | vt 0.328687 0.501570 238 | vt 0.434164 0.744316 239 | vt 0.464473 0.727028 240 | vt 0.651985 0.828851 241 | vt 0.616388 0.760379 242 | vt 0.641128 0.795945 243 | vt 0.578100 0.731748 244 | vt 0.540632 0.719164 245 | vt 0.502383 0.717708 246 | vt 0.378735 0.870796 247 | vt 0.411830 0.945885 248 | vt 0.388568 0.908346 249 | vt 0.380821 0.826487 250 | vt 0.395775 0.787719 251 | vt 0.606470 0.960115 252 | vt 0.644099 0.907999 253 | vt 0.653726 0.868394 254 | vt 0.486077 0.990492 255 | vt 0.447072 0.974718 256 | vt 0.586492 0.104037 257 | vt 0.541965 0.113233 258 | vt 0.545594 0.056935 259 | vt 0.492686 0.060753 260 | vt 0.600366 0.054569 261 | vt 0.099084 0.835640 262 | vt 0.134090 0.784126 263 | vt 0.091117 0.541452 264 | vt 0.078075 0.527057 265 | vt 0.135661 0.493114 266 | vt 0.131926 0.504051 267 | vt 0.091171 0.681339 268 | vt 0.137316 0.634828 269 | vt 0.200916 0.578456 270 | vt 0.060669 0.656747 271 | vt 0.067404 0.594127 272 | vt 0.120831 0.586259 273 | vt 0.165130 0.553063 274 | vt 0.178736 0.547834 275 | vt 0.501085 0.138722 276 | vt 0.478082 0.163125 277 | vt 0.414598 0.113283 278 | vt 0.444725 0.080756 279 | vt 0.461772 0.192604 280 | vt 0.395729 0.155949 281 | vt 0.420855 0.291382 282 | vt 0.428670 0.277011 283 | vt 0.362856 0.251917 284 | vt 0.359369 0.263067 285 | vt 0.316299 0.246470 286 | vt 0.315770 0.256447 287 | vt 0.272408 0.254975 288 | vt 0.276593 0.266116 289 | vt 0.239186 0.281430 290 | vt 0.247137 0.288413 291 | vt 0.223588 0.308682 292 | vt 0.232954 0.312779 293 | vt 0.224732 0.346766 294 | vt 0.214947 0.346454 295 | vt 0.231325 0.386207 296 | vt 0.221839 0.389154 297 | vt 0.245091 0.428595 298 | vt 0.254722 0.423667 299 | vt 0.284642 0.448949 300 | vt 0.276703 0.461430 301 | vt 0.309826 0.468651 302 | vt 0.303044 0.482153 303 | vt 0.257105 0.533000 304 | vt 0.230045 0.509955 305 | vt 0.196884 0.461548 306 | vt 0.112054 0.415063 307 | vt 0.175971 0.401531 308 | vt 0.110290 0.336870 309 | vt 0.168993 0.343491 310 | vt 0.131149 0.266058 311 | vt 0.184294 0.291646 312 | vt 0.209084 0.252034 313 | vt 0.169976 0.210292 314 | vt 0.254158 0.219091 315 | vt 0.233075 0.170780 316 | vt 0.313964 0.205725 317 | vt 0.308793 0.151484 318 | vt 0.444857 0.231838 319 | vt 0.373135 0.206730 320 | vt 0.276132 0.311167 321 | vt 0.263071 0.334084 322 | vt 0.293121 0.294817 323 | vt 0.315143 0.290335 324 | vt 0.347366 0.298730 325 | vt 0.398863 0.328562 326 | vt 0.339997 0.399145 327 | vt 0.296618 0.365849 328 | vt 0.322899 0.329032 329 | vt 0.370505 0.363055 330 | vt 0.268503 0.385068 331 | vt 0.282894 0.403802 332 | vt 0.257936 0.360482 333 | vt 0.312503 0.425747 334 | vt 0.598483 0.040955 335 | vt 0.655714 0.032175 336 | vt 0.711441 0.008655 337 | vt 0.544666 0.042770 338 | vt 0.405740 0.107249 339 | vt 0.441706 0.067539 340 | vt 0.019142 0.857807 341 | vt 0.013280 0.858324 342 | vt 0.036709 0.810155 343 | vt 0.050951 0.735471 344 | vt 0.492920 0.047729 345 | vt 0.824624 0.855471 346 | vt 0.926953 0.746898 347 | vt 0.961935 0.802678 348 | vt 0.684928 0.860480 349 | vt 0.696562 0.780265 350 | vt 0.817373 0.703557 351 | vt 0.873698 0.712726 352 | vt 0.966972 0.867495 353 | vt 0.749917 0.723383 354 | vt 0.042850 0.661016 355 | vt 0.047484 0.591054 356 | vt 0.851152 0.409690 357 | vt 0.975180 0.412392 358 | vt 0.974297 0.455016 359 | vt 0.849167 0.452525 360 | vt 0.865712 0.985360 361 | vt 0.823010 0.991177 362 | vt 0.856946 0.370084 363 | vt 0.976080 0.372961 364 | vt 0.939046 0.928256 365 | vt 0.911550 0.961864 366 | vt 0.866856 0.332799 367 | vt 0.976944 0.335975 368 | vt 0.973488 0.497806 369 | vt 0.846837 0.495673 370 | vt 0.972249 0.592403 371 | vt 0.971747 0.635823 372 | vt 0.865012 0.638133 373 | vt 0.850353 0.593744 374 | vt 0.972837 0.540898 375 | vt 0.847521 0.541192 376 | vt 0.781002 0.982997 377 | vt 0.387463 0.148776 378 | vt 0.695268 0.904731 379 | vt 0.714750 0.936182 380 | vt 0.742963 0.963743 381 | vt 0.978062 0.290546 382 | vt 0.937224 0.290964 383 | vt 0.897254 0.304543 384 | vt 0.893145 0.670118 385 | vt 0.971255 0.702692 386 | vt 0.930968 0.693254 387 | vn 0.002200 0.918800 -0.394700 388 | vn 0.026900 0.938600 -0.343900 389 | vn -0.076600 0.754800 -0.651400 390 | vn -0.078600 -0.624800 -0.776800 391 | vn -0.097800 -0.837900 -0.537000 392 | vn -0.681800 -0.613800 -0.398000 393 | vn -0.677900 -0.483000 -0.554200 394 | vn -0.055900 0.449800 -0.891300 395 | vn -0.154000 0.446700 -0.881300 396 | vn -0.043800 0.688600 0.723800 397 | vn -0.680700 0.517400 0.518600 398 | vn -0.672100 0.319200 0.668100 399 | vn -0.024300 0.402500 0.915100 400 | vn 0.437400 -0.077800 -0.895900 401 | vn 0.148900 -0.336100 -0.930000 402 | vn -0.348900 -0.480500 -0.804600 403 | vn 0.463700 -0.153800 -0.872500 404 | vn 0.002200 0.210200 -0.977600 405 | vn 0.269400 -0.102800 -0.957500 406 | vn -0.149100 -0.403800 0.902600 407 | vn -0.682600 -0.330000 0.651900 408 | vn -0.687400 -0.506900 0.520100 409 | vn -0.200300 -0.672300 0.712600 410 | vn -0.067700 -0.179300 0.981400 411 | vn -0.670200 -0.117800 0.732700 412 | vn -0.012000 0.138000 0.990400 413 | vn -0.669600 0.104700 0.735300 414 | vn -0.035200 0.818800 0.572900 415 | vn 0.045700 0.959600 0.277500 416 | vn -0.000200 0.909300 0.416200 417 | vn 0.086800 0.992200 0.089300 418 | vn 0.035000 0.986600 0.158900 419 | vn 0.089900 0.986700 -0.135400 420 | vn 0.027300 0.990700 -0.133300 421 | vn -0.671900 -0.674900 0.305000 422 | vn -0.077400 -0.947900 0.308800 423 | vn -0.664600 -0.746800 0.024500 424 | vn 0.028000 -0.998500 0.047100 425 | vn -0.676300 -0.706200 -0.209400 426 | vn -0.007300 -0.968500 -0.249000 427 | vn -1.000000 0.000000 0.000000 428 | vn -0.671700 0.733100 -0.106800 429 | vn -0.675900 0.646100 -0.354500 430 | vn -0.672100 0.728200 0.133900 431 | vn -0.674200 0.647600 0.355000 432 | vn -0.082200 0.322100 0.943100 433 | vn -0.107900 0.155700 0.981900 434 | vn -0.209500 -0.068100 0.975400 435 | vn -0.357700 -0.401900 0.842900 436 | vn -0.684800 0.335900 -0.646700 437 | vn 0.033500 0.507700 -0.860900 438 | vn 0.036800 0.188200 -0.981400 439 | vn -0.672400 0.152600 -0.724300 440 | vn 0.025600 -0.060200 -0.997800 441 | vn -0.670100 -0.061300 -0.739700 442 | vn -0.008500 -0.330100 -0.943900 443 | vn -0.674900 -0.295000 -0.676400 444 | vn -0.079700 0.531200 0.843400 445 | vn -0.683500 0.515100 -0.517200 446 | vn -0.002100 0.766900 -0.641700 447 | vn -0.200800 -0.977000 -0.071200 448 | vn -0.318200 -0.896700 -0.307500 449 | vn -0.109700 -0.993900 0.010600 450 | vn -0.166800 -0.983200 0.074400 451 | vn -0.407900 -0.800300 0.439400 452 | vn -0.040600 0.746100 -0.664500 453 | vn 0.073600 0.932600 -0.353200 454 | vn 0.240200 0.154700 -0.958300 455 | vn 0.490700 0.466400 -0.735900 456 | vn 0.200000 -0.105700 -0.974100 457 | vn -0.049000 -0.225900 -0.972900 458 | vn -0.220700 -0.557300 -0.800400 459 | vn 0.287600 -0.908500 -0.303000 460 | vn 0.948400 0.230000 -0.218200 461 | vn 0.190700 -0.892800 -0.408100 462 | vn 0.141000 -0.866300 0.479100 463 | vn -0.639800 -0.723400 -0.259400 464 | vn -0.560300 -0.827800 -0.029000 465 | vn -0.449200 -0.891700 0.054700 466 | vn -0.117100 -0.664300 -0.738200 467 | vn 0.105200 -0.828600 -0.549800 468 | vn -0.692700 -0.720700 -0.026300 469 | vn -0.566700 -0.658100 0.495700 470 | vn -0.471100 -0.716100 0.514900 471 | vn 0.180200 0.973600 -0.140100 472 | vn 0.237500 0.970200 -0.046800 473 | vn 0.890800 0.437000 -0.124300 474 | vn 0.813700 0.417300 -0.404600 475 | vn 0.252700 0.966900 0.034400 476 | vn 0.621000 0.757500 -0.201400 477 | vn -0.032400 0.621800 0.782500 478 | vn 0.075400 0.909000 0.409900 479 | vn 0.347800 0.897600 0.270700 480 | vn 0.162700 0.639600 0.751200 481 | vn 0.718400 0.673000 0.175800 482 | vn 0.511900 0.478700 0.713300 483 | vn 0.968400 0.220300 0.116900 484 | vn 0.725700 0.143700 0.672800 485 | vn 0.955500 -0.271900 0.114000 486 | vn 0.707700 -0.203900 0.676400 487 | vn 0.756300 -0.639800 0.136500 488 | vn 0.548600 -0.461000 0.697500 489 | vn 0.334000 -0.667900 0.665000 490 | vn 0.432400 -0.893600 0.120100 491 | vn -0.001700 -0.706700 0.707400 492 | vn -0.004900 -0.986500 0.163600 493 | vn -0.417600 -0.891000 0.178000 494 | vn -0.321200 -0.619200 0.716500 495 | vn -0.453200 -0.534600 0.713300 496 | vn -0.589800 -0.794000 0.147400 497 | vn -0.458500 -0.496100 0.737200 498 | vn -0.505900 -0.837700 0.205600 499 | vn -0.376800 -0.926100 0.014600 500 | vn -0.563000 -0.826400 -0.004400 501 | vn -0.436900 -0.899500 -0.004500 502 | vn -0.012000 -0.749600 -0.661800 503 | vn -0.009500 -0.999900 -0.007300 504 | vn 0.321500 -0.674200 -0.664800 505 | vn 0.432600 -0.901500 -0.006700 506 | vn 0.566300 -0.479800 -0.670100 507 | vn 0.761300 -0.648300 -0.007100 508 | vn 0.963000 -0.269100 -0.008700 509 | vn 0.718600 -0.197900 -0.666600 510 | vn 0.978200 0.207400 -0.006000 511 | vn 0.738000 0.165600 -0.654100 512 | vn 0.755500 0.655100 0.000900 513 | vn 0.563800 0.489300 -0.665400 514 | vn 0.197000 0.970400 0.139400 515 | vn 0.450400 0.892400 0.025500 516 | vn 0.141700 -0.047300 0.988800 517 | vn 0.108700 -0.114800 0.987400 518 | vn 0.161400 0.028500 0.986400 519 | vn 0.106700 0.129200 0.985800 520 | vn -0.015300 0.220400 0.975300 521 | vn -0.094700 0.289500 0.952500 522 | vn -0.139700 0.002500 0.990200 523 | vn -0.023800 -0.058000 0.998000 524 | vn -0.002000 0.056900 0.998400 525 | vn -0.112400 0.138500 0.983900 526 | vn -0.036400 -0.177600 0.983400 527 | vn -0.099200 -0.155900 0.982800 528 | vn 0.047000 -0.174700 0.983500 529 | vn -0.187100 -0.114300 0.975600 530 | vn 0.558800 -0.765900 -0.317800 531 | vn 0.752600 -0.565300 -0.337700 532 | vn 0.909800 -0.366600 -0.194800 533 | vn 0.378200 -0.844400 -0.379200 534 | vn 0.610300 -0.780500 -0.135000 535 | vn 0.508500 -0.774900 -0.375400 536 | vn 0.973400 -0.035500 -0.226000 537 | vn 0.900100 0.215300 -0.378600 538 | vn 0.436200 -0.713600 -0.548100 539 | vn 0.000000 0.000000 -1.000000 540 | vn 0.254500 -0.300800 -0.919100 541 | vn 0.812700 0.241300 -0.530400 542 | vn 0.874100 0.274000 -0.401000 543 | vn 0.424400 -0.602100 -0.676300 544 | vn 0.577200 -0.452400 -0.679800 545 | vn 0.739300 -0.018500 -0.673100 546 | vn 0.688800 -0.262600 -0.675700 547 | vn 0.244400 -0.690200 -0.681100 548 | vn 0.567100 0.462900 -0.681200 549 | vn 0.704600 0.250800 -0.663800 550 | vn 0.052700 -0.733700 -0.677400 551 | usemtl arm_4 552 | s 1 553 | f 47/1/1 36/2/2 3/3/3 554 | f 59/4/4 42/5/5 29/6/6 555 | f 29/6/6 1/7/7 59/4/4 556 | f 67/8/8 3/3/3 24/9/9 557 | f 46/10/10 6/11/11 12/12/12 558 | f 12/12/12 51/13/13 46/10/10 559 | f 21/14/14 72/15/15 4/16/16 560 | f 22/17/17 66/18/18 23/19/19 561 | f 67/8/8 24/9/9 23/19/19 562 | f 23/19/19 66/18/18 67/8/8 563 | f 54/20/20 9/21/21 5/22/22 564 | f 5/22/22 60/23/23 54/20/20 565 | f 53/24/24 10/25/25 9/21/21 566 | f 9/21/21 54/20/20 53/24/24 567 | f 52/26/26 11/27/27 10/25/25 568 | f 10/25/25 53/24/24 52/26/26 569 | f 52/26/26 51/13/13 12/12/12 570 | f 12/12/12 11/27/27 52/26/26 571 | f 7/28/28 33/29/29 50/30/30 572 | f 50/30/30 46/10/10 7/28/28 573 | f 50/30/30 33/29/29 34/31/31 574 | f 34/31/31 49/32/32 50/30/30 575 | f 34/31/31 35/33/33 48/34/34 576 | f 48/34/34 49/32/32 34/31/31 577 | f 35/33/33 36/2/2 47/1/1 578 | f 47/1/1 48/34/34 35/33/33 579 | f 60/23/23 5/22/22 32/35/35 580 | f 32/35/35 45/36/36 60/23/23 581 | f 32/35/35 31/37/37 44/38/38 582 | f 44/38/38 45/36/36 32/35/35 583 | f 44/38/38 31/37/37 30/39/39 584 | f 30/39/39 43/40/40 44/38/38 585 | f 43/40/40 30/39/39 29/6/6 586 | f 29/6/6 42/5/5 43/40/40 587 | f 5/41/22 9/42/21 41/43/41 588 | f 27/44/42 48/34/34 47/1/1 589 | f 47/1/1 28/45/43 27/44/42 590 | f 49/32/32 48/34/34 27/44/42 591 | f 27/44/42 26/46/44 49/32/32 592 | f 50/30/30 49/32/32 26/46/44 593 | f 26/46/44 25/47/45 50/30/30 594 | f 6/11/11 46/10/10 50/30/30 595 | f 50/30/30 25/47/45 6/11/11 596 | f 17/48/46 51/13/13 52/26/26 597 | f 52/26/26 18/49/47 17/48/46 598 | f 18/49/47 52/26/26 53/24/24 599 | f 53/24/24 19/50/48 18/49/47 600 | f 19/50/48 53/24/24 54/20/20 601 | f 54/20/20 20/51/49 19/50/48 602 | f 20/51/49 54/20/20 60/23/23 603 | f 13/52/50 55/53/51 56/54/52 604 | f 56/54/52 14/55/53 13/52/50 605 | f 14/55/53 56/54/52 57/56/54 606 | f 57/56/54 15/57/55 14/55/53 607 | f 15/58/55 57/59/54 58/60/56 608 | f 58/60/56 16/61/57 15/58/55 609 | f 16/61/57 58/60/56 59/4/4 610 | f 59/4/4 1/7/7 16/61/57 611 | f 71/62/58 7/28/28 46/10/10 612 | f 2/63/59 61/64/60 55/53/51 613 | f 55/53/51 13/52/50 2/63/59 614 | f 71/62/58 46/10/10 51/13/13 615 | f 51/13/13 17/48/46 71/62/58 616 | f 28/45/43 47/1/1 61/64/60 617 | f 61/64/60 2/63/59 28/45/43 618 | f 39/65/61 43/40/40 42/5/5 619 | f 42/5/5 40/66/62 39/65/61 620 | f 38/67/63 44/38/38 43/40/40 621 | f 43/40/40 39/65/61 38/67/63 622 | f 45/36/36 44/38/38 38/67/63 623 | f 38/67/63 37/68/64 45/36/36 624 | f 8/69/65 60/23/23 45/36/36 625 | f 45/36/36 37/68/64 8/69/65 626 | f 41/43/41 28/70/43 2/71/59 627 | f 29/72/6 41/43/41 16/73/57 628 | f 16/73/57 1/74/7 29/72/6 629 | f 41/43/41 15/75/55 16/73/57 630 | f 41/43/41 14/76/53 15/75/55 631 | f 41/43/41 13/77/50 14/76/53 632 | f 25/78/45 41/43/41 12/79/12 633 | f 12/79/12 6/80/11 25/78/45 634 | f 41/43/41 25/78/45 26/81/44 635 | f 41/43/41 26/81/44 27/82/42 636 | f 41/43/41 27/82/42 28/70/43 637 | f 32/83/35 41/43/41 31/84/37 638 | f 31/84/37 41/43/41 30/85/39 639 | f 30/85/39 41/43/41 29/72/6 640 | f 9/42/21 10/86/25 41/43/41 641 | f 10/86/25 11/87/27 41/43/41 642 | f 11/87/27 12/79/12 41/43/41 643 | f 61/64/60 47/1/1 3/3/3 644 | f 62/88/66 3/3/3 36/2/2 645 | f 36/2/2 63/89/67 62/88/66 646 | f 64/90/68 62/88/66 63/89/67 647 | f 63/89/67 65/91/69 64/90/68 648 | f 62/88/66 24/9/9 3/3/3 649 | f 56/54/52 55/53/51 67/8/8 650 | f 67/8/8 66/18/18 56/54/52 651 | f 61/64/60 3/3/3 67/8/8 652 | f 67/8/8 55/53/51 61/64/60 653 | f 68/92/70 24/9/9 62/88/66 654 | f 62/88/66 64/90/68 68/92/70 655 | f 24/9/9 68/92/70 23/19/19 656 | f 69/93/71 21/14/14 4/16/16 657 | f 4/16/16 70/94/72 69/93/71 658 | f 78/95/73 153/96/74 79/97/75 659 | f 79/97/75 80/98/76 78/95/73 660 | f 8/69/65 20/51/49 60/23/23 661 | f 58/60/56 69/93/71 70/94/72 662 | f 70/94/72 59/4/4 58/60/56 663 | f 42/5/5 59/4/4 70/94/72 664 | f 70/94/72 40/66/62 42/5/5 665 | f 4/16/16 40/66/62 70/94/72 666 | f 73/99/77 40/66/62 4/16/16 667 | f 4/16/16 72/15/15 73/99/77 668 | f 39/65/61 74/100/78 75/101/79 669 | f 75/101/79 38/67/63 39/65/61 670 | f 40/66/62 73/99/77 74/100/78 671 | f 74/100/78 39/65/61 40/66/62 672 | f 72/15/15 76/102/80 73/99/77 673 | f 76/102/80 77/103/81 74/100/78 674 | f 77/103/81 78/95/73 81/104/82 675 | f 75/101/79 82/105/83 83/106/84 676 | f 78/95/73 80/98/76 82/105/83 677 | f 82/105/83 81/104/82 78/95/73 678 | f 79/97/75 83/106/84 82/105/83 679 | f 82/105/83 80/98/76 79/97/75 680 | f 81/104/82 82/105/83 75/101/79 681 | f 75/101/79 74/100/78 81/104/82 682 | f 74/100/78 77/103/81 81/104/82 683 | f 73/99/77 76/102/80 74/100/78 684 | f 87/107/85 88/108/86 85/109/87 685 | f 85/109/87 84/110/88 87/107/85 686 | f 87/107/85 84/110/88 65/91/69 687 | f 65/91/69 63/89/67 87/107/85 688 | f 88/108/86 89/111/89 86/112/90 689 | f 86/112/90 85/109/87 88/108/86 690 | f 87/107/85 63/89/67 36/2/2 691 | f 87/107/85 36/2/2 35/33/33 692 | f 35/33/33 88/108/86 87/107/85 693 | f 35/33/33 34/31/31 89/111/89 694 | f 89/111/89 88/108/86 35/33/33 695 | f 91/113/91 90/114/92 7/28/28 696 | f 7/28/28 71/62/58 91/113/91 697 | f 92/115/93 90/114/92 91/113/91 698 | f 91/113/91 93/116/94 92/115/93 699 | f 94/117/95 92/115/93 93/116/94 700 | f 93/116/94 95/118/96 94/117/95 701 | f 96/119/97 94/117/95 95/118/96 702 | f 95/118/96 97/120/98 96/119/97 703 | f 98/121/99 96/119/97 97/120/98 704 | f 97/120/98 99/122/100 98/121/99 705 | f 100/123/101 98/121/99 99/122/100 706 | f 99/122/100 101/124/102 100/123/101 707 | f 103/125/103 102/126/104 100/123/101 708 | f 100/123/101 101/124/102 103/125/103 709 | f 105/127/105 104/128/106 102/126/104 710 | f 102/126/104 103/125/103 105/127/105 711 | f 106/129/107 104/128/106 105/127/105 712 | f 105/127/105 107/130/108 106/129/107 713 | f 107/130/108 109/131/109 108/132/110 714 | f 108/132/110 106/129/107 107/130/108 715 | f 108/132/110 109/131/109 111/133/111 716 | f 111/133/111 110/134/112 108/132/110 717 | f 8/69/65 110/134/112 111/133/111 718 | f 111/133/111 20/51/49 8/69/65 719 | f 113/135/113 112/136/114 108/132/110 720 | f 108/132/110 110/134/112 113/135/113 721 | f 37/68/64 113/135/113 110/134/112 722 | f 110/134/112 8/69/65 37/68/64 723 | f 38/67/63 75/101/79 113/135/113 724 | f 113/135/113 37/68/64 38/67/63 725 | f 112/136/114 113/135/113 75/101/79 726 | f 75/101/79 83/106/84 112/136/114 727 | f 83/106/84 79/97/75 114/137/115 728 | f 114/137/115 112/136/114 83/106/84 729 | f 108/132/110 112/136/114 114/137/115 730 | f 114/137/115 106/129/107 108/132/110 731 | f 115/138/116 116/139/117 114/137/115 732 | f 114/137/115 79/97/75 115/138/116 733 | f 106/129/107 114/137/115 116/139/117 734 | f 116/139/117 104/128/106 106/129/107 735 | f 115/138/116 117/140/118 118/141/119 736 | f 118/141/119 116/139/117 115/138/116 737 | f 116/139/117 118/141/119 102/126/104 738 | f 102/126/104 104/128/106 116/139/117 739 | f 120/142/120 119/143/121 118/141/119 740 | f 118/141/119 117/140/118 120/142/120 741 | f 102/126/104 118/141/119 119/143/121 742 | f 119/143/121 100/123/101 102/126/104 743 | f 121/144/122 119/143/121 120/142/120 744 | f 120/142/120 122/145/123 121/144/122 745 | f 119/143/121 121/144/122 98/121/99 746 | f 98/121/99 100/123/101 119/143/121 747 | f 121/144/122 123/146/124 96/119/97 748 | f 96/119/97 98/121/99 121/144/122 749 | f 123/146/124 121/144/122 122/145/123 750 | f 122/145/123 124/147/125 123/146/124 751 | f 96/119/97 123/146/124 125/148/126 752 | f 125/148/126 94/117/95 96/119/97 753 | f 123/146/124 124/147/125 126/149/127 754 | f 126/149/127 125/148/126 123/146/124 755 | f 127/150/128 90/114/92 92/115/93 756 | f 92/115/93 128/151/129 127/150/128 757 | f 125/148/126 128/151/129 92/115/93 758 | f 92/115/93 94/117/95 125/148/126 759 | f 33/29/29 7/28/28 90/114/92 760 | f 90/114/92 127/150/128 33/29/29 761 | f 34/31/31 33/29/29 127/150/128 762 | f 127/150/128 89/111/89 34/31/31 763 | f 86/112/90 89/111/89 127/150/128 764 | f 127/150/128 128/151/129 86/112/90 765 | f 128/151/129 125/148/126 126/149/127 766 | f 126/149/127 86/112/90 128/151/129 767 | f 133/152/130 134/153/131 101/124/102 768 | f 101/124/102 99/122/100 133/152/130 769 | f 132/154/132 97/120/98 95/118/96 770 | f 95/118/96 131/155/133 132/154/132 771 | f 130/156/134 93/116/94 91/113/91 772 | f 91/113/91 129/157/135 130/156/134 773 | f 141/158/136 139/159/137 142/160/138 774 | f 142/160/138 140/161/139 141/158/136 775 | f 136/162/140 137/163/141 107/130/108 776 | f 107/130/108 105/127/105 136/162/140 777 | f 134/153/131 135/164/142 103/125/103 778 | f 103/125/103 101/124/102 134/153/131 779 | f 133/152/130 99/122/100 97/120/98 780 | f 97/120/98 132/154/132 133/152/130 781 | f 131/155/133 95/118/96 93/116/94 782 | f 93/116/94 130/156/134 131/155/133 783 | f 137/163/141 138/165/143 109/131/109 784 | f 109/131/109 107/130/108 137/163/141 785 | f 135/164/142 136/162/140 105/127/105 786 | f 105/127/105 103/125/103 135/164/142 787 | f 91/113/91 71/62/58 17/48/46 788 | f 17/48/46 129/157/135 91/113/91 789 | f 140/161/139 142/160/138 130/156/134 790 | f 130/156/134 129/157/135 140/161/139 791 | f 18/49/47 140/161/139 129/157/135 792 | f 129/157/135 17/48/46 18/49/47 793 | f 137/163/141 139/159/137 141/158/136 794 | f 141/158/136 138/165/143 137/163/141 795 | f 141/158/136 140/161/139 18/49/47 796 | f 18/49/47 19/50/48 141/158/136 797 | f 138/165/143 111/133/111 109/131/109 798 | f 111/133/111 138/165/143 19/50/48 799 | f 19/50/48 20/51/49 111/133/111 800 | f 141/158/136 19/50/48 138/165/143 801 | f 130/156/134 142/160/138 131/155/133 802 | f 131/155/133 142/160/138 132/154/132 803 | f 136/162/140 139/159/137 137/163/141 804 | f 135/164/142 139/159/137 136/162/140 805 | f 132/154/132 142/160/138 133/152/130 806 | f 134/153/131 139/159/137 135/164/142 807 | f 133/152/130 142/160/138 139/159/137 808 | f 139/159/137 134/153/131 133/152/130 809 | f 145/166/144 148/167/145 23/19/19 810 | f 23/19/19 68/92/70 145/166/144 811 | f 22/17/17 23/19/19 148/167/145 812 | f 148/167/145 149/168/146 22/17/17 813 | f 68/92/70 64/90/68 147/169/147 814 | f 147/169/147 145/166/144 68/92/70 815 | f 85/109/87 155/170/148 154/171/149 816 | f 154/171/149 84/110/88 85/109/87 817 | f 21/14/14 22/172/17 149/173/146 818 | f 149/173/146 150/174/150 21/14/14 819 | f 72/15/15 21/14/14 150/174/150 820 | f 150/174/150 144/175/151 72/15/15 821 | f 84/110/88 154/171/149 146/176/152 822 | f 146/176/152 65/91/69 84/110/88 823 | f 143/177/153 117/178/118 115/179/116 824 | f 143/177/153 164/180/154 126/181/127 825 | f 143/177/153 122/182/123 120/183/120 826 | f 143/177/153 115/179/116 79/184/75 827 | f 143/177/153 120/183/120 117/178/118 828 | f 143/177/153 126/181/127 124/185/125 829 | f 143/177/153 124/185/125 122/182/123 830 | f 76/102/80 72/15/15 144/175/151 831 | f 144/175/151 151/186/155 76/102/80 832 | f 64/90/68 65/91/69 146/176/152 833 | f 146/176/152 147/169/147 64/90/68 834 | f 77/103/81 76/102/80 151/186/155 835 | f 151/186/155 152/187/156 77/103/81 836 | f 78/95/73 77/103/81 152/187/156 837 | f 152/187/156 153/96/74 78/95/73 838 | f 57/59/54 22/172/17 69/93/71 839 | f 69/93/71 58/60/56 57/59/54 840 | f 57/56/54 56/54/52 66/18/18 841 | f 66/18/18 22/17/17 57/56/54 842 | f 69/93/71 22/172/17 21/14/14 843 | f 145/188/144 157/189/157 160/190/158 844 | f 160/190/158 148/191/145 145/188/144 845 | f 143/177/153 162/192/159 161/193/160 846 | f 157/189/157 145/188/144 147/194/147 847 | f 147/194/147 159/195/161 157/189/157 848 | f 163/196/162 156/197/163 143/177/153 849 | f 159/195/161 147/194/147 146/198/152 850 | f 146/198/152 158/199/164 159/195/161 851 | f 161/200/160 149/201/146 148/191/145 852 | f 148/191/145 160/190/158 161/200/160 853 | f 156/202/163 163/203/162 151/204/155 854 | f 151/204/155 144/205/151 156/202/163 855 | f 162/206/159 150/207/150 149/201/146 856 | f 149/201/146 161/200/160 162/206/159 857 | f 162/206/159 156/202/163 144/205/151 858 | f 144/205/151 150/207/150 162/206/159 859 | f 143/177/153 156/197/163 162/192/159 860 | f 143/177/153 161/193/160 160/208/158 861 | f 164/209/154 86/112/90 126/149/127 862 | f 158/210/164 143/177/153 159/211/161 863 | f 155/170/148 85/109/87 86/112/90 864 | f 86/112/90 164/209/154 155/170/148 865 | f 143/177/153 160/208/158 157/212/157 866 | f 164/180/154 143/177/153 158/210/164 867 | f 164/213/154 158/199/164 155/214/148 868 | f 155/214/148 158/199/164 154/215/149 869 | f 143/177/153 157/212/157 159/211/161 870 | f 158/199/164 146/198/152 154/215/149 871 | f 152/216/156 151/204/155 163/203/162 872 | f 79/217/75 153/218/74 163/203/162 873 | f 153/218/74 152/216/156 163/203/162 874 | f 79/184/75 163/196/162 143/177/153 875 | f 32/83/35 5/41/22 41/43/41 876 | f 13/77/50 41/43/41 2/71/59 877 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/arm/arm_5.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 0 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.8 0.8 0.8 8 | Ks 0.8 0.8 0.8 9 | d 1 10 | illum 2 11 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/arm/arm_6.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 1 3 | 4 | newmtl arm_6 5 | Ns 96.078431 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.640000 0.640000 0.640000 8 | Ks 27.000000 27.000000 27.000000 9 | Ni -1.000000 10 | d 1.000000 11 | illum 2 12 | map_Kd ../robots_blender_model-1/reemc/meshes_original/arm/arm_6_color.png 13 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/base/base.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 0 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.8 0.8 0.8 8 | Ks 0.8 0.8 0.8 9 | d 1 10 | illum 2 11 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/hand/hand_finger_1.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 1 3 | 4 | newmtl hand_finger1 5 | Ns 96.078431 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.640000 0.640000 0.640000 8 | Ks 30.000000 30.000000 30.000000 9 | Ni -1.000000 10 | d 1.000000 11 | illum 2 12 | map_Kd ../robots_blender_model-1/reemc/meshes_original/hand/hand_finger_1_color.png 13 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/hand/hand_finger_1.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.74 (sub 0) OBJ File: 'empty.blend' 2 | # www.blender.org 3 | mtllib hand_finger_1.mtl 4 | o default 5 | v -0.014914 0.002322 0.010590 6 | v -0.011471 0.002518 -0.017153 7 | v -0.001030 0.008274 0.014828 8 | v -0.001154 0.002207 0.014895 9 | v -0.014659 0.008463 0.010909 10 | v -0.011503 0.008350 -0.016770 11 | v -0.013792 0.002869 -0.003617 12 | v -0.013833 0.008416 -0.003776 13 | v -0.011356 0.008460 0.014096 14 | v -0.011197 0.002156 0.014134 15 | v 0.014184 0.008255 0.014106 16 | v 0.014066 0.002098 0.014075 17 | v 0.011269 0.001975 0.015150 18 | v 0.011320 0.008301 0.015152 19 | v 0.016633 0.009628 0.011235 20 | v 0.016652 0.002355 0.011153 21 | v 0.017037 0.009259 -0.018205 22 | v 0.017408 0.002363 -0.010930 23 | v 0.017154 0.000972 -0.017775 24 | v 0.009197 0.008261 -0.018777 25 | v 0.009158 0.002650 -0.019027 26 | v -0.001457 0.008308 -0.018758 27 | v -0.001023 0.002641 -0.019041 28 | v -0.009979 0.008341 -0.018615 29 | v -0.009979 0.002712 -0.018834 30 | v 0.008860 0.017453 -0.018722 31 | v 0.011319 0.015188 0.010806 32 | v 0.011410 0.015114 -0.017260 33 | v 0.008623 0.017376 -0.016947 34 | v 0.011276 0.013234 0.014886 35 | v 0.014079 0.011366 0.014054 36 | v 0.011252 0.015101 0.013552 37 | v 0.014224 0.012740 0.012804 38 | v -0.016275 0.000834 0.010962 39 | v -0.012801 0.000163 -0.018591 40 | v -0.015374 0.001191 -0.003648 41 | v -0.014824 -0.017804 0.011084 42 | v -0.011023 -0.040218 0.010819 43 | v -0.013734 -0.018183 -0.003574 44 | v -0.009840 -0.040459 -0.003284 45 | v -0.011072 -0.018426 -0.017890 46 | v -0.007378 -0.040333 -0.017166 47 | v -0.010799 0.000539 -0.021505 48 | v -0.008746 -0.018208 -0.021384 49 | v -0.004455 -0.040331 -0.020128 50 | v -0.012453 0.000350 0.014427 51 | v -0.011255 -0.017229 0.014370 52 | v -0.007202 -0.040123 0.014701 53 | v -0.000437 -0.016653 0.014927 54 | v 0.011034 -0.017006 0.015175 55 | v 0.004188 -0.040044 0.014851 56 | v 0.011093 -0.034530 0.014949 57 | v 0.014387 -0.031557 0.013681 58 | v 0.016619 -0.029977 0.010829 59 | v 0.014265 -0.017052 0.013887 60 | v 0.016543 -0.016714 0.011237 61 | v 0.004069 -0.040302 -0.020992 62 | v 0.001043 -0.018099 -0.022579 63 | v 0.009774 0.000996 -0.023125 64 | v -0.000546 0.001029 -0.022805 65 | v 0.014048 -0.017361 -0.021659 66 | v 0.014091 0.000741 -0.021997 67 | v 0.010347 -0.017410 -0.022859 68 | v 0.010485 -0.034919 -0.021397 69 | v 0.014349 -0.031794 -0.020379 70 | v 0.016990 -0.017065 -0.017777 71 | v 0.016874 -0.029896 -0.016893 72 | v 0.017332 -0.016541 -0.010965 73 | v 0.017274 -0.029585 -0.012582 74 | v 0.008689 0.008276 -0.017051 75 | v 0.011248 0.008140 -0.016923 76 | v 0.011593 -0.034485 -0.016675 77 | v 0.011258 -0.043224 -0.016740 78 | v 0.012015 -0.034193 -0.012867 79 | v 0.011418 -0.044089 -0.012469 80 | v 0.016843 -0.042527 -0.012501 81 | v 0.016862 -0.042762 0.005029 82 | v 0.011530 -0.044239 0.005125 83 | v 0.017123 -0.028993 0.005400 84 | v 0.012090 -0.034934 0.005595 85 | v 0.003876 -0.040358 0.013050 86 | v 0.011573 -0.034774 0.012609 87 | v 0.010833 -0.043814 0.012560 88 | v -0.004656 -0.040471 0.012475 89 | v -0.004887 -0.040418 -0.016835 90 | v 0.004246 -0.040488 -0.017183 91 | v 0.006356 -0.048442 0.012656 92 | v -0.000889 -0.047595 0.012710 93 | v -0.004137 -0.043210 0.012538 94 | v 0.006956 -0.048067 -0.016661 95 | v -0.000317 -0.047901 -0.016583 96 | v -0.003942 -0.044152 -0.016584 97 | vt 0.366078 0.724364 98 | vt 0.412472 0.722549 99 | vt 0.406728 0.831265 100 | vt 0.343914 0.540785 101 | vt 0.350538 0.598389 102 | vt 0.320618 0.604960 103 | vt 0.197015 0.609833 104 | vt 0.193943 0.549034 105 | vt 0.092229 0.614414 106 | vt 0.092913 0.551056 107 | vt 0.041771 0.553981 108 | vt 0.409858 0.944264 109 | vt 0.360964 0.946061 110 | vt 0.362797 0.829204 111 | vt 0.380475 0.539972 112 | vt 0.384812 0.604820 113 | vt 0.582265 0.535775 114 | vt 0.641715 0.595201 115 | vt 0.812098 0.565761 116 | vt 0.813320 0.623158 117 | vt 0.703722 0.611107 118 | vt 0.903759 0.563620 119 | vt 0.904365 0.624892 120 | vt 0.928346 0.564098 121 | vt 0.642694 0.663720 122 | vt 0.665373 0.678010 123 | vt 0.387741 0.673551 124 | vt 0.357493 0.625915 125 | vt 0.339186 0.654622 126 | vt 0.370036 0.636582 127 | vt 0.358193 0.671892 128 | vt 0.435193 0.713874 129 | vt 0.424659 0.832862 130 | vt 0.577093 0.834563 131 | vt 0.753169 0.836140 132 | vt 0.752031 0.946593 133 | vt 0.573099 0.949954 134 | vt 0.425836 0.947991 135 | vt 0.582153 0.720358 136 | vt 0.756992 0.726205 137 | vt 0.931757 0.533665 138 | vt 0.900444 0.530700 139 | vt 0.893359 0.362021 140 | vt 0.861354 0.159548 141 | vt 0.899190 0.152259 142 | vt 0.072870 0.138438 143 | vt 0.122967 0.143240 144 | vt 0.092435 0.363424 145 | vt 0.045715 0.357579 146 | vt 0.083535 0.532027 147 | vt 0.034242 0.536224 148 | vt 0.197276 0.366466 149 | vt 0.308031 0.360718 150 | vt 0.315349 0.542276 151 | vt 0.235789 0.135959 152 | vt 0.308003 0.191833 153 | vt 0.341373 0.359219 154 | vt 0.339920 0.222522 155 | vt 0.373253 0.237992 156 | vt 0.374971 0.361114 157 | vt 0.808137 0.528060 158 | vt 0.714733 0.556581 159 | vt 0.719930 0.519318 160 | vt 0.804682 0.359325 161 | vt 0.781627 0.158383 162 | vt 0.722649 0.362248 163 | vt 0.722546 0.208055 164 | vt 0.687171 0.515354 165 | vt 0.688658 0.360881 166 | vt 0.687023 0.234741 167 | vt 0.645863 0.360861 168 | vt 0.646726 0.245418 169 | vt 0.583448 0.362320 170 | vt 0.645675 0.525368 171 | vt 0.604099 0.236322 172 | vt 0.429797 0.237943 173 | vt 0.711593 0.625327 174 | vt 0.666400 0.685208 175 | vt 0.272659 0.946822 176 | vt 0.262877 0.684549 177 | vt 0.293202 0.803651 178 | vt 0.037952 0.938465 179 | vt 0.038358 0.917100 180 | vt 0.051276 0.699231 181 | vt 0.101606 0.707115 182 | vt 0.052415 0.950104 183 | vt 0.090936 0.954338 184 | vt 0.925812 0.943458 185 | vt 0.905868 0.713924 186 | vt 0.956172 0.741480 187 | vt 0.275022 0.699395 188 | vt 0.976050 0.937453 189 | vt 0.971347 0.878880 190 | vt 0.194567 0.683075 191 | vt 0.679975 0.184331 192 | vt 0.644571 0.180195 193 | vt 0.620713 0.080955 194 | vt 0.680237 0.081417 195 | vt 0.595685 0.121422 196 | vt 0.400013 0.168333 197 | vt 0.423295 0.075719 198 | vt 0.447148 0.115601 199 | vt 0.237949 0.114327 200 | vt 0.331339 0.178139 201 | vt 0.327969 0.069724 202 | vt 0.264380 0.007581 203 | vt 0.136127 0.117333 204 | vt 0.877845 0.131933 205 | vt 0.769819 0.120527 206 | vt 0.956324 0.707220 207 | vt 0.804187 0.955108 208 | vt 0.135277 0.086094 209 | vt 0.166213 0.026330 210 | vt 0.877021 0.087094 211 | vt 0.842968 0.032269 212 | vt 0.743866 0.018615 213 | vt 0.808367 0.725004 214 | vt 0.826043 0.953202 215 | vt 0.868842 0.949970 216 | vt 0.849101 0.720629 217 | vt 0.778081 0.726383 218 | vt 0.041545 0.670576 219 | vt 0.113102 0.697498 220 | vt 0.189846 0.952295 221 | vt 0.045386 0.614362 222 | vt 0.931411 0.626746 223 | vt 0.932126 0.358618 224 | vt 0.299259 0.921403 225 | vn -0.684000 0.660800 -0.309000 226 | vn -0.849600 0.360000 -0.385500 227 | vn -0.925400 0.360800 -0.115800 228 | vn 0.568200 -0.007000 0.822800 229 | vn 0.569600 0.008500 0.821800 230 | vn -0.102200 0.329200 0.938700 231 | vn -0.029900 0.703600 0.709900 232 | vn -0.041700 0.010800 0.999100 233 | vn -0.311000 0.640200 0.702400 234 | vn -0.340400 0.180300 0.922800 235 | vn -0.840000 0.401700 0.364500 236 | vn -0.715900 0.633100 0.294100 237 | vn -0.713500 0.694400 -0.093300 238 | vn 0.930300 -0.004700 0.366800 239 | vn 0.914000 0.294900 0.278400 240 | vn 0.999700 0.022200 0.000500 241 | vn 0.737900 0.293300 -0.607800 242 | vn -0.031300 0.558500 -0.828900 243 | vn -0.004700 0.721500 -0.692300 244 | vn -0.227500 0.252200 -0.940500 245 | vn -0.421300 0.469500 -0.775900 246 | vn -0.332300 0.638300 -0.694300 247 | vn 0.459300 0.769900 0.442900 248 | vn -0.277600 0.774200 -0.568800 249 | vn -0.122000 0.992400 -0.017100 250 | vn 0.596800 0.241600 0.765100 251 | vn -0.447800 0.358900 0.818900 252 | vn 0.739500 0.625300 0.249100 253 | vn -0.358000 0.830600 0.426600 254 | vn -0.889300 0.257400 -0.378000 255 | vn -0.937300 0.330700 -0.109500 256 | vn -0.983800 -0.129300 -0.123800 257 | vn -0.648000 -0.756900 -0.084700 258 | vn -0.694300 -0.666600 0.271400 259 | vn -0.921500 -0.115700 0.370600 260 | vn -0.879900 0.310700 0.359500 261 | vn -0.918300 -0.133700 -0.372600 262 | vn -0.634500 -0.699400 -0.328900 263 | vn -0.484500 0.385500 -0.785200 264 | vn -0.518100 -0.097000 -0.849800 265 | vn -0.296900 -0.677300 -0.673100 266 | vn -0.284500 -0.615200 0.735200 267 | vn -0.394100 -0.046400 0.917900 268 | vn -0.421100 0.191800 0.886500 269 | vn -0.032700 -0.002400 0.999500 270 | vn 0.176200 -0.006800 0.984300 271 | vn 0.172600 -0.001300 0.985000 272 | vn 0.254100 -0.686500 0.681200 273 | vn 0.453300 -0.447500 0.770800 274 | vn 0.582800 -0.007200 0.812500 275 | vn 0.691100 -0.345700 0.634800 276 | vn 0.904400 -0.328300 0.272600 277 | vn 0.929500 -0.000900 0.368800 278 | vn -0.073600 0.540100 -0.838400 279 | vn 0.085100 0.566300 -0.819800 280 | vn 0.108400 0.540600 -0.834200 281 | vn -0.072000 -0.050100 -0.996100 282 | vn 0.218100 -0.729100 -0.648600 283 | vn 0.141800 -0.048100 -0.988700 284 | vn 0.452700 -0.525600 -0.720300 285 | vn 0.493800 0.508700 -0.705200 286 | vn 0.576900 -0.040900 -0.815800 287 | vn 0.674400 -0.429100 -0.600800 288 | vn 0.937300 -0.018700 -0.348000 289 | vn 0.894000 -0.372500 -0.248700 290 | vn 1.000000 -0.005200 -0.004900 291 | vn 0.877600 0.129400 -0.461500 292 | vn 0.969600 -0.188600 -0.156000 293 | vn 0.982300 -0.137100 0.127500 294 | vn -0.276500 0.934400 0.224600 295 | vn -0.408800 0.717400 0.564100 296 | vn -0.571000 0.616100 0.542500 297 | vn 0.251300 -0.745800 0.616900 298 | vn 0.287500 -0.732600 -0.616900 299 | vn 0.684200 -0.683600 -0.253900 300 | vn 0.691200 -0.303800 0.655700 301 | vn 0.675300 -0.696000 0.244000 302 | vn 0.778500 -0.589800 -0.214600 303 | vn 0.694300 -0.355300 -0.625800 304 | vn 0.700300 -0.261900 -0.664100 305 | vn 0.637000 -0.497800 -0.588500 306 | vn 0.706900 -0.315000 0.633300 307 | vn 0.645200 -0.509900 0.568900 308 | vn 0.168700 -0.578400 0.798100 309 | vn 0.773200 -0.567600 0.282500 310 | vn -0.317800 -0.885700 0.338300 311 | vn -0.288700 -0.923400 -0.253000 312 | vn 0.211500 -0.583600 -0.784000 313 | vn -0.709600 -0.290300 0.642000 314 | vn -0.395600 -0.673500 0.624400 315 | vn -0.677200 -0.393300 -0.621900 316 | vn -0.321600 -0.723000 -0.611300 317 | usemtl hand_finger1 318 | s 1 319 | f 6/1/1 2/2/2 7/3/3 320 | f 12/4/4 11/5/5 14/6/6 321 | f 14/6/6 3/7/7 4/8/8 322 | f 3/7/7 9/9/9 10/10/10 323 | f 1/11/11 10/10/10 9/9/9 324 | f 1/12/11 5/13/12 8/14/13 325 | f 16/15/14 15/16/15 11/5/5 326 | f 18/17/16 17/18/17 15/16/15 327 | f 23/19/18 22/20/19 20/21/20 328 | f 25/22/21 24/23/22 22/20/19 329 | f 24/23/22 25/22/21 2/24/2 330 | f 28/25/23 17/18/17 26/26/24 331 | f 28/25/23 27/27/25 15/16/15 332 | f 31/28/26 30/29/27 14/6/6 333 | f 15/16/15 31/28/26 11/5/5 334 | f 30/29/27 31/28/26 33/30/28 335 | f 33/30/28 27/27/25 32/31/29 336 | f 33/30/28 15/16/15 27/27/25 337 | f 15/16/15 33/30/28 31/28/26 338 | f 2/2/2 35/32/30 36/33/31 339 | f 1/12/11 7/3/3 36/33/31 340 | f 39/34/32 40/35/33 38/36/34 341 | f 37/37/35 34/38/36 36/33/31 342 | f 39/34/32 36/33/31 35/32/30 343 | f 41/39/37 42/40/38 40/35/33 344 | f 35/41/30 2/24/2 25/22/21 345 | f 35/41/30 43/42/39 44/43/40 346 | f 44/43/40 45/44/41 42/45/38 347 | f 38/46/34 48/47/42 47/48/43 348 | f 37/49/35 47/48/43 46/50/44 349 | f 1/11/11 34/51/36 46/50/44 350 | f 10/10/10 46/50/44 4/8/8 351 | f 46/50/44 47/48/43 49/52/45 352 | f 49/52/45 50/53/46 13/54/47 353 | f 49/52/45 47/48/43 48/47/42 354 | f 49/52/45 51/55/48 52/56/49 355 | f 55/57/50 53/58/51 54/59/52 356 | f 12/4/4 55/57/50 56/60/53 357 | f 50/53/46 52/56/49 53/58/51 358 | f 50/53/46 55/57/50 12/4/4 359 | f 23/19/18 60/61/54 43/42/39 360 | f 21/62/55 59/63/56 60/61/54 361 | f 60/61/54 58/64/57 44/43/40 362 | f 58/64/57 57/65/58 45/44/41 363 | f 58/64/57 63/66/59 64/67/60 364 | f 59/63/56 63/66/59 58/64/57 365 | f 62/68/61 59/63/56 21/62/55 366 | f 62/68/61 61/69/62 63/66/59 367 | f 65/70/63 64/67/60 63/66/59 368 | f 66/71/64 61/69/62 62/68/61 369 | f 61/69/62 66/71/64 67/72/65 370 | f 68/73/66 66/71/64 19/74/67 371 | f 66/71/64 68/73/66 69/75/68 372 | f 16/15/14 56/60/53 68/73/66 373 | f 68/73/66 56/60/53 69/75/68 374 | f 56/60/53 54/59/52 79/76/69 375 | f 56/60/53 79/76/69 69/75/68 376 | f 70/77/70 29/78/71 26/26/24 377 | f 9/79/9 24/80/22 8/81/13 378 | f 32/82/29 27/83/25 28/84/23 379 | f 32/82/29 28/84/23 71/85/72 380 | f 32/82/29 71/85/72 30/86/27 381 | f 71/85/72 14/87/6 30/86/27 382 | f 87/88/73 90/89/74 75/90/75 383 | f 24/80/22 6/91/1 8/81/13 384 | f 83/92/76 87/88/73 78/93/77 385 | f 22/94/19 24/80/22 9/79/9 386 | f 20/21/20 22/20/19 70/77/70 387 | f 72/95/78 64/67/60 65/70/63 388 | f 72/95/78 65/70/63 67/72/65 389 | f 67/72/65 69/75/68 74/96/79 390 | f 74/96/79 75/97/75 73/98/80 391 | f 76/99/81 75/97/75 74/96/79 392 | f 80/100/82 78/101/77 77/102/83 393 | f 77/102/83 76/99/81 69/75/68 394 | f 51/55/48 81/103/84 82/104/85 395 | f 80/100/82 79/76/69 54/59/52 396 | f 82/104/85 54/59/52 53/58/51 397 | f 83/105/76 81/103/84 87/106/73 398 | f 84/107/86 81/103/84 51/55/48 399 | f 42/45/38 45/44/41 85/108/87 400 | f 45/44/41 57/65/58 86/109/88 401 | f 64/67/60 72/95/78 86/109/88 402 | f 90/89/74 73/110/80 75/90/75 403 | f 81/103/84 83/105/76 82/104/85 404 | f 38/36/34 40/35/33 84/111/86 405 | f 81/103/84 89/112/89 88/113/90 406 | f 84/107/86 48/47/42 38/46/34 407 | f 81/103/84 88/113/90 87/106/73 408 | f 85/108/87 86/109/88 92/114/91 409 | f 91/115/92 92/114/91 86/109/88 410 | f 90/116/74 91/115/92 86/109/88 411 | f 73/98/80 90/116/74 86/109/88 412 | f 72/95/78 73/98/80 86/109/88 413 | f 92/117/91 89/118/89 84/111/86 414 | f 87/88/73 88/119/90 91/120/92 415 | f 83/105/76 78/101/77 80/100/82 416 | f 89/112/89 81/103/84 84/107/86 417 | f 88/119/90 89/118/89 92/117/91 418 | f 40/35/33 42/40/38 85/121/87 419 | f 19/74/67 17/18/17 18/17/16 420 | f 21/62/55 20/21/20 17/18/17 421 | f 20/21/20 26/26/24 17/18/17 422 | f 28/84/23 29/122/71 70/123/70 423 | f 75/97/75 76/99/81 77/102/83 424 | f 87/88/73 75/90/75 78/93/77 425 | f 14/87/6 71/85/72 70/123/70 426 | f 3/124/7 14/87/6 70/123/70 427 | f 22/94/19 3/124/7 70/123/70 428 | f 7/3/3 8/14/13 6/1/1 429 | f 14/6/6 13/54/47 12/4/4 430 | f 4/8/8 13/54/47 14/6/6 431 | f 10/10/10 4/8/8 3/7/7 432 | f 9/9/9 5/125/12 1/11/11 433 | f 8/14/13 7/3/3 1/12/11 434 | f 11/5/5 12/4/4 16/15/14 435 | f 15/16/15 16/15/14 18/17/16 436 | f 20/21/20 21/62/55 23/19/18 437 | f 22/20/19 23/19/18 25/22/21 438 | f 2/24/2 6/126/1 24/23/22 439 | f 26/26/24 29/78/71 28/25/23 440 | f 15/16/15 17/18/17 28/25/23 441 | f 14/6/6 11/5/5 31/28/26 442 | f 33/30/28 32/31/29 30/29/27 443 | f 36/33/31 7/3/3 2/2/2 444 | f 36/33/31 34/38/36 1/12/11 445 | f 38/36/34 37/37/35 39/34/32 446 | f 36/33/31 39/34/32 37/37/35 447 | f 35/32/30 41/39/37 39/34/32 448 | f 40/35/33 39/34/32 41/39/37 449 | f 25/22/21 43/42/39 35/41/30 450 | f 44/43/40 41/127/37 35/41/30 451 | f 42/45/38 41/127/37 44/43/40 452 | f 47/48/43 37/49/35 38/46/34 453 | f 46/50/44 34/51/36 37/49/35 454 | f 46/50/44 10/10/10 1/11/11 455 | f 49/52/45 4/8/8 46/50/44 456 | f 13/54/47 4/8/8 49/52/45 457 | f 48/47/42 51/55/48 49/52/45 458 | f 52/56/49 50/53/46 49/52/45 459 | f 54/59/52 56/60/53 55/57/50 460 | f 56/60/53 16/15/14 12/4/4 461 | f 53/58/51 55/57/50 50/53/46 462 | f 12/4/4 13/54/47 50/53/46 463 | f 43/42/39 25/22/21 23/19/18 464 | f 60/61/54 23/19/18 21/62/55 465 | f 44/43/40 43/42/39 60/61/54 466 | f 45/44/41 44/43/40 58/64/57 467 | f 64/67/60 57/65/58 58/64/57 468 | f 58/64/57 60/61/54 59/63/56 469 | f 21/62/55 19/74/67 62/68/61 470 | f 63/66/59 59/63/56 62/68/61 471 | f 63/66/59 61/69/62 65/70/63 472 | f 62/68/61 19/74/67 66/71/64 473 | f 67/72/65 65/70/63 61/69/62 474 | f 19/74/67 18/17/16 68/73/66 475 | f 69/75/68 67/72/65 66/71/64 476 | f 68/73/66 18/17/16 16/15/14 477 | f 26/26/24 20/21/20 70/77/70 478 | f 8/81/13 5/128/12 9/79/9 479 | f 9/79/9 3/124/7 22/94/19 480 | f 74/96/79 72/95/78 67/72/65 481 | f 73/98/80 72/95/78 74/96/79 482 | f 74/96/79 69/75/68 76/99/81 483 | f 77/102/83 79/76/69 80/100/82 484 | f 69/75/68 79/76/69 77/102/83 485 | f 82/104/85 52/56/49 51/55/48 486 | f 54/59/52 82/104/85 80/100/82 487 | f 53/58/51 52/56/49 82/104/85 488 | f 51/55/48 48/47/42 84/107/86 489 | f 86/109/88 85/108/87 45/44/41 490 | f 86/109/88 57/65/58 64/67/60 491 | f 84/111/86 85/121/87 92/117/91 492 | f 91/120/92 90/89/74 87/88/73 493 | f 80/100/82 82/104/85 83/105/76 494 | f 92/117/91 91/120/92 88/119/90 495 | f 85/121/87 84/111/86 40/35/33 496 | f 17/18/17 19/74/67 21/62/55 497 | f 70/123/70 71/85/72 28/84/23 498 | f 77/102/83 78/101/77 75/97/75 499 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/hand/hand_finger_2.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 1 3 | 4 | newmtl hand_finger2 5 | Ns 96.078431 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.640000 0.640000 0.640000 8 | Ks 34.000000 34.000000 34.000000 9 | Ni -1.000000 10 | d 1.000000 11 | illum 2 12 | map_Kd ../robots_blender_model-1/reemc/meshes_original/hand/hand_finger_2_color.png 13 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/hand/hand_finger_2.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.74 (sub 0) OBJ File: 'empty.blend' 2 | # www.blender.org 3 | mtllib hand_finger_2.mtl 4 | o default 5 | v 0.009414 0.001264 -0.009123 6 | v 0.012009 0.001798 -0.009198 7 | v 0.013605 -0.012004 -0.008965 8 | v 0.013536 -0.011887 0.008962 9 | v 0.009489 0.001164 0.009039 10 | v 0.011708 0.001735 0.009120 11 | v 0.013453 -0.000104 -0.009187 12 | v 0.013565 0.000155 0.009096 13 | v 0.008854 -0.007412 -0.009407 14 | v 0.008965 -0.007139 0.008840 15 | v 0.013542 -0.011973 -0.013332 16 | v 0.007497 -0.006904 -0.013007 17 | v 0.005965 -0.005369 -0.002715 18 | v 0.009391 -0.007704 0.014324 19 | v 0.012065 -0.009860 0.012477 20 | v 0.012345 -0.021399 0.012302 21 | v 0.013646 -0.020032 0.008639 22 | v 0.009628 -0.023824 0.014302 23 | v 0.006141 -0.005282 0.015123 24 | v 0.005472 -0.026079 0.015127 25 | v 0.000274 -0.000494 0.014760 26 | v -0.010419 -0.000493 0.014604 27 | v -0.014343 -0.000578 0.011079 28 | v -0.013140 -0.000619 -0.003515 29 | v -0.010807 -0.000517 -0.017385 30 | v -0.007240 -0.000547 -0.020621 31 | v 0.000194 -0.000498 -0.020859 32 | v 0.009466 -0.007714 -0.019676 33 | v 0.012417 -0.010181 -0.016901 34 | v 0.006000 -0.004936 -0.020533 35 | v 0.011948 -0.021642 -0.016082 36 | v 0.013550 -0.020180 -0.012655 37 | v 0.008357 -0.024380 -0.017777 38 | v 0.005742 -0.026158 -0.017638 39 | v 0.001065 -0.026413 -0.017493 40 | v -0.001787 -0.026313 -0.016981 41 | v -0.004182 -0.026292 -0.014269 42 | v -0.006413 -0.026426 -0.001944 43 | v -0.007214 -0.026399 0.010877 44 | v -0.003397 -0.026324 0.014618 45 | v 0.001439 -0.026235 0.015016 46 | v 0.012510 -0.021531 0.010098 47 | v 0.010772 -0.023548 0.011511 48 | v 0.005920 -0.026671 0.011959 49 | v 0.000953 -0.026639 0.011848 50 | v -0.001352 -0.026485 0.010087 51 | v -0.001452 -0.026603 -0.010095 52 | v 0.000537 -0.026831 -0.012014 53 | v 0.005509 -0.026492 -0.012160 54 | v 0.008514 -0.024998 -0.012225 55 | v 0.010991 -0.022938 -0.012049 56 | v 0.012599 -0.021497 -0.010398 57 | v 0.012563 -0.028439 -0.010569 58 | v 0.009895 -0.032794 -0.010394 59 | v 0.003835 -0.033721 -0.010405 60 | v 0.000025 -0.030820 -0.010492 61 | v 0.008877 -0.031090 -0.011973 62 | v 0.004184 -0.031765 -0.011985 63 | v 0.001147 -0.029662 -0.011874 64 | v 0.010930 -0.028119 -0.011955 65 | v 0.009552 -0.032991 0.010231 66 | v 0.004008 -0.033799 0.010138 67 | v -0.000084 -0.030832 0.010136 68 | v 0.012602 -0.028446 0.010335 69 | v 0.008349 -0.031443 0.011769 70 | v 0.010937 -0.027956 0.011768 71 | v 0.004577 -0.031872 0.011789 72 | v 0.001630 -0.029466 0.011840 73 | vt 0.258400 0.579395 74 | vt 0.080466 0.500212 75 | vt 0.132901 0.382375 76 | vt 0.052558 0.541119 77 | vt 0.063105 0.516991 78 | vt 0.254320 0.604714 79 | vt 0.240385 0.631779 80 | vt 0.199450 0.722897 81 | vt 0.012632 0.627941 82 | vt 0.324993 0.733568 83 | vt 0.261307 0.734527 84 | vt 0.264127 0.692615 85 | vt 0.310934 0.461744 86 | vt 0.337580 0.530411 87 | vt 0.318424 0.909151 88 | vt 0.356556 0.799300 89 | vt 0.339835 0.699308 90 | vt 0.348351 0.970989 91 | vt 0.799595 0.074370 92 | vt 0.625503 0.147872 93 | vt 0.631770 0.101478 94 | vt 0.718810 0.015723 95 | vt 0.760011 0.048453 96 | vt 0.842107 0.100454 97 | vt 0.623461 0.200111 98 | vt 0.285121 0.658681 99 | vt 0.323451 0.633913 100 | vt 0.541433 0.665893 101 | vt 0.563586 0.941342 102 | vt 0.524337 0.973623 103 | vt 0.508456 0.633261 104 | vt 0.421354 0.970659 105 | vt 0.645340 0.781604 106 | vt 0.748910 0.863687 107 | vt 0.702232 0.883244 108 | vt 0.802146 0.842914 109 | vt 0.366555 0.627845 110 | vt 0.651252 0.732974 111 | vt 0.649252 0.705465 112 | vt 0.040911 0.502763 113 | vt 0.065028 0.410181 114 | vt 0.277346 0.942559 115 | vt 0.309679 0.961670 116 | vt 0.254965 0.907535 117 | vt 0.621952 0.821050 118 | vt 0.665576 0.922702 119 | vt 0.172608 0.302161 120 | vt 0.384288 0.396834 121 | vt 0.666770 0.665450 122 | vt 0.929780 0.787961 123 | vt 0.852327 0.823783 124 | vt 0.677360 0.644468 125 | vt 0.964331 0.706883 126 | vt 0.680111 0.612193 127 | vt 0.982372 0.487123 128 | vt 0.977984 0.649462 129 | vt 0.682059 0.473673 130 | vt 0.685745 0.332870 131 | vt 0.964619 0.258317 132 | vt 0.980773 0.319373 133 | vt 0.920159 0.143775 134 | vt 0.666964 0.286282 135 | vt 0.641018 0.243427 136 | vt 0.613358 0.080451 137 | vt 0.625773 0.051808 138 | vt 0.600158 0.121235 139 | vt 0.583552 0.200459 140 | vt 0.608270 0.273863 141 | vt 0.620388 0.323691 142 | vt 0.621573 0.624553 143 | vt 0.631949 0.581092 144 | vt 0.594007 0.686024 145 | vt 0.590461 0.733712 146 | vt 0.586336 0.812921 147 | vt 0.595661 0.778456 148 | vt 0.368898 0.370108 149 | vt 0.488871 0.273564 150 | vt 0.494471 0.245474 151 | vt 0.539233 0.279052 152 | vt 0.438143 0.279475 153 | vt 0.423150 0.255032 154 | vt 0.529618 0.328343 155 | vt 0.522249 0.296501 156 | vt 0.398338 0.302751 157 | vt 0.400941 0.364318 158 | vt 0.436257 0.347523 159 | vt 0.416302 0.309966 160 | vt 0.472826 0.331770 161 | vt 0.220695 0.154882 162 | vt 0.247842 0.099852 163 | vt 0.451939 0.194399 164 | vt 0.271574 0.049854 165 | vt 0.475270 0.147428 166 | vt 0.293424 0.005344 167 | vt 0.492437 0.101412 168 | vt 0.199466 0.209555 169 | vt 0.166955 0.275953 170 | vt 0.190724 0.156090 171 | vt 0.165161 0.120341 172 | vt 0.182082 0.092730 173 | vt 0.120764 0.113506 174 | vt 0.119247 0.079275 175 | vt 0.066408 0.100350 176 | vt 0.152515 0.241093 177 | vt 0.181821 0.201765 178 | vt 0.130896 0.174761 179 | vt 0.089169 0.129452 180 | vt 0.283249 0.613995 181 | vt 0.436997 0.627866 182 | vt 0.558140 0.800357 183 | vt 0.561936 0.326268 184 | vn 0.733800 0.253300 -0.630400 185 | vn 0.709200 0.321800 0.627300 186 | vn 0.962300 0.120500 0.243700 187 | vn -0.626600 0.506100 0.592600 188 | vn 0.173000 0.758500 0.628200 189 | vn 0.279500 0.751400 -0.597800 190 | vn -0.620100 0.541100 -0.568100 191 | vn 0.260300 0.809000 -0.526900 192 | vn 0.235300 0.837200 0.493700 193 | vn 0.974400 0.179500 -0.135600 194 | vn 0.936400 0.332500 -0.111800 195 | vn 0.601800 0.798600 -0.008400 196 | vn 0.674700 0.738000 0.007900 197 | vn 0.428600 0.532200 0.730100 198 | vn 0.602500 0.473700 0.642300 199 | vn 0.552700 -0.465700 0.691100 200 | vn 0.831200 -0.285900 0.476700 201 | vn 0.816200 0.395000 0.421700 202 | vn 0.204000 -0.632900 0.746800 203 | vn 0.855800 0.389200 -0.340700 204 | vn 0.614500 0.428600 -0.662300 205 | vn -0.740300 0.537000 -0.404400 206 | vn -0.805700 0.512600 0.296500 207 | vn -0.336700 0.593200 0.731300 208 | vn -0.339300 0.550700 -0.762600 209 | vn 0.246700 0.731200 0.636000 210 | vn 0.766400 -0.418100 -0.487700 211 | vn 0.475400 0.481600 -0.736300 212 | vn 0.457000 -0.544000 -0.703700 213 | vn 0.217700 -0.739400 -0.637000 214 | vn 0.934800 -0.316000 -0.161900 215 | vn 0.955600 -0.270600 0.116700 216 | vn -0.059600 -0.723300 -0.687900 217 | vn 0.235600 0.682100 -0.692300 218 | vn -0.344700 -0.682000 -0.645000 219 | vn -0.626000 -0.717300 -0.305700 220 | vn -0.830100 0.548100 -0.102500 221 | vn -0.629000 -0.773900 -0.073100 222 | vn -0.648900 -0.710500 0.272100 223 | vn -0.273000 -0.653200 0.706200 224 | vn -0.033500 -0.651400 0.757900 225 | vn 0.907800 -0.387700 0.159500 226 | vn 0.684700 -0.396400 0.611600 227 | vn 0.179300 -0.544700 0.819200 228 | vn -0.233600 -0.772900 0.589900 229 | vn -0.451700 -0.870800 0.193600 230 | vn -0.261600 -0.800700 -0.538800 231 | vn -0.495700 -0.853500 -0.160200 232 | vn 0.153200 -0.637200 -0.755300 233 | vn 0.393200 -0.560900 -0.728500 234 | vn 0.898300 -0.416900 -0.138900 235 | vn 0.732600 -0.483000 -0.479500 236 | vn -0.108600 -0.391000 -0.913900 237 | vn -0.221700 -0.890700 -0.396800 238 | vn -0.743800 -0.536500 -0.398600 239 | vn 0.225400 -0.346500 -0.910500 240 | vn 0.504000 -0.769400 -0.392400 241 | vn -0.376800 -0.237700 -0.895300 242 | vn 0.880500 -0.255200 -0.399500 243 | vn 0.391600 -0.143700 -0.908800 244 | vn 0.486400 -0.777900 0.397700 245 | vn -0.224000 -0.893600 0.389000 246 | vn -0.748000 -0.524700 0.406300 247 | vn 0.876100 -0.252700 0.410600 248 | vn 0.201100 -0.363100 0.909800 249 | vn -0.101400 -0.403400 0.909400 250 | vn -0.326900 -0.209800 0.921400 251 | vn 0.398700 -0.097400 0.911900 252 | usemtl hand_finger2 253 | s 1 254 | f 7/1/1 8/2/2 4/3/3 255 | f 5/4/4 6/5/5 2/6/6 256 | f 7/1/1 2/6/6 6/5/5 257 | f 1/7/7 9/8/8 10/9/9 258 | f 9/10/8 3/11/10 11/12/11 259 | f 7/1/1 3/13/10 9/14/8 260 | f 10/15/9 9/10/8 13/16/12 261 | f 9/10/8 12/17/13 13/16/12 262 | f 10/15/9 13/16/12 19/18/14 263 | f 14/19/15 18/20/16 16/21/17 264 | f 4/22/3 15/23/18 16/21/17 265 | f 19/24/14 20/25/19 18/20/16 266 | f 12/17/13 29/26/20 28/27/21 267 | f 29/26/20 12/17/13 11/12/11 268 | f 25/28/22 23/29/23 22/30/24 269 | f 26/31/25 22/30/24 21/32/26 270 | f 31/33/27 29/34/20 11/35/11 271 | f 28/36/21 29/34/20 31/33/27 272 | f 12/17/13 28/27/21 30/37/28 273 | f 28/36/21 33/38/29 34/39/30 274 | f 13/16/12 21/32/26 19/18/14 275 | f 12/17/13 30/37/28 13/16/12 276 | f 6/5/5 5/40/4 10/41/9 277 | f 15/42/18 10/15/9 14/43/15 278 | f 15/42/18 4/44/3 10/15/9 279 | f 10/15/9 19/18/14 14/43/15 280 | f 32/45/31 11/35/11 3/46/10 281 | f 17/47/32 32/48/31 3/13/10 282 | f 35/49/33 27/50/34 30/51/28 283 | f 27/50/34 35/49/33 36/52/35 284 | f 26/53/25 36/52/35 37/54/36 285 | f 24/55/37 25/56/22 37/54/36 286 | f 24/55/37 38/57/38 39/58/39 287 | f 22/59/24 23/60/23 39/58/39 288 | f 21/61/26 22/59/24 40/62/40 289 | f 41/63/41 20/25/19 19/24/14 290 | f 16/21/17 42/64/42 17/65/32 291 | f 16/21/17 18/20/16 43/66/43 292 | f 18/20/16 20/25/19 44/67/44 293 | f 44/67/44 20/25/19 41/63/41 294 | f 45/68/45 41/63/41 40/62/40 295 | f 46/69/46 40/62/40 39/58/39 296 | f 48/70/47 47/71/48 37/54/36 297 | f 47/71/48 38/57/38 37/54/36 298 | f 46/69/46 39/58/39 38/57/38 299 | f 38/57/38 47/71/48 46/69/46 300 | f 48/70/47 36/52/35 35/49/33 301 | f 49/72/49 48/70/47 35/49/33 302 | f 50/73/50 49/72/49 34/39/30 303 | f 50/73/50 33/38/29 31/33/27 304 | f 32/45/31 52/74/51 51/75/52 305 | f 52/76/51 32/48/31 17/47/32 306 | f 58/77/53 55/78/54 56/79/55 307 | f 57/80/56 54/81/57 55/78/54 308 | f 48/82/47 59/83/58 56/79/55 309 | f 53/84/59 54/81/57 57/80/56 310 | f 51/85/52 52/76/51 53/84/59 311 | f 50/86/50 51/85/52 60/87/60 312 | f 49/88/49 58/77/53 59/83/58 313 | f 57/80/56 58/77/53 49/88/49 314 | f 49/88/49 50/86/50 60/87/60 315 | f 61/89/61 62/90/62 55/91/54 316 | f 63/92/63 56/93/55 55/91/54 317 | f 63/92/63 46/94/46 47/95/48 318 | f 64/96/64 61/89/61 54/81/57 319 | f 53/84/59 52/76/51 42/97/42 320 | f 65/98/65 61/89/61 64/96/64 321 | f 65/98/65 67/99/66 62/100/62 322 | f 67/99/66 68/101/67 63/102/63 323 | f 46/103/46 63/102/63 68/101/67 324 | f 43/104/43 66/105/68 64/96/64 325 | f 66/105/68 43/104/43 44/106/44 326 | f 44/106/44 65/98/65 66/105/68 327 | f 44/106/44 67/99/66 65/98/65 328 | f 44/106/44 68/101/67 67/99/66 329 | f 44/106/44 45/107/45 68/101/67 330 | f 4/3/3 8/2/2 10/41/9 331 | f 2/6/6 7/1/1 9/14/8 332 | f 8/2/2 6/5/5 10/41/9 333 | f 1/108/7 2/6/6 9/14/8 334 | f 27/109/34 21/32/26 13/16/12 335 | f 30/37/28 27/109/34 13/16/12 336 | f 23/29/23 25/28/22 24/110/37 337 | f 12/17/13 9/10/8 11/12/11 338 | f 4/3/3 3/13/10 7/1/1 339 | f 2/6/6 1/7/7 5/4/4 340 | f 6/5/5 8/2/2 7/1/1 341 | f 10/9/9 5/4/4 1/7/7 342 | f 16/21/17 15/23/18 14/19/15 343 | f 16/21/17 17/65/32 4/22/3 344 | f 18/20/16 14/19/15 19/24/14 345 | f 22/30/24 26/31/25 25/28/22 346 | f 21/32/26 27/109/34 26/31/25 347 | f 11/35/11 32/45/31 31/33/27 348 | f 31/33/27 33/38/29 28/36/21 349 | f 34/39/30 30/51/28 28/36/21 350 | f 3/13/10 4/3/3 17/47/32 351 | f 30/51/28 34/39/30 35/49/33 352 | f 36/52/35 26/53/25 27/50/34 353 | f 37/54/36 25/56/22 26/53/25 354 | f 37/54/36 38/57/38 24/55/37 355 | f 39/58/39 23/60/23 24/55/37 356 | f 39/58/39 40/62/40 22/59/24 357 | f 40/62/40 41/63/41 21/61/26 358 | f 19/24/14 21/61/26 41/63/41 359 | f 43/66/43 42/64/42 16/21/17 360 | f 44/67/44 43/66/43 18/20/16 361 | f 41/63/41 45/68/45 44/67/44 362 | f 40/62/40 46/69/46 45/68/45 363 | f 37/54/36 36/52/35 48/70/47 364 | f 35/49/33 34/39/30 49/72/49 365 | f 34/39/30 33/38/29 50/73/50 366 | f 31/33/27 51/75/52 50/73/50 367 | f 51/75/52 31/33/27 32/45/31 368 | f 17/47/32 42/97/42 52/76/51 369 | f 56/79/55 59/83/58 58/77/53 370 | f 55/78/54 58/77/53 57/80/56 371 | f 56/79/55 47/111/48 48/82/47 372 | f 57/80/56 60/87/60 53/84/59 373 | f 53/84/59 60/87/60 51/85/52 374 | f 59/83/58 48/82/47 49/88/49 375 | f 60/87/60 57/80/56 49/88/49 376 | f 55/91/54 54/81/57 61/89/61 377 | f 55/91/54 62/90/62 63/92/63 378 | f 47/95/48 56/93/55 63/92/63 379 | f 54/81/57 53/84/59 64/96/64 380 | f 42/97/42 64/96/64 53/84/59 381 | f 64/96/64 66/105/68 65/98/65 382 | f 62/100/62 61/89/61 65/98/65 383 | f 63/102/63 62/100/62 67/99/66 384 | f 68/101/67 45/107/45 46/103/46 385 | f 64/96/64 42/97/42 43/104/43 386 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/hand/hand_finger_3.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 1 3 | 4 | newmtl hand_finger3 5 | Ns 96.078431 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.640000 0.640000 0.640000 8 | Ks 37.000000 37.000000 37.000000 9 | Ni -1.000000 10 | d 1.000000 11 | illum 2 12 | map_Kd ../robots_blender_model-1/reemc/meshes_original/hand/hand_finger_3_color.png 13 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/hand/hand_finger_3.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.74 (sub 0) OBJ File: 'empty.blend' 2 | # www.blender.org 3 | mtllib hand_finger_3.mtl 4 | o default 5 | v -0.004161 -0.018240 0.014266 6 | v 0.004446 -0.003458 -0.015588 7 | v 0.000671 -0.000637 -0.017167 8 | v -0.001177 -0.017462 0.014998 9 | v -0.009321 -0.000471 0.014520 10 | v 0.006372 -0.005071 0.012749 11 | v 0.004142 -0.003214 0.014348 12 | v 0.001061 -0.000708 0.015004 13 | v 0.007001 -0.005875 -0.013108 14 | v 0.007701 -0.007250 0.010754 15 | v 0.007784 -0.007236 -0.010273 16 | v 0.007658 -0.016413 -0.009000 17 | v 0.007658 -0.017292 0.010203 18 | v 0.005118 -0.019722 -0.008580 19 | v 0.005094 -0.021463 0.009312 20 | v 0.001492 -0.021296 -0.008715 21 | v 0.001500 -0.023231 0.009164 22 | v -0.002120 -0.020844 -0.008893 23 | v -0.002624 -0.023091 0.009021 24 | v -0.004693 -0.017760 -0.008403 25 | v -0.006025 -0.019686 0.009519 26 | v -0.005568 -0.019496 0.011857 27 | v -0.002157 -0.021370 0.012851 28 | v 0.000894 -0.021392 0.012988 29 | v 0.004197 -0.020357 0.012512 30 | v -0.012619 -0.000424 0.009983 31 | v -0.011618 -0.000359 0.012630 32 | v 0.001021 -0.017423 0.014964 33 | v 0.003650 -0.016588 0.014739 34 | v 0.005990 -0.016651 0.012750 35 | v -0.005926 -0.000441 -0.016845 36 | v -0.008545 -0.000435 -0.015169 37 | v -0.010070 -0.000594 -0.011136 38 | v -0.001250 -0.019256 -0.012396 39 | v -0.003618 -0.017065 -0.012326 40 | v 0.001669 -0.019582 -0.012302 41 | v 0.004759 -0.018430 -0.011594 42 | v 0.006578 -0.015571 -0.011670 43 | v 0.004373 -0.015238 -0.013790 44 | v 0.001292 -0.015956 -0.014558 45 | v -0.001400 -0.016215 -0.014269 46 | vt 0.711742 0.837393 47 | vt 0.683181 0.579959 48 | vt 0.750216 0.581906 49 | vt 0.592263 0.873571 50 | vt 0.548375 0.593674 51 | vt 0.510262 0.572390 52 | vt 0.158321 0.080704 53 | vt 0.292954 0.375255 54 | vt 0.263610 0.401295 55 | vt 0.577215 0.914568 56 | vt 0.535526 0.954883 57 | vt 0.468317 0.557116 58 | vt 0.414075 0.556609 59 | vt 0.695046 0.510078 60 | vt 0.331019 0.543475 61 | vt 0.353690 0.478077 62 | vt 0.663323 0.444550 63 | vt 0.363413 0.423510 64 | vt 0.641834 0.332273 65 | vt 0.650033 0.390775 66 | vt 0.315958 0.415823 67 | vt 0.351716 0.363853 68 | vt 0.228353 0.041595 69 | vt 0.301424 0.020673 70 | vt 0.327460 0.370901 71 | vt 0.282808 0.491270 72 | vt 0.303892 0.449505 73 | vt 0.210682 0.564629 74 | vt 0.211349 0.501280 75 | vt 0.251189 0.426566 76 | vt 0.024488 0.223200 77 | vt 0.023136 0.448934 78 | vt 0.225316 0.452940 79 | vt 0.013444 0.378705 80 | vt 0.699437 0.335987 81 | vt 0.701613 0.380040 82 | vt 0.717416 0.417174 83 | vt 0.799659 0.535210 84 | vt 0.745817 0.458417 85 | vt 0.983759 0.433950 86 | vt 0.809093 0.470535 87 | vt 0.798775 0.415771 88 | vt 0.765984 0.378266 89 | vt 0.698629 0.018624 90 | vt 0.981897 0.267460 91 | vt 0.982551 0.361036 92 | vt 0.739570 0.349336 93 | vt 0.800492 0.035255 94 | vt 0.875837 0.070443 95 | vt 0.969205 0.164096 96 | vt 0.476062 0.985671 97 | vt 0.387530 0.995167 98 | vt 0.320239 0.986591 99 | vt 0.272885 0.940200 100 | vt 0.242410 0.651981 101 | vt 0.250178 0.614641 102 | vt 0.276843 0.584679 103 | vt 0.018711 0.306906 104 | vt 0.787191 0.821508 105 | vn 0.920500 -0.328100 -0.212200 106 | vn 0.921400 -0.277400 0.271900 107 | vn 0.643400 -0.748200 0.162100 108 | vn 0.974500 0.194100 -0.112100 109 | vn 0.951400 0.192300 0.240500 110 | vn 0.802700 0.407200 0.435600 111 | vn -0.322300 0.586000 0.743400 112 | vn -0.445400 -0.350100 0.824000 113 | vn -0.067700 -0.232000 0.970300 114 | vn 0.866400 0.296800 -0.401600 115 | vn 0.670200 0.397800 -0.626600 116 | vn 0.606200 0.467300 0.643500 117 | vn 0.277400 0.699500 0.658600 118 | vn 0.596200 -0.772000 -0.220200 119 | vn 0.196800 -0.966500 0.165000 120 | vn 0.145300 -0.953500 -0.263900 121 | vn -0.390800 -0.910800 0.133200 122 | vn -0.857700 -0.474000 -0.199100 123 | vn -0.458300 -0.845100 -0.275200 124 | vn -0.261000 -0.730900 0.630600 125 | vn -0.828800 -0.554800 0.072400 126 | vn -0.681600 0.575300 0.452000 127 | vn -0.836100 0.540800 0.092300 128 | vn -0.726000 -0.571100 0.383000 129 | vn 0.500400 -0.598800 0.625200 130 | vn 0.129000 -0.709500 0.692700 131 | vn 0.725900 -0.187500 0.661700 132 | vn 0.103200 -0.249500 0.962800 133 | vn 0.375600 -0.184600 0.908200 134 | vn -0.707300 -0.448400 -0.546500 135 | vn -0.295500 -0.705200 -0.644500 136 | vn 0.170000 -0.739900 -0.650900 137 | vn 0.539200 -0.618100 -0.572000 138 | vn 0.784500 -0.265800 -0.560100 139 | vn 0.467800 -0.290000 -0.834800 140 | vn 0.120300 -0.347000 -0.930100 141 | vn -0.822100 0.537200 -0.188300 142 | vn -0.282200 -0.367300 -0.886200 143 | vn -0.668000 0.523600 -0.528800 144 | vn -0.271900 0.564300 -0.779500 145 | vn 0.281100 0.627900 -0.725800 146 | usemtl hand_finger3 147 | s 1 148 | f 12/1/1 13/2/2 15/3/3 149 | f 12/1/1 11/4/4 10/5/5 150 | f 6/6/6 10/5/5 11/4/4 151 | f 5/7/7 1/8/8 4/9/9 152 | f 9/10/10 2/11/11 7/12/12 153 | f 8/13/13 7/12/12 2/11/11 154 | f 14/14/14 15/15/3 17/16/15 155 | f 16/17/16 17/16/15 19/18/17 156 | f 20/19/18 18/20/19 19/18/17 157 | f 1/8/8 23/21/20 4/9/9 158 | f 21/22/21 19/18/17 23/21/20 159 | f 1/8/8 5/7/7 27/23/22 160 | f 26/24/23 21/22/21 22/25/24 161 | f 17/16/15 15/15/3 25/26/25 162 | f 17/16/15 24/27/26 23/21/20 163 | f 13/28/2 30/29/27 25/26/25 164 | f 4/9/9 28/30/28 8/31/13 165 | f 24/27/26 28/30/28 4/9/9 166 | f 30/29/27 13/28/2 10/32/5 167 | f 29/33/29 30/29/27 6/34/6 168 | f 25/26/25 29/33/29 28/30/28 169 | f 29/33/29 25/26/25 30/29/27 170 | f 23/21/20 1/8/8 22/25/24 171 | f 20/19/18 21/22/21 26/24/23 172 | f 18/20/19 20/19/18 35/35/30 173 | f 16/17/16 18/20/19 34/36/31 174 | f 14/14/14 16/17/16 36/37/32 175 | f 12/38/1 14/14/14 37/39/33 176 | f 11/40/4 12/38/1 38/41/34 177 | f 39/42/35 38/41/34 37/39/33 178 | f 40/43/36 39/42/35 37/39/33 179 | f 40/43/36 36/37/32 34/36/31 180 | f 35/35/30 20/19/18 33/44/37 181 | f 39/42/35 2/45/11 9/46/10 182 | f 2/45/11 39/42/35 40/43/36 183 | f 34/36/31 35/35/30 41/47/38 184 | f 35/35/30 32/48/39 31/49/40 185 | f 41/47/38 31/49/40 3/50/41 186 | f 8/13/13 3/51/41 31/52/40 187 | f 8/13/13 31/52/40 32/53/39 188 | f 8/13/13 32/53/39 33/54/37 189 | f 8/13/13 33/54/37 26/55/23 190 | f 8/13/13 26/55/23 27/56/22 191 | f 8/13/13 27/56/22 5/57/7 192 | f 8/31/13 5/7/7 4/9/9 193 | f 28/30/28 29/33/29 7/58/12 194 | f 15/3/3 14/59/14 12/1/1 195 | f 10/5/5 13/2/2 12/1/1 196 | f 11/4/4 9/10/10 6/6/6 197 | f 7/12/12 6/6/6 9/10/10 198 | f 2/11/11 3/51/41 8/13/13 199 | f 17/16/15 16/17/16 14/14/14 200 | f 19/18/17 18/20/19 16/17/16 201 | f 19/18/17 21/22/21 20/19/18 202 | f 23/21/20 22/25/24 21/22/21 203 | f 27/23/22 22/25/24 1/8/8 204 | f 22/25/24 27/23/22 26/24/23 205 | f 25/26/25 24/27/26 17/16/15 206 | f 23/21/20 19/18/17 17/16/15 207 | f 25/26/25 15/15/3 13/28/2 208 | f 4/9/9 23/21/20 24/27/26 209 | f 10/32/5 6/34/6 30/29/27 210 | f 6/34/6 7/58/12 29/33/29 211 | f 28/30/28 24/27/26 25/26/25 212 | f 26/24/23 33/44/37 20/19/18 213 | f 35/35/30 34/36/31 18/20/19 214 | f 34/36/31 36/37/32 16/17/16 215 | f 36/37/32 37/39/33 14/14/14 216 | f 37/39/33 38/41/34 12/38/1 217 | f 38/41/34 9/46/10 11/40/4 218 | f 37/39/33 36/37/32 40/43/36 219 | f 34/36/31 41/47/38 40/43/36 220 | f 33/44/37 32/48/39 35/35/30 221 | f 9/46/10 38/41/34 39/42/35 222 | f 40/43/36 3/50/41 2/45/11 223 | f 31/49/40 41/47/38 35/35/30 224 | f 3/50/41 40/43/36 41/47/38 225 | f 7/58/12 8/31/13 28/30/28 226 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/hand/hand_palm.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 1 3 | 4 | newmtl hand_palm 5 | Ns 96.078431 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.640000 0.640000 0.640000 8 | Ks 19.000000 19.000000 19.000000 9 | Ni -1.000000 10 | d 1.000000 11 | illum 2 12 | map_Kd ../robots_blender_model-1/reemc/meshes_original/hand/hand_palm_color.png 13 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/hand/hand_thumb.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 1 3 | 4 | newmtl hand_thumb 5 | Ns 96.078431 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.640000 0.640000 0.640000 8 | Ks 32.000000 32.000000 32.000000 9 | Ni -1.000000 10 | d 1.000000 11 | illum 2 12 | map_Kd ../robots_blender_model-1/reemc/meshes_original/hand/hand_thumb_color.png 13 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/hand/hand_thumb.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.74 (sub 0) OBJ File: 'empty.blend' 2 | # www.blender.org 3 | mtllib hand_thumb.mtl 4 | o default 5 | v -0.020546 0.010698 -0.006196 6 | v -0.030689 -0.001931 -0.021305 7 | v -0.019777 -0.001179 -0.025069 8 | v -0.028442 0.010642 -0.005327 9 | v -0.017752 -0.008121 -0.025007 10 | v -0.030617 0.005755 -0.014140 11 | v -0.020482 0.005662 -0.017122 12 | v -0.029857 -0.007864 -0.020580 13 | v -0.031464 0.009323 0.002508 14 | v -0.020463 0.009204 0.000821 15 | v -0.028454 0.006283 0.008461 16 | v -0.020259 0.006217 0.006982 17 | v -0.028028 0.000799 0.010695 18 | v -0.020112 0.001500 0.009574 19 | v -0.028935 -0.005913 0.007300 20 | v -0.019478 -0.005289 0.006092 21 | v -0.039613 -0.010657 -0.005225 22 | v -0.036522 -0.011347 0.001558 23 | v -0.017705 -0.010486 0.000306 24 | v -0.027361 -0.010873 0.001390 25 | v -0.016363 -0.011786 -0.002858 26 | v -0.027286 -0.011981 -0.001969 27 | v -0.016182 -0.012041 -0.014147 28 | v -0.028096 -0.011774 -0.011780 29 | v -0.063466 0.001713 0.043619 30 | v -0.058696 -0.000383 0.048011 31 | v -0.053987 -0.003375 0.035943 32 | v -0.060053 -0.001335 0.031697 33 | v -0.057456 -0.004755 0.017355 34 | v -0.051271 -0.006755 0.021704 35 | v -0.046789 -0.009197 0.010933 36 | v -0.051782 -0.007410 0.004866 37 | v -0.065633 0.003245 0.049043 38 | v -0.063947 0.001837 0.054487 39 | v -0.070019 0.007793 0.050648 40 | v -0.070937 0.008048 0.056008 41 | v -0.070326 0.013102 0.049576 42 | v -0.071908 0.013787 0.054874 43 | v -0.067524 0.016672 0.047777 44 | v -0.067810 0.019988 0.052469 45 | v -0.063955 0.017606 0.043690 46 | v -0.061185 0.021504 0.047600 47 | v -0.035285 0.010899 -0.002695 48 | v -0.040000 0.005585 -0.009973 49 | v -0.043931 0.012027 0.004015 50 | v -0.051227 0.006216 -0.000554 51 | v -0.049631 0.014214 0.014477 52 | v -0.057127 0.009336 0.011579 53 | v -0.051751 0.016442 0.024199 54 | v -0.059615 0.012612 0.024692 55 | v -0.056454 0.019734 0.038572 56 | v -0.062669 0.015120 0.036418 57 | v -0.043359 -0.000744 -0.013590 58 | v -0.042918 -0.005925 -0.013281 59 | v -0.054335 0.001893 -0.001598 60 | v -0.055152 -0.003063 -0.000166 61 | v -0.061424 0.004570 0.012397 62 | v -0.061634 -0.001202 0.013385 63 | v -0.064181 0.007550 0.024775 64 | v -0.064043 0.001806 0.026888 65 | v -0.067328 0.010597 0.038563 66 | v -0.066839 0.004967 0.038664 67 | v -0.039534 0.010012 0.008960 68 | v -0.036861 0.007674 0.012662 69 | v -0.045713 0.012177 0.017170 70 | v -0.041983 0.009418 0.020113 71 | v -0.048276 0.014456 0.024775 72 | v -0.044005 -0.008915 0.012776 73 | v -0.035090 -0.010614 0.004460 74 | v -0.035601 -0.005431 0.010592 75 | v -0.040590 -0.004354 0.015516 76 | v -0.048295 -0.006262 0.023282 77 | v -0.044408 -0.002308 0.023479 78 | v -0.051170 -0.002821 0.036948 79 | v -0.047135 0.000850 0.035049 80 | v -0.056199 0.000281 0.050011 81 | v -0.052806 0.003973 0.049163 82 | v -0.062149 0.002850 0.057936 83 | v -0.057397 0.007859 0.056076 84 | v -0.069935 0.008656 0.058577 85 | v -0.066005 0.010531 0.059007 86 | v -0.070572 0.015566 0.056900 87 | v -0.065958 0.014292 0.058131 88 | v -0.053287 0.018389 0.039984 89 | v -0.058073 0.020679 0.049415 90 | v -0.066769 0.020129 0.055188 91 | v -0.063683 0.018388 0.056149 92 | v -0.060651 0.012760 0.056868 93 | v -0.050209 0.014359 0.042812 94 | v -0.049986 0.009914 0.044834 95 | v -0.035175 0.001666 0.014607 96 | v -0.040591 0.003605 0.022610 97 | v -0.044342 0.006349 0.032441 98 | v -0.045090 0.011588 0.029381 99 | v -0.055114 0.015512 0.051638 100 | v -0.053823 0.011212 0.051756 101 | v -0.066795 0.005557 0.059156 102 | v -0.068216 0.004561 0.056384 103 | vt 0.970757 0.426740 104 | vt 0.988492 0.568196 105 | vt 0.853212 0.534595 106 | vt 0.843822 0.417613 107 | vt 0.897729 0.181180 108 | vt 0.931069 0.273105 109 | vt 0.833753 0.295071 110 | vt 0.761247 0.216825 111 | vt 0.836594 0.596604 112 | vt 0.971686 0.666536 113 | vt 0.761256 0.119420 114 | vt 0.866990 0.096390 115 | vt 0.750742 0.040498 116 | vt 0.850749 0.028177 117 | vt 0.468168 0.850315 118 | vt 0.547120 0.790951 119 | vt 0.609770 0.900846 120 | vt 0.519454 0.945543 121 | vt 0.520941 0.520409 122 | vt 0.649348 0.606476 123 | vt 0.597531 0.664667 124 | vt 0.473195 0.582471 125 | vt 0.769501 0.679371 126 | vt 0.679286 0.745621 127 | vt 0.709187 0.869659 128 | vt 0.641139 0.764280 129 | vt 0.757609 0.859246 130 | vt 0.875599 0.780019 131 | vt 0.404331 0.472941 132 | vt 0.361812 0.534984 133 | vt 0.277596 0.421973 134 | vt 0.228113 0.474822 135 | vt 0.182321 0.361154 136 | vt 0.135195 0.394366 137 | vt 0.134171 0.232688 138 | vt 0.162532 0.247688 139 | vt 0.143986 0.279148 140 | vt 0.107078 0.259445 141 | vt 0.163109 0.204512 142 | vt 0.185171 0.226238 143 | vt 0.202242 0.181365 144 | vt 0.219782 0.217486 145 | vt 0.747791 0.297246 146 | vt 0.735500 0.407418 147 | vt 0.627395 0.281304 148 | vt 0.598199 0.381678 149 | vt 0.484279 0.328774 150 | vt 0.506104 0.239778 151 | vt 0.373768 0.273163 152 | vt 0.411857 0.200269 153 | vt 0.275122 0.174948 154 | vt 0.272408 0.241209 155 | vt 0.704340 0.528950 156 | vt 0.714528 0.482365 157 | vt 0.557059 0.465235 158 | vt 0.579511 0.426232 159 | vt 0.454082 0.376927 160 | vt 0.437898 0.424166 161 | vt 0.351391 0.331235 162 | vt 0.325292 0.379966 163 | vt 0.238682 0.284788 164 | vt 0.229072 0.329887 165 | vt 0.637605 0.134270 166 | vt 0.636346 0.200986 167 | vt 0.516099 0.184373 168 | vt 0.523239 0.119538 169 | vt 0.429729 0.163520 170 | vt 0.572049 0.691197 171 | vt 0.457349 0.614135 172 | vt 0.482262 0.722051 173 | vt 0.412293 0.670185 174 | vt 0.341973 0.564561 175 | vt 0.317321 0.621549 176 | vt 0.196587 0.557966 177 | vt 0.209878 0.498615 178 | vt 0.110208 0.406587 179 | vt 0.084915 0.444091 180 | vt 0.075724 0.331262 181 | vt 0.102411 0.332171 182 | vt 0.026775 0.370621 183 | vt 0.097089 0.292014 184 | vt 0.071948 0.289897 185 | vt 0.081537 0.244768 186 | vt 0.030250 0.269166 187 | vt 0.131799 0.217689 188 | vt 0.083404 0.189205 189 | vt 0.115621 0.189994 190 | vt 0.275868 0.143980 191 | vt 0.197990 0.159523 192 | vt 0.153232 0.196231 193 | vt 0.147130 0.180693 194 | vt 0.123285 0.144560 195 | vt 0.105382 0.091052 196 | vt 0.148025 0.708778 197 | vt 0.083445 0.855781 198 | vt 0.060429 0.788249 199 | vt 0.075055 0.734019 200 | vt 0.235211 0.963980 201 | vt 0.122388 0.918940 202 | vt 0.262224 0.725951 203 | vt 0.344116 0.807702 204 | vt 0.391638 0.772763 205 | vt 0.648888 0.048835 206 | vt 0.527658 0.039494 207 | vt 0.286050 0.702838 208 | vt 0.412422 0.098790 209 | vt 0.401404 0.030905 210 | vt 0.173729 0.631424 211 | vt 0.266271 0.092573 212 | vt 0.249875 0.045850 213 | vt 0.054838 0.522003 214 | vt 0.182046 0.116716 215 | vt 0.170428 0.077238 216 | vt 0.007001 0.444270 217 | vt 0.228098 0.711349 218 | vt 0.340383 0.973136 219 | vt 0.391347 0.919231 220 | vt 0.145477 0.329011 221 | vn 0.516700 0.715400 -0.470200 222 | vn 0.388300 0.392500 -0.833800 223 | vn -0.392900 0.259600 -0.882100 224 | vn -0.219700 0.774100 -0.593600 225 | vn 0.642600 0.727800 0.239500 226 | vn 0.565200 0.816100 -0.120300 227 | vn -0.030100 0.985000 -0.169500 228 | vn 0.161400 0.952700 0.257500 229 | vn -0.348400 -0.609800 -0.711800 230 | vn 0.539100 -0.388500 -0.747200 231 | vn 0.257600 0.710700 0.654600 232 | vn 0.673500 0.560800 0.481600 233 | vn 0.310800 -0.075700 0.947400 234 | vn 0.653200 0.040700 0.756100 235 | vn 0.231400 -0.617600 0.751600 236 | vn 0.669400 -0.364100 0.647500 237 | vn -0.466700 -0.871000 -0.153200 238 | vn -0.298600 -0.935600 -0.188500 239 | vn -0.084200 -0.992400 0.089300 240 | vn -0.195100 -0.977200 0.083900 241 | vn -0.139100 -0.968000 -0.209000 242 | vn 0.003200 -0.990800 0.135600 243 | vn 0.510300 -0.651600 0.561200 244 | vn 0.112100 -0.869000 0.481900 245 | vn 0.751500 -0.629300 0.198000 246 | vn 0.732300 -0.657500 -0.177100 247 | vn -0.520100 -0.853300 0.036700 248 | vn -0.193400 -0.965100 0.176500 249 | vn -0.532400 -0.841800 0.089200 250 | vn -0.149100 -0.968000 0.201700 251 | vn -0.554800 -0.831700 0.020000 252 | vn -0.196200 -0.965400 0.171900 253 | vn -0.982700 0.176500 0.055900 254 | vn -0.932000 0.190600 -0.308100 255 | vn -0.901900 -0.396200 -0.171700 256 | vn -0.914300 -0.377900 0.145700 257 | vn -0.609600 0.780900 -0.135700 258 | vn -0.709500 0.580700 -0.399200 259 | vn -0.150500 0.979700 -0.132500 260 | vn -0.586700 0.714300 -0.381500 261 | vn -0.041300 0.982000 -0.184300 262 | vn -0.345700 0.726600 -0.593800 263 | vn -0.063100 0.973000 -0.221800 264 | vn -0.508200 0.692300 -0.512200 265 | vn -0.584900 0.718000 -0.377200 266 | vn -0.017300 0.977500 -0.210200 267 | vn -0.582900 0.748700 -0.315700 268 | vn 0.052100 0.975600 -0.213000 269 | vn -0.023300 0.976100 -0.215800 270 | vn -0.620700 0.713000 -0.326000 271 | vn -0.573900 -0.525700 -0.627900 272 | vn -0.582400 0.259900 -0.770200 273 | vn -0.776600 -0.427700 -0.462600 274 | vn -0.757700 0.274000 -0.592300 275 | vn -0.883700 0.291800 -0.365900 276 | vn -0.874600 -0.438200 -0.207400 277 | vn -0.914400 0.301000 -0.270600 278 | vn -0.884400 -0.461800 -0.068100 279 | vn -0.914700 0.270100 -0.300400 280 | vn -0.889700 -0.439700 -0.122600 281 | vn 0.564600 0.698700 0.439300 282 | vn 0.369200 0.913800 0.169200 283 | vn 0.510600 0.859400 0.026500 284 | vn 0.746500 0.629700 0.214900 285 | vn 0.573700 0.818500 -0.029900 286 | vn 0.159500 -0.891400 0.424200 287 | vn 0.220500 -0.906600 0.359700 288 | vn 0.420200 -0.589600 0.689800 289 | vn 0.595400 -0.584600 0.551100 290 | vn 0.346800 -0.876100 0.334900 291 | vn 0.726700 -0.544500 0.418800 292 | vn 0.819200 -0.432600 0.376500 293 | vn 0.447000 -0.825200 0.345300 294 | vn 0.406400 -0.781400 0.473600 295 | vn 0.792500 -0.322100 0.517900 296 | vn 0.175500 -0.605600 0.776200 297 | vn -0.328200 -0.926400 0.184300 298 | vn 0.613300 -0.051800 0.788100 299 | vn -0.632800 -0.738200 0.233500 300 | vn -0.223300 -0.416700 0.881200 301 | vn -0.615000 -0.141300 0.775700 302 | vn 0.070200 0.135100 0.988300 303 | vn -0.642400 0.436000 0.630300 304 | vn 0.041000 0.298000 0.953700 305 | vn 0.583000 0.810300 0.058400 306 | vn 0.461500 0.820900 0.336100 307 | vn -0.227800 0.822600 0.521000 308 | vn 0.310700 0.551500 0.774100 309 | vn 0.452500 0.262800 0.852100 310 | vn 0.655700 -0.067900 0.751900 311 | vn 0.887200 -0.068500 0.456300 312 | vn 0.821500 0.546800 0.161700 313 | vn 0.935100 -0.011000 0.354000 314 | vn 0.835700 0.459400 0.300700 315 | vn 0.902100 0.059200 0.427500 316 | vn 0.676300 0.431700 0.596900 317 | vn 0.796100 0.127400 0.591500 318 | vn -0.611300 -0.790000 -0.046500 319 | usemtl hand_thumb 320 | s 1 321 | f 7/1/1 3/2/2 2/3/3 322 | f 2/3/3 6/4/4 7/1/1 323 | f 10/5/5 1/6/6 4/7/7 324 | f 4/7/7 9/8/8 10/5/5 325 | f 1/6/6 7/1/1 6/4/4 326 | f 6/4/4 4/7/7 1/6/6 327 | f 8/9/9 2/3/3 3/2/2 328 | f 3/2/2 5/10/10 8/9/9 329 | f 11/11/11 12/12/12 10/5/5 330 | f 10/5/5 9/8/8 11/11/11 331 | f 11/11/11 13/13/13 14/14/14 332 | f 14/14/14 12/12/12 11/11/11 333 | f 13/15/13 15/16/15 16/17/16 334 | f 16/17/16 14/18/14 13/15/13 335 | f 32/19/17 17/20/18 18/21/19 336 | f 18/21/19 31/22/20 32/19/17 337 | f 17/20/18 24/23/21 22/24/22 338 | f 22/24/22 18/21/19 17/20/18 339 | f 19/25/23 20/26/24 22/24/22 340 | f 22/24/22 21/27/25 19/25/23 341 | f 21/27/25 22/24/22 24/23/21 342 | f 24/23/21 23/28/26 21/27/25 343 | f 23/28/26 24/23/21 8/9/9 344 | f 8/9/9 5/10/10 23/28/26 345 | f 29/29/27 32/19/17 31/22/20 346 | f 31/22/20 30/30/28 29/29/27 347 | f 20/26/24 19/25/23 16/17/16 348 | f 16/17/16 15/16/15 20/26/24 349 | f 28/31/29 29/29/27 30/30/28 350 | f 30/30/28 27/32/30 28/31/29 351 | f 25/33/31 28/31/29 27/32/30 352 | f 27/32/30 26/34/32 25/33/31 353 | f 38/35/33 37/36/34 35/37/35 354 | f 35/37/35 36/38/36 38/35/33 355 | f 40/39/37 39/40/38 37/36/34 356 | f 37/36/34 38/35/33 40/39/37 357 | f 42/41/39 41/42/40 39/40/38 358 | f 39/40/38 40/39/37 42/41/39 359 | f 43/43/41 4/7/7 6/4/4 360 | f 6/4/4 44/44/42 43/43/41 361 | f 45/45/43 43/43/41 44/44/42 362 | f 44/44/42 46/46/44 45/45/43 363 | f 48/47/45 47/48/46 45/45/43 364 | f 45/45/43 46/46/44 48/47/45 365 | f 50/49/47 49/50/48 47/48/46 366 | f 47/48/46 48/47/45 50/49/47 367 | f 51/51/49 49/50/48 50/49/47 368 | f 50/49/47 52/52/50 51/51/49 369 | f 51/51/49 52/52/50 41/42/40 370 | f 41/42/40 42/41/39 51/51/49 371 | f 54/53/51 53/54/52 2/3/3 372 | f 2/3/3 8/9/9 54/53/51 373 | f 56/55/53 55/56/54 53/54/52 374 | f 53/54/52 54/53/51 56/55/53 375 | f 6/4/4 2/3/3 53/54/52 376 | f 53/54/52 44/44/42 6/4/4 377 | f 53/54/52 55/56/54 46/46/44 378 | f 46/46/44 44/44/42 53/54/52 379 | f 54/53/51 8/9/9 24/23/21 380 | f 24/23/21 17/20/18 54/53/51 381 | f 56/55/53 54/53/51 17/20/18 382 | f 17/20/18 32/19/17 56/55/53 383 | f 57/57/55 55/56/54 56/55/53 384 | f 56/55/53 58/58/56 57/57/55 385 | f 55/56/54 57/57/55 48/47/45 386 | f 48/47/45 46/46/44 55/56/54 387 | f 58/58/56 56/55/53 32/19/17 388 | f 32/19/17 29/29/27 58/58/56 389 | f 59/59/57 57/57/55 58/58/56 390 | f 58/58/56 60/60/58 59/59/57 391 | f 60/60/58 58/58/56 29/29/27 392 | f 29/29/27 28/31/29 60/60/58 393 | f 57/57/55 59/59/57 50/49/47 394 | f 50/49/47 48/47/45 57/57/55 395 | f 59/59/57 61/61/59 52/52/50 396 | f 52/52/50 50/49/47 59/59/57 397 | f 62/62/60 61/61/59 59/59/57 398 | f 59/59/57 60/60/58 62/62/60 399 | f 62/62/60 60/60/58 28/31/29 400 | f 28/31/29 25/33/31 62/62/60 401 | f 41/42/40 52/52/50 61/61/59 402 | f 61/61/59 39/40/38 41/42/40 403 | f 39/40/38 61/61/59 37/36/34 404 | f 61/61/59 62/62/60 35/37/35 405 | f 35/37/35 37/36/34 61/61/59 406 | f 64/63/61 11/11/11 9/8/8 407 | f 9/8/8 63/64/62 64/63/61 408 | f 4/7/7 43/43/41 9/8/8 409 | f 63/64/62 9/8/8 43/43/41 410 | f 43/43/41 45/45/43 63/64/62 411 | f 47/48/46 65/65/63 63/64/62 412 | f 63/64/62 45/45/43 47/48/46 413 | f 65/65/63 66/66/64 64/63/61 414 | f 64/63/61 63/64/62 65/65/63 415 | f 49/50/48 67/67/65 65/65/63 416 | f 65/65/63 47/48/46 49/50/48 417 | f 69/68/66 68/69/67 31/22/20 418 | f 31/22/20 18/21/19 69/68/66 419 | f 20/26/24 69/68/66 18/21/19 420 | f 18/21/19 22/24/22 20/26/24 421 | f 15/16/15 70/70/68 69/68/66 422 | f 69/68/66 20/26/24 15/16/15 423 | f 68/69/67 69/68/66 70/70/68 424 | f 70/70/68 71/71/69 68/69/67 425 | f 68/69/67 72/72/70 30/30/28 426 | f 30/30/28 31/22/20 68/69/67 427 | f 72/72/70 68/69/67 71/71/69 428 | f 71/71/69 73/73/71 72/72/70 429 | f 72/72/70 73/73/71 75/74/72 430 | f 75/74/72 74/75/73 72/72/70 431 | f 72/72/70 74/75/73 27/32/30 432 | f 27/32/30 30/30/28 72/72/70 433 | f 74/75/73 76/76/74 26/34/32 434 | f 26/34/32 27/32/30 74/75/73 435 | f 74/75/73 75/74/72 77/77/75 436 | f 77/77/75 76/76/74 74/75/73 437 | f 76/76/74 78/78/76 34/79/77 438 | f 34/79/77 26/34/32 76/76/74 439 | f 76/76/74 77/77/75 79/80/78 440 | f 79/80/78 78/78/76 76/76/74 441 | f 98/81/79 97/82/80 80/83/81 442 | f 80/83/81 36/38/36 98/81/79 443 | f 80/83/81 97/82/80 81/84/82 444 | f 80/83/81 82/85/83 38/35/33 445 | f 38/35/33 36/38/36 80/83/81 446 | f 80/83/81 81/86/82 83/87/84 447 | f 83/87/84 82/85/83 80/83/81 448 | f 84/88/85 67/67/65 49/50/48 449 | f 49/50/48 51/51/49 84/88/85 450 | f 85/89/86 84/88/85 51/51/49 451 | f 51/51/49 42/41/39 85/89/86 452 | f 86/90/87 85/89/86 42/41/39 453 | f 42/41/39 40/39/37 86/90/87 454 | f 82/85/83 86/90/87 40/39/37 455 | f 40/39/37 38/35/33 82/85/83 456 | f 86/90/87 82/85/83 83/87/84 457 | f 83/87/84 87/91/88 86/90/87 458 | f 87/91/88 85/89/86 86/90/87 459 | f 88/92/89 83/87/84 81/86/82 460 | f 81/86/82 79/93/78 88/92/89 461 | f 83/87/84 88/92/89 87/91/88 462 | f 88/92/89 85/89/86 87/91/88 463 | f 16/94/16 10/95/5 12/96/12 464 | f 12/96/12 14/97/14 16/94/16 465 | f 7/98/1 1/99/6 21/100/25 466 | f 21/100/25 23/101/26 7/98/1 467 | f 13/15/13 91/102/90 70/70/68 468 | f 70/70/68 15/16/15 13/15/13 469 | f 11/11/11 64/63/61 91/103/90 470 | f 91/103/90 13/13/13 11/11/11 471 | f 70/70/68 91/102/90 71/71/69 472 | f 64/63/61 66/66/64 92/104/91 473 | f 92/104/91 91/103/90 64/63/61 474 | f 71/71/69 91/102/90 92/105/91 475 | f 92/105/91 73/73/71 71/71/69 476 | f 67/67/65 94/106/92 66/66/64 477 | f 66/66/64 65/65/63 67/67/65 478 | f 94/106/92 93/107/93 92/104/91 479 | f 92/104/91 66/66/64 94/106/92 480 | f 73/73/71 92/105/91 93/108/93 481 | f 93/108/93 75/74/72 73/73/71 482 | f 94/106/92 67/67/65 84/88/85 483 | f 84/88/85 89/109/94 94/106/92 484 | f 89/109/94 90/110/95 93/107/93 485 | f 93/107/93 94/106/92 89/109/94 486 | f 75/74/72 93/108/93 90/111/95 487 | f 90/111/95 77/77/75 75/74/72 488 | f 95/112/96 85/89/86 88/92/89 489 | f 89/109/94 84/88/85 85/89/86 490 | f 85/89/86 95/112/96 89/109/94 491 | f 95/112/96 96/113/97 90/110/95 492 | f 90/110/95 89/109/94 95/112/96 493 | f 96/114/97 77/77/75 90/111/95 494 | f 77/77/75 96/114/97 79/80/78 495 | f 96/113/97 95/112/96 88/92/89 496 | f 88/92/89 79/93/78 96/113/97 497 | f 21/100/25 1/99/6 10/95/5 498 | f 21/100/25 10/95/5 16/94/16 499 | f 21/100/25 16/94/16 19/115/23 500 | f 78/78/76 97/82/80 98/81/79 501 | f 98/81/79 34/79/77 78/78/76 502 | f 3/116/2 7/98/1 23/101/26 503 | f 23/101/26 5/117/10 3/116/2 504 | f 78/78/76 79/80/78 81/84/82 505 | f 81/84/82 97/82/80 78/78/76 506 | f 33/118/98 25/33/31 26/34/32 507 | f 26/34/32 34/79/77 33/118/98 508 | f 35/37/35 33/118/98 98/81/79 509 | f 98/81/79 36/38/36 35/37/35 510 | f 33/118/98 35/37/35 62/62/60 511 | f 62/62/60 25/33/31 33/118/98 512 | f 98/81/79 33/118/98 34/79/77 513 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/head/head_1.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 0 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.8 0.8 0.8 8 | Ks 0.8 0.8 0.8 9 | d 1 10 | illum 2 11 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/head/head_1.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.74 (sub 0) OBJ File: 'empty.blend' 2 | # www.blender.org 3 | mtllib head_1.mtl 4 | o node_shape0 5 | v 0.007910 -0.058313 -0.049404 6 | v -0.031250 -0.007201 -0.049393 7 | v 0.017208 0.061426 -0.049404 8 | v 0.089910 -0.022092 -0.049423 9 | v 0.034728 -0.062391 -0.049410 10 | v 0.021150 -0.061941 -0.049407 11 | v 0.052031 -0.059131 -0.049420 12 | v 0.009529 0.054289 0.083298 13 | v -0.007498 0.025643 0.093128 14 | v -0.001075 0.043640 0.089419 15 | v 0.054392 -0.060962 0.057396 16 | v 0.042972 0.060675 0.063989 17 | v -0.004122 -0.038251 0.091179 18 | v 0.086302 -0.059398 0.038973 19 | v 0.110095 0.051958 0.025236 20 | v 0.118935 -0.046758 0.020132 21 | v 0.134710 -0.028794 0.011025 22 | v 0.090985 0.058957 0.036269 23 | v 0.140305 0.016273 0.007794 24 | v -0.028009 0.021786 -0.039492 25 | v -0.015923 0.042785 -0.010160 26 | v -0.006974 0.050458 -0.049398 27 | v -0.022432 0.033229 -0.049395 28 | v 0.004719 0.056833 -0.022292 29 | v 0.057183 0.056713 -0.049413 30 | v 0.050579 0.059446 -0.030551 31 | v 0.076354 0.043267 -0.032458 32 | v 0.074478 0.044946 -0.049417 33 | v 0.086807 0.028344 -0.049420 34 | v 0.094054 0.005811 -0.049423 35 | v 0.093707 0.003237 -0.032771 36 | v 0.068604 -0.050016 -0.049418 37 | v 0.059580 -0.055814 -0.034637 38 | v 0.034325 -0.062117 -0.020216 39 | v -0.020910 -0.034791 -0.049396 40 | v 0.037510 0.062280 -0.049408 41 | v 0.098371 0.018500 -0.025107 42 | v 0.088652 0.025380 -0.032979 43 | v 0.064243 0.053167 -0.029360 44 | v 0.043310 0.061494 -0.010199 45 | v -0.025419 0.028961 0.017591 46 | v -0.008193 0.051689 0.031602 47 | v 0.040434 0.061148 0.027069 48 | v -0.011420 0.027149 0.085976 49 | v -0.009605 0.041836 0.074604 50 | v -0.018404 0.040010 0.040270 51 | v -0.003317 0.052082 0.063125 52 | v 0.005755 0.057286 0.055885 53 | v 0.017891 0.059407 0.038548 54 | v 0.020536 0.058885 0.076943 55 | v 0.108844 0.047240 0.007303 56 | v 0.082857 0.056479 0.007130 57 | v 0.061399 0.061002 0.053351 58 | v 0.067782 0.059997 0.019289 59 | v 0.099022 0.044500 -0.008012 60 | v 0.122248 0.043543 0.018220 61 | v 0.085293 0.042848 -0.019968 62 | v 0.132595 0.031827 0.012246 63 | v 0.116675 0.022461 -0.014927 64 | v 0.130512 0.020923 -0.003003 65 | v 0.115902 0.033939 -0.007461 66 | v 0.062257 -0.060070 0.009554 67 | v 0.082673 -0.042218 -0.022192 68 | v 0.119364 -0.013454 -0.017154 69 | v -0.018182 -0.039765 0.042275 70 | v -0.017095 -0.043120 0.004585 71 | v 0.001972 -0.055580 -0.020187 72 | v -0.020143 0.031166 0.056442 73 | v -0.025703 0.007261 0.045757 74 | v -0.027542 -0.010294 0.032887 75 | v -0.025053 -0.028335 0.025447 76 | v 0.103580 -0.046299 -0.001141 77 | v 0.113858 -0.031502 -0.011117 78 | v 0.127438 -0.028838 -0.000649 79 | v 0.135051 -0.007700 -0.003762 80 | v 0.142415 -0.008002 0.006576 81 | v 0.098516 -0.056716 0.031921 82 | v 0.071943 -0.060614 0.047263 83 | v -0.021463 -0.025025 0.057024 84 | v -0.009598 -0.043203 0.072116 85 | v -0.009682 -0.050603 0.028675 86 | v 0.013261 -0.058779 0.036629 87 | v 0.047924 -0.061250 0.025257 88 | v 0.028012 -0.060784 0.022961 89 | v 0.021978 -0.059266 0.076110 90 | v 0.005452 -0.051299 0.085652 91 | v -0.012861 -0.029058 0.081288 92 | v -0.000421 -0.054015 0.062044 93 | v 0.097882 -0.053284 0.012066 94 | v 0.000738 -0.055848 0.028058 95 | v 0.091904 -0.014783 -0.034886 96 | v 0.098196 -0.009813 -0.026229 97 | v 0.092353 -0.024673 -0.025971 98 | v 0.069595 -0.053806 -0.017069 99 | v 0.074922 -0.044321 -0.037328 100 | v 0.048233 -0.060364 -0.019080 101 | v 0.084042 -0.033211 -0.036754 102 | v -0.028737 -0.018648 -0.049390 103 | v -0.024650 -0.031478 0.012883 104 | v -0.006611 -0.049752 -0.049399 105 | v -0.031363 -0.002638 -0.003211 106 | v -0.031426 0.005947 -0.049392 107 | v -0.030021 0.013791 -0.008849 108 | v -0.009132 -0.013881 0.094072 109 | v -0.019542 -0.007613 0.069917 110 | v -0.014071 -0.005078 0.083909 111 | v -0.018378 0.019278 0.070557 112 | v 0.129724 0.006156 -0.010533 113 | v 0.115634 0.006413 -0.019722 114 | v 0.065801 0.056011 -0.014874 115 | v -0.003550 0.052446 -0.026277 116 | v -0.021775 0.035473 -0.009561 117 | v -0.028062 0.018371 0.017653 118 | v -0.029251 -0.017121 -0.008887 119 | v 0.016311 -0.059958 -0.003886 120 | v 0.026651 0.061729 -0.016159 121 | v 0.011925 0.058801 0.008605 122 | vn -0.000200 0.000000 -1.000000 123 | vn -0.000300 0.000000 -1.000000 124 | vn -0.000800 -0.000000 -1.000000 125 | vn 0.000500 -0.000200 -1.000000 126 | vn -0.935800 0.308500 -0.170500 127 | vn -0.000300 0.000100 -1.000000 128 | vn -0.000600 0.000600 -1.000000 129 | vn -0.000500 0.000100 -1.000000 130 | vn 0.000400 -0.000500 -1.000000 131 | vn 0.788400 -0.601600 -0.128600 132 | vn 0.500000 -0.000000 0.866000 133 | vn 0.499900 0.000100 0.866100 134 | vn -0.774700 0.380600 0.505000 135 | vn 0.499900 -0.000100 0.866100 136 | vn -0.308600 0.940000 0.145200 137 | vn -0.966400 0.124100 0.225300 138 | vn -0.976500 0.215600 -0.007900 139 | vn -0.886300 0.461800 0.034600 140 | vn -0.743700 0.667300 -0.039100 141 | vn -0.599100 0.800400 0.019900 142 | vn -0.412800 0.910100 -0.036000 143 | vn -0.466000 0.884800 -0.007100 144 | vn -0.318500 0.947800 0.013900 145 | vn -0.042000 0.999100 0.002800 146 | vn 0.272000 0.961300 -0.044000 147 | vn 0.416500 0.909000 0.014100 148 | vn 0.633900 0.773400 0.006500 149 | vn 0.561800 0.825700 -0.051700 150 | vn 0.802500 0.596000 -0.029700 151 | vn 0.824100 0.566300 0.009700 152 | vn 0.950700 0.305800 -0.051500 153 | vn 0.973300 0.222700 0.054700 154 | vn 0.987300 -0.146600 -0.061700 155 | vn 0.995000 -0.100200 0.005200 156 | vn 0.914500 -0.397700 0.074500 157 | vn 0.763900 -0.617400 -0.188100 158 | vn 0.605000 -0.794100 0.057900 159 | vn 0.481300 -0.875100 -0.049500 160 | vn 0.185100 -0.982600 -0.016800 161 | vn -0.033200 -0.999400 0.008900 162 | vn -0.899400 -0.436100 -0.030800 163 | vn -0.976700 -0.214400 -0.004300 164 | vn -0.999900 -0.013400 -0.001100 165 | vn 0.232400 0.972500 -0.014900 166 | vn 0.684100 0.149500 -0.713900 167 | vn 0.731100 0.492400 -0.472300 168 | vn 0.710700 0.503000 -0.491800 169 | vn 0.534700 0.765900 -0.357000 170 | vn 0.423200 0.879400 -0.218200 171 | vn 0.007300 0.999800 0.018900 172 | vn -0.922400 0.371900 0.104100 173 | vn -0.976000 0.161800 0.145900 174 | vn -0.753200 0.657800 -0.000900 175 | vn -0.834100 0.551500 -0.010700 176 | vn -0.371700 0.928300 -0.000500 177 | vn -0.460100 0.885800 0.060100 178 | vn -0.171800 0.985000 0.014300 179 | vn -0.060400 0.997600 0.032700 180 | vn -0.710500 0.696300 0.101200 181 | vn -0.919700 0.050700 0.389200 182 | vn -0.871600 0.047700 0.488000 183 | vn -0.926100 0.223400 0.303900 184 | vn -0.807600 0.420200 0.413900 185 | vn -0.642600 0.711900 0.283400 186 | vn -0.588400 0.753900 0.292200 187 | vn -0.885000 0.348400 0.308800 188 | vn -0.839800 0.509200 0.188100 189 | vn -0.752200 0.639500 0.158700 190 | vn -0.396600 0.905100 0.153500 191 | vn -0.140000 0.989900 0.023100 192 | vn -0.068200 0.997500 0.017500 193 | vn -0.069000 0.997400 0.018300 194 | vn -0.156500 0.987600 0.011200 195 | vn -0.254600 0.967100 -0.002200 196 | vn 0.045700 0.998900 0.012800 197 | vn 0.324100 0.906500 -0.270500 198 | vn 0.161600 0.983300 -0.084200 199 | vn 0.198800 0.964400 -0.174600 200 | vn 0.035600 0.999100 -0.022800 201 | vn 0.058300 0.998100 -0.018500 202 | vn 0.132300 0.983800 -0.120600 203 | vn 0.373200 0.759100 -0.533400 204 | vn 0.372400 0.842400 -0.389600 205 | vn 0.571300 0.712400 -0.407600 206 | vn 0.444500 0.407200 -0.797900 207 | vn 0.439300 0.671100 -0.597200 208 | vn 0.485200 0.752200 -0.445800 209 | vn 0.536500 0.738300 -0.408700 210 | vn 0.738600 0.496600 -0.456000 211 | vn 0.768300 0.257700 -0.585900 212 | vn 0.434000 0.232000 -0.870600 213 | vn 0.536800 0.209400 -0.817300 214 | vn 0.638300 0.322400 -0.699100 215 | vn 0.320900 0.531600 -0.783900 216 | vn 0.608100 0.461300 -0.646100 217 | vn 0.657100 0.567800 -0.495800 218 | vn 0.260400 0.953200 -0.153700 219 | vn 0.324800 0.908800 -0.261700 220 | vn 0.445600 0.857600 -0.256700 221 | vn -0.009900 0.999900 0.013500 222 | vn 0.129100 -0.990200 -0.053100 223 | vn 0.122400 -0.991200 -0.049800 224 | vn 0.244400 -0.954200 -0.172700 225 | vn 0.305700 -0.909900 -0.280500 226 | vn 0.419000 -0.718400 -0.555400 227 | vn 0.427000 -0.409200 -0.806400 228 | vn 0.430600 -0.401700 -0.808200 229 | vn 0.365600 -0.159700 -0.917000 230 | vn -0.026500 -0.999300 0.027000 231 | vn -0.830100 -0.557000 0.025600 232 | vn -0.764400 -0.643700 0.035300 233 | vn -0.450300 -0.892700 -0.016500 234 | vn -0.279000 -0.960200 -0.012500 235 | vn -0.116300 -0.993000 0.020100 236 | vn 0.077500 -0.997000 -0.004200 237 | vn -0.973500 -0.188100 0.130400 238 | vn -0.900900 -0.426900 0.077900 239 | vn -0.234800 -0.972000 0.010600 240 | vn -0.963400 0.241100 0.117100 241 | vn -0.993200 0.052600 0.104200 242 | vn -0.993600 0.023300 0.110100 243 | vn -0.984000 -0.164300 0.069300 244 | vn 0.519300 -0.695500 -0.496600 245 | vn 0.605600 -0.412400 -0.680600 246 | vn 0.679600 -0.340500 -0.649800 247 | vn 0.667500 -0.103700 -0.737400 248 | vn 0.757000 -0.353600 -0.549500 249 | vn 0.544500 -0.732400 -0.408800 250 | vn 0.597300 -0.711800 -0.369400 251 | vn 0.781100 -0.393200 -0.485100 252 | vn 0.384600 -0.874200 -0.296500 253 | vn 0.350700 -0.920900 -0.170300 254 | vn 0.155400 -0.982300 -0.104500 255 | vn 0.066300 -0.997300 -0.031400 256 | vn 0.051800 -0.998300 -0.027700 257 | vn -0.963000 0.035300 0.267300 258 | vn -0.974900 -0.052600 0.216300 259 | vn -0.889200 -0.407000 0.208900 260 | vn -0.699000 -0.705000 0.119900 261 | vn -0.700500 -0.703100 0.122500 262 | vn -0.255700 -0.965800 0.043400 263 | vn 0.022400 -0.999700 0.004500 264 | vn -0.025000 -0.999600 0.014000 265 | vn -0.038300 -0.999000 0.024200 266 | vn -0.618400 -0.748400 0.239900 267 | vn -0.672300 -0.646300 0.361000 268 | vn -0.837500 -0.419900 0.349700 269 | vn -0.825600 -0.230900 0.514900 270 | vn -0.923600 -0.087400 0.373200 271 | vn -0.922300 -0.087700 0.376500 272 | vn -0.335400 -0.922800 0.189600 273 | vn -0.941300 -0.127500 0.312500 274 | vn -0.892900 -0.371200 0.254800 275 | vn -0.254200 -0.966100 0.044200 276 | vn -0.121400 -0.992500 0.014600 277 | vn 0.440800 -0.691800 -0.571900 278 | vn 0.344400 -0.883100 -0.318500 279 | vn -0.447800 -0.893500 0.032900 280 | vn -0.926600 -0.348200 0.141900 281 | vn -0.975600 -0.053900 0.212800 282 | vn 0.839400 0.016400 -0.543300 283 | vn 0.812300 -0.012900 -0.583000 284 | vn 0.842900 -0.338700 -0.418200 285 | vn 0.604000 -0.771000 -0.202200 286 | vn 0.558100 -0.798100 -0.226900 287 | vn 0.298200 -0.952600 -0.061100 288 | vn 0.384700 -0.923000 0.010600 289 | vn 0.124100 -0.992200 0.011000 290 | vn -0.088500 -0.995500 0.034000 291 | vn -0.264200 -0.964400 0.013900 292 | vn 0.855900 -0.324300 -0.402900 293 | vn 0.828400 -0.507900 -0.236300 294 | vn 0.745100 -0.596300 -0.298700 295 | vn -0.779900 0.614500 -0.118600 296 | vn -0.897400 0.440900 -0.014700 297 | vn -0.961100 0.276000 0.008900 298 | vn -0.952000 -0.306000 -0.000600 299 | vn -0.721800 -0.689900 -0.055400 300 | vn -0.507800 -0.861200 -0.022600 301 | vn -0.845900 -0.532900 -0.022500 302 | vn -0.988800 -0.149000 0.012300 303 | vn -0.996000 0.087400 0.017600 304 | vn 0.836900 0.099800 -0.538200 305 | vn 0.814500 0.030100 -0.579300 306 | vn 0.320200 0.035500 -0.946700 307 | vn 0.386800 -0.046400 -0.921000 308 | vn -0.883500 0.042800 0.466400 309 | vn -0.932800 0.031800 0.359000 310 | vn 0.546200 -0.005700 -0.837700 311 | vn 0.506300 0.834300 -0.218300 312 | vn 0.234100 0.972100 -0.014300 313 | vn 0.010500 0.999900 0.010100 314 | vn -0.459000 0.888100 -0.025200 315 | vn -0.648400 0.760200 -0.042100 316 | vn -0.778100 0.626500 0.045800 317 | vn -0.969800 0.242200 0.029800 318 | vn -0.993400 0.100400 0.056100 319 | vn -0.983500 -0.168900 0.065100 320 | vn -0.965500 -0.258400 0.033700 321 | vn -0.653200 -0.756400 -0.033900 322 | vn -0.492500 -0.869800 -0.028900 323 | vn -0.317000 -0.948100 0.024200 324 | vn -0.105300 -0.994300 0.015300 325 | vn -0.143400 0.989200 0.031700 326 | usemtl None 327 | s off 328 | f 28//1 29//1 6//1 329 | f 36//1 25//1 6//1 330 | f 25//1 28//1 6//1 331 | f 3//2 6//2 1//2 332 | f 100//2 3//2 1//2 333 | f 35//1 23//1 22//1 334 | f 6//1 3//1 36//1 335 | f 35//3 98//3 23//3 336 | f 98//4 2//4 23//4 337 | f 20//5 23//5 102//5 338 | f 35//1 22//1 3//1 339 | f 29//1 30//1 6//1 340 | f 30//6 4//6 6//6 341 | f 4//7 7//7 5//7 342 | f 23//8 2//8 102//8 343 | f 4//1 5//1 6//1 344 | f 100//1 35//1 3//1 345 | f 7//9 4//9 32//9 346 | f 32//10 4//10 95//10 347 | f 9//11 50//11 8//11 348 | f 12//11 9//11 104//11 349 | f 9//12 8//12 10//12 350 | f 12//11 13//11 86//11 351 | f 53//11 14//11 77//11 352 | f 12//11 86//11 85//11 353 | f 53//11 77//11 16//11 354 | f 9//11 12//11 50//11 355 | f 44//13 9//13 10//13 356 | f 12//11 85//11 11//11 357 | f 12//11 11//11 53//11 358 | f 53//11 76//11 19//11 359 | f 53//11 19//11 18//11 360 | f 104//11 13//11 12//11 361 | f 53//11 11//11 78//11 362 | f 53//11 78//11 14//11 363 | f 19//14 58//14 56//14 364 | f 56//11 15//11 19//11 365 | f 53//11 16//11 17//11 366 | f 53//11 17//11 76//11 367 | f 15//11 18//11 19//11 368 | f 8//15 50//15 48//15 369 | f 68//16 69//16 107//16 370 | f 102//17 103//17 20//17 371 | f 21//18 23//18 20//18 372 | f 21//19 22//19 23//19 373 | f 111//20 22//20 21//20 374 | f 3//21 22//21 24//21 375 | f 24//22 22//22 111//22 376 | f 117//23 3//23 24//23 377 | f 116//24 36//24 3//24 378 | f 36//25 26//25 25//25 379 | f 39//26 25//26 26//26 380 | f 27//27 28//27 39//27 381 | f 39//28 28//28 25//28 382 | f 29//29 28//29 27//29 383 | f 29//30 27//30 38//30 384 | f 29//31 38//31 30//31 385 | f 31//32 30//32 38//32 386 | f 4//33 30//33 91//33 387 | f 91//34 30//34 31//34 388 | f 4//35 91//35 97//35 389 | f 4//36 97//36 95//36 390 | f 33//37 32//37 95//37 391 | f 33//38 7//38 32//38 392 | f 96//39 5//39 7//39 393 | f 6//40 5//40 34//40 394 | f 99//41 98//41 35//41 395 | f 114//42 2//42 98//42 396 | f 101//43 102//43 2//43 397 | f 40//44 26//44 36//44 398 | f 37//45 31//45 38//45 399 | f 37//46 38//46 57//46 400 | f 57//47 38//47 27//47 401 | f 57//48 27//48 39//48 402 | f 110//49 39//49 26//49 403 | f 40//50 36//50 116//50 404 | f 68//51 46//51 41//51 405 | f 68//52 113//52 69//52 406 | f 42//53 21//53 46//53 407 | f 46//54 21//54 41//54 408 | f 48//55 24//55 42//55 409 | f 42//56 47//56 48//56 410 | f 116//57 117//57 49//57 411 | f 116//58 49//58 43//58 412 | f 47//59 42//59 46//59 413 | f 44//60 107//60 106//60 414 | f 104//61 9//61 44//61 415 | f 107//62 44//62 68//62 416 | f 45//63 44//63 10//63 417 | f 45//64 10//64 47//64 418 | f 47//65 10//65 8//65 419 | f 68//66 44//66 45//66 420 | f 46//67 68//67 45//67 421 | f 46//68 45//68 47//68 422 | f 47//69 8//69 48//69 423 | f 48//70 50//70 49//70 424 | f 43//71 49//71 12//71 425 | f 12//72 49//72 50//72 426 | f 48//73 49//73 117//73 427 | f 48//74 117//74 24//74 428 | f 40//75 43//75 54//75 429 | f 51//76 110//76 52//76 430 | f 54//77 52//77 40//77 431 | f 110//78 40//78 52//78 432 | f 43//79 53//79 54//79 433 | f 54//80 53//80 18//80 434 | f 54//81 18//81 52//81 435 | f 55//82 57//82 110//82 436 | f 55//83 110//83 51//83 437 | f 61//84 56//84 58//84 438 | f 61//85 37//85 57//85 439 | f 57//86 55//86 61//86 440 | f 61//87 55//87 51//87 441 | f 61//88 51//88 56//88 442 | f 60//89 58//89 19//89 443 | f 60//90 19//90 108//90 444 | f 37//91 59//91 109//91 445 | f 109//92 59//92 108//92 446 | f 108//93 59//93 60//93 447 | f 37//94 61//94 59//94 448 | f 59//95 61//95 60//95 449 | f 60//96 61//96 58//96 450 | f 18//97 15//97 52//97 451 | f 52//98 15//98 51//98 452 | f 51//99 15//99 56//99 453 | f 43//100 12//100 53//100 454 | f 62//101 34//101 96//101 455 | f 62//102 96//102 77//102 456 | f 77//103 96//103 89//103 457 | f 89//104 96//104 94//104 458 | f 72//105 94//105 63//105 459 | f 73//106 63//106 93//106 460 | f 73//107 93//107 64//107 461 | f 64//108 93//108 92//108 462 | f 83//109 84//109 34//109 463 | f 65//110 99//110 66//110 464 | f 65//111 66//111 81//111 465 | f 90//112 81//112 67//112 466 | f 90//113 67//113 115//113 467 | f 82//114 115//114 84//114 468 | f 62//115 83//115 34//115 469 | f 79//116 70//116 71//116 470 | f 65//117 71//117 99//117 471 | f 82//118 90//118 115//118 472 | f 68//119 41//119 113//119 473 | f 69//120 113//120 101//120 474 | f 69//121 101//121 70//121 475 | f 70//122 101//122 71//122 476 | f 74//123 72//123 73//123 477 | f 74//124 73//124 64//124 478 | f 74//125 64//125 75//125 479 | f 75//126 64//126 108//126 480 | f 75//127 76//127 74//127 481 | f 16//128 72//128 74//128 482 | f 74//129 17//129 16//129 483 | f 76//130 17//130 74//130 484 | f 72//131 16//131 89//131 485 | f 89//132 16//132 77//132 486 | f 62//133 77//133 14//133 487 | f 62//134 14//134 78//134 488 | f 62//135 78//135 83//135 489 | f 107//136 69//136 105//136 490 | f 105//137 69//137 79//137 491 | f 80//138 79//138 65//138 492 | f 80//139 65//139 88//139 493 | f 88//140 65//140 81//140 494 | f 88//141 90//141 82//141 495 | f 78//142 11//142 83//142 496 | f 83//143 11//143 84//143 497 | f 84//144 11//144 85//144 498 | f 88//145 86//145 80//145 499 | f 86//146 13//146 80//146 500 | f 13//147 87//147 80//147 501 | f 87//148 13//148 104//148 502 | f 104//149 106//149 87//149 503 | f 105//150 87//150 106//150 504 | f 85//151 86//151 88//151 505 | f 105//152 79//152 87//152 506 | f 87//153 79//153 80//153 507 | f 85//154 88//154 82//154 508 | f 85//155 82//155 84//155 509 | f 63//156 73//156 72//156 510 | f 94//157 72//157 89//157 511 | f 81//158 90//158 88//158 512 | f 71//159 65//159 79//159 513 | f 70//160 79//160 69//160 514 | f 31//161 37//161 92//161 515 | f 91//162 31//162 92//162 516 | f 91//163 92//163 93//163 517 | f 95//164 63//164 94//164 518 | f 95//165 94//165 33//165 519 | f 33//166 94//166 96//166 520 | f 7//167 33//167 96//167 521 | f 5//168 96//168 34//168 522 | f 6//169 34//169 115//169 523 | f 6//170 115//170 1//170 524 | f 91//171 93//171 97//171 525 | f 97//172 93//172 63//172 526 | f 97//173 63//173 95//173 527 | f 112//174 21//174 20//174 528 | f 112//175 20//175 41//175 529 | f 41//176 20//176 103//176 530 | f 114//177 98//177 99//177 531 | f 66//178 35//178 100//178 532 | f 1//179 67//179 100//179 533 | f 35//180 66//180 99//180 534 | f 2//181 114//181 101//181 535 | f 102//182 101//182 103//182 536 | f 19//183 76//183 108//183 537 | f 108//184 76//184 75//184 538 | f 92//185 37//185 109//185 539 | f 92//186 109//186 64//186 540 | f 106//187 104//187 44//187 541 | f 105//188 106//188 107//188 542 | f 108//189 64//189 109//189 543 | f 110//190 57//190 39//190 544 | f 40//191 110//191 26//191 545 | f 43//192 40//192 116//192 546 | f 42//193 24//193 111//193 547 | f 42//194 111//194 21//194 548 | f 21//195 112//195 41//195 549 | f 113//196 41//196 103//196 550 | f 113//197 103//197 101//197 551 | f 101//198 114//198 71//198 552 | f 71//199 114//199 99//199 553 | f 81//200 66//200 100//200 554 | f 81//201 100//201 67//201 555 | f 115//202 67//202 1//202 556 | f 84//203 115//203 34//203 557 | f 116//204 3//204 117//204 558 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/head/head_2.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 0 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.8 0.8 0.8 8 | Ks 0.8 0.8 0.8 9 | d 1 10 | illum 2 11 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/kinect.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 1 3 | 4 | newmtl kinect_tga 5 | Ns 21.568627 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.640000 0.640000 0.640000 8 | Ks 0.250000 0.250000 0.250000 9 | Ni -1.000000 10 | d 1.000000 11 | illum 2 12 | map_Kd ../robots_blender_model-1/reemc/meshes_original/kinect.tga 13 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/leg/leg_1.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 0 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.8 0.8 0.8 8 | Ks 0.8 0.8 0.8 9 | d 1 10 | illum 2 11 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/leg/leg_3.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 0 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.8 0.8 0.8 8 | Ks 0.8 0.8 0.8 9 | d 1 10 | illum 2 11 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/leg/leg_4.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 0 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.8 0.8 0.8 8 | Ks 0.8 0.8 0.8 9 | d 1 10 | illum 2 11 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/leg/leg_6.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 0 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.8 0.8 0.8 8 | Ks 0.8 0.8 0.8 9 | d 1 10 | illum 2 11 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/leg/r_foot.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 0 3 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/leg/r_foot.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.74 (sub 0) OBJ File: 'empty.blend' 2 | # www.blender.org 3 | mtllib r_foot.mtl 4 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/sensors/xtion_pro_live/xtion_pro_live.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 0 3 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/sensors/xtion_pro_live/xtion_pro_live.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.74 (sub 0) OBJ File: 'empty.blend' 2 | # www.blender.org 3 | mtllib xtion_pro_live.mtl 4 | -------------------------------------------------------------------------------- /robots/reemc_data/meshes/torso/torso_2.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'empty.blend' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 0 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.8 0.8 0.8 8 | Ks 0.8 0.8 0.8 9 | d 1 10 | illum 2 11 | -------------------------------------------------------------------------------- /robots/tutorial_tree.py: -------------------------------------------------------------------------------- 1 | import eigen3 as e 2 | import spacevecalg as sva 3 | import rbdyn as rbd 4 | 5 | 6 | def TutorialTree(): 7 | """ 8 | Return the MultiBodyGraph, MultiBody and the zeroed MultiBodyConfig with the 9 | following tree structure: 10 | 11 | b4 12 | j3 | Spherical 13 | Root j0 | j1 j2 j4 14 | ---- b0 ---- b1 ---- b2 ----b3 ----b5 15 | Fixed RevX RevY RevZ PrismZ 16 | """ 17 | 18 | mbg = rbd.MultiBodyGraph() 19 | 20 | mass = 1. 21 | I = e.Matrix3d.Identity() 22 | h = e.Vector3d.Zero() 23 | 24 | rbi = sva.RBInertia(mass, h, I) 25 | 26 | b0 = rbd.Body(rbi, 0, "b0") 27 | b1 = rbd.Body(rbi, 1, "b1") 28 | b2 = rbd.Body(rbi, 2, "b2") 29 | b3 = rbd.Body(rbi, 3, "b3") 30 | b4 = rbd.Body(rbi, 4, "b4") 31 | b5 = rbd.Body(rbi, 5, "b5") 32 | 33 | mbg.addBody(b0) 34 | mbg.addBody(b1) 35 | mbg.addBody(b2) 36 | mbg.addBody(b3) 37 | mbg.addBody(b4) 38 | mbg.addBody(b5) 39 | 40 | j0 = rbd.Joint(rbd.Joint.Rev, e.Vector3d.UnitX(), True, 0, "j0") 41 | j1 = rbd.Joint(rbd.Joint.Rev, e.Vector3d.UnitY(), True, 1, "j1") 42 | j2 = rbd.Joint(rbd.Joint.Rev, e.Vector3d.UnitZ(), True, 2, "j2") 43 | j3 = rbd.Joint(rbd.Joint.Spherical, True, 3, "j3") 44 | j4 = rbd.Joint(rbd.Joint.Prism, e.Vector3d.UnitY(), True, 4, "j4") 45 | 46 | mbg.addJoint(j0) 47 | mbg.addJoint(j1) 48 | mbg.addJoint(j2) 49 | mbg.addJoint(j3) 50 | mbg.addJoint(j4) 51 | 52 | to = sva.PTransformd(e.Vector3d(0., 0.5, 0.)) 53 | fro = sva.PTransformd.Identity() 54 | 55 | mbg.linkBodies(0, to, 1, fro, 0) 56 | mbg.linkBodies(1, to, 2, fro, 1) 57 | mbg.linkBodies(2, to, 3, fro, 2) 58 | mbg.linkBodies(1, sva.PTransformd(e.Vector3d(0.5, 0., 0.)), 59 | 4, fro, 3) 60 | mbg.linkBodies(3, to, 5, fro, 4) 61 | 62 | mb = mbg.makeMultiBody(0, True) 63 | mbc = rbd.MultiBodyConfig(mb) 64 | mbc.zero(mb) 65 | 66 | return mbg, mb, mbc 67 | -------------------------------------------------------------------------------- /urdf_to_pickle/__init__.py: -------------------------------------------------------------------------------- 1 | from urdf_to_pickle import urdfToPickle, mbgFromMb 2 | -------------------------------------------------------------------------------- /urdf_to_pickle/urdf_to_pickle.py: -------------------------------------------------------------------------------- 1 | import pickle 2 | from xml.dom.minidom import parseString 3 | 4 | import numpy as np 5 | 6 | import eigen3 as e 7 | import spacevecalg as sva 8 | import rbdyn as rbd 9 | 10 | import rbdyn_urdf 11 | 12 | # allow to pickle sva and rbd structure 13 | rbd.copy_reg_pickle() 14 | 15 | 16 | def urdfToPickle(urdfStr, outPath, packageToPath, extensionDict): 17 | """ 18 | Save an urdf into a pickle file. 19 | 20 | Parameters: 21 | - urdfStr: urdf string 22 | - outPath: output path to save the pickle file 23 | - packageToPath: dict {pkg:path,..} to replace urdf mesh path 24 | that depend of the ros package:// url 25 | - extensionDict: dict {oldExt:newExt, ...} to replace urdf mesh path 26 | extension 27 | 28 | Pickle file tuple: 29 | - mb: MultiBody 30 | - meshDict: {bodyName:(meshPath, X_s, scale} 31 | -- X_s: static transform from link origin 32 | """ 33 | urdfData = rbdyn_urdf.readUrdf(urdfStr) 34 | # copy urdfData.mbg (in urdfData structure) to be able to modify it 35 | mbg = urdfData.mbg 36 | baseLinkId = mbg.bodyIdByName('base_link') 37 | mb = mbg.makeMultiBody(baseLinkId, True) 38 | 39 | meshDict = linkVisual(mb, urdfStr, packageToPath, extensionDict) 40 | 41 | with open(outPath, 'w') as outFile: 42 | pickle.dump((mb, meshDict), outFile) 43 | 44 | 45 | def attrToList(attr): 46 | return map(float, attr.split()) 47 | 48 | 49 | def attrToVector(attr): 50 | return e.Vector3d(*attrToList(attr)) 51 | 52 | 53 | def getAttributeDefault(dom, attr, default): 54 | if dom.hasAttribute(attr): 55 | return dom.getAttribute(attr) 56 | else: 57 | return default 58 | 59 | 60 | def RPY(r, p, y): 61 | ca1 = np.cos(y) 62 | sa1 = np.sin(y) 63 | cb1 = np.cos(p) 64 | sb1 = np.sin(p) 65 | cc1 = np.cos(r) 66 | sc1 = np.sin(r) 67 | m = np.matrix([[ca1*cb1,ca1*sb1*sc1 - sa1*cc1,ca1*sb1*cc1 + sa1*sc1], 68 | [sa1*cb1,sa1*sb1*sc1 + ca1*cc1,sa1*sb1*cc1 - ca1*sc1], 69 | [-sb1,cb1*sc1,cb1*cc1]]) 70 | return e.toEigen(m.T) 71 | 72 | 73 | def XFromOrigin(dom): 74 | X = sva.PTransform.Identity() 75 | 76 | originDom = dom.getElementsByTagName('origin') 77 | if len(originDom) == 1: 78 | r = attrToVector(getAttributeDefault(originDom[0], 'xyz', '0 0 0')) 79 | E = RPY(*attrToList(getAttributeDefault(originDom[0], 'rpy', '0 0 0'))) 80 | X = sva.PTransform(E, r) 81 | 82 | return X 83 | 84 | 85 | def meshPathAndScaleFromGeometry(dom): 86 | geometryDom = dom.getElementsByTagName('geometry') 87 | meshDom = geometryDom[0].getElementsByTagName('mesh') 88 | fileName = meshDom[0].getAttribute('filename') 89 | scale = getAttributeDefault(meshDom[0], 'scale', "1 1 1") 90 | return fileName, attrToList(scale) 91 | 92 | 93 | def replacePackage(fileName, packageToPath): 94 | for pkg, path in packageToPath.items(): 95 | fileName = fileName.replace('package://%s' % pkg, path) 96 | return fileName 97 | 98 | 99 | def replaceExt(fileName, extensionDict): 100 | for oldExt, newExt in extensionDict.items(): 101 | fileName = fileName.replace('.%s' % oldExt, '.%s' % newExt) 102 | return fileName 103 | 104 | 105 | def linkVisual(mb, urdfStr, packageToPath, extensionDict): 106 | dom = parseString(urdfStr) 107 | 108 | bodyNames = {b.name() for b in mb.bodies()} 109 | linkDom = filter(lambda bDom: bDom.getAttribute('name') in bodyNames, 110 | dom.getElementsByTagName('link')) 111 | 112 | meshDict = {} 113 | for bDom in linkDom: 114 | for vDom in bDom.getElementsByTagName('visual'): 115 | X_s = XFromOrigin(vDom) 116 | try: 117 | meshFileName, scale = meshPathAndScaleFromGeometry(vDom) 118 | meshFileNameNoPkg = replacePackage(meshFileName, packageToPath) 119 | meshFileNameNoPkgNewExt = replaceExt(meshFileNameNoPkg, extensionDict) 120 | meshDict[bDom.getAttribute('name')] =\ 121 | (meshFileNameNoPkgNewExt, X_s, scale) 122 | except IndexError: 123 | pass 124 | 125 | return meshDict 126 | 127 | 128 | def mbgFromMb(mb): 129 | """ 130 | Construct a MultiBodyGraph from a MultiBody. 131 | """ 132 | mbg = rbd.MultiBodyGraph() 133 | 134 | for b in mb.bodies(): 135 | mbg.addBody(b) 136 | 137 | joints = list(mb.joints())[1:] 138 | for j in joints: 139 | mbg.addJoint(j) 140 | 141 | I = sva.PTransformd.Identity() 142 | for jIndex, j in enumerate(joints, 1): 143 | predIndex = mb.predecessor(jIndex) 144 | predId = mb.body(predIndex).id() 145 | succIndex = mb.successor(jIndex) 146 | succId = mb.body(succIndex).id() 147 | 148 | mbg.linkBodies(predId, mb.transform(jIndex), 149 | succId, I, j.id()) 150 | 151 | return mbg 152 | 153 | 154 | 155 | if __name__ == '__main__': 156 | import argparse 157 | parser = argparse.ArgumentParser() 158 | 159 | def dictType(string): 160 | commaList = string.split(',') 161 | return dict(map(lambda cl: cl.split(':'), commaList)) 162 | 163 | parser.add_argument('urdfFile', help='path to the input urdf file', type=file) 164 | parser.add_argument('picklePath', help='path to the output pickle file', 165 | type=str) 166 | parser.add_argument('--pkgToPath', 167 | help='path to pkg name (pkgName:path,pkgName:path,...)', 168 | type=dictType, default={}) 169 | parser.add_argument('--extensionDict', 170 | help='change mesh extension (extIn:extOut,extIn:extOut,...)', 171 | type=dictType, default={}) 172 | args = parser.parse_args() 173 | 174 | urdfStr = args.urdfFile.read() 175 | urdfToPickle(urdfStr, args.picklePath, args.pkgToPath, args.extensionDict) 176 | --------------------------------------------------------------------------------