Open k-okada opened 4 years ago
2/11 進捗 ・手の先のセンサに物が接触したら止まるようになった ・手の進む速度の調整、エラー処理も加えていきたい
明日研究室に行きます
2/14の進捗
2/15 ・新しいPCをお借りして環境構築をした ・新環境でセンサを使った接触の検知までできるようになった ・明日は速度の調整とエラー処理をしたい
2/16 ・センサを棚に押し付けたところ面と辺が当たったのか圧力が足りなかったかで反応しなかった、のでとりあえずの突起物をつけたらうまくいった ・#fはマクロであり中に数しか入れられない(変数はだめ)、変数入れたかったらちゃんと(float-vector dist 0 0)みたいにする ・fetchがやばい挙動をして向かって左側の物体に手をぶつけていったので障害物判定を追加
2/18 ・セットアップ用のamabe_setup.lを追加 ・棚までの距離が離れすぎてた場合に本体を前に進めるようにする ・現在の地点からの相対座標で移動先を指定(忘れてたので)
(send *ri* :go-pos x y &d)
単位はmとdeg ・だけど0.2m未満だと動いた気になって終わる。手をもうちょい伸ばすことで対応。dist<250に変更
2/18 ・Fetchの改良案を決めた ・自動アルコール噴出機を作る ・外のドアノブを認識できるようにする ・ハンドのロバスト性を上げる
明日研究室に伺いたいと思います
2/21
2/21 ・pullの方もdistの値に対応した動きを行えるようになった ・パソコンによる音声認識はもとに戻せた ・喋らせる方ができない、aques_talkの位置が違うのかもしれない ・現在の問題が解決したら家から通信して研究室のロボットを動かせるようにしたい
@k-okada 新しいPCに移行する際にaques_talkを入れていなかったのでjsk_3rdparty自体をgit clone、そしてros dep insatall とcatkin buildも行ったのですが次のようになってデータの受取ができていません。どうすればいいでしょうか。
以下にaques_talk
のビルド手順を書きました。
これをそのまま実行してみて、それでもダメそうならその時のコマンドを全てここにコピーして貼ってくれると助かります。
https://github.com/jsk-ros-pkg/jsk_3rdparty/pull/236
これが出来るのにそれまでの環境では出来ない、ということなら可能性としては以下が考えられるかも知れません。いずれにせよ失敗するログを全て貼ってくれると助かります。
aques_talk
をビルドした時に何かが間違っていたかも知れない。この場合は、catkin clean aques_talk
してから再びbuildすると治るかも知れません。sound_play_jp
という名前のnodeが複数立ち上がっている。この場合は、他にsound_play_jp
という名前のノードを立ち上げているshellやroslaunchがないか確認してみてください。新たにcatkin_wsを作ったらうまく行き、すでにあるsemi_wsに入れようとすると画像のようなエラーを吐かれました。
jsk-3rdpartyがsrc/jsk-ros-pkg/jsk-3rdpartyの構造になっていますがこれでいいでしょうか。
新たにcatkin_wsをつくると上手くいくということは、おそらくあまべくんのワークスペースに何か原因があるように思います。
jsk-3rdpartyがsrc/jsk-ros-pkg/jsk-3rdpartyの構造になっていますがこれでいいでしょうか。
この構造は自体は問題ないはずですが、1つのワークスペースに複数のaques_talkが存在していたり、以前にbuildしたのとaques_talkの場所が変わっていたりすると問題が発生すると思います。
エラーを読むに、
/home/amabe/semi_ws/src/jsk_3rdparty/3rdparty/aques_talk does not exist
と書いているので、以前はこのディレクトリにaques_talk
が存在していたけど今は存在しないのだと思います。aques_talk
の場所が移動したとか?
一旦catkin clean aques_talk
とかcatkin clean
してもらってビルドの情報をきれいにしてからcatkin build aques_talk
してみてください。
あと、エラーを貼るときは画像ではなくてテキストをコピー&ペーストしてもらえると非常に助かります。 コピーや検索がしやすくなるので。
catkin clean aques_talk
の後にビルドしたら通りました。fetch環境での動作は明日試します。夜遅くありがとうございました!
2/22 進捗 ・aques_talkのビルドは成功してたみたい ・jsk_3rdpartyのフォーク元を持ってきてたのもバグの原因になっていたので直してもらった ・発表会時点のプログラム+センサーフィードバックの動作を確認 ・コントローラからは動かせるのにgo-posからはできなかったの、go-posでは自己位置推定が用いられていてその上では進めないという判定が下されてたからではないかと考えられる。実際fetch上のrvizでいい感じにしたら動くようになった ・fetchはバックするとすぐ車輪が滑るので自己位置推定が当てにならないからgo-posではどのみち辛い ・:go-pos-unsafeを使えば障害物判定を気にせず進む。手を伸ばして何も当たらなかったという条件下なら使っても問題なし ・(send ri :go-POS-UNSAFE 0.1 0 0) で前に0.15mぐらい進むのでこれに合わせて手の伸ばし幅を調整 ・これもきちんと動作することを確認
2/22 進捗
次やること
実機で動作を確認する
ハンドを動かす 電池が必要なので電池ボックスを使う →少し持ち帰って作業する
2/24
遅くなりましたがYouBionicハンド動かしました。 グーチョキパーさせています。(GIFにしたらなぜか2倍速くらいになりました) https://youtu.be/qkq7lP9TEsU
@ ThinkPad P15sをもらっている人
PC本体に資産シールを貼る必要があるので、次大学に来るタイミングを教えてください。 その場でシールを貼ろうと思います。
@708yamaguchi P15sをもらっている人です。 次回は3/1に研究室に伺う予定です。ご都合の方は大丈夫でしょうか。
@tkmtnt7000 ありがとう 午前中に来れるかな? 僕は居ないのですが、@mqcmd196 にシールを渡すので、貼っておいてくれると非常に助かります。
@708yamaguchi 承知いたしました。午前中に伺います。
@k-okada 家から研究室のネットワークに繋いでfetchを動かす方法を教えていただきたいです
@tenrobo18 マーカ,特徴量の違いをuber, stop, fetch,でそれぞれどうだったか画像を貼り付けてくれると,良い情報になると思います. @tkmtnt7000 ハンド,いいですね.このハンドならではの動きにどういうものがあるか?考えてみると良いですね.後ろに写っているリモコン操作できるかな?とか,https://www.cnet.com/news/pr2-robot-helps-quadriplegic-man-shave-himself/ とかよむと,かゆいところを引っ掻いてくれる,というのでも良いみたいですね. @softyanija @708yamaguchi @ishiguroJSK Gdriveに説明のドキュメントを作って,そのリンクを共有してあげてください.共有リンクはキャンパスジョブのフォルダ見ると解ると思います
fetchロゴ、stop標識、ubereatsロゴの結果はそれぞれこのようでした。 fetchロゴとubereatsの特徴点?数がともに130くらいで、stop標識が57でした。
2/28
2/28
@tkmtnt7000 申し訳ない、寝坊してしまいました...今日何時ごろまでいますか
@mqcmd196 大丈夫です! 先ほど新城さんに相談して、机の上に置いてあった資産シール貼りました!
3/1
今ある問題
新庄さんにfetch1075のcollisionobject?の設定を修正してもらい、handをつかむときに腕でハンドを叩き落とすバグをなくすことができました
@k-okada 家から研究室のネットワークに繋いでfetchを動かす方法を教えていただきたいです
@softyanija @708yamaguchi @ishiguroJSK Gdriveに説明のドキュメントを作って,そのリンクを共有してあげてください.共有リンクはキャンパスジョブのフォルダ見ると解ると思います
@softyanija 返信遅くなりました.家の外からどんな操作をしようとしているかな?やろうとしていることの複雑さによって,SSH/websocket/VPNと適切な通信方法(と運用)が変わるのでfetchユーザーともすり合わせが必要になってくると思います
3/3
3/3
@ishiguroJSK しばらく離れていてすみません。用途としては家側のラップトップから音声で開けたい引き出しを指定し、引き出しの中をカメラで写してそれをラップトップで見る、そして音声で合図を出し引き出しを戻すというものです。
@softyanija @ishiguroJSK 学外からlaunchを起動するのはできますが,対話的に「どこを開けてほしい」などを決定するのは,いままだできていません.一番ナイーブにはVPNを組んで家からFetchにつないで,ROSのトピックのやり取りをすることですが,新たにそのためのVPNを組むことになるかと思います. web applicationやweb serviceとの統合を考えると,対話的にタスクを実行できる仕組みを作っていくのは面白いと思います.ゆくゆくはslackやtwitterなどのchat botやgoogle home assistantなどからも対話的に作業が実行できるといいですね.
cc. @mqcmd196
@softyanija 聞いた内容を手っ取り早く実現するなら,fetchもroswwwが上がっていて,学外にポートが開放されてるはずだから, SSHでもapp_chooserでもいいからfetch体内で運動生成用のlaunchを上げておいて, 学外のブラウザからrwt_speech_recognition開いて「open red door」とか音声入力すると, fetch体内にTopicが流れるから,それ使って場合分けした運動実行するとかが楽なんじゃないかな. http://fetch15.jsk.imi.i.u-tokyo.ac.jp:8000/rwt_speech_recognition/
ブラウザにマイク使用許可させるのと, Settingsのws://fetch15.jsk.imi.i.u-tokyo.ac.jp:8888/→ws://fetch15.jsk.imi.i.u-tokyo.ac.jp:9090/にしなきゃいけないのがハマりどころだけど
fetch体内にTopicが流れるから,それ使って場合分けした運動実行するとかが楽なんじゃないかな. http://fetch15.jsk.imi.i.u-tokyo.ac.jp:8000/rwt_speech_recognition
chromeではできないですが,どのブラウザでやってますか? 最近のchromeだとhttpにはマイク権限を与えなくなってるみたいです.
Chromeは厳しくて,非推奨のフラグを有効にしないといけない
@ishiguroJSK いけました!設定は難しいですが,これいいですね.
@softyanija launchをrwt_app_chooserで起動するようにして,euslispでhangしながら,rwt_speech_recognitionの結果を待ち続けて,正しい認識結果がきたら動くようにすればいいですね. 最後のデモとしてブラウザも駆使ししてという感じですかね. ただ家からデバグはできないと思うんで,ある程度研究室にきて動作を作る必要があるかと思います. (危ない動きしたときに非常停止を押す人が研究室に必要という意味です) とりあえずlaunchとrwt_speech_recognitionの結果からFetchが動くようになったら,rwt_app_chooserで家からデモをlaunchできるようにしましょう.
@knorth55 @ishiguroJSK アドバイスありがとうございます。先述の動作を研究室のネットワークで行うところまでは作れているのでrwt_speech_recognitionの実行とトピック周りの書き換えをしていこうと思います。
http://fetch15.jsk.imi.i.u-tokyo.ac.jp:8000/rwt_speech_recognition/ を開いたところユーザーネームとパスワードを要求されました。今度研究室に伺うときに教えていただきたいです。 また研究室のネットワークでプログラムを実行する場合はrossetipとrossetmasterでPCをfetchに繋げてPCでlaunchファイルを立ち上げていましたが、今回は動作生成のlaunchファイルを予めfetchの中に入れておきそれを外部ブラウザから立ち上げるという認識であっているでしょうか。
今回は動作生成のlaunchファイルを予めfetchの中に入れておきそれを外部ブラウザから立ち上げるという認識であっているでしょうか。
そうですね.ただし,実機体内は皆の共有環境なので,勝手に書き換えたりしないよう,fetchユーザーと事前に運用を相談しておくと良いです.
3/7
3/7
(setq c1 (make-cube 100 100 1000))
(send c1 :move-to (send (send *fetch* :copy-worldcoords) :transform bed) :world)
(objects (list *fetch* *scene* c1))
@yuli-disney @softyanija @tenrobo18 @tkmtnt7000 @ketaro-m
感染症対策は「ゼミ生入退室報告」というメールスレッドに 内容「〇〇です. 日時 2020/10/14 15:00-19:00 場所 73B2 用事 ゼミ. 喋った人:岡田」 と返信する.
シナリオを決める
使うロボットを決める
必要な機能を考える & 勉強する
emacs -nw
を立ち上げてM-x shell
でshell
を実行source /opt/ros/melodic/setup.bash
したあとroseus
でインタプリタを実行(send *robot* :angle-vector #f(-3.0 45.0 0.0 -110.0 0.0 0.0 0.0 0.0 -3.0 45.0 0.0 -110.0 0.0 0.0 0.0 0.0 0.0 0.0 -17.54 42.976 -25.435 0.0 0.0 0.0 0.0 0.0 -17.54 42.976 -25.435 0.0 0.0 0.0 0.0 -2.0 0.0 -2.0))
(send *robot* :larm :angle-vector)
(send *robot* :larm :angle-vector #f(-3.0 45.0 0.0 -110.0 0.0 0.0 0.0 0.0 0.0 -2.0))
(send *robot* :larm :shoulder-p :joint-angle -30)
CORAL https://github.com/k-okada/coral_usb_ros/blob/patch-2/README.md
Run image_view
はrqt_image_view
を使うと良いsetup D435i
roslaunch realsense2_camera demo_pointcloud.launch
UML シナリオの記述