Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
hiroya1224 opened this issue Apr 19, 2022 · 0 comments

Comments

@hiroya1224
Copy link
Contributor

@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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant