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

2020年度ゼミ #1309

Open
k-okada opened this issue Oct 14, 2020 · 193 comments
Open

2020年度ゼミ #1309

k-okada opened this issue Oct 14, 2020 · 193 comments

Comments

@k-okada
Copy link
Member

k-okada commented Oct 14, 2020

@yuli-disney
@softyanija
@tenrobo18
@tkmtnt7000
@ketaro-m

感染症対策は「ゼミ生入退室報告」というメールスレッドに
内容「〇〇です.
   日時 2020/10/14 15:00-19:00
   場所 73B2
   用事 ゼミ.
   喋った人:岡田」
と返信する.

@knorth55
Copy link
Member

coralにでていたPRはをマージしました.
なのでcoral本家のREADMEの通りにインストールすれば,Melodicなら動くはずです.
https://github.com/knorth55/coral_usb_ros

明日こられるかたは73B2という部屋にきたら,リビングのような部屋と大きなテレビがあるので,そこを使って作業してもらって結構です.
部屋には @knorth55 @708yamaguchi @sktometometo@pazeshun) あたりがいるはずなので,困ったらきいてください.
とりあえず realsenseと coralをセットアップして使えればOKという理解であっていますか?

@tkmtnt7000
Copy link
Member

realsenseとcoralのデバイスをいただいていないのが僕なのでその二つをセットアップして使えればOKだと思います

@knorth55
Copy link
Member

@tkmtnt7000 了解しました。何時頃研究室にこられますか?目安でいいので教えてくれるとありがたいです。

@tkmtnt7000
Copy link
Member

@knorth555 演習終了後なので17時ごろになるかと思われます。

@knorth55
Copy link
Member

@tkmtnt7000 了解しました.

@knorth55
Copy link
Member

@k-okada
今日は @tkmtnt7000 くんが研究室にきてくれたので,Coral TPU USBとrealsense D435iを貸し出しました.
また水曜日にやっていたゼミのとおりにCoral TPUをRealsenseの画像から動かしてみて,動くことを確認しました.
さらに研究室をみてまわったあとにYouBionicのハンドを持って帰って組み上げてもらうようにしました.

@tkmtnt7000
Copy link
Member

tkmtnt7000 commented Oct 16, 2020

IMG_0416

YouBionicハンド製作の進捗です。多分第2関節の一部です。
M3x5,M3x10,M3x15,M3x20のネジが必要な部分があり、持って帰ったセットの中にM3のネジがなかったので進められるのはここまででした。

@k-okada
Copy link
Member Author

k-okada commented Oct 16, 2020 via email

@tkmtnt7000
Copy link
Member

@k-okada
ありがとうございます。

わすれていました. ネジとレンチを自宅に送りました.月曜日の午前中に届きます.ロボットシステム中かも... -- ◉ Kei Okada 2020年10月16日(金) 22:17 Naoto Tsukamoto [email protected]:

@tkmtnt7000
Copy link
Member

@k-okada
午前中にネジとレンチ届きました。少しずつ製作していきます。

@k-okada
Copy link
Member Author

k-okada commented Oct 21, 2020

10/21

@yuli-disney 入館,警備, エンターティメント,カードを選ぶ,会計でコートをとってくる,ホテル部屋案内
@softyanija 棚の物を探してくれる #1311
@tenrobo18 除菌,机を拭く,ドアを開ける. ロボテック
@tkmtnt7000 配達  #1312
@ketaro-m ドアにビニール袋を書ける

