607 Views
November 20, 22
スライド概要
2022年11月20日のROS Japan UG #48 ROSCon 2022 参加報告で発表するはずだったスライドです。
(当日体調不良につき発表できませんでした)
ROSCon 2022 参加報告 DAY0 Mini Pupper Workshop 2022年11月21日 ROS Japan UG #48 ROSCon 2022ふりかえり会 Twitter@Tiryoh 1
本日の内容 ● 簡単な自己紹介 ● ROSCon 2022のDAY 0の紹介 ● Mini Pupperのworkshopで話した内容の紹介 2
自己紹介 たいりょーくん(@tiryoh) https://github.com/tiryoh Mini Pupper(小型四脚ロボット)のコミュニティの 1ユーザとして ROSCon 2022のDAY0のワークショップにて発表 新バージョンの「 Mini Pupper 2」もリリースされるとのことです。 https://www.kickstarter.com/projects/336477435/mini-pupper-2-open-source-ros2-robot-kit-for-dreamers ※私は中の人ではないので、詳しく知りたい方は MangDang(プロジェクト発足者)に質問してみてください 🙇 ※Kickstarterのクラウドファンディングは 2022年12月12日で終了しています。 3
そもそも DAY 0とは? ROSConのメインイベントの 前座となるワークショップ DAY0参加には追加料金が必要 (通常はDAY1+DAY2のみ) ※ROSCon JP 2022のみ例外で 「DAY0のみ参加」の申込が可能 4
会場の様子(国立京都国際会館) 5
会場の様子(国立京都国際会館) 6
DAY0 Mini Pupperワークショップの概要 4件の発表で丸一日のイベント 50人ほどが参加 25台のロボット+OAK-D Liteカメラを参加者で共有(2人につき1台貸与) 7
会場の様子(ワークショップ会場) 8
ワークショップの様子 9
ライブデモもやりました 物体検出の様子 10
参考:DAY1&2のメイン会場 11
Table of Contents 1. Introduce Mini Pupper operation in ROS 2. Introduce docker environment with RoboStack/jupyter-ros on Raspberry Pi 3. Introduce Jupyter Notebooks to control Mini Pupper 12
Table of Contents 1. Introduce Mini Pupper operation in ROS 2. Introduce docker environment with RoboStack/jupyter-ros on Raspberry Pi 3. Introduce Jupyter Notebooks to control Mini Pupper 13
ROS package for Mini Pupper mini_pupper_ros: ROS package suite for Mini Pupper It supports ROS 1, for now (Simulation only for ROS 2 now) 14
Structure of mini_pupper_ros ● mini_pupper_bringup: roslaunch files ● mini_pupper_control: servo and LCD interface ● mini_pupper_description: URDF ● mini_pupper_examples: examples ● mini_pupper_gazebo: simulation ● mini_pupper_navigation: navigation ● mini_pupper_teleop: settings to control from remote 15
Overview StanfordQuadruped mini_pupper_ros Application Layer mini_pupper_bsp Hardware Interface Layer Ubuntu 16
Let’s access command list https://bit.ly/mini-pupper-jupyter-commands 17
Let’s login to Mini Pupper (1/3) Check the IP address of the Mini Pupper 18
Let’s login to Mini Pupper (2/3) Open Terminal/PowerShell and login via ssh type “ssh ubuntu@IPADDRESS” Password is “mangdang” 19
Let’s login to Mini Pupper (3/3) After login, the prompt shows “ubuntu@minipupper:~$” 20
⚠ Power off mode If the Raspberry Pi has been shut down for some reason, the red LED turns on. 21
Let’s launch the base ROS software Type “roslaunch mini_pupper_bringup bringup.launch” and power on the servo motors. ⚠ Mini Pupper will move! 22
Let’s make Mini Pupper walk Open the second terminal and login and type “roslaunch champ_teleop teleop.launch” The second terminal 23
Keyboard operation 24
Stop the ROS nodes Press “Ctrl” + “C” on both terminal and type “exit” 25
ROS computation graph ROS communication graph is based on publisher-subscriber pattern launched with “roslaunch champ_teleop teleop.launch” launched with “roslaunch mini_pupper_bringup bringup.launch” 26
CHAMP https://vimeo.com/480603868 27
Table of Contents 1. Introduce Mini Pupper operation in ROS 2. Introduce docker environment with RoboStack/jupyter-ros on Raspberry Pi 3. Introduce Jupyter Notebooks to control Mini Pupper 28
What is JupyterLab and jupyter-ros? JupyterLab is a web-based interactive development environment for notebooks, code, and data. jupyter-ros is a Jupyter widget helpers for ROS. Document Code Result 29
What is jupyter-ros? https://vimeo.com/378683268 30
What is docker? Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers (wikipedia) StanfordQuadruped mini_pupper_ros ROS Jupyter Server mini_pupper_bsp Docker Ubuntu 31
Arcitecture 32
Difference between OAK-D-Lite example This tutorial OAK-D-Lite example Requirements Any camera is OK OAK-D-Lite Inference Speed Normal Fast (hardware accelerated) 33
Table of Contents 1. Introduce Mini Pupper operation in ROS 2. Introduce docker environment with RoboStack/jupyter-ros on Raspberry Pi 3. Introduce Jupyter Notebooks to control Mini Pupper 34
What to do next ● Launch ROS nodes ● Launch Jupyter Server ● Access JupyterLab SSH login HTTP access 35
Update the Notebooks to the latest Login to Mini Pupper and type This step is required only once “cd ~/dev/mini-pupper-jupyter-notebooks” “git pull” 36
Update ROS config This step is required only once Type “./update_ros_ip.sh” and exit to for changes to take effect 37
Launch the Jupyter Server Re-login and type “cd ~/dev/mini-pupper-jupyter-notebooks” and “./run.sh” Copy this token 38
Open JupyterLab Open Google Chrome and access http://IPADDRESS:8888 Input token here Open 01CmdVelPublish 39
How to use JupyterLab Select a “cell” and click “run” button “run” button a “cell” 40
Publish cmd_vel 1. input 0.1 2. click “Start” ⚠ Mini Pupper will move! 41
Visualize Camera Login and type “cd ~/dev/mini-pupper-jupyter-notebooks && roslaunch ROS/camera.launch” 42
Visualize Camera 43
TensorFlow Lite Tutorial 44
Stop kernel and free memory 45
Prepare Object Detection target Prepare your favourite dog or cat photo. If you have no favourite picture, use the following photo. photo by @devemin 46
Object Detection with Camera 47
object detection movie
Stop kernel and free memory 49
Pose control 50
pose control movie
Object Following 52
object following demo movie
Stop kernel and free memory 54
Next step ● Speed up inference step using hardware acceralation ● Walk and chase the detected object ● Visualize other sensors data like LiDAR scan 55
Appendix: How to shutdown Login and type “sudo shutdown” 56