[ROS Japan UG #48] ROSCon 2022 参加報告 DAY0 Mini Pupper Workshop

607 Views

November 20, 22

スライド概要

2022年11月20日のROS Japan UG #48 ROSCon 2022 参加報告で発表するはずだったスライドです。
(当日体調不良につき発表できませんでした)

profile-image

ロボティクス ソフトウェアエンジニア

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

ROSCon 2022 参加報告 DAY0 Mini Pupper Workshop 2022年11月21日 ROS Japan UG #48 ROSCon 2022ふりかえり会 Twitter@Tiryoh 1

2.

本日の内容 ● 簡単な自己紹介 ● ROSCon 2022のDAY 0の紹介 ● Mini Pupperのworkshopで話した内容の紹介 2

3.

自己紹介 たいりょーくん(@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

4.

そもそも DAY 0とは? ROSConのメインイベントの 前座となるワークショップ DAY0参加には追加料金が必要 (通常はDAY1+DAY2のみ) ※ROSCon JP 2022のみ例外で 「DAY0のみ参加」の申込が可能 4

5.

会場の様子(国立京都国際会館) 5

6.

会場の様子(国立京都国際会館) 6

7.

DAY0 Mini Pupperワークショップの概要 4件の発表で丸一日のイベント 50人ほどが参加 25台のロボット+OAK-D Liteカメラを参加者で共有(2人につき1台貸与) 7

8.

会場の様子(ワークショップ会場) 8

9.

ワークショップの様子 9

10.

ライブデモもやりました 物体検出の様子 10

11.

参考:DAY1&2のメイン会場 11

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 12

13.

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

14.

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

15.

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

16.

Overview StanfordQuadruped mini_pupper_ros Application Layer mini_pupper_bsp Hardware Interface Layer Ubuntu 16

17.

Let’s access command list https://bit.ly/mini-pupper-jupyter-commands 17

18.

Let’s login to Mini Pupper (1/3) Check the IP address of the Mini Pupper 18

19.

Let’s login to Mini Pupper (2/3) Open Terminal/PowerShell and login via ssh type “ssh ubuntu@IPADDRESS” Password is “mangdang” 19

20.

Let’s login to Mini Pupper (3/3) After login, the prompt shows “ubuntu@minipupper:~$” 20

21.

⚠ Power off mode If the Raspberry Pi has been shut down for some reason, the red LED turns on. 21

22.

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

23.

Let’s make Mini Pupper walk Open the second terminal and login and type “roslaunch champ_teleop teleop.launch” The second terminal 23

24.

Keyboard operation 24

25.

Stop the ROS nodes Press “Ctrl” + “C” on both terminal and type “exit” 25

26.

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

27.

CHAMP https://vimeo.com/480603868 27

28.

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

29.

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

30.

What is jupyter-ros? https://vimeo.com/378683268 30

31.

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

32.

Arcitecture 32

33.

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

34.

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

35.

What to do next ● Launch ROS nodes ● Launch Jupyter Server ● Access JupyterLab SSH login HTTP access 35

36.

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

37.

Update ROS config This step is required only once Type “./update_ros_ip.sh” and exit to for changes to take effect 37

38.

Launch the Jupyter Server Re-login and type “cd ~/dev/mini-pupper-jupyter-notebooks” and “./run.sh” Copy this token 38

39.

Open JupyterLab Open Google Chrome and access http://IPADDRESS:8888 Input token here Open 01CmdVelPublish 39

40.

How to use JupyterLab Select a “cell” and click “run” button “run” button a “cell” 40

41.

Publish cmd_vel 1. input 0.1 2. click “Start” ⚠ Mini Pupper will move! 41

42.

Visualize Camera Login and type “cd ~/dev/mini-pupper-jupyter-notebooks && roslaunch ROS/camera.launch” 42

43.

Visualize Camera 43

44.

TensorFlow Lite Tutorial 44

45.

Stop kernel and free memory 45

46.

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

47.

Object Detection with Camera 47

49.

Stop kernel and free memory 49

50.

Pose control 50

52.

Object Following 52

54.

Stop kernel and free memory 54

55.

Next step ● Speed up inference step using hardware acceralation ● Walk and chase the detected object ● Visualize other sensors data like LiDAR scan 55

56.

Appendix: How to shutdown Login and type “sudo shutdown” 56