Closed GoogleCodeExporter closed 9 years ago
できないときの、rtcdの出力を送っていただけますでしょう�
��。
rtcdなどをkillして再起動せずに、OFFした状態からONして復帰�
��る方法、ですよね?
Original comment by noz...@jsk.imi.i.u-tokyo.ac.jp
on 23 Aug 2013 at 12:58
OFFー>ONできない理由の一つがおもいあたるので、
http://code.google.com/p/hrpsys-base/issues/detail?id=131
につくりました。
Original comment by noz...@jsk.imi.i.u-tokyo.ac.jp
on 23 Aug 2013 at 1:07
HIROでエラーリミットを越えてハードウェアがリレーを落と�
��た場合、servoOffを送る必要があります。
Original comment by emijah.s
on 25 Aug 2013 at 10:50
>
HIROでエラーリミットを越えてハードウェアがリレーを落と�
��た場合、servoOffを送る必要があります。
これは、RobotHardware.cppでcheckEmergencyをチェックしながら、
エラーが大きいときにservoOffする機能のことでしょうか。
それとも、実験者が危険と判断してリレーボックスのリレ��
�スイッチを
押すことでしょうか。
後者の場合、RobotHardwareのRTCがリレーのON/OFFを常時チェッ��
�しながら、
リレーがOFFならサーボもOFFにする機能はこちらでも欲しい��
�思っていましたが、
そもそもリレーのON/OFFはソフトウェア的に取得できており
ますでしょうか
(ハードウェア的、iob的に)。
Power ON/OFF, Servo ON/OFF, Relay ON/OFFと今
3つくらい状態を表すものがあるうち、Relayだけがソフトウ
ェア的に
とれなかったと記憶しています。
Original comment by noz...@jsk.imi.i.u-tokyo.ac.jp
on 26 Aug 2013 at 10:34
すいません、色々と見落としていて返事をしていませんで��
�た。
今斎藤さんのアドバイス通り試してみたら、
1. サーボOn状態で緊急停止ボタンを押す
2. ボタンを戻す
3. python上から、hiro.servoOff()を送る
で復帰できました。
心配していたのは、
3の時に、別のterminalを立ち上げて、hiroにconnectし直すことが
できるのか、
でしたが、問題なく出来ました。ありがとうございました��
�
復帰できないケースが出たら、また報告します。
また、こちらのIssueは一旦Fixedにしとけば良いでしょうか?
Original comment by ke...@jsk.imi.i.u-tokyo.ac.jp
on 26 Aug 2013 at 10:53
>
また、こちらのIssueは一旦Fixedにしとけば良いでしょうか?
いや,以下を解決して,非常停止ボタンを押す→ボタンを��
�す,で使い続けられるようにするのがよいです.最終的に�
��,https://code.google.com/p/hrpsys-base/issues/detail?id=131 も関係し��
�うです.
>
後者の場合、RobotHardwareのRTCがリレーのON/OFFを常時チェッ��
�しながら、
>
リレーがOFFならサーボもOFFにする機能はこちらでも欲しい��
�思っていましたが、
>
そもそもリレーのON/OFFはソフトウェア的に取得できており
ますでしょうか
> (ハードウェア的、iob的に)。
わからないです.ハードウェアとしてはとれているもので��
�ょうか?iob(あるいはサーボレベル?)としてはとれてい�
��でしょうか>齋藤さん
Original comment by kei.ok...@gmail.com
on 28 Aug 2013 at 4:26
>
また、こちらのIssueは一旦Fixedにしとけば良いでしょうか?
返事がおそくなりましたが,kei.okadaさんと同意見で,
もう少し経緯を把握して,安全に使えるようにしたいとこ��
�です.
> 今斎藤さんのアドバイス通り試してみたら、
> 1. サーボOn状態で緊急停止ボタンを押す
> 2. ボタンを戻す
> 3. python上から、hiro.servoOff()を送る
> で復帰できました。
これがよくわからなかったので最初の質問に戻りますが,��
�もそも復帰とは何のことですか?
緊急停止(=Relay)ボタンを戻して,servoOnできる状況に至るの��
�復帰かと思いましたが,違いますか?
自分がしっているソフトウェア構成だと,1->2をすると,
PowerがONかつサーボONの状態で,RelayもONになるので,
一気に関節指令値まで動こうとして危険な気がします.
「復帰できました」というのは,上記のようなことが起こ��
�ず,
緊急停止ボタンを戻すことができたということですか?
また,このときにはservo,
PowerはそれぞれOnですか,OFFですか?
さらにそのとき,
> 3. python上から、hiro.servoOff()を送る
> で復帰できました.
の3の行程のservoOffは必要ですか?
あと,当初の
> いまは出来なく、たまにできる時がある気がします
症状に再現性があったりなかったりする状況は,今どうな��
�てますか?
質問事項が多くなってしまいましたが,よろしくお願いし��
�す.
Original comment by noz...@jsk.imi.i.u-tokyo.ac.jp
on 28 Aug 2013 at 6:49
わかりました。
>これがよくわからなかったので最初の質問に戻りますが,�
��もそも復帰とは何のことですか?
>緊急停止(=Relay)ボタンを戻して,servoOnできる状況に至るの�
��復帰かと思いましたが,違いますか?
それで合っています。
>自分がしっているソフトウェア構成だと,1->2をすると,
>PowerがONかつサーボONの状態で,RelayもONになるので,
>一気に関節指令値まで動こうとして危険な気がします.
HIROでは仕様が違うのでしょうか?
HIROはボタンを戻しても、サーボOnにはならないです。
しかし危なそうなので、今後は先に3のサーボOffをやるよう�
��します。
>「復帰できました」というのは,上記のようなことが起こ�
��ず,
>緊急停止ボタンを戻すことができたということですか?
qnxを再起動せずに、再びロボットを動かして実験できる状��
�にできることです。
>また,このときにはservo,
PowerはそれぞれOnですか,OFFですか?
1, 2共に、servoもpowerもOffになっています。
PowerがOnの状態がよくわかりませんが、少し関節が重くなる�
��ど一応動く、でよろしいですか?
>3の行程のservoOffは必要ですか?
はい、必要です。
これが無いと、HIROの4色のランプのうち、異常を示す赤いラ
ンプが消えてくれません
>> いまは出来なく、たまにできる時がある気がします
>症状に再現性があったりなかったりする状況は,今どうな�
��てますか?
これは恐らく、
「たまにできる時=サーボが入っていない時に、ボタンを��
�って落としてしまった等の理由で緊急停止した場合」
ということでした。
できなかった時は、サーボが入っている実験中に緊急停止��
�た場合で、
この時は斎藤さんのおっしゃるように、サーボOffの信号を��
�ると、復帰できるようになりました。
また、緊急停止ボタンではなく、ぶつかってしまってロボ��
�トが落ちた場合にも、
同じように赤いランプが点灯しますが、これも同じ手順で��
�帰可能かは、
わざとぶつけて落とすはさすがに良くないと思うので、
次にもしも、ぶつけてしまう時があれば、その時に確認し��
�す。
以上です。よろしくおねがいします。
Original comment by ke...@jsk.imi.i.u-tokyo.ac.jp
on 28 Aug 2013 at 7:02
返信してもらった内容で,
>>これがよくわからなかったので最初の質問に戻りますが,
そもそも復帰とは何のことですか?
>>緊急停止(=Relay)ボタンを戻して,servoOnできる状況に至るの
が復帰かと思いましたが,違いますか?
>それで合っています。
ServoやRelayのフラグ的に,RelayボタンをONにして通常の実��
�再開までもってけるかというのと,
>>「復帰できました」というのは,上記のようなことが起こ
らず,
>>緊急停止ボタンを戻すことができたということですか?
>qnxを再起動せずに、再びロボットを動かして実験できる状�
��にできることです。
OSを再起動する必要があるほどの,何かしらの不具合が��
�る,
というので,「復帰」が2こでてきているのですが,
たぶんこのissueで話し合っていたのは前者だと思うので,
前者のつもりで返信します.
後者の方が何か問題があれば,また別issueをたてていただけ
ますでしょうか.
>>>自分がしっているソフトウェア構成だと,1->2をすると,
>>>PowerがONかつサーボONの状態で,RelayもONになるので,
>>>一気に関節指令値まで動こうとして危険な気がします.
> HIROでは仕様が違うのでしょうか?
> HIROはボタンを戻しても、サーボOnにはならないです。
>
しかし危なそうなので、今後は先に3のサーボOffをやるよう�
��します。
まずいっこ,こちらの説明で訂正があります.
緊急停止(Relay)ボタンをOFFしたあとの挙動は二つで,
(a) OFFにする前と同様にServo ONでありつづける
(b) OFFにしたことで腕が垂れ下がるなどして,
指令値と実関節角の差が大きくなるので,
結果的にRobotHardwareの機能でServo OFFすることがある
です.
なので,緊急停止(Relay)ボタンをOFFした後で
Servoもきれていたときは,(b)の状況になると思います.
このときは,ServoがOFFなので,3のサーボOffを
手動でやる必要はなく,普通に緊急停止(Relay)ボタンを
ONしてからServo ONするだけで,復帰できると思います.
緊急停止(Relay)ボタンをOFFした後+関節が十分動かされた後�
��
rostopic echo /motor_states/servo_state
を実行すると,Falseとでてきて,ServoがOFFになっていると思�
��ます.
問題は(a)の場合で,Servo ONの状態でいつづけるので,
何らかの方法で自動でServo OFFしてくれる
仕組みが必要です.
>>また,このときにはservo,
PowerはそれぞれOnですか,OFFですか?
>1, 2共に、servoもpowerもOffになっています。
>
PowerがOnの状態がよくわかりませんが、少し関節が重くなる�
��ど一応動く、でよろしいですか?
Poewr ONの理解はこちらであっていると思います.
ソフトウェア的には,
rostopic echo /motor_states/power_state
でみることができますし,ROSを介さない
HIRONX独自の確認スクリプトもあると思います.
>>3の行程のservoOffは必要ですか?
>はい、必要です。
>これが無いと、HIROの4色のランプのうち、異常を示す赤い��
�ンプが消えてくれません
他のROBOTでは,本体LEDの赤ランプは
Servoの状態を表示しているらしいので,
こちらの理解ではServo がOFFになっていれば
赤ランプはきえているはずです.
赤ランプがきえてないときは,Servo ONの状態で,
このときは(a)の状態なんだと思います.
>
できなかった時は、サーボが入っている実験中に緊急停止��
�た場合で、
>
この時は斎藤さんのおっしゃるように、サーボOffの信号を��
�ると、復帰できるようになりました。
これも,(a)か(b)かで復帰できる,できないがあるきがしま��
�.
>
また、緊急停止ボタンではなく、ぶつかってしまってロボ��
�トが落ちた場合にも、
>
同じように赤いランプが点灯しますが、これも同じ手順で��
�帰可能かは、
ロボットが落ちるのは,Servo
がOFFになるということですか?
それともOSごとかたまったりhaltしたりするということです��
�?
Original comment by noz...@jsk.imi.i.u-tokyo.ac.jp
on 28 Aug 2013 at 9:19
まとめると,今回関係しそうな
Servo
ON時の緊急停止やフェイルセーフからの復帰法としては,
(1) 緊急停止(Relay)ボタンを押した
rostopic echo /motor_states/servo_stateのTrue/Flaseで2状態があり,
(1-1) Servo ONのままでありつづけるとき
関節角エラーが比較的小さく
RobotHardwareが自動でServo Offを
してくれなかった.
上記の(a)に相当.
復帰方法は,
- 手動でServo OFF指令をおくる
- 緊急停止(Relay)ボタンをもどす
- Servo ON指令をおくる
(1-2) Servo OFFになってくれたとき
関節角エラーがおおきくRobotHardwareが
Servo OFFしてくれた.
rtcdの出力に
": servo error limit over: joint = "
などがでてくる.
上記の(b)に相当.
復帰方法は,
- 緊急停止(Relay)ボタンをもどす
- Servo ON指令をおくる
(2) 緊急停止(Relay)ボタンでなく,勝手にOffになった
関節角エラーがおおきくRobotHardwareが
Servo OFFしてくれた.
rtcdの出力に
": servo error limit over: joint = "
などがでてくる.
復帰方法は,
- Servo ON指令をおくる
で復帰できる(はず?).
で,ソフトウェア・ハードウェア的な状態としては
- 緊急停止(Relay)ボタンがON/OFF
- Servo がON/OFF
rostopic echo /motor_states/servo_state
- PowerがON/OFF
rostopic echo /motor_states/power_state
の3状態がおもに重要で,
そのうちRelay以外が現状ソフトウェア的に管理できる.
このissueをFixedにしないでおいてほしい理由は
上記復帰方法の(1-1)にあります.
(1-1)は,緊急停止事由がおこった後で
Serov OFFかどうかを判断しないと
正常に復帰できないので面倒
+ミスが起こると事故になります.
> 斉藤さん
上記記述に誤りがございましたら,ご指摘いただけますと��
�いです
> kenji@jsk.imi.i.u-tokyo.ac.jpさん
実験中に,復帰方法・状況の判断方法などがあってるか
確認してもらえると助かります.
また,状態を表す用語や復帰方法などは
同様の議論や質問がよくでてくるものなので,
rtm-ros-roboticsのwikiあたりに書いておいてもらえると助かりま
す.
http://code.google.com/p/rtm-ros-robotics/wiki/SideNav?tm=6
Original comment by noz...@jsk.imi.i.u-tokyo.ac.jp
on 28 Aug 2013 at 9:25
多分,サブジェクトに「hiroで,」とあるので,
>
OSを再起動する必要があるほどの,何かしらの不具合が��
�る,
という状況になっている,と理解するの最初の意図だった��
�思います.
つまり,リレーボックスの緊急停止を押したあと,それを��
�しても
異常を示すランプがついたままで,その時からの復旧方法��
�リブート
というのがユーザの理解でした.
ちゃんと追っていませんが,そこからサーボオフの命令を��
�くると
異常クリアがおこってサーボが入るようになるということ��
�んだと
思います.で,ようやく,その先の議論が野沢くんが書い��
�くれた
話に入れる,という感じなんでしょう.
Original comment by kei.ok...@gmail.com
on 28 Aug 2013 at 9:31
詳細に説明していただいてありがとうございます。
何となく見るべきところがわかってきました。
今後は注意深く観察して、また不具合が出たら報告してい��
�ます。
>赤ランプがきえてないときは,Servo ONの状態で,
>このときは(a)の状態なんだと思います
HIROのランプの状態は、
緑→サーボ状態。Onだと点灯、Offだと点滅
赤→異常。サーボが意図せず落ちた時は、赤だけが点滅し��
�いたと思います。
橙→一時停止(だったと思います?)。grx版コントローラ��
�は使えましたが、今はまだ使えません。
白→キャリブ済みか否か
だと思います。
斎藤さん、間違っていたら訂正お願いします。
>ロボットが落ちるのは,Servo
がOFFになるということですか?
>それともOSごとかたまったりhaltしたりするということです�
��?
前者です。紛らわしくてごめんなさい。OSが固まったことは
無いと思います。
>OSを再起動する必要があるほどの,何かしらの不具合が�
��る,
これはほとんど、
僕の対処能力が低くて、OSを再起動するしか、復帰する方法
が分からなかった、
だと思います。
>実験中に,復帰方法・状況の判断方法などがあってるか
>確認してもらえると助かります.
はい、わかりました。
>また,状態を表す用語や復帰方法などは
>同様の議論や質問がよくでてくるものなので,
>rtm-ros-roboticsのwikiあたりに書いておいてもらえると助かり��
�す.
これは、何というページを作って、どの範囲までまとめれ��
�良いでしょうか?
「ロボットトラブル時の用語集」みたいなページで、トラ��
�ルの時に使いそうな用語だけ書けば大丈夫ですか?
お手数ですが、もう少し詳細に指示していただけると助か��
�ます。
Original comment by ke...@jsk.imi.i.u-tokyo.ac.jp
on 28 Aug 2013 at 12:15
Original comment by kei.ok...@gmail.com
on 30 Jan 2014 at 11:02
Moved to https://github.com/start-jsk/rtmros_hironx/issues/38
Original comment by iisaac.s...@gmail.com
on 2 Mar 2014 at 2:02
Original issue reported on code.google.com by
ke...@jsk.imi.i.u-tokyo.ac.jp
on 23 Aug 2013 at 12:48