Comment #9 on issue 178 by
noz...@jsk.imi.i.u-tokyo.ac.jp: hiroでリレースイ
ッチをOFFにした時に、復帰できる方法を知りたい
http://code.google.com/p/rtm-ros-robotics/issues/detail?id=178
返信してもらった内容で,
>> これがよくわからなかったので最初の質問に戻りますが,そもそも復帰とは何の
>> ことですか?
>> 緊急停止(=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したりするということですか?