Skip to content

rcb4robot から roboasm に変換しようとするとエラーになる #74

@hiroya1224

Description

@hiroya1224

@YoheiKakiuchi
#73 で追加された euslisp/README.md に従って rcb4robot の変換を試みているところですが,

;; extending gcstack 0x558063048230[32738] --> 0x558064a672b0[65476] top=7de9
Call Stack (max depth: 20):
  0: at (send (bd . gl::aglvertices) :vertices)
  1: at (mapcar #'(lambda (v) (send (send bd :worldcoords) :transform-vector v)) (send (bd . gl::aglvertices) :vertices))
  2: at (make-bounding-box (mapcar #'(lambda (v) (send (send bd :worldcoords) :transform-vector v)) (send (bd . gl::aglvertices) :vertices)) fat)
  3: at (let* ((bx (make-bounding-box (mapcar #'(lambda (v) (send (send bd :worldcoords) :transform-vector v)) (send (bd . gl::aglvertices) :vertices)) fat)\
) (kn (intern (string-upcase (ra-name (send bd :name))) *keyword-package*)) (id (intern (string-upcase (format nil "~A-~D" (string kn) name-counter)) *keywo\
rd-package*))) (incf name-counter) (if bottom-to-upper (send bd :name (bottom-to-upper kn)) (send bd :name kn)) (send bd :put :bbox bx) (send bd :put :id id\
))
  4: at (while #:dolist2077 (setq bd (pop #:dolist2077)) (let* ((bx (make-bounding-box (mapcar #'(lambda (v) (send (send bd :worldcoords) :transform-vector \
v)) (send (bd . gl::aglvertices) :vertices)) fat)) (kn (intern (string-upcase (ra-name (send bd :name))) *keyword-package*)) (id (intern (string-upcase (for\
mat nil "~A-~D" (string kn) name-counter)) *keyword-package*))) (incf name-counter) (if bottom-to-upper (send bd :name (bottom-to-upper kn)) (send bd :name \
kn)) (send bd :put :bbox bx) (send bd :put :id id)))
  5: at (let ((bd nil) (#:dolist2077 (send lk :bodies))) nil (while #:dolist2077 (setq bd (pop #:dolist2077)) (let* ((bx (make-bounding-box (mapcar #'(lambd\
a (v) (send (send bd :worldcoords) :transform-vector v)) (send (bd . gl::aglvertices) :vertices)) fat)) (kn (intern (string-upcase (ra-name (send bd :name))\
) *keyword-package*)) (id (intern (string-upcase (format nil "~A-~D" (string kn) name-counter)) *keyword-package*))) (incf name-counter) (if bottom-to-upper\
 (send bd :name (bottom-to-upper kn)) (send bd :name kn)) (send bd :put :bbox bx) (send bd :put :id id))) nil)
  6: at (dolist (bd (send lk :bodies)) (let* ((bx (make-bounding-box (mapcar #'(lambda (v) (send (send bd :worldcoords) :transform-vector v)) (send (bd . gl\
::aglvertices) :vertices)) fat)) (kn (intern (string-upcase (ra-name (send bd :name))) *keyword-package*)) (id (intern (string-upcase (format nil "~A-~D" (s\
tring kn) name-counter)) *keyword-package*))) (incf name-counter) (if bottom-to-upper (send bd :name (bottom-to-upper kn)) (send bd :name kn)) (send bd :put\
 :bbox bx) (send bd :put :id id)))
  7: at (while #:dolist2075 (setq lk (pop #:dolist2075)) (dolist (bd (send lk :bodies)) (let* ((bx (make-bounding-box (mapcar #'(lambda (v) (send (send bd :\
worldcoords) :transform-vector v)) (send (bd . gl::aglvertices) :vertices)) fat)) (kn (intern (string-upcase (ra-name (send bd :name))) *keyword-package*)) \
(id (intern (string-upcase (format nil "~A-~D" (string kn) name-counter)) *keyword-package*))) (incf name-counter) (if bottom-to-upper (send bd :name (botto\
m-to-upper kn)) (send bd :name kn)) (send bd :put :bbox bx) (send bd :put :id id))))
  8: at (let ((lk nil) (#:dolist2075 (send robot :links))) nil (while #:dolist2075 (setq lk (pop #:dolist2075)) (dolist (bd (send lk :bodies)) (let* ((bx (m\
ake-bounding-box (mapcar #'(lambda (v) (send (send bd :worldcoords) :transform-vector v)) (send (bd . gl::aglvertices) :vertices)) fat)) (kn (intern (string\
-upcase (ra-name (send bd :name))) *keyword-package*)) (id (intern (string-upcase (format nil "~A-~D" (string kn) name-counter)) *keyword-package*))) (incf \
name-counter) (if bottom-to-upper (send bd :name (bottom-to-upper kn)) (send bd :name kn)) (send bd :put :bbox bx) (send bd :put :id id)))) nil)
  9: at (dolist (lk (send robot :links)) (dolist (bd (send lk :bodies)) (let* ((bx (make-bounding-box (mapcar #'(lambda (v) (send (send bd :worldcoords) :tr\
ansform-vector v)) (send (bd . gl::aglvertices) :vertices)) fat)) (kn (intern (string-upcase (ra-name (send bd :name))) *keyword-package*)) (id (intern (str\
ing-upcase (format nil "~A-~D" (string kn) name-counter)) *keyword-package*))) (incf name-counter) (if bottom-to-upper (send bd :name (bottom-to-upper kn)) \
(send bd :name kn)) (send bd :put :bbox bx) (send bd :put :id id))))
  10: at (let ((name-counter 0)) (dolist (lk (send robot :links)) (dolist (bd (send lk :bodies)) (let* ((bx (make-bounding-box (mapcar #'(lambda (v) (send (\
send bd :worldcoords) :transform-vector v)) (send (bd . gl::aglvertices) :vertices)) fat)) (kn (intern (string-upcase (ra-name (send bd :name))) *keyword-pa\
ckage*)) (id (intern (string-upcase (format nil "~A-~D" (string kn) name-counter)) *keyword-package*))) (incf name-counter) (if bottom-to-upper (send bd :na\
me (bottom-to-upper kn)) (send bd :name kn)) (send bd :put :bbox bx) (send bd :put :id id)))) (send robot :init-pose) robot)
  11: at (rename-and-add-bbox (kxr-make-robot "kxrl2l6a6h2"))
  12: at (setq *robot* (rename-and-add-bbox (kxr-make-robot "kxrl2l6a6h2")))
/opt/ros/melodic/share/euslisp/jskeus/eus/Linux64/bin/irteusgl: ERROR th=0 cannot find method :vertices:vertices in (send (bd . gl::aglvertices) :vertices)E\
: 

と,(send (bd . gl::aglvertices) :vertices) のところでエラーになっているようです.

実行したコマンドは以下です.readme の第1パラグラフにあるものをそのまま実行したのち,以下のコマンドを実行しました.

;; Here is the process on rcb4robot side
(load "rcb4robots.l")
(load "package://robot_assembler/euslisp/convert-rcb4robots.l")
(load-parts-association-file "/tmp/ra_parts_attach_list.l")

;; convert kxr-robot to roboasm-robot
(setq *robot* (rename-and-add-bbox (kxr-make-robot "kxrl2l6a6h2")))
(setq ht (convert-robot-to-roboasm *robot*)) ;; make hash-table from kxr-robot
(dump-hash "/tmp/roboasm.l" ht) ;; dump hash-table to roboasm.l

(exit)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions