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

第5回の3(p6~p9)について #414

Open
Himeno59 opened this issue Nov 22, 2021 · 4 comments
Open

第5回の3(p6~p9)について #414

Himeno59 opened this issue Nov 22, 2021 · 4 comments

Comments

@Himeno59
Copy link

第5回の「3 シンプルな遠隔関数呼び出しを書く」について
./add-two-ints-server.l

./add-two-ints-client.l 4 5
を実行すると
Requesting 4+5
4 + 5 = 9
ではなく以下のような出力になってしまいます。どのようにしたら良いでしょうか
Screenshot from 2021-11-22 13-30-43
Screenshot from 2021-11-22 13-30-55

Screenshot from 2021-11-22 13-32-05

@k-okada
Copy link
Member

k-okada commented Nov 22, 2021

ごめんなさい,これは資料がわるくて,資料のように2つの引数の和を得るようにするには,

(ros::roseus-add-srvs "roseus")

(ros::roseus "add_two_ints_client2")
(ros::wait-for-service "add_two_ints")
(setq args (subseq lisp::*eustop-argument* 7))
(cond ((= (length args) 2)
       (setq x (read-from-string (elt args 0))
             y (read-from-string (elt args 1))))
      (t
       (setq x (random 10)
             y (random 20))))

(setq req (instance roseus::AddTwoIntsRequest :init))
(send req :a x)
(send req :b y)
(setq before (ros::time-now))
(setq res (ros::service-call "add_two_ints" req))
(setq after (ros::time-now))
(format t "Requesting ~d+~d~%" (send req :a) (send req :b))
(format t "~d + ~d = ~d (~A sec)~%" (send req :a) (send req :b) (send res :sum)
        (send (ros::time- after before) :to-sec))
(ros::exit)

としてください.
なぜ,こういう出力がでるのかは,./add-two-ints-client.l のコードを見てわかるぐらいになると良いなとおもいます.

@Himeno59
Copy link
Author

上手く行きました。ありがとうございます。

資料にあった~client.lは呼び出されたときにrandomでaとbを決めていたため、上の写真のようにランダムな足し算をくりかえしていたが、~client2.lではread-from-stringで入力を受け付けてそれをaとbにいれているというような理解で大丈夫でしょうか

@k-okada
Copy link
Member

k-okada commented Nov 22, 2021 via email

@Himeno59
Copy link
Author

理解できました。ありがとうございます。

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

2 participants