Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会

6,016 views

Published on

Turtlebot3を購入したのでその紹介とUp BoardとRealSenceを組み合わせた移動ロボットの作成

Published in: Technology
  • Dating for everyone is here: ❤❤❤ http://bit.ly/36cXjBY ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Follow the link, new dating source: ♥♥♥ http://bit.ly/36cXjBY ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Get Paid To Write Articles? YES! View 1000s of companies hiring online writers now! ♣♣♣ http://ishbv.com/easywriter/pdf
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会

  1. 1. :@emboss369 :hiroaki.kaneda Turtlebot3とrealsenseで作 るお手軽移動ロボット ROS Japan UG #23 関西勉強会
  2. 2. :@emboss369 :hiroaki.kaneda 自己紹介 金田浩明(かねだひろあき) 仕事ではiOSチームを束ねるAndroid開発者 Android本執筆(Kotlin対応!!)しました!本日発売です!「は じめてのAndroidプログラミング 第3版」みんな買ってね! ロボット関係、ROSやコミュニケーションロボット(ロビ)など は趣味としてぼちぼちやってます。 ChainerでPointCloudのDeepLeaningとかやってます。 Twitter:@emboss369 Facebook:hiroaki.kaneda
  3. 3. :@emboss369 :hiroaki.kaneda 点群の深層学習
  4. 4. :@emboss369 :hiroaki.kaneda 点群の深層学習
  5. 5. :@emboss369 :hiroaki.kaneda URL ● 「はじめてのAndroidプログラミング 第3版」 ○ https://amzn.to/2qJaVRU ● 点群の深層学習 ○ https://github.com/hiroaki-kaneda/voxcelchain
  6. 6. :@emboss369 :hiroaki.kaneda ROS対応ロボット http://robots.ros.org/all/ 123台のROS対応ロボット 有名なのがPR2とturtlebot
  7. 7. :@emboss369 :hiroaki.kaneda Turtlebotとは 研究用ロボット iRobot +ラップトップ+ Kinect +ジャイロ= TurtleBot 要はルンバにノートパソコンとKinectセンサーを乗っけたもの
  8. 8. :@emboss369 :hiroaki.kaneda Turtlebot2 「Kobuki」を移動台車として使用
  9. 9. :@emboss369 :hiroaki.kaneda Turtlebot3 できること ライダーによるスラム ライダー(LiDAR:レーザーによる画像検出・測距のこ と。北陽、ベロダイン、SICKが有名 スラム(SLAM:自己位置推定と環境地図作成を同時に 行うこと。移動ロボットには欠かせない機能)
  10. 10. :@emboss369 :hiroaki.kaneda Turtlebot3 基本的にはRemote PCでSLAMやNavigationを動かす (所詮Raspbery Piなので・・・)
  11. 11. :@emboss369 :hiroaki.kaneda Turtlebot3の構成 小さい!持ち運びOK
  12. 12. :@emboss369 :hiroaki.kaneda Turtlebot3シリーズ TurtleBot3 WaffleはJouleがディスコン(製造中止)となったため、Raspberry Pi へ 置き換えた廉価版TurtleBot3 Waffle Piになっています。 6万ぐらい 22万ぐらい 15万5千600円ぐらい
  13. 13. :@emboss369 :hiroaki.kaneda 360 LiDAR 360 Laser Distance Sensor LDS-01 $179.90 安い! 範囲は12cm〜3.5m(狭い) おそらく屋外では全く機能しないと思う。 学習用として割り切れば十分安い!! 日立LGデータストレージ製らしい。
  14. 14. :@emboss369 :hiroaki.kaneda Turtlebot3 SLAM
  15. 15. :@emboss369 :hiroaki.kaneda Turtlebot3の構成 OpenCR
  16. 16. :@emboss369 :hiroaki.kaneda Turtlebot3 Friends ちょいちょいっといじれば、いろんな形状のロボットを作れます!
  17. 17. :@emboss369 :hiroaki.kaneda Turtlebot3 Friends ちょいちょいっといじれば、いろんな形状のロボットを作れます!
  18. 18. :@emboss369 :hiroaki.kaneda Friendsの作り方 http://emanual.robotis.com/docs/en/platform/turt lebot3/friends/ に、CADデータや、部品リストも公開されてい る。 → 3Dプリンタで印刷する 金属部品リストはMiSUMiのURLがあるのでそ れを購入可能!
  19. 19. :@emboss369 :hiroaki.kaneda シリーズで何が違うのか? ◎バーガー Dynamixel XL430-W250-T ¥5,000 ◎ワッフル/ワッフル パイ Dynamixel XM430-W210-R ¥23,760
  20. 20. :@emboss369 :hiroaki.kaneda Turtlbot3 Waffle(ディスコン)が欲しかった Intel Joule 高性能Atomプロセッサ!! Intel Realsens 3次元での奥行き認識が可能!
  21. 21. :@emboss369 :hiroaki.kaneda Burger + UP Board + RealSense ZR300 UP Board 64bit QuadコアAtom搭載ボード、ラ ズパイとGPIOピン互換! RealSense ZR300 深度検出のほかに高精度モーション追跡機能 があり、センサーが3D-SLAMを実行する (CPUパワーを使わない!!)
  22. 22. :@emboss369 :hiroaki.kaneda TurtleBot3 Friends: Carrier Carrierをベースにして作成します。 支柱はMiSUMiで注文。あまり高くしてバラン ス悪いのも嫌なので、設計より短くしました。 MiSUMiはカスタムサイズを指定してパーツを 発注できるのですごく便利!(ただし法人ま たは個人事業主のみ)
  23. 23. :@emboss369 :hiroaki.kaneda 3Dプリント タイヤはCADデータとして提供されているの で印刷すればOK! ただ結構でかいタイヤです。(直径約12セン チ) うちのプリンタでギリ印刷できるサイズ。 ゴムは、機械のパッキンなどに使われるOリン グで、たまたまちょうどいいサイズをAmazon で発見! https://amzn.to/2Ha3lea
  24. 24. :@emboss369 :hiroaki.kaneda キャスター キャスター2個を取り付けています。 TurtleBot3 Friendsのパーツリスト通りだとボールキャスター。 これだと、外を走らせた時に砂を噛んでしまいそう・・・・ MiSUMiにいい感じのキャスターがなかったので、モノタロウで探して発注。た しかキャスター1個100〜200円ぐらい。登録したら500円クーポンもらえたので、 タダで購入できました(法人または個人事業主)。
  25. 25. :@emboss369 :hiroaki.kaneda UP Boardのセットアップ up boardのwikiに、up boardのインストール方法がある。 https://wiki.up-community.org/Ubuntu あとでつまらない問題が発生せぬよう、Englishでインストールする。極力日本語 環境は避けておくが吉。 up boardにUbuntuインストール時のユーザー名・パスワードなどを入れて、セッ トアップをすすめる。この辺は普通のUbuntuセットアップ。
  26. 26. :@emboss369 :hiroaki.kaneda 電源ボタンで終了 電源ボタンでシャットダウンが即座に開始されるようにカスタマイズする。 https://www.hiroom2.com/2016/10/19/ubuntu-16-04-電源ボタン押下でシャットダ ウンする/ このサイトそのまま実施
  27. 27. :@emboss369 :hiroaki.kaneda 続けて、wikiの手順通りセットアップを進める 3 Install the firmware driver for up core wifi chip は、up core用なので行わない。up board wifiは入っていないので、バッファローのUSB Wifiを挿して対応した。 (Raspberry Pi 3はBLEもWIFIも入っているが、UP BoardにはWIFIもBLEもな い!
  28. 28. :@emboss369 :hiroaki.kaneda Install Intel graphics driver graphics update toolページに従え、とあるが、どうもこのアップデートツールは 終了したようです。そもそも、グラフィックはインストール時から有効だから、 インストールされている気がします。 最新ではディストリビューションに含まれたというような記述もあるので多分大 丈夫な気がするのでグラフィックはOK、飛ばします。ただ念の為3D環境のベン チマークをして、確認しておきます。 sudo apt install mesa-utils glxgears sudo apt install glmark2 glmark2 glmark2 Score:562でした。ラズパイ3 より遥かに高いベンチマーク結果です。
  29. 29. :@emboss369 :hiroaki.kaneda UP BoardへROSをインストール ひとまず、Upboardへのubuntuのインストールは完了です。続けて、turtlebotの インストールです。 UP BOARDはAtomなので、インストールは同じAtomであるJouleを参考にすれば いいはずです。 インストールスクリプト実行。手作業で普通にインストールしてもいいのですが、 せっかくスクリプトを用意してくれているのでこれを使いましょう。 wget https://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/master/install_ros_kinetic.sh && chmod 755 ./install_ros_kinetic.sh && bash ./install_ros_kinetic.sh
  30. 30. :@emboss369 :hiroaki.kaneda UP BoardへROSをインストール 関連するパッケージをインストールします。こちらはgitからダウンロードします。 $ cd ~/catkin_ws/src $ git clone https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git $ git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git $ git clone https://github.com/ROBOTIS-GIT/turtlebot3.git $ sudo apt-get install ros-kinetic-rosserial-python ros-kinetic-tf 次のリモートPC用パッケージも、ロボットにインストール $ sudo apt-get install ros-kinetic-joy ros-kinetic-teleop-twist-joy ros-kinetic-teleop-twist-keyboard ros-kinetic-laser-proc ros-kinetic-rgbd- launch ros-kinetic-depthimage-to-laserscan ros-kinetic-rosserial-arduino ros-kinetic-rosserial-python ros-kinetic-rosserial-server ros- kinetic-rosserial-client ros-kinetic-rosserial-msgs ros-kinetic-amcl ros-kinetic-map-server ros-kinetic-move-base ros-kinetic-urdf ros- kinetic-xacro ros-kinetic-compressed-image-transport ros-kinetic-rqt-image-view ros-kinetic-gmapping ros-kinetic-navigation ros- kinetic-interactive-markers
  31. 31. :@emboss369 :hiroaki.kaneda UP BoardへROSをインストール ここで一回再起動かけます。 gitで取得したturtlebotのソースをビルドします。 $ cd ~/catkin_ws && catkin_make USB設定。OpenCR1.0との接続時にroot権限なしでUSBポートに接続するため。 (上記ビルドを反映するため)新しくターミナルを立ち上げて次のコマンド実行。 rosrun turtlebot3_bringup create_udev_rules 以上でROSとturtlebotの主要なモジュールはインストールできた(はず)。
  32. 32. :@emboss369 :hiroaki.kaneda オドメトリが狂う! これでSLAMを実行すると、どんどん狂っていってしまいます。 原因は、でっかいタイヤに変更したから。オドメトリの計算が狂っているのでし ょう。 どっかにタイヤの直径が設定されているはず・・・
  33. 33. :@emboss369 :hiroaki.kaneda オドメトリは、OpenCR(Arduino互換ボード)にあ る!オドメトリの計算は、OpenCRというArduino互換ボードで、サーボや電源の管理 をしてくれているボードで行っています。 Arduinoなのでスケッチをちょいと弄って書き込めばOKでした! Arduino IDEをインストール。aptでインストールもできるが、そっちは古いので ダメ、 https://www.arduino.cc/en/Main/Software からarduino-1.8.5-linux64.tar.xzをダウンロー ドして次のコマンドでインストール。 cd ~/Downloads tar -xvf arduino-1.8.5-linux64.tar.xz sudo mv arduino-1.8.5 /opt cd /opt/arduino-1.8.5/ chmod +x install.sh ./install.sh
  34. 34. :@emboss369 :hiroaki.kaneda タイヤ半径の設定 ファイル、環境設定を開き、「追加のボードマネージャーのURL」に https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR/master/arduino/opencr_release/package_opencr_index.json を入力、OK。 メニューのツール、ボード、ボードマネージャーより、「OpenCR by ROBOTIS」を探して、「インストール」する。It takes about 10 minutes. メニューのツール、ボード、OpenCRボードを選択。 メニューのファイル、スケッチ例>TurtleBot3>turtlebot3_waffle>turtlebot3_core turtlebot3_coreとturtlebot3_core_config.hが開きます。 turtlebot3_core_config.hに「WHEEL_RADIUS(ホウィール_レイジアス)」という値があります。 #define WHEEL_RADIUS 0.033 // meter これを実際の値に変更します。実測したところホイールとゴムをあわせた直径が119mmだったので #define WHEEL_RADIUS 0.0595 // meter (BURGER : 0.033, WAFFLE : 0.033, CARRIER 0.0595) とします。 Tools> Port > /dev/ttyACM0 Uploadボタンを押して、ファームウェアをOpenCRに書き込みます。 これでNavigationを行ったところ、オドメトリが修正され、マップがずれなくな りました。
  35. 35. :@emboss369 :hiroaki.kaneda TurtleBot3 Carrier https://github.com/ROBOTIS-GIT/turtlebot3_deliver/ ここに、Carrierを使った仮想の宅配システムの例があり、こちらに先ほどのタイ ヤ半径も設定済みのCarrier用スケッチがあります!このファームウェアを Arduinoに書き込めばOKです!他にも、荷物運び用にアクチュエータ(ダイナミ クセル)の設定変更がなされています。具体的にはプロファイルアクセラレーシ ョンを変更し、荷物を安全に運べるように加速を制限した設定になっています。
  36. 36. :@emboss369 :hiroaki.kaneda
  37. 37. :@emboss369 :hiroaki.kaneda
  38. 38. :@emboss369 :hiroaki.kaneda
  39. 39. :@emboss369 :hiroaki.kaneda RealSense ZR300のセットアップ をしようとおもったら
  40. 40. :@emboss369 :hiroaki.kaneda RealSense D400シリーズ 本命キター
  41. 41. :@emboss369 :hiroaki.kaneda RealSense D400シリーズ 安価! 高性能! 野外でも十分な性能! なんとD435はグローバルシャッターを採用
  42. 42. :@emboss369 :hiroaki.kaneda RealSense ZR300のセットアップ https://github.com/IntelRealSense/realsense_samples_ros 公式の手順通りに進める。 # Install Intel RealSense SDK for Linux sudo apt-key adv --keyserver keys.gnupg.net --recv-key D6FB2970 sudo sh -c 'echo "deb http://realsense-alm-public.s3.amazonaws.com/apt-repo xenial main" > /etc/apt/sources.list.d/realsense-latest.list' sudo apt update sudo apt install -y librealsense-object-recognition-dev librealsense-persontracking-dev librealsense-slam-dev libopencv- dev # Download and compile ROS wrappers for Intel RealSense SDK for Linux # mkdir -p catkin_ws/src ##作成済みなので mkdir はスキップ cd catkin_ws/src/ # catkin_init_workspace ## ワークスペースもturtlebot3のインストールで作成済み git clone https://github.com/IntelRealSense/realsense_samples_ros cd .. catkin_make source devel/setup.bash しかしエラーになる。。。。
  43. 43. :@emboss369 :hiroaki.kaneda RealSense ZR300のセットアップ もはや、ZR300のライブラリはメンテされてない模様・・・ githubのプルリクエスト(修正パッチの提案)も放置されたまま・・・・・orz 仕方ないので手動でプルクエスト https://github.com/IntelRealSense/realsense_samples_ros/pull/29 を適用する。 cd ~/catkin_ws/src/realsence_samples_ros/ git fetch origin pull/29/head:mybranch git checkout mybranch cd ~/catkin_ws/ catkin_make source devel/setup.bash これでビルドは通るようになりました。
  44. 44. :@emboss369 :hiroaki.kaneda RealSense ZR300のセットアップ https://github.com/IntelRealSense/realsense_samples_ros しかし、ROSのサンプルはroslanchしてもエラーを吐くのみで動かない・・・・ 海外でも同じ状況の人発見。しかし、試行錯誤の末、うまくいかなかったと書い てある。 完全に行き詰まった。 D400を買うしかないのか・・・ いや、ZR300をゴミにしたくない・・・ と葛藤中。
  45. 45. :@emboss369 :hiroaki.kaneda 詳説 ROSロボットプログラミング https://github.com/bmagyar/rosbook_jp ROS学習の第一歩 クリエイティブ・コモンズ・表示 - 非営利 4.0 国際・ライセンスで提供されています。 つまり無料です!再配布も自由です!
  46. 46. :@emboss369 :hiroaki.kaneda ROSロボットプログラミングバイブル https://amzn.to/2HIjcxD 「詳説 ROSロボットプログラミング」と同じ 執筆陣 アップデート版を出版 TurtleBot3の情報満載
  47. 47. :@emboss369 :hiroaki.kaneda つくばチャレンジ2018 http://www.tsukubachallenge.jp/ つくば市内の遊歩道等の実環境で移動ロボットに自律走行させる技術チャレンジ 年々難しくなってる 2013年 人の探索 2015年 横断歩道を渡る 2018年 経由点の設定が日毎に変化するような課題
  48. 48. :@emboss369 :hiroaki.kaneda つくばチャレンジ2018 経由点の設定が日毎に変化するような課 題
  49. 49. :@emboss369 :hiroaki.kaneda つくばチャレンジ2018 経由点の設定が日毎に変化するような課 題 結構難しくなりそう・・・・・
  50. 50. :@emboss369 :hiroaki.kaneda つくばチャレンジ2018 コースも長い
  51. 51. :@emboss369 :hiroaki.kaneda
  52. 52. :@emboss369 :hiroaki.kaneda つくばチャレンジ2018 人探索が難しくなりました
  53. 53. :@emboss369 :hiroaki.kaneda つくばチャレンジ2017では・・・・ 人探索が難しくなりました
  54. 54. :@emboss369 :hiroaki.kaneda つくばチャレンジ2018
  55. 55. :@emboss369 :hiroaki.kaneda つくばチャレンジ2018
  56. 56. :@emboss369 :hiroaki.kaneda
  57. 57. :@emboss369 :hiroaki.kaneda ご清聴ありがとうございました ・Turtlebot3はロボット(ROS)の学習に最適。Burgerがオススメ。 ・自分好みに改造するとまた勉強になる(オドメトリ大事!とか)。 ・RealSense ZR300自体がSLAM機能を持っている。 ・上記、ROSで使うのは今は困難そう。今からやるなら、最新のD400シリー ズのほうが良いかも。 ・単純にRGB-Dカメラとして使うなら問題なし。 ・つくばチャレンジに初参加するぞ!早くSLAM機能を完成させなければ!! まとめ

×