From: <sn...@us...> - 2014-01-31 11:02:49
|
Revision: 670 http://sourceforge.net/p/euslisp/code/670 Author: snozawa Date: 2014-01-31 11:02:39 +0000 (Fri, 31 Jan 2014) Log Message: ----------- add darwin euslisp model converted from ... darwin VRML -> darwin collada -> darwin euslisp Added Paths: ----------- trunk/EusLisp/models/darwin.l Added: trunk/EusLisp/models/darwin.l =================================================================== --- trunk/EusLisp/models/darwin.l (rev 0) +++ trunk/EusLisp/models/darwin.l 2014-01-31 11:02:39 UTC (rev 670) @@ -0,0 +1,3266 @@ +;; +;; DO NOT EDIT THIS FILE +;; +;; this file is automatically generated from /home/nozawa/ros/groovy/jsk-ros-pkg-unreleased/jsk_robot_common/jsk_hrpsys_ros_bridge/models/DARWIN.dae on (Linux nozawa-ThinkPad-T430 3.2.0-58-generic x86_64) at Fri Jan 31 19:17:25 2014 + +;; +;; /home/nozawa/ros/groovy/jsk-ros-pkg-unreleased/jsk_robot_common/jsk_hrpsys_ros_bridge/build $ /home/nozawa/ros/groovy/jsk-ros-pkg/jsk_model_tools/euscollada/bin/collada2eus /home/nozawa/ros/groovy/jsk-ros-pkg-unreleased/jsk_robot_common/jsk_hrpsys_ros_bridge/models/DARWIN.dae /home/nozawa/ros/groovy/jsk-ros-pkg-unreleased/jsk_robot_common/jsk_hrpsys_ros_bridge/models/darwin.yaml /home/nozawa/ros/groovy/jsk-ros-pkg-unreleased/jsk_robot_common/jsk_hrpsys_ros_bridge/models/darwin.l +;; + +;; copy euscollada-robot class definition from euscollada/src/euscollada-robot.l +;; +(defclass euscollada-robot +;; This euscollada-robot class is for robots converted from collada files. +;; This class provides :init-ending override. + :super robot-model + :slots () + ) +(defmethod euscollada-robot + (:init-ending + () + ;; fix all links' mass properties ;; root link relative (collada) -> link local (euslisp) + (dolist (l links) + (setq (l . acentroid) (send l :inverse-transform-vector + (send (send (car links) :worldcoords) :transform-vector + (l . acentroid)))) + (setq (l . inertia-tensor) (m* (transpose (send l :worldrot)) + (m* (send (car links) :worldrot) + (l . inertia-tensor)))) + ) + (send-super :init-ending) + (dolist (l (send self :links)) (send self :make-detail-collision-model-from-glvertices-for-one-link l)) + + ;; + (dolist (j (mapcan #'(lambda (x) (if (and (derivedp (cdr x) joint) + (not (memq (cdr x) (send self :joint-list)))) + (list (cdr x)))) (send self :slots))) + (send (send j :child-link) :add-joint j) + (send (send j :child-link) :add-parent-link (send j :parent-link)) + (send (send j :parent-link) :add-child-links (send j :child-link))) + ;; add sensor method ;; e.g., (send self :camera 0), (send self :force-sensor :rasensor), ... etc + (dolist (sensor-name '(:force-sensor :imu-sensor)) (send self :define-get-sensor-method sensor-name)) + ) + (:define-get-sensor-method + (sensor-name) + (eval `(defmethod ,(send (class self) :name) + (,sensor-name (&rest args) + (cond ((integerp (car args)) + (forward-message-to (elt (send self ,(read-from-string (format nil "~As" sensor-name)) ) (car args)) (cdr args))) + ;; enable to access sensors by limb name + ((memq (car args) '(:larm :rarm :lleg :rleg :head :torso)) + (find-if + #'(lambda (x) (member (send x :parent) (send self (car args) :links))) + (send self ,(read-from-string (format nil "~As" sensor-name))))) + ((and (keywordp (car args)) + (derivedp (send self (car args)) cascaded-coords)) + (send* self args)) + ((keywordp (car args)) + ;;(warn ";; no such sensor ~A~%" (car args)) + nil) + (t + (forward-message-to (car (send self ,(read-from-string (format nil "~As" sensor-name)))) args) + ))) + ))) + ;; fullbody-inverse-kinematics overwrite + ;; reduce root-link's weight based on leg's joint limit + ;; increase stop and cog-gain + (:fullbody-inverse-kinematics + (target-coords &rest args &key (stop 250) (cog-gain 2.0) (additional-weight-list) &allow-other-keys) + (let* ((leg-ul (send self :calc-union-link-list (send self :legs :links)))) + (send self :reset-joint-angle-limit-weight-old leg-ul) + (send-message* self robot-model :fullbody-inverse-kinematics + target-coords + :stop stop :cog-gain cog-gain + :additional-weight-list + (append + additional-weight-list + (list + (list (car (send self :links)) + #'(lambda () + ;; set root-link 6dof-joint's weight based on legs' joint limit + (let* ((min-weight + (reduce #'(lambda (x y) (min x y)) + (coerce (send self :calc-inverse-kinematics-weight-from-link-list + leg-ul :union-link-list leg-ul) cons)))) + (fill (instantiate float-vector 6) min-weight))) + ) + )) + args) + )) + ;; make collision model from gl-vertices + (:make-detail-collision-model-from-glvertices-for-one-link + (ll &key (fat 0) (collision-func 'pqp-collision-check)) + (unless (send ll :get (read-from-string (format nil ":~Amodel" + (string-right-trim "-COLLISION-CHECK" (string collision-func))))) + (send-message ll cascaded-coords + (read-from-string + (format nil ":make-~Amodel" + (string-right-trim "-COLLISION-CHECK" (string collision-func)))) + :fat fat + :faces (flatten (mapcar #'(lambda (x) + (cond + ((derivedp x collada-body) + (send (x . glvertices) :convert-to-faces :wrt :world)) + (t + (send x :faces)))) + (send ll :bodies))))) + ) + ) + +;; copy euscollada-body class definition from euscollada/src/euscollada-robot.l +(defclass collada-body + :super body + :slots (glvertices) + ) +(defmethod collada-body + (:draw (vwr) + (when glvertices + (send glvertices :draw vwr))) + (:set-color (&rest args) + (send-super* :set-color args) + (when glvertices (send* glvertices :set-color args))) + ) +;; +(defun DARWIN () (setq *DARWIN* (instance DARWIN-robot :init))) + +(defclass DARWIN-robot + :super euscollada-robot + :slots (NECK_jt HEADL_jt PELVYL_jt PELVL_jt LEGUPPERL_jt LEGLOWERL_jt ANKLEL_jt FOOTL_jt PELVYR_jt PELVR_jt LEGUPPERR_jt LEGLOWERR_jt ANKLER_jt FOOTR_jt SHOULDERL_jt ARMUPPERL_jt ARMLOWERL_jt SHOULDERR_jt ARMUPPERR_jt ARMLOWERR_jt HEAD_LINK_lk NECK_LINK_lk FOOTL_LINK_lk ANKLEL_LINK_lk LEGLOWERL_LINK_lk LEGUPPERL_LINK_lk PELVL_LINK_lk PELVYL_LINK_lk FOOTR_LINK_lk ANKLER_LINK_lk LEGLOWERR_LINK_lk LEGUPPERR_LINK_lk PELVR_LINK_lk PELVYR_LINK_lk ARMLOWERL_LINK_lk ARMUPPERL_LINK_lk SHOULDERL_LINK_lk ARMLOWERR_LINK_lk ARMUPPERR_LINK_lk SHOULDERR_LINK_lk BODY_LINK_lk gsensor-sensor-coords gyrometer-sensor-coords Camera-sensor-coords )) +(defmethod DARWIN-robot + (:init + (&rest args) + (let () + (send-super* :init :name "DARWIN" args) + + ;; node id=v1.node2, name=HEAD_LINK, sid=node2 + (let ( b_g1_2_geom0 b_g1_2_geom1 b_g1_2_geom2 b_g1_2_geom3 b_g1_2_geom4) + ;; define bodyset-link for HEAD_LINK : v1.node2 + (setq b_g1_2_geom0 (instance DARWIN_g1_2_geom0 :init)) + + ;; writeTransform(name=b_g1_2_geom0,domNode=HEAD_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_2_geom0 :transform localcds :world) + ) + (setq b_g1_2_geom1 (instance DARWIN_g1_2_geom1 :init)) + + ;; writeTransform(name=b_g1_2_geom1,domNode=HEAD_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_2_geom1 :transform localcds :world) + ) + (setq b_g1_2_geom2 (instance DARWIN_g1_2_geom2 :init)) + + ;; writeTransform(name=b_g1_2_geom2,domNode=HEAD_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_2_geom2 :transform localcds :world) + ) + (setq b_g1_2_geom3 (instance DARWIN_g1_2_geom3 :init)) + + ;; writeTransform(name=b_g1_2_geom3,domNode=HEAD_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_2_geom3 :transform localcds :world) + ) + (setq b_g1_2_geom4 (instance DARWIN_g1_2_geom4 :init)) + + ;; writeTransform(name=b_g1_2_geom4,domNode=HEAD_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_2_geom4 :transform localcds :world) + ) + (send b_g1_2_geom0 :assoc b_g1_2_geom1) + (send b_g1_2_geom0 :assoc b_g1_2_geom2) + (send b_g1_2_geom0 :assoc b_g1_2_geom3) + (send b_g1_2_geom0 :assoc b_g1_2_geom4) + (setq HEAD_LINK_lk + (instance bodyset-link + :init (make-cascoords) + :bodies (list b_g1_2_geom0 b_g1_2_geom1 b_g1_2_geom2 b_g1_2_geom3 b_g1_2_geom4) + :name "HEAD_LINK")) + (send HEAD_LINK_lk :weight 158.042) + (let ((tmp-c-list (list + (make-coords :pos (float-vector 0.0000000000000000e+00 5.1000000000000000e+01 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)))) + (make-coords :pos (float-vector 6.3919799999999999e-02 1.8564500000000002e+01 7.6666200000000000e+00) :rot (matrix-exponent (scale 2.6417336902212489e+00 (float-vector 6.7167945353074188e-01 6.6302432332952410e-01 -3.3052300733545109e-01)))) + )) + (tmp-c (make-coords))) + (dolist (cc tmp-c-list) + (setq tmp-c (send tmp-c :transform cc))) + (setq (HEAD_LINK_lk . inertia-tensor) + (m* (m* (send tmp-c :worldrot) (diagonal (float-vector 1.0474191171695740e+05 1.2396566143164740e+05 1.2929242685139530e+05))) (transpose (send tmp-c :worldrot)))) + (setq (HEAD_LINK_lk . acentroid) (send tmp-c :worldpos)) + ) + + ;; writeTransform(name=HEAD_LINK_lk,domNode=HEAD_LINK,targetCount=0,parent=:local), translateCount=1, rotateCount=2, matrixCount=0 + (send HEAD_LINK_lk :transform + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)) :local) + ;;1; + (setq Camera-sensor-coords (make-cascoords :name "Camera" :coords (send HEAD_LINK_lk :copy-worldcoords))) + (send Camera-sensor-coords :put :sensor-type :base_pinhole_camera) + (send Camera-sensor-coords :put :sensor-id 3) + (send Camera-sensor-coords :transform (make-coords :pos #f( 0.0000000000000000e+00 3.2907400000000003e+01 3.5981600000000000e+01) :axis (let ((tmp-axis (float-vector 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00))) (if (eps= (norm tmp-axis) 0.0) (float-vector 1 0 0) tmp-axis)) :angle 3.1415899999999999e+00)) + (send HEAD_LINK_lk :assoc Camera-sensor-coords) + ) + + ;; node id=v1.node1, name=NECK_LINK, sid=node1 + (let ( b_g1_1_geom0) + ;; define bodyset-link for NECK_LINK : v1.node1 + (setq b_g1_1_geom0 (instance DARWIN_g1_1_geom0 :init)) + + ;; writeTransform(name=b_g1_1_geom0,domNode=NECK_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_1_geom0 :transform localcds :world) + ) + (setq NECK_LINK_lk + (instance bodyset-link + :init (make-cascoords) + :bodies (list b_g1_1_geom0) + :name "NECK_LINK")) + (send NECK_LINK_lk :weight 24.358) + (let ((tmp-c-list (list + (make-coords :pos (float-vector 0.0000000000000000e+00 5.1000000000000000e+01 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 1.4242800000000000e+00 -1.6567599999999999e+01 -7.1281100000000008e-01) :rot (matrix-exponent (scale 3.1377311432741881e+00 (float-vector -9.0408980651002557e-02 9.9545007233138982e-01 3.0089362124802201e-02)))) + )) + (tmp-c (make-coords))) + (dolist (cc tmp-c-list) + (setq tmp-c (send tmp-c :transform cc))) + (setq (NECK_LINK_lk . inertia-tensor) + (m* (m* (send tmp-c :worldrot) (diagonal (float-vector 5.0356695238550246e+03 8.2854422988662136e+03 1.1391364177278760e+04))) (transpose (send tmp-c :worldrot)))) + (setq (NECK_LINK_lk . acentroid) (send tmp-c :worldpos)) + ) + + ;; writeTransform(name=NECK_LINK_lk,domNode=NECK_LINK,targetCount=0,parent=:local), translateCount=1, rotateCount=2, matrixCount=0 + (send NECK_LINK_lk :transform + (make-coords :pos (float-vector 0.0000000000000000e+00 5.1000000000000000e+01 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)) :local) + ;;1; + + ;; writeTransform(name=HEAD_LINK_lk,domNode=NECK_LINK,targetCount=0,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send localcds :transform + (make-coords :pos (float-vector 0.0000000000000000e+00 5.1000000000000000e+01 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)) :local) + (send HEAD_LINK_lk :transform localcds :world) + ) + ;;2; + (send NECK_LINK_lk :assoc HEAD_LINK_lk) + ) + + ;; node id=v1.node8, name=FOOTL_LINK, sid=node8 + (let ( b_g1_8_geom0 b_g1_8_geom1) + ;; define bodyset-link for FOOTL_LINK : v1.node8 + (setq b_g1_8_geom0 (instance DARWIN_g1_8_geom0 :init)) + + ;; writeTransform(name=b_g1_8_geom0,domNode=FOOTL_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_8_geom0 :transform localcds :world) + ) + (setq b_g1_8_geom1 (instance DARWIN_g1_8_geom1 :init)) + + ;; writeTransform(name=b_g1_8_geom1,domNode=FOOTL_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_8_geom1 :transform localcds :world) + ) + (send b_g1_8_geom0 :assoc b_g1_8_geom1) + (setq FOOTL_LINK_lk + (instance bodyset-link + :init (make-cascoords) + :bodies (list b_g1_8_geom0 b_g1_8_geom1) + :name "FOOTL_LINK")) + (send FOOTL_LINK_lk :weight 79.446) + (let ((tmp-c-list (list + (make-coords :pos (float-vector 3.7000000000000000e+01 -1.2220000000000000e+02 -5.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)))) + (make-coords :pos (float-vector -0.0000000000000000e+00 -9.3000000000000000e+01 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 -9.3000000000000000e+01 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 9.5058799999999994e+00 -2.5995300000000000e+01 -5.0287700000000002e-01) :rot (matrix-exponent (scale 3.1374881783494764e+00 (float-vector 6.3355814941524424e-02 9.9794679653010854e-01 9.3931894684097673e-03)))) + )) + (tmp-c (make-coords))) + (dolist (cc tmp-c-list) + (setq tmp-c (send tmp-c :transform cc))) + (setq (FOOTL_LINK_lk . inertia-tensor) + (m* (m* (send tmp-c :worldrot) (diagonal (float-vector 6.8003221353508503e+04 8.8232016045823475e+04 3.5821522600668002e+04))) (transpose (send tmp-c :worldrot)))) + (setq (FOOTL_LINK_lk . acentroid) (send tmp-c :worldpos)) + ) + + ;; writeTransform(name=FOOTL_LINK_lk,domNode=FOOTL_LINK,targetCount=0,parent=:local), translateCount=1, rotateCount=2, matrixCount=0 + (send FOOTL_LINK_lk :transform + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)) :local) + ;;1; + ) + + ;; node id=v1.node7, name=ANKLEL_LINK, sid=node7 + (let ( b_g1_7_geom0) + ;; define bodyset-link for ANKLEL_LINK : v1.node7 + (setq b_g1_7_geom0 (instance DARWIN_g1_7_geom0 :init)) + + ;; writeTransform(name=b_g1_7_geom0,domNode=ANKLEL_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_7_geom0 :transform localcds :world) + ) + (setq ANKLEL_LINK_lk + (instance bodyset-link + :init (make-cascoords) + :bodies (list b_g1_7_geom0) + :name "ANKLEL_LINK")) + (send ANKLEL_LINK_lk :weight 167.108) + (let ((tmp-c-list (list + (make-coords :pos (float-vector 3.7000000000000000e+01 -1.2220000000000000e+02 -5.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)))) + (make-coords :pos (float-vector -0.0000000000000000e+00 -9.3000000000000000e+01 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 -9.3000000000000000e+01 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)))) + (make-coords :pos (float-vector -2.1373200000000001e-01 1.3873099999999999e+01 -1.8536100000000001e+01) :rot (matrix-exponent (scale 3.0379497570860514e+00 (float-vector -9.9932043867120068e-01 3.6659460910665437e-02 3.8398931936168461e-03)))) + )) + (tmp-c (make-coords))) + (dolist (cc tmp-c-list) + (setq tmp-c (send tmp-c :transform cc))) + (setq (ANKLEL_LINK_lk . inertia-tensor) + (m* (m* (send tmp-c :worldrot) (diagonal (float-vector 1.2106265191898300e+05 1.0967651340802430e+05 4.1131904672992692e+04))) (transpose (send tmp-c :worldrot)))) + (setq (ANKLEL_LINK_lk . acentroid) (send tmp-c :worldpos)) + ) + + ;; writeTransform(name=ANKLEL_LINK_lk,domNode=ANKLEL_LINK,targetCount=0,parent=:local), translateCount=1, rotateCount=2, matrixCount=0 + (send ANKLEL_LINK_lk :transform + (make-coords :pos (float-vector 0.0000000000000000e+00 -9.3000000000000000e+01 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)) :local) + ;;1; + + ;; writeTransform(name=FOOTL_LINK_lk,domNode=ANKLEL_LINK,targetCount=0,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send localcds :transform + (make-coords :pos (float-vector 0.0000000000000000e+00 -9.3000000000000000e+01 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)) :local) + (send FOOTL_LINK_lk :transform localcds :world) + ) + ;;2; + (send ANKLEL_LINK_lk :assoc FOOTL_LINK_lk) + ) + + ;; node id=v1.node6, name=LEGLOWERL_LINK, sid=node6 + (let ( b_g1_6_geom0) + ;; define bodyset-link for LEGLOWERL_LINK : v1.node6 + (setq b_g1_6_geom0 (instance DARWIN_g1_6_geom0 :init)) + + ;; writeTransform(name=b_g1_6_geom0,domNode=LEGLOWERL_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_6_geom0 :transform localcds :world) + ) + (setq LEGLOWERL_LINK_lk + (instance bodyset-link + :init (make-cascoords) + :bodies (list b_g1_6_geom0) + :name "LEGLOWERL_LINK")) + (send LEGLOWERL_LINK_lk :weight 70.310) + (let ((tmp-c-list (list + (make-coords :pos (float-vector 3.7000000000000000e+01 -1.2220000000000000e+02 -5.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)))) + (make-coords :pos (float-vector -0.0000000000000000e+00 -9.3000000000000000e+01 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)))) + (make-coords :pos (float-vector -5.9246900000000002e-01 -3.9045499999999997e+01 6.5476299999999998e+00) :rot (matrix-exponent (scale 3.0125423596492524e+00 (float-vector -6.9866362538497062e-01 7.1259944941643427e-01 6.3805667893410523e-02)))) + )) + (tmp-c (make-coords))) + (dolist (cc tmp-c-list) + (setq tmp-c (send tmp-c :transform cc))) + (setq (LEGLOWERL_LINK_lk . inertia-tensor) + (m* (m* (send tmp-c :worldrot) (diagonal (float-vector 4.3916891334151958e+04 9.3388120663165115e+04 1.1636003800268300e+05))) (transpose (send tmp-c :worldrot)))) + (setq (LEGLOWERL_LINK_lk . acentroid) (send tmp-c :worldpos)) + ) + + ;; writeTransform(name=LEGLOWERL_LINK_lk,domNode=LEGLOWERL_LINK,targetCount=0,parent=:local), translateCount=1, rotateCount=2, matrixCount=0 + (send LEGLOWERL_LINK_lk :transform + (make-coords :pos (float-vector -0.0000000000000000e+00 -9.3000000000000000e+01 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)) :local) + ;;1; + + ;; writeTransform(name=ANKLEL_LINK_lk,domNode=LEGLOWERL_LINK,targetCount=0,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send localcds :transform + (make-coords :pos (float-vector -0.0000000000000000e+00 -9.3000000000000000e+01 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)) :local) + (send ANKLEL_LINK_lk :transform localcds :world) + ) + ;;2; + (send LEGLOWERL_LINK_lk :assoc ANKLEL_LINK_lk) + ) + + ;; node id=v1.node5, name=LEGUPPERL_LINK, sid=node5 + (let ( b_g1_5_geom0 b_g1_5_geom1) + ;; define bodyset-link for LEGUPPERL_LINK : v1.node5 + (setq b_g1_5_geom0 (instance DARWIN_g1_5_geom0 :init)) + + ;; writeTransform(name=b_g1_5_geom0,domNode=LEGUPPERL_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_5_geom0 :transform localcds :world) + ) + (setq b_g1_5_geom1 (instance DARWIN_g1_5_geom1 :init)) + + ;; writeTransform(name=b_g1_5_geom1,domNode=LEGUPPERL_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_5_geom1 :transform localcds :world) + ) + (send b_g1_5_geom0 :assoc b_g1_5_geom1) + (setq LEGUPPERL_LINK_lk + (instance bodyset-link + :init (make-cascoords) + :bodies (list b_g1_5_geom0 b_g1_5_geom1) + :name "LEGUPPERL_LINK")) + (send LEGUPPERL_LINK_lk :weight 119.043) + (let ((tmp-c-list (list + (make-coords :pos (float-vector 3.7000000000000000e+01 -1.2220000000000000e+02 -5.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)))) + (make-coords :pos (float-vector -3.2263500000000001e-01 -6.2965499999999992e+01 6.9190600000000002e-01) :rot (matrix-exponent (scale 3.1349165357532121e+00 (float-vector -7.0052749830315086e-01 -7.1349838760778816e-01 -1.3463840544786290e-02)))) + )) + (tmp-c (make-coords))) + (dolist (cc tmp-c-list) + (setq tmp-c (send tmp-c :transform cc))) + (setq (LEGUPPERL_LINK_lk . inertia-tensor) + (m* (m* (send tmp-c :worldrot) (diagonal (float-vector 3.2779794154093579e+04 9.7969132072394365e+04 1.1504953377351201e+05))) (transpose (send tmp-c :worldrot)))) + (setq (LEGUPPERL_LINK_lk . acentroid) (send tmp-c :worldpos)) + ) + + ;; writeTransform(name=LEGUPPERL_LINK_lk,domNode=LEGUPPERL_LINK,targetCount=0,parent=:local), translateCount=1, rotateCount=2, matrixCount=0 + (send LEGUPPERL_LINK_lk :transform + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)) :local) + ;;1; + + ;; writeTransform(name=LEGLOWERL_LINK_lk,domNode=LEGUPPERL_LINK,targetCount=0,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send localcds :transform + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)) :local) + (send LEGLOWERL_LINK_lk :transform localcds :world) + ) + ;;2; + (send LEGUPPERL_LINK_lk :assoc LEGLOWERL_LINK_lk) + ) + + ;; node id=v1.node4, name=PELVL_LINK, sid=node4 + (let ( b_g1_4_geom0) + ;; define bodyset-link for PELVL_LINK : v1.node4 + (setq b_g1_4_geom0 (instance DARWIN_g1_4_geom0 :init)) + + ;; writeTransform(name=b_g1_4_geom0,domNode=PELVL_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_4_geom0 :transform localcds :world) + ) + (setq PELVL_LINK_lk + (instance bodyset-link + :init (make-cascoords) + :bodies (list b_g1_4_geom0) + :name "PELVL_LINK")) + (send PELVL_LINK_lk :weight 167.108) + (let ((tmp-c-list (list + (make-coords :pos (float-vector 3.7000000000000000e+01 -1.2220000000000000e+02 -5.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00)))) + (make-coords :pos (float-vector 7.9982799999999993e-02 -1.3873099999999999e+01 -1.8242400000000000e+01) :rot (matrix-exponent (scale 2.1278186543466693e+00 (float-vector -5.8206765894392221e-01 -6.1841948818868531e-01 -5.2797213661327491e-01)))) + )) + (tmp-c (make-coords))) + (dolist (cc tmp-c-list) + (setq tmp-c (send tmp-c :transform cc))) + (setq (PELVL_LINK_lk . inertia-tensor) + (m* (m* (send tmp-c :worldrot) (diagonal (float-vector 4.1133583174242623e+04 1.2304396677250660e+05 1.1170008005325080e+05))) (transpose (send tmp-c :worldrot)))) + (setq (PELVL_LINK_lk . acentroid) (send tmp-c :worldpos)) + ) + + ;; writeTransform(name=PELVL_LINK_lk,domNode=PELVL_LINK,targetCount=0,parent=:local), translateCount=1, rotateCount=2, matrixCount=0 + (send PELVL_LINK_lk :transform + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00)) :local) + ;;1; + + ;; writeTransform(name=LEGUPPERL_LINK_lk,domNode=PELVL_LINK,targetCount=0,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send localcds :transform + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00)) :local) + (send LEGUPPERL_LINK_lk :transform localcds :world) + ) + ;;2; + (send PELVL_LINK_lk :assoc LEGUPPERL_LINK_lk) + ) + + ;; node id=v1.node3, name=PELVYL_LINK, sid=node3 + (let ( b_g1_3_geom0) + ;; define bodyset-link for PELVYL_LINK : v1.node3 + (setq b_g1_3_geom0 (instance DARWIN_g1_3_geom0 :init)) + + ;; writeTransform(name=b_g1_3_geom0,domNode=PELVYL_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_3_geom0 :transform localcds :world) + ) + (setq PELVYL_LINK_lk + (instance bodyset-link + :init (make-cascoords) + :bodies (list b_g1_3_geom0) + :name "PELVYL_LINK")) + (send PELVYL_LINK_lk :weight 27.069) + (let ((tmp-c-list (list + (make-coords :pos (float-vector 3.7000000000000000e+01 -1.2220000000000000e+02 -5.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 1.8437200000000001e+01 4.8013500000000003e-01) :rot (matrix-exponent (scale 3.0434509163188275e+00 (float-vector 7.0625355896011288e-01 -4.9110293344152837e-02 -7.0625355896011288e-01)))) + )) + (tmp-c (make-coords))) + (dolist (cc tmp-c-list) + (setq tmp-c (send tmp-c :transform cc))) + (setq (PELVYL_LINK_lk . inertia-tensor) + (m* (m* (send tmp-c :worldrot) (diagonal (float-vector 6.0800445741485273e+03 1.1431265425851470e+04 1.5019139999999999e+04))) (transpose (send tmp-c :worldrot)))) + (setq (PELVYL_LINK_lk . acentroid) (send tmp-c :worldpos)) + ) + + ;; writeTransform(name=PELVYL_LINK_lk,domNode=PELVYL_LINK,targetCount=0,parent=:local), translateCount=1, rotateCount=2, matrixCount=0 + (send PELVYL_LINK_lk :transform + (make-coords :pos (float-vector 3.7000000000000000e+01 -1.2220000000000000e+02 -5.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)) :local) + ;;1; + + ;; writeTransform(name=PELVL_LINK_lk,domNode=PELVYL_LINK,targetCount=0,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send localcds :transform + (make-coords :pos (float-vector 3.7000000000000000e+01 -1.2220000000000000e+02 -5.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)) :local) + (send PELVL_LINK_lk :transform localcds :world) + ) + ;;2; + (send PELVYL_LINK_lk :assoc PELVL_LINK_lk) + ) + + ;; node id=v1.node14, name=FOOTR_LINK, sid=node14 + (let ( b_g1_14_geom0 b_g1_14_geom1) + ;; define bodyset-link for FOOTR_LINK : v1.node14 + (setq b_g1_14_geom0 (instance DARWIN_g1_14_geom0 :init)) + + ;; writeTransform(name=b_g1_14_geom0,domNode=FOOTR_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_14_geom0 :transform localcds :world) + ) + (setq b_g1_14_geom1 (instance DARWIN_g1_14_geom1 :init)) + + ;; writeTransform(name=b_g1_14_geom1,domNode=FOOTR_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_14_geom1 :transform localcds :world) + ) + (send b_g1_14_geom0 :assoc b_g1_14_geom1) + (setq FOOTR_LINK_lk + (instance bodyset-link + :init (make-cascoords) + :bodies (list b_g1_14_geom0 b_g1_14_geom1) + :name "FOOTR_LINK")) + (send FOOTR_LINK_lk :weight 79.446) + (let ((tmp-c-list (list + (make-coords :pos (float-vector -3.7000000000000000e+01 -1.2220000000000000e+02 -5.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)))) + (make-coords :pos (float-vector -0.0000000000000000e+00 -9.3000000000000000e+01 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 -9.3000000000000000e+01 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector -9.5058799999999994e+00 -2.5995300000000000e+01 -5.0287700000000002e-01) :rot (matrix-exponent (scale 3.1374881783494764e+00 (float-vector 6.3355814941524424e-02 -9.9794679653010854e-01 -9.3931894684097673e-03)))) + )) + (tmp-c (make-coords))) + (dolist (cc tmp-c-list) + (setq tmp-c (send tmp-c :transform cc))) + (setq (FOOTR_LINK_lk . inertia-tensor) + (m* (m* (send tmp-c :worldrot) (diagonal (float-vector 6.8003221353508503e+04 8.8232016045823475e+04 3.5821522600668002e+04))) (transpose (send tmp-c :worldrot)))) + (setq (FOOTR_LINK_lk . acentroid) (send tmp-c :worldpos)) + ) + + ;; writeTransform(name=FOOTR_LINK_lk,domNode=FOOTR_LINK,targetCount=0,parent=:local), translateCount=1, rotateCount=2, matrixCount=0 + (send FOOTR_LINK_lk :transform + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)) :local) + ;;1; + ) + + ;; node id=v1.node13, name=ANKLER_LINK, sid=node13 + (let ( b_g1_13_geom0) + ;; define bodyset-link for ANKLER_LINK : v1.node13 + (setq b_g1_13_geom0 (instance DARWIN_g1_13_geom0 :init)) + + ;; writeTransform(name=b_g1_13_geom0,domNode=ANKLER_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_13_geom0 :transform localcds :world) + ) + (setq ANKLER_LINK_lk + (instance bodyset-link + :init (make-cascoords) + :bodies (list b_g1_13_geom0) + :name "ANKLER_LINK")) + (send ANKLER_LINK_lk :weight 167.108) + (let ((tmp-c-list (list + (make-coords :pos (float-vector -3.7000000000000000e+01 -1.2220000000000000e+02 -5.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)))) + (make-coords :pos (float-vector -0.0000000000000000e+00 -9.3000000000000000e+01 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 -9.3000000000000000e+01 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)))) + (make-coords :pos (float-vector 2.1373200000000001e-01 1.3873099999999999e+01 -1.8536100000000001e+01) :rot (matrix-exponent (scale 3.0379497570860514e+00 (float-vector -9.9932043867120068e-01 -3.6659460910665437e-02 -3.8398931936168461e-03)))) + )) + (tmp-c (make-coords))) + (dolist (cc tmp-c-list) + (setq tmp-c (send tmp-c :transform cc))) + (setq (ANKLER_LINK_lk . inertia-tensor) + (m* (m* (send tmp-c :worldrot) (diagonal (float-vector 1.2106265191898300e+05 1.0967651340802430e+05 4.1131904672992692e+04))) (transpose (send tmp-c :worldrot)))) + (setq (ANKLER_LINK_lk . acentroid) (send tmp-c :worldpos)) + ) + + ;; writeTransform(name=ANKLER_LINK_lk,domNode=ANKLER_LINK,targetCount=0,parent=:local), translateCount=1, rotateCount=2, matrixCount=0 + (send ANKLER_LINK_lk :transform + (make-coords :pos (float-vector 0.0000000000000000e+00 -9.3000000000000000e+01 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)) :local) + ;;1; + + ;; writeTransform(name=FOOTR_LINK_lk,domNode=ANKLER_LINK,targetCount=0,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send localcds :transform + (make-coords :pos (float-vector 0.0000000000000000e+00 -9.3000000000000000e+01 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)) :local) + (send FOOTR_LINK_lk :transform localcds :world) + ) + ;;2; + (send ANKLER_LINK_lk :assoc FOOTR_LINK_lk) + ) + + ;; node id=v1.node12, name=LEGLOWERR_LINK, sid=node12 + (let ( b_g1_12_geom0) + ;; define bodyset-link for LEGLOWERR_LINK : v1.node12 + (setq b_g1_12_geom0 (instance DARWIN_g1_12_geom0 :init)) + + ;; writeTransform(name=b_g1_12_geom0,domNode=LEGLOWERR_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_12_geom0 :transform localcds :world) + ) + (setq LEGLOWERR_LINK_lk + (instance bodyset-link + :init (make-cascoords) + :bodies (list b_g1_12_geom0) + :name "LEGLOWERR_LINK")) + (send LEGLOWERR_LINK_lk :weight 70.310) + (let ((tmp-c-list (list + (make-coords :pos (float-vector -3.7000000000000000e+01 -1.2220000000000000e+02 -5.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)))) + (make-coords :pos (float-vector -0.0000000000000000e+00 -9.3000000000000000e+01 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)))) + (make-coords :pos (float-vector 5.9246900000000002e-01 -3.9045499999999997e+01 6.5476299999999998e+00) :rot (matrix-exponent (scale 3.0125423596492524e+00 (float-vector -6.9866362538497062e-01 -7.1259944941643427e-01 -6.3805667893410523e-02)))) + )) + (tmp-c (make-coords))) + (dolist (cc tmp-c-list) + (setq tmp-c (send tmp-c :transform cc))) + (setq (LEGLOWERR_LINK_lk . inertia-tensor) + (m* (m* (send tmp-c :worldrot) (diagonal (float-vector 4.3916891334151958e+04 9.3388120663165115e+04 1.1636003800268300e+05))) (transpose (send tmp-c :worldrot)))) + (setq (LEGLOWERR_LINK_lk . acentroid) (send tmp-c :worldpos)) + ) + + ;; writeTransform(name=LEGLOWERR_LINK_lk,domNode=LEGLOWERR_LINK,targetCount=0,parent=:local), translateCount=1, rotateCount=2, matrixCount=0 + (send LEGLOWERR_LINK_lk :transform + (make-coords :pos (float-vector -0.0000000000000000e+00 -9.3000000000000000e+01 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)) :local) + ;;1; + + ;; writeTransform(name=ANKLER_LINK_lk,domNode=LEGLOWERR_LINK,targetCount=0,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send localcds :transform + (make-coords :pos (float-vector -0.0000000000000000e+00 -9.3000000000000000e+01 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)) :local) + (send ANKLER_LINK_lk :transform localcds :world) + ) + ;;2; + (send LEGLOWERR_LINK_lk :assoc ANKLER_LINK_lk) + ) + + ;; node id=v1.node11, name=LEGUPPERR_LINK, sid=node11 + (let ( b_g1_11_geom0 b_g1_11_geom1) + ;; define bodyset-link for LEGUPPERR_LINK : v1.node11 + (setq b_g1_11_geom0 (instance DARWIN_g1_11_geom0 :init)) + + ;; writeTransform(name=b_g1_11_geom0,domNode=LEGUPPERR_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_11_geom0 :transform localcds :world) + ) + (setq b_g1_11_geom1 (instance DARWIN_g1_11_geom1 :init)) + + ;; writeTransform(name=b_g1_11_geom1,domNode=LEGUPPERR_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_11_geom1 :transform localcds :world) + ) + (send b_g1_11_geom0 :assoc b_g1_11_geom1) + (setq LEGUPPERR_LINK_lk + (instance bodyset-link + :init (make-cascoords) + :bodies (list b_g1_11_geom0 b_g1_11_geom1) + :name "LEGUPPERR_LINK")) + (send LEGUPPERR_LINK_lk :weight 119.043) + (let ((tmp-c-list (list + (make-coords :pos (float-vector -3.7000000000000000e+01 -1.2220000000000000e+02 -5.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)))) + (make-coords :pos (float-vector 3.2263500000000001e-01 -6.2965499999999992e+01 6.9190600000000002e-01) :rot (matrix-exponent (scale 3.1349165357532121e+00 (float-vector -7.0052749830315086e-01 7.1349838760778816e-01 1.3463840544786290e-02)))) + )) + (tmp-c (make-coords))) + (dolist (cc tmp-c-list) + (setq tmp-c (send tmp-c :transform cc))) + (setq (LEGUPPERR_LINK_lk . inertia-tensor) + (m* (m* (send tmp-c :worldrot) (diagonal (float-vector 3.2779794154093579e+04 9.7969132072394365e+04 1.1504953377351201e+05))) (transpose (send tmp-c :worldrot)))) + (setq (LEGUPPERR_LINK_lk . acentroid) (send tmp-c :worldpos)) + ) + + ;; writeTransform(name=LEGUPPERR_LINK_lk,domNode=LEGUPPERR_LINK,targetCount=0,parent=:local), translateCount=1, rotateCount=2, matrixCount=0 + (send LEGUPPERR_LINK_lk :transform + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)) :local) + ;;1; + + ;; writeTransform(name=LEGLOWERR_LINK_lk,domNode=LEGUPPERR_LINK,targetCount=0,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send localcds :transform + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00)) :local) + (send LEGLOWERR_LINK_lk :transform localcds :world) + ) + ;;2; + (send LEGUPPERR_LINK_lk :assoc LEGLOWERR_LINK_lk) + ) + + ;; node id=v1.node10, name=PELVR_LINK, sid=node10 + (let ( b_g1_10_geom0) + ;; define bodyset-link for PELVR_LINK : v1.node10 + (setq b_g1_10_geom0 (instance DARWIN_g1_10_geom0 :init)) + + ;; writeTransform(name=b_g1_10_geom0,domNode=PELVR_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_10_geom0 :transform localcds :world) + ) + (setq PELVR_LINK_lk + (instance bodyset-link + :init (make-cascoords) + :bodies (list b_g1_10_geom0) + :name "PELVR_LINK")) + (send PELVR_LINK_lk :weight 167.108) + (let ((tmp-c-list (list + (make-coords :pos (float-vector -3.7000000000000000e+01 -1.2220000000000000e+02 -5.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector -7.9982799999999993e-02 -1.3873099999999999e+01 -1.8242400000000000e+01) :rot (matrix-exponent (scale 2.1278186543466693e+00 (float-vector -5.8206765894392221e-01 6.1841948818868531e-01 5.2797213661327491e-01)))) + )) + (tmp-c (make-coords))) + (dolist (cc tmp-c-list) + (setq tmp-c (send tmp-c :transform cc))) + (setq (PELVR_LINK_lk . inertia-tensor) + (m* (m* (send tmp-c :worldrot) (diagonal (float-vector 4.1133583174242623e+04 1.2304396677250660e+05 1.1170008005325080e+05))) (transpose (send tmp-c :worldrot)))) + (setq (PELVR_LINK_lk . acentroid) (send tmp-c :worldpos)) + ) + + ;; writeTransform(name=PELVR_LINK_lk,domNode=PELVR_LINK,targetCount=0,parent=:local), translateCount=1, rotateCount=2, matrixCount=0 + (send PELVR_LINK_lk :transform + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)) :local) + ;;1; + + ;; writeTransform(name=LEGUPPERR_LINK_lk,domNode=PELVR_LINK,targetCount=0,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send localcds :transform + (make-coords :pos (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)) :local) + (send LEGUPPERR_LINK_lk :transform localcds :world) + ) + ;;2; + (send PELVR_LINK_lk :assoc LEGUPPERR_LINK_lk) + ) + + ;; node id=v1.node9, name=PELVYR_LINK, sid=node9 + (let ( b_g1_9_geom0) + ;; define bodyset-link for PELVYR_LINK : v1.node9 + (setq b_g1_9_geom0 (instance DARWIN_g1_9_geom0 :init)) + + ;; writeTransform(name=b_g1_9_geom0,domNode=PELVYR_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_9_geom0 :transform localcds :world) + ) + (setq PELVYR_LINK_lk + (instance bodyset-link + :init (make-cascoords) + :bodies (list b_g1_9_geom0) + :name "PELVYR_LINK")) + (send PELVYR_LINK_lk :weight 27.069) + (let ((tmp-c-list (list + (make-coords :pos (float-vector -3.7000000000000000e+01 -1.2220000000000000e+02 -5.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 1.8437200000000001e+01 4.8013500000000003e-01) :rot (matrix-exponent (scale 3.0434509163188275e+00 (float-vector 7.0625355896011288e-01 -4.9110293344152837e-02 -7.0625355896011288e-01)))) + )) + (tmp-c (make-coords))) + (dolist (cc tmp-c-list) + (setq tmp-c (send tmp-c :transform cc))) + (setq (PELVYR_LINK_lk . inertia-tensor) + (m* (m* (send tmp-c :worldrot) (diagonal (float-vector 6.0800445741485273e+03 1.1431265425851470e+04 1.5019139999999999e+04))) (transpose (send tmp-c :worldrot)))) + (setq (PELVYR_LINK_lk . acentroid) (send tmp-c :worldpos)) + ) + + ;; writeTransform(name=PELVYR_LINK_lk,domNode=PELVYR_LINK,targetCount=0,parent=:local), translateCount=1, rotateCount=2, matrixCount=0 + (send PELVYR_LINK_lk :transform + (make-coords :pos (float-vector -3.7000000000000000e+01 -1.2220000000000000e+02 -5.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)) :local) + ;;1; + + ;; writeTransform(name=PELVR_LINK_lk,domNode=PELVYR_LINK,targetCount=0,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send localcds :transform + (make-coords :pos (float-vector -3.7000000000000000e+01 -1.2220000000000000e+02 -5.0000000000000000e+00) + :angle 0.0000000000000000e+00 :axis (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)) :local) + (send PELVR_LINK_lk :transform localcds :world) + ) + ;;2; + (send PELVYR_LINK_lk :assoc PELVR_LINK_lk) + ) + + ;; node id=v1.node17, name=ARMLOWERL_LINK, sid=node17 + (let ( b_g1_17_geom0 b_g1_17_geom1) + ;; define bodyset-link for ARMLOWERL_LINK : v1.node17 + (setq b_g1_17_geom0 (instance DARWIN_g1_17_geom0 :init)) + + ;; writeTransform(name=b_g1_17_geom0,domNode=ARMLOWERL_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_17_geom0 :transform localcds :world) + ) + (setq b_g1_17_geom1 (instance DARWIN_g1_17_geom1 :init)) + + ;; writeTransform(name=b_g1_17_geom1,domNode=ARMLOWERL_LINK,targetCount=1,parent=:world), translateCount=1, rotateCount=2, matrixCount=0 + (let ((localcds (make-coords))) + (send b_g1_17_geom1 :transform localcds :world) + ) + (send b_g1_17_geom0 :assoc b_g1_17_geom1) + (setq ARMLOWERL_LINK_lk + (instance bodyset-link + :init (make-cascoords) + :bodies (list b_g1_17_geom0 b_g1_17_geom1) + :name "ARMLOWERL_LINK")) + (send ARMLOWERL_LINK_lk :weight 59.288) + (let ((tmp-c-list (list + (make-coords :pos (float-vector 8.2000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 -1.6000000000000000e+01 0.0000000000000000e+00) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector 0.0000000000000000e+00 -6.0000000000000000e+01 1.6000000000000000e+01) :rot (matrix-exponent (scale 0.0000000000000000e+00 (float-vector 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00)))) + (make-coords :pos (float-vector -6.6656399999999998e+00 -4.5838200000000001e+01 -1.3490100000000000e+01) :rot (matrix-exponent (scale 2.9760139441600675e+00 (float-vector 6.7568311286212879e-01 7.1948377229020299e-01 1.6060956510744590e-01)))) + )) + (tmp-c (make-coords))) + (dolist (cc tmp-c-list) + ... [truncated message content] |