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

aizuspider-initができない #21

Open
dyson8910 opened this issue Jul 3, 2019 · 0 comments
Open

aizuspider-initができない #21

dyson8910 opened this issue Jul 3, 2019 · 0 comments

Comments

@dyson8910
Copy link
Contributor

解決したのですがIssueをたてさせていただきます.
choreonoid上のaizuspiderをeuslispインターフェースから操作したいと思い,

$ ./run.sh roslaunch aizuspider_description aizuspider_task2.launch

でchoreonoidを立ち上げた状態で,

$ exec.sh
$ roscd aizuspider_description
$ roseus aizuspider-interface.l
roseus$ (aizuspider-init)

を行ったのですが,

E209-irteusgl$ Call Stack (max depth: 20):
  0: at (send action-client :pop-angle-vector-simulation)
  1: at (let* ((joint-names (cdr (assoc :joint-names param))) (action-name (cdr (assoc :controller-action param))) (action-client (find action-name controller-actions :key #'(lambda (x) (send x :name)) :test #'string=)) (av (send action-client :pop-angle-vector-simulation))) (when av (dolist (j joint-names) (if (find j all-joint-names :test #'string=) (let ((i (position j all-joint-names :test #'string=))) (send (elt joint-list i) :joint-angle (elt av i)))))))
  2: at (while #:dolist4064 (setq param (pop #:dolist4064)) (let* ((joint-names (cdr (assoc :joint-names param))) (action-name (cdr (assoc :controller-action param))) (action-client (find action-name controller-actions :key #'(lambda (x) (send x :name)) :test #'string=)) (av (send action-client :pop-angle-vector-simulation))) (when av (dolist (j joint-names) (if (find j all-joint-names :test #'string=) (let ((i (position j all-joint-names :test #'string=))) (send (elt joint-list i) :joint-angle (elt av i))))))))
  3: at (let ((param nil) (#:dolist4064 (send self controller-type))) nil (while #:dolist4064 (setq param (pop #:dolist4064)) (let* ((joint-names (cdr (assoc :joint-names param))) (action-name (cdr (assoc :controller-action param))) (action-client (find action-name controller-actions :key #'(lambda (x) (send x :name)) :test #'string=)) (av (send action-client :pop-angle-vector-simulation))) (when av (dolist (j joint-names) (if (find j all-joint-names :test #'string=) (let ((i (position j all-joint-names :test #'string=))) (send (elt joint-list i) :joint-angle (elt av i)))))))) nil)
  4: at (dolist (param (send self controller-type)) (let* ((joint-names (cdr (assoc :joint-names param))) (action-name (cdr (assoc :controller-action param))) (action-client (find action-name controller-actions :key #'(lambda (x) (send x :name)) :test #'string=)) (av (send action-client :pop-angle-vector-simulation))) (when av (dolist (j joint-names) (if (find j all-joint-names :test #'string=) (let ((i (position j all-joint-names :test #'string=))) (send (elt joint-list i) :joint-angle (elt av i))))))))
  5: at (let* ((joint-list (send robot :joint-list)) (all-joint-names (send-all joint-list :name))) (dolist (param (send self controller-type)) (let* ((joint-names (cdr (assoc :joint-names param))) (action-name (cdr (assoc :controller-action param))) (action-client (find action-name controller-actions :key #'(lambda (x) (send x :name)) :test #'string=)) (av (send action-client :pop-angle-vector-simulation))) (when av (dolist (j joint-names) (if (find j all-joint-names :test #'string=) (let ((i (position j all-joint-names :test #'string=))) (send (elt joint-list i) :joint-angle (elt av i)))))))) (send self :publish-joint-state) (if viewer (send self :draw-objects)))
  6: at (send #<aizuspider-interface #X68a10d8> :robot-interface-simulation-callback)
  7: at euserror
  8: at euserror
  9: at (send action-client :pop-angle-vector-simulation)
  10: at (let* ((joint-names (cdr (assoc :joint-names param))) (action-name (cdr (assoc :controller-action param))) (action-client (find action-name controller-actions :key #'(lambda (x) (send x :name)) :test #'string=)) (av (send action-client :pop-angle-vector-simulation))) (when av (dolist (j joint-names) (if (find j all-joint-names :test #'string=) (let ((i (position j all-joint-names :test #'string=))) (send (elt joint-list i) :joint-angle (elt av i)))))))
  11: at (while #:dolist4061 (setq param (pop #:dolist4061)) (let* ((joint-names (cdr (assoc :joint-names param))) (action-name (cdr (assoc :controller-action param))) (action-client (find action-name controller-actions :key #'(lambda (x) (send x :name)) :test #'string=)) (av (send action-client :pop-angle-vector-simulation))) (when av (dolist (j joint-names) (if (find j all-joint-names :test #'string=) (let ((i (position j all-joint-names :test #'string=))) (send (elt joint-list i) :joint-angle (elt av i))))))))
  12: at (let ((param nil) (#:dolist4061 (send self controller-type))) nil (while #:dolist4061 (setq param (pop #:dolist4061)) (let* ((joint-names (cdr (assoc :joint-names param))) (action-name (cdr (assoc :controller-action param))) (action-client (find action-name controller-actions :key #'(lambda (x) (send x :name)) :test #'string=)) (av (send action-client :pop-angle-vector-simulation))) (when av (dolist (j joint-names) (if (find j all-joint-names :test #'string=) (let ((i (position j all-joint-names :test #'string=))) (send (elt joint-list i) :joint-angle (elt av i)))))))) nil)
  13: at (dolist (param (send self controller-type)) (let* ((joint-names (cdr (assoc :joint-names param))) (action-name (cdr (assoc :controller-action param))) (action-client (find action-name controller-actions :key #'(lambda (x) (send x :name)) :test #'string=)) (av (send action-client :pop-angle-vector-simulation))) (when av (dolist (j joint-names) (if (find j all-joint-names :test #'string=) (let ((i (position j all-joint-names :test #'string=))) (send (elt joint-list i) :joint-angle (elt av i))))))))
  14: at (let* ((joint-list (send robot :joint-list)) (all-joint-names (send-all joint-list :name))) (dolist (param (send self controller-type)) (let* ((joint-names (cdr (assoc :joint-names param))) (action-name (cdr (assoc :controller-action param))) (action-client (find action-name controller-actions :key #'(lambda (x) (send x :name)) :test #'string=)) (av (send action-client :pop-angle-vector-simulation))) (when av (dolist (j joint-names) (if (find j all-joint-names :test #'string=) (let ((i (position j all-joint-names :test #'string=))) (send (elt joint-list i) :joint-angle (elt av i)))))))) (send self :publish-joint-state) (if viewer (send self :draw-objects)))
  15: at (send #<aizuspider-interface #X68a10d8> :robot-interface-simulation-callback)
  16: at euserror
  17: at euserror
  18: at (send action-client :pop-angle-vector-simulation)
  19: at (let* ((joint-names (cdr (assoc :joint-names param))) (action-name (cdr (assoc :controller-action param))) (action-client (find action-name controller-actions :key #'(lambda (x) (send x :name)) :test #'string=)) (av (send action-client :pop-angle-vector-simulation))) (when av (dolist (j joint-names) (if (find j all-joint-names :test #'string=) (let ((i (position j all-joint-names :test #'string=))) (send (elt joint-list i) :joint-angle (elt av i)))))))
  And more...
/opt/ros/kinetic/share/euslisp/jskeus/eus/Linux64/bin/irteusgl 0 error: cannot find method :pop-angle-vector-simulation in (send action-client :pop-angle-vector-simulation)

というエラーがずっと出てしまいます.
aizuspider-initでの:namespaceが
"AizuSpider"となっているのに対して,choreonoidを立ち上げた際のtopicなどでは
"AizuSpiderAA"となっているのが原因のようです.

$ exec.sh
$ roscd aizuspider_description
$ roseus aizuspider-interface.l
roseus$ (aizuspider-init :namespace "AizuSpiderAA")

としたところ,エラーも出ずにri,robotができており,
(send ri :angle-vector (send robot :angle-vector) 5000)
などができることが確認しました.

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