音声認識を利用して操縦せよ.音声認識には,ひらがな認識の”julius”を使うと良い(https://github.com/jsk-ros-pkg/jsk 3rdparty/tree/master/julius ros). 
$ roslaunch julius_ros julius.launch julius_output:=screen julius_args:="-debug"
(※起動できない場合,sudo apt install ros-melodic-julius-ros)デフォルトでは「かけ」「きつね」「わかめ」「かまたま」の語彙が登録されているが,以下のように任意の語彙を追加できる.
$ rosservice call /speech_recognition "vocabulary: words: [’ みぎ’,’ ひだり’,’ まえ’,’ うしろ’,’ だんす’]"
/speech to text の出力結果はひらがなを utf-8 形式で表示しているので注意すること.
$ rostopic echo /speech_to_text
transcript: [!!python/str "\u3072\u3060\u308A", !!python/str "\u307E\u3048"]
confidence: [1.0, 0.0]
Pythonやroseusでプログラムを書けば正しく表示できる
  • グリッパを閉じる 神谷
  • 腕を振る 鈴木
    ...

@tkmtnt7000
Copy link
Member

@708yamaguchi
Fetchで(send *ri* :state :worldcoords)できないのはこれだとおもいます。
jsk-ros-pkg/jsk_robot#1167

@knorth55
Copy link
Member

knorth55 commented Oct 21, 2020

@tkmtnt7000 @k-okada

fetcheus関連ですが,今後のゼミにおいて以下が問題になる可能性があります.
マージしていただけると助かります.

Fetchの:go-pose-unsafeがおかしい

Fetchの:move-toが微修正で余計なことをする

Fetchの腕が床にあたる軌道を計画する

Fetchのnavigationに関するTestがない (Optional)

またpr2eusについての最終リリース(0.3.14)が2019/02/11に行われたあとに,160コミットほどあるので,ソースで入れていないと何かしら問題が起きそうな気がします.
jsk-ros-pkg/jsk_pr2eus@0.3.14...master

@k-okada
Copy link
Member Author

k-okada commented Oct 21, 2020

皆さん,途中で抜けてすいません&手伝ってくれた人ありがとう.
マージしました.次回ロボットを動かすまでに,

$cd semi_ws/src/jsk_robot
$git pull origin master

しておきましょう.

@knorth55
Copy link
Member

マージありがとうございます.
Fetchのユーザ側PCはjsk_robotjsk_pr2eusをソースで入れれば問題ないと思います.

@tkmtnt7000
Copy link
Member

tkmtnt7000 commented Oct 25, 2020

ロボットハンドの進捗です。あとはarduinoを中に入れて蓋をすれば完成です。
arduino周りがよくわからないので次回持っていきます。

@k-okada
Copy link
Member Author

k-okada commented Oct 27, 2020

https://github.com/jsk-ros-pkg/jsk_demos/blob/jsk_2020_10_semi/jsk_2020_10_semi/euslisp/sample.l を追加してみました.
uml を追加した人は,このサンプルをみて,イメージアニメーションを作る事がd家いるはずです.

アームを動かすのは実機とほぼ同じ動きになります.
移動については,建物をすり抜けたりしますが,実機だとちゃんと障害物を避けてくれます.

@k-okada
Copy link
Member Author

k-okada commented Oct 28, 2020

*ri* で使えるメンバ関数は https://euslisp-docs.readthedocs.io/en/latest/pr2eus/robot-interface/ にあります.動いている途中でキャンセルにするには

(send *ri* :go-pos-no-wait ...)
...
(send *ri* :go-stop)

みたいにします.

spotのeusモデルは
https://gist.github.com/k-okada/5bcaecf7b41c534048ac4f82afdf7a81
にあります.(c.f. jsk-ros-pkg/jsk_robot#1263 )

@k-okada k-okada mentioned this issue Oct 29, 2020
@k-okada
Copy link
Member Author

k-okada commented Oct 29, 2020

皆さんの作っていくれたumlをマージして
#1311
に入れました.

また,少しだけコメントをしました.
https://github.com/jsk-ros-pkg/jsk_demos/pull/1311/files#r514116563 音声認識との連携について
https://github.com/jsk-ros-pkg/jsk_demos/pull/1312/files#r514121372 移動コマンドについて
https://github.com/jsk-ros-pkg/jsk_demos/pull/1314/files#r514120599 腕の動かし方について
https://github.com/jsk-ros-pkg/jsk_demos/pull/1316/files#r514125184 顔認識について

また,座標系を動かしながら確認するプログラムを作ってみました.
sample.l をロードした後にこれを実行してみてください.
EmacsのM-x shell 上だとjklm で座標が動きます.ただ毎回リターンキーを押す必要があります.
直接ターミナルから動かすとリターン無しで動いてくれるハズです.
https://gist.github.com/k-okada/78fec94346db94bc08cbbd185d6c20da

= 以下はなにかおかしくなった人向け
もともと僕が作っていたjsk_2020_10_semiブランチがおかしかったのもあって少し強制的に直しました.github上のorign/jsk_2020_10_semi と合わせたかったら以下のようにしてください.特に問題が出ていない人は何もしなくて良いです.

git fetch --all
git checkout jsk_2020_10_semi
git branch #  jsk_2020_10_semiにいることを確認
git reset --hard origin/jsk_2020_10_semi

@tkmtnt7000
Copy link
Member

tkmtnt7000 commented Oct 30, 2020

73B2近くの座標と関節名リスト
と相対座標での逆運動学
https://gist.github.com/tkmtnt7000/4b816296d9e77e3b2a51730507d76f19

@tkmtnt7000
Copy link
Member

tkmtnt7000 commented Nov 4, 2020

今日学んだことリスト
・git add <追加したいもの>
・git commit -m "コメント"
・git push リモートブランチ名 ブランチ

・rpy(0 0 pi/2)みたいにロールピッチヨーが表せる
・つかむ動作はwait-interpolationでは待てない(unix:sleep 1)を使う

@softyanija
Copy link

softyanija commented Nov 4, 2020

今日の学んだことのメモ

(send *fetch* :rarm :inverse-kinematics (send (send *fetch* :copy-worldcoords) :transform (make-coords :pos #f(600 250 680) **:rpy (float-vector 0 0 pi/2)**)) **:rotation-axis t** :debug-view t)

:rpyで向きを指定し:rotation-axis tでそれを反映させる

(send *fetch* :rarm :wrist-r :joint-angle -90)

手先を指定の角度まで回転させる

(send *ri* :wait-interpolation)

前の動作が終わるまで次の動作を待つ。graspには効かないので注意

(send *ri* :start-grasp :effort 60)
(unix:sleep 1)
(send *ri* :stop-grasp :effort 60) # 60 は変更しないこと.

graspに同じようなことをする手段

(send *ri* :angle-vector (send *fetch* :angle-vector) 4000 :use-torso nil)

:use-torso nil で腰の上下無しで,アームを動かす

@tenrobo18
Copy link

tenrobo18 commented Nov 4, 2020

git push しようとしたら以下のようなエラーが出たのですがどうすればよいでしょうか

mech-user@ki00102:~/semi_ws/src/jsk_demos/jsk_2020_10_semi$ git add -A

mech-user@ki00102:~/semi_ws/src/jsk_demos/jsk_2020_10_semi$ git commit -m "ドア ノブをつかもうとする"
[jsk_2020_10_semi 2c0ddb6] ドアノブをつかもうとする
3 files changed, 215 insertions(+)
create mode 100644 jsk_2020_10_semi/euslisp/.sample.l.swp
create mode 100644 jsk_2020_10_semi/euslisp/temma.l
create mode 100644 jsk_2020_10_semi/uml/temmasuzuki.uml

mech-user@ki00102:~/semi_ws/src/jsk_demos/jsk_2020_10_semi$ git branch

  • jsk_2020_10_semi
    master

mech-user@ki00102:~/semi_ws/src/jsk_demos/jsk_2020_10_semi$ git push origin jsk_2020_10_semi
Username for 'https://github.com': tenrobo18
Password for 'https://[email protected]':
remote: Permission to jsk-ros-pkg/jsk_demos.git denied to tenrobo18.
fatal: unable to access 'https://github.com/jsk-ros-pkg/jsk_demos/': The requested URL returned error: 403

@yulingo-ringo
Copy link

上に同じくです。

@ketaro-m
Copy link

ketaro-m commented Nov 4, 2020

git push origin jsk_2020_10_semiじゃなくて,git push (フォーク先のリモート名) jsk_2020_10_semiにしないといけないと思う.
多分,git push tenrobo18 jsk_2020_10_semiとかgit push yuli-disney jsk_2020_10_semiとかだと思うけど,git remoteで確認してoriginじゃない方を書けば良かったはず

@tenrobo18
Copy link

mech-user@ki00102:~/semi_ws/src/jsk_demos/jsk_2020_10_semi$ git remote
origin

リモート名がなかったですね
この場合どうすればいいんでしたっけ

@tenrobo18
Copy link

多分フォークしてなさそう

@ketaro-m
Copy link

ketaro-m commented Nov 4, 2020

じゃあフォークした後に,git remote add (好きな名前) [email protected]:tenrobo18/jsk_demos.gitとかかな
それでgit push (その名前) jsk_2020_10_semiってすればいけるはず

@tenrobo18
Copy link

できました!
ありがとうございます

@softyanija
Copy link

softyanija commented Mar 12, 2021

image_view2について
・ここにpublishすると、/head_camera/rgb/image_raw/の画像にプログラム内で書き込みした結果の画像が/head_camera/rgb/image_raw/markedに自動でpublishされる
・何かを取り込んで(サブスク)その上に書き込むというわけではない
・ROS_NAMESPACE=/head_camera/rgb/ roseus ./image_view2_test.l として起動
・名前空間の指定をメインプログラム中でどうやるのかが問題 こいつをlaunchファイルで立ち上げてフラグをトピックとして立てて管理?
・これでimage_view2を覗ける

rosrun image_view2 image:=/head_camera/rgb/image_raw image_marker:=/head_camera/rgb/image_marker compressed

・fetch1075内で同じことをしようとするとエラーを吐かれるのでそこは次回
Screenshot from 2021-03-12 20-59-34

@tenrobo18
Copy link

3/10

  • ESP32をハンドの中に入れて、fetchとwifi/bluetoothで通信し、成功判定を出すことにした。
  • ESP32を3.7vのlipoで動かし、これに無線給電機をつけることで恒久的にハンドをセンサとして使えるようにする。
  • 今日はWifiを通して、ESP32と自分のPCが通信できるようにした
  • また、ESP32でスイッチのオンオフが認識できることも確認した

@softyanija
Copy link

softyanija commented Mar 15, 2021

3/15 進捗
・fetch体内でiamge_view2を使うためには以下のようにする必要がある

cd ~/semi_ws/
source /home/fetch/ros/indigo/devel/setup.bash 
catkin b
source ~/semi_ws/devel/setup.bash

・オーバーレイについて
http://wiki.ros.org/catkin/Tutorials/workspace_overlaying

・fetch1075体内でこいつを立ち上げることで /image_marked がパブリッシュされ rwt_image_view で覗けるようになる

rosrun image_view2 image_view2 image:=/head_camera/rgb/image_raw image_marker:=/head_camera/rgb/image_marker _use_window:=false compressed

・ここを見ると詳しくなれる
https://github.com/jsk-ros-pkg/jsk_common/blob/master/jsk_ros_patch/image_view2/README.md

・image_markerはマーカーでimage_markedはマーカーと画像を合成したもの。image_view2自体は/image_markerをサブスクして/image_markedをパブリッシュしているようで、image_view2_test.lがパブリッシュしているのはimage_marker、つまり今回の場合文字のみ
。なので上記のコマンドでimage_markedを出してやると良い

・image_view2_test.launchファイルの動作を確認

・文字の表示は announcement.l (仮)にまかせて、変数anを介して表示内容を変えるのがよさそう

@ishiguroJSK
Copy link

  <group ns="larm_marker">
    <node pkg="image_view2" type="image_view2" name="image_view2_for_draw_force_on_image" output="log">
      <remap from="image" to="/edgetpu_object_detector/output/image"/>
      <remap from="camera_info" to="/camera/rgb/camera_info"/>
      <param name="use_window" value="false"/>
    </node>
  </group>

@softyanija
Copy link

softyanija commented Mar 16, 2021

3/16 進捗
・fetch1075の通信が弱すぎるので15に乗り換えを検討。
・15で環境構築をしてimage_view2_test2.l の動作を確認
・announment.lをtest2ベースに書き換えて進めることにした
・fetch15環境で日本語を書いて出力させると???みたいになった。自分のPC内で書いてどうなるか確かめる
・無理そう、文字コード周りのエラー引きたくないので英語でアナウンス書きます
・文字色変更の仕方わからん、次回に持ち越し

@k-okada
Copy link
Member Author

k-okada commented Mar 16, 2021

fetch15も午前中ネットワークの調子が悪かったんだけど,以下のようにして良くなった気がします.
体内でiwconfig で状況を確認.

fetch@fetch15:~$ iwconfig
eth1      no wireless extensions.

lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11  ESSID:"sanshiro"  
          Mode:Managed  Frequency:5.24 GHz  Access Point: B0:C7:45:82:8D:45   
          Bit Rate=433.3 Mb/s   Tx-Power=20 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=57/70  Signal level=-53 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:47   Missed beacon:0

この先の見方はよくわからないんだけど,Link Quality が 50/70 で,Bit Rate 433.3Mb/s で良さそうだけど,全然繋がっていない.
AndroidのWifi Analyzer で確認すると,B0:C7... のアクセスポイントのチャンネルはKengoro.とかと重なっていて,さらに,PR2 1040 ...と隣接していた.B0:C7と思われるモニタ裏のアクセスポイントを切ると,

fetch@fetch15:~$ iwconfig
eth1      no wireless extensions.

lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11  ESSID:"sanshiro"  
          Mode:Managed  Frequency:5.68 GHz  Access Point: C8:84:A1:F0:D8:E9   
          Bit Rate=72.2 Mb/s   Tx-Power=17 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=47/70  Signal level=-63 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:4   Missed beacon:0

となって,Link Quality,Bit Rate 共に悪くなっているように見えるけど,通信は安定した.

ちなみに,sanshiro のアクセスポイントはeng.ut,bld2-guest, ist_members などと同じアクセスポイントから来ているので,大学の公式のESSIDと被っている分にはOK.各研究室や個人的なアクセスポイントと被っていると,影響はでていそう.
https://www.cisco.com/c/en/us/support/docs/smb/routers/cisco-rv-series-small-business-routers/smb5652-configure-multiple-ssids-on-a-network.html

@k-okada
Copy link
Member Author

k-okada commented Mar 16, 2021

fetch1075 で https://askubuntu.com/questions/183525/how-to-set-wifi-driver-settings-to-prefer-5-ghz-channel-above-2-4-ghz/631329#631329 をみて,強制的に5Ghzのアクセスポイントにつながるようにしました.廊下のWifiに繋がっていると思うので,遠出する時は設定し直してください @mqcmd196 @708yamaguchi

@tenrobo18
Copy link

tenrobo18 commented Mar 17, 2021

3/17

  • esp32とfetch1075をwifi経由で通信させるテストをした
  • 一回通信がうまく行った(rostopic echo /chatter をしてhelloが一秒おきに表示された)あとに、fetch1075のターミナル上で
    rosrun rosserial_python serial_node.py tcp
    を強制終了させると、その後もう一回
    rosrun rosserial_python serial_node.py tcp
    しても通信が始まらないことがわかった
  • 通信を再開させるには、ESP32にプログラムを書き込み直す必要があった

@tenrobo18
Copy link

3/17
やるべきこと

  • 自分のPCから、fetch1075上でrosrun rosserial_python serial_node.py tcpを実行させられるようにする
  • ESP32に接続されたスイッチが押されたら、fetchがそれを検知できるようにする
  • ハンドにESP32+スイッチ+電池を組み込む

@softyanija
Copy link

softyanija commented Mar 18, 2021

3/18 進捗
・必要なアナウンスとそのサイズ、位置を一通り書いた
・文字の色を変えるのはできなさそう
・アナウンス切り替えのための情報をトピックを介して受け渡す必要があることに気がついた。名前空間とかの問題があるのでannouncement.l を demo_amabe_remote.l の中に関数として定義して使うのができなさそう

・ところでセンサのlaunchファイルは1075でも15でも同じになることに気がついた

・明日はimage_view2周りのlaunchファイルの確認から

@softyanija
Copy link

softyanija commented Mar 19, 2021

3/19 進捗
http://fetch15.jsk.imi.i.u-tokyo.ac.jp:8000/rwt_image_view/
・こいつをlaunchファイルで立ち上げようとすると

rosrun image_view2 image_view2 image:=/head_camera/rgb/image_raw image_marker:=/head_camera/rgb/image_marker _use_window:=false compressed

 こうなる

<launch>
  <node pkg="image_view2" type="image_view2" name="image_view2_for_draw_force_o\
n_image" output="log">
    <remap from="image" to="/head_camera/rgb/image_raw"/>
    <remap from="image_marker" to="/head_camera/rgb/image_marker"/>
    <param name="use_window" value="false"/>
   </node>
  <!--
  <arg name="test" default="$(optenv ROS_NAMESPACE /head_camera/rgb/)" />
  <node pkg="jsk_2020_10_semi" type="announcement.l" name="iv2" /> -->
</launch>

compressedはなくて動いたので一旦省略
・image_view2_test.launchでiamge_view2周りで必要なものをすべて立ち上げることに成功

・rostopic pubからデータを送って表示内容を変化させることに成功

・advertiseした後に(unix:sleep 1)などして待機時間を作った後にpublishしないとうまくpublishできなかった。今後似たようなことがあったら試したい

@softyanija
Copy link

softyanija commented Mar 23, 2021

3/23 進捗
・realsenceをちゃんと避けるように障害物判定が設定されてるかチェック
・障害物の調整をするときはローカルでやるのが一番、sshでfetch15内でやろうとしたら定期的にwifiの接続が切れて辛かった
・ roslaunch fetch_moveit_config demo.launchでmoveitを立ち上げるのを忘れないように

・基本的な動作は問題ない。アナウンス表示もちゃんと出せた
・realsenceを避ける都合上、4段目の動作はシビアになっている。以下の角度から腕を初期状態に戻すときにエラーが発生したので解決策を試す。

#f(130.578 53.0537 9.40347 -15.1091 96.9345 -127.071 87.6892 -67.8354 12.7345 55.5289)

・結局torsoを上げることで解決する
・2つの開発環境でコードを書いてたらミスってコンフリクトを起こした、その後修正した
・次回はアプリ化を目指す

@k-okada
Copy link
Member Author

k-okada commented Mar 23, 2021

sshでfetch15内でやろうとしたら定期的にwifiの接続が切れて辛かった

困ったときは,まずは現状把握が大切。

#1309 (comment)

みて状況確認してみましょう。
また,screen /tmux というソフトに慣れていくとssh 切れてもダメージが少ないです。

@tenrobo18
Copy link

iOS の画像 (1)
wifi経由でドアノブをちゃんとつかめているか確認できるハンドが完成しました
明日fetchに使わせてみます

@softyanija
Copy link

softyanija commented Mar 25, 2021

3/25 進捗
・アプリ化の前にbeamを使えるようにする
・beamのネットワーク接続がうまく行かないのでmeetかzoomでやる
・voice_recognition_remote.l 内の cond の処理を修正。tの部分を()で囲んでやって他の候補と同列にするとエラーを吐かなくなった
・掴む&離す動作が終わる前に腕を動かしはじめる問題が発生、多分通信か何かの問題で待機時間が1sじゃ足りない
・realsenceを避けるための障害物を追加してから最後にreset-poseできなくなった
・上はエラーを吐かれる一歩手前の状態、下は:reset-pose後の:rarm

#f(339.754 52.021 8.94204 -13.8567 97.1102 -127.906 88.8098 -68.8681 12.406 53.4854)
#f(75.6304 80.2141 -11.4592 98.5487 0.0 95.111 0.0)

・(send ri :state :potentio-vector)
・結局、torsoを変えずに手だけ折りたたむ→delete-realsence(ry→:reset-poseで解決

@tenrobo18
Copy link

3/25

  • 新しいハンドでとりあえず同じプログラムでドアノブを拭いた
  • ハンドの収納位置が以前より少し前に出ているせいで、ハンドをつかむ前に叩き落としてしまうバグが発見された。プログラムでハンドをつかむ位置を調節してこのバグを解消
  • リミットスイッチが押される判定が厳しく、ドアノブを拭けているとみなして良さそうな場合でもリミットスイッチが押されないことがあるので、スイッチの位置を調節したい

@softyanija
Copy link

softyanija commented Mar 26, 2021

3/26 リモートデモの段取り

  • 事前準備

    • 使うのはfetch15
    • fetch15の位置を予めマークしておきそこに合わせてもらう
    • 写真を見てarduinoの配線をしてもらう
    • センサの赤と黒の端子を5VとA0につなげる(どちらをどちらにつなげてもよい)
    • 緑色の線でA0と抵抗の右端をつなぐ
    • センサーをfetchにセット
    • meetをつなぐ。このとき研究室側はロボットの様子を写せるようにする
    • これとは別に研究室はロボット、自宅はパソコンと利用者の様子&声を記録する
      IMG_7395
  • 本番

    • meetで準備ができたか確認
    • 互いに記録を開始できたことを確認し、動作を開始
    • 一段ずつ確認
    • 3段ともできたら終了
    • エラーしたときのリカバリー
      • サーボを落とし、コントローラで姿勢を戻す
      • 場所を戻す

@softyanija
Copy link

softyanija commented Mar 26, 2021

3/26 進捗
・引き出しを開け始める前の姿勢を作るときに棚に手をぶつけることの回避策が甘い気がする、理想は画像認識で奥行きを見積もり衝突回避オブジェクトを作ること。ただし現状でもなんとかなっているので優先度はだいぶ下
・岡田先生に教えていただいてアプリ化した
http://fetch15.jsk.imi.i.u-tokyo.ac.jp:8000/rwt_image_view/
http://fetch15.jsk.imi.i.u-tokyo.ac.jp:8000/rwt_speech_recognition/
http://fetch15.jsk.imi.i.u-tokyo.ac.jp:8000/rwt_app_chooser/#!task/Fetch15
・connectionのurlを見て8888となっていた場合は9090に修正する
・大掃除の都合もあるし動かすのは次回

@softyanija
Copy link

app_manager を使うために

fetch@fetch15:~/ros/melodic/src$ ls -al
lrwxrwxrwx  1 fetch fetch   51  3月 26 16:52 jsk_2020_10_semi -> /home/amabe/semi_ws/src/jsk_demos/jsk_2020_10_semi/

とした。

@tenrobo18
Copy link

3/28

  • fetchがドアノブから遠すぎる場合は何回やり直してもうまく行かないので、数回やったら諦めるみたいな対応が必要であることがわかった

@tenrobo18
Copy link

  • 失敗した際に、単に腕を後ろに引くだけだと、腕が邪魔でマーカが見えなくなってしまうことがあったので、腕が邪魔にならない姿勢にするようにした

@tenrobo18
Copy link

  • なぜか(whole-process)を実行すると、73A2の前でhold-handをする最中に以下のエラーが出てしまう
  • fetchを再起動してもこのバグか出るかどうかを検証する
[ERROR] [1616921985.894736050]: attempted to call service  /plan_kinematic_path, but failed 
;; motion plan error at nil

@tenrobo18
Copy link

tenrobo18 commented Mar 28, 2021

  • 再起動したら上のバグは出なくなった
  • ついでに廊下の台車を片付けてwhole-processを実行してみたところ、3連続でのドアノブの清掃に成功した。失敗しなかったので失敗検知はあまり意味をなしていない。
  • 動画の開始以前に、fetchと73A3ドアノブの距離が近過ぎてドアノブを拭けていなかったのでコントローラーでfetchをドアノブから少し離れた位置に移動させた
  • 廊下に荷物が少ない場合、マーカーを認識して相対位置を一定にする関数(set-pos-outside)を実行しなくても十分な精度で移動できていそうなので、set-pos-outsideは使わなくていいかもしれない

@tenrobo18
Copy link

tenrobo18 commented Mar 28, 2021

3連続で成功した動画(eccsアカウントからのみ閲覧可)

https://drive.google.com/file/d/1kqGeP1t4W26hmM1XHkOqWGj0AX_2Y3iQ/view?usp=drivesdk

@softyanija
Copy link

3/30 進捗
・アプリを立ち上げようとするとエラー、権限周りっぽい
・ペッパーの分解と1075のCPU換装を行っていたので進捗なし

@softyanija
Copy link

softyanija commented Mar 31, 2021

3/31 進捗
・announce.l の権限を付与したらちゃんと立ち上がりはした
・段を選択した後に「手を前に持っていく→100mm前に持っていく」まではできたがその後止まった
・どうやらセンサの情報を取得できずにone-shot-subscriberの部分で止まっていたらしい
・先輩に見てもらったところユーザー権限の問題だったみたい、直してもらった
・掴むときの動作をミスしないよう調整した
・2段目の動作は確認、3と4は次に

@tenrobo18
Copy link

4/4
・fetch1075のカメラが認識されていなかったのでしんじょうさんと一緒にカメラーPC間のUSB延長ケーブルを交換し、復旧させた

@708yamaguchi
Copy link
Member

ケーブル交換ありがとうございました。すごく助かります。
修理ログをあげてくれると嬉しいです。
fetch15がまだなら僕がやります。

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

10 participants