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

update start-auto-balancer arguments #783

Conversation

eisoku9618
Copy link
Member

fkanehiro/hrpsys-base#750 がマージされてから,こちらをマージしていただけると幸いです.

@k-okada
Copy link
Member

k-okada commented Aug 4, 2015

マージされないとエラーになるようなテストをいれてもらえるといいんだけどね.rtm-ros-robot-interface.l はノーチェックなんだっけ?

◉ Kei Okada

On Tue, Aug 4, 2015 at 1:42 AM, Eisoku Kuroiwa [email protected]
wrote:

fkanehiro/hrpsys-base#750
fkanehiro/hrpsys-base#750

がマージされてから,こちらをマージしていただけると幸いです.

You can view, comment on, or merge this pull request online at:

#783
Commit Summary

  • update start-auto-balancer arguments

File Changes

Patch Links:


Reply to this email directly or view it on GitHub
#783.

@eisoku9618
Copy link
Member Author

以下のような感じで追加してみようとしましたが,stable RTCが使われている(?)せいか,abcのサービスを呼べませんでした.

よく見たら,hrpsys_ros_bridge_tutorialsでabcのテストはされていて,そちらはunstable RTCを使っていました.

実は

  • hrpsys_ros_bridgeはstable RTC用
  • hrpsys_ros_bridge_tutorialsはUnstable用

で,言ってしまえば unstableRTC用のプログラムもまざっているrtm-ros-robot-interface.l がhrpsys_ros_bridge以下にあるのがそもそもおかしいというのがあって,

rtm-ros-robot-interface.l はノーチェックなんだっけ?

というふうになっているという理解で合っていますでしょうか?

+    def test_auto_balancer(self):
+        rospy.wait_for_service('/SequencePlayerServiceROSBridge/setJointAngles')
+        set_joint_angles = rospy.ServiceProxy('/SequencePlayerServiceROSBridge/setJointAngles', OpenHRP_SequencePlayerService_setJointAngles)
+        wait_interpolation = rospy.ServiceProxy('/SequencePlayerServiceROSBridge/waitInterpolation', OpenHRP_SequencePlayerService_waitInterpolati
+        initial_pose = [-7.779e-005,  -0.378613,  -0.000209793,  0.832038,  -0.452564,  0.000244781,  0.31129,  -0.159481,  -0.115399,  -0.636277,
+        set_joint_angles(jvs = initial_pose, tm = 10.0)
+        wait_interpolation()
+        rospy.wait_for_service('/AutoBalancerServiceROSBridge/startAutoBalancer')
+        start_auto_balancer = rospy.ServiceProxy('/AutoBalancerServiceROSBridge/startAutoBalancer', OpenHRP_AutoBalancerService_startAutoBalancer)
+        go_pos = rospy.ServiceProxy('/AutoBalancerServiceROSBridge/goPos', OpenHRP_AutoBalancerService_goPos)
+        start_auto_balancer(limbs = ['rleg', 'lleg'])
+        rospy.logwarn("start AutoBalancer with legs")
+        go_pos(x = 0.1, y = 0.05, th = 20)
+        wait_foot_steps = rospy.ServiceProxy('/AutoBalancerServiceROSBridge/waitFootSteps', OpenHRP_AutoBalancerService_waitFootSteps)
+        wait_foot_steps()
+        rospy.logwarn("goPos 0.1 0.05 20")
+        self.assertTrue(True,"ok")

@eisoku9618 eisoku9618 closed this Aug 18, 2015
@eisoku9618 eisoku9618 deleted the update-start-auto-balancer-interface branch August 18, 2015 17:01
@snozawa
Copy link
Contributor

snozawa commented Aug 18, 2015

こちら遅くなりました。

現状、テストとして使えるコードは、hrpsys_ros_bridge_tutorials/test/hrpsys-samples/以下にありますが、
travis上でテストされてないので、Euslispに関しては実質テストなしの状態になってます。

@eisoku9618さん指摘のとおり、euslispのコードがhrpsys_ros_bridgeとhrpsys_ros_bridge_tutorialsで分かれてるのが問題でした。
現状hrpsys_ros_bridge_tutorialsはrtmros_commonをUSE_DEBでチェックしてるだけなので、
rtmros_commonのaptの反映にtutorialsのテストコードを一致させるタイミングが難しくなります。

  • rtm-ros-robot-interface.lをhrpsys_ros_bridge_tutorialsに移すか、
  • hrpsys_ros_bridge_tutorials/のテストをrtmros_commonに移して、rtmros_commonは本来Euslisp非依存だけどtravisの一個のテストだけはapt-getでeuslispをインストールして、euslispのチェックまで行う

などがありますが、どうするのがよさそうでしょうか。

@k-okada
Copy link
Member

k-okada commented Aug 24, 2015

rtm-ros-robot-interface.lをhrpsys_ros_bridge_tutorialsに移すか、
hrpsys_ros_bridge_tutorials/のテストをrtmros_commonに移して、rtmros_commonは本来Euslisp非依存だけどtravisの一個のテストだけはapt-getでeuslispをインストールして、euslispのチェックまで行う

どちらでもいいと思いますが,https://github.com/jsk-ros-pkg/jsk_recognition/blob/master/.travis.yml#L23
でros-idnigo-roseusとかけばバイナリがコンパイルされて,
CMakeLists.txtに
find_package(roseus QUIET)
if(roseus_FOUND)
add_rostest(launch/hoge.launch)
endif()
したらいいかと思います.
また,今のhrpsys_ros_bridge/launch/samplerobot.launchはunstablertcサポートになっていないので,
オプションで切り替えられる必要があるかな.ただ,

現状hrpsys_ros_bridge_tutorialsはrtmros_commonをUSE_DEBでチェックしてるだけなので、
rtmros_commonのaptの反映にtutorialsのテストコードを一致させるタイミングが難しくなります。

は,こまめにrtmros_commonのバージョンを上げていったらいいと思います.
授業の大半がコンパイルチャレンジになっていたりするのはやっぱ何か間違えているし,
コンパイルしたらそれなりに満足感を得られてしまうのでそのうちコンパイル出来ましたという
論文を書きたいんですけど,という人がでてきないか心配しています.

タイミングいいところで教えてくれるか,
以下のようのなPRの時に,これでひとまとまりのなにか機能が完結したのか
なにかやり途中なのか教えてもらえればと思います.
fkanehiro/hrpsys-base#759 (comment)
fkanehiro/hrpsys-base#763 (comment)

@snozawa
Copy link
Contributor

snozawa commented Aug 24, 2015

ありがとうございます(遅くなりました)。
hrpsys_ros_bridgeにhrpsys_ros_bridge_tutorialsからテストをもってくる方向で進めます。

@snozawa
Copy link
Contributor

snozawa commented Aug 25, 2015

travis.shで

  • catkin run_tests
  • *.testを探してきてrostestを実行する

の2種類がありますが、これはどういうふうに使い分けられてますでしょうか?
https://github.com/jsk-ros-pkg/jsk_travis/blob/master/travis.sh#L163

@snozawa
Copy link
Contributor

snozawa commented Aug 25, 2015

catkin run_tests
*.testを探してきてrostestを実行する
の2種類がありますが、これはどういうふうに使い分けられてますでしょうか?

  • 前者のcmakeの中にadd_rostestをかいてあるものはソースがあってcatkin xxしているときに呼ばれるテスト
  • 後者の*.testcatkin installした先でのテスト

になっていますでしょうか。

@k-okada
Copy link
Member

k-okada commented Aug 25, 2015

はい.そうです.
caktin install しちゃうと,テストプログラムを実行する方法がなくて,でも,なにかインストール忘れとかが見つからないので,こうしています.

◉ Kei Okada

2015-08-25 14:30 GMT+09:00 Shunichi Nozawa [email protected]:

catkin run_tests
*.testを探してきてrostestを実行する
の2種類がありますが、これはどういうふうに使い分けられてますでしょうか?

  • 前者のcmakeの中にadd_rostestをかいてあるものはソースがあってcatkin xxしているときに呼ばれるテスト
  • 後者の*.testはcatkin installした先でのテスト

になっていますでしょうか。


Reply to this email directly or view it on GitHub
#783 (comment)
.

@snozawa
Copy link
Contributor

snozawa commented Aug 26, 2015

なるほどありがとうございます!
わかりました。

@snozawa snozawa mentioned this pull request Aug 26, 2015
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

Successfully merging this pull request may close these issues.

3 participants