Ai Robot Research Center

ROSをはじめよう。
Robot Operating Systemを始めたいけど、どうすれば良いかわからない。開発内容が多岐にわたり、手におえなくなってきた。チームで開発しているが、まとまらない、モデルベース開発に移行したい。と言う方々の為に資料をまとめてみました。
2019年6月29日

西村輝一

株式会社人工知能ロボット研究所 代表取締役
一般社団法人二足歩行ロボット協会 理事長
6/26/2019

株式会社人工知能ロボット研究所

1

ROS（Robot Operating System）
ロボット・アプリケーションのソフトウェア開発を支援するライブラリとツール
Willow Garage社が開発し現在はOSRFに寄贈されメンテナンスされている。
ROSのWEBサイト：
http://www.ros.org/

さまざまなロボットにROSが使われているが二足歩行ロボット協会が進めている二足歩行型ロボットの標準化に最も合致した考え方となっているかもしれない。
株式会社人工知能ロボット研究所

2

1.ROSについてROSの学習
1.まずは小倉さんの本から、ROBO-ONE出身。
2.やりたいことはググってみよう。だいたい誰かがやっている
3.ROSの日本語版の本は少ないから買って基礎知識をつけよう。

6/26/2019

株式会社人工知能ロボット研究所

3

1.ROSについて

ROSで何ができるかROSを中心に活用提供されるライブラリとツールを使かえば汎用性の高いプログラムが簡単に書けるかもしれない。
まずは無料で使用できる。
Ubuntuが動けばROSは使える。
C++、Python、Javaなどの言語が使える。
みんなで使うことができる。
多くの先駆者が開発した考え方やプログラムが使える。
多くのユーザーがいるので情報が多く、問題解決が速い。

6/26/2019

株式会社人工知能ロボット研究所

4

ROBO-ONEロボットシステムイメージ
Controller

画像処
理CPU

画像処
理CPU
Sensors
RCB-4

Servo Motors

Servo Motors①

Sensors
Sensors

RCB-4

ROBO-ONEのロボット

6/26/2019

Sensors

画像処理CPU

Servo Motors②
ROBO-ONE auto のロボット
株式会社人工知能ロボット研究所

ArduinoServo Motors③5画像処理CPU
RasPi 3ASUS Tinker Board SIntel Z8350

Jetson Nano 99ドル

RasPi zero
Tinker Edge R
NPUが組み込まれた
Rockchip RK3399Pro搭
載シングルボードコンピュータ

2019/6/26

Tinker Edge T
機械学習に特化したGoogleEdge TPU搭載シングルボード
コンピュータ株式会社人工知能ロボット研究所

6

機械学習
1.機械学習 HARR HOG特徴量
2.深層学習 Chainer 浅層学習/搭載型
3.深層学習 転移学習

4.USBアクセラレータ
対応OS：Debian Linux
ラズベリーパイボードに対応
フレームワーク：TensorFlow Lite

3.深層学習 クラウド型
Labellio(京セラ) Zinrai(Fujitsu)
Custom Vision Servise(Microsoft)
Watson(IBM) etc.

Intel Movidius™ Neural Compute Stickhttps://www.labell.io/datasets/
株式会社人工知能ロボット研究所

7LinuxのOS Ubuntu
UbuntuはLinuxのディストリビューションの一つ. UbuntuはDebianというLinuxディストリビューションから派生

UbuntuUbuntu 14.04 LTS ⇒Ubuntu 16.04 LTS⇒Ubuntu 18.04 LTS(Ubuntu Trusty)
ROS: indigo Igloo(Ubuntu Xenial)
kinetic KameLTS: Long Term support(Ubuntu Bionic)
melodic Morenia

Armbian(arm用ubuntu)
armbian jessie -> armbian stretch->armbian BionicTinker etc

6/26/2019

株式会社人工知能ロボット研究所

8

Ubuntu install
Ubuntu16.04 install
Armbian install
http://gihyo.jp/admin/serial/01/ubuntu-recipe/0488
Nuc / up install:from USB
https://kledgeb.blogspot.jp/2016/04/ubuntu-1604-1-ubuntu-1604ubuntuubuntu.html
Ubuntu18.04 install
Armbianインストール＋初期設定
https://qiita.com/BlueBlue/items/ce104abefd5b385e1980

Jetson nano
https://www.developer.nvidia.com/embedded/downloads

6/26/2019

株式会社人工知能ロボット研究所

9(melodic)

ROS-kinetic+Python+OpenCV(melodic)
ROS-kinetic install
http://wiki.ros.org/kinetic/Installation/Ubuntu# レポジトリ追加
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" >/etc /apt/sources.list.d/ros-latest.list'# 認証キー追加
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key
0xB01FA116sudo apt-get update# フルインストール
sudo apt-get install ros-kinetic-desktop-full# イニシャライズ
sudo rosdep init
rosdep update
https://raspimouse-sim-tutorial.gitbook.io/project/setup/how_to_install_ros_melodic
株式会社人工知能ロボット研究所

ROSの構造
Package1

Node2

Node1

PublishPackage2

Msg

Subscribe

送りっぱなしの「Topic」と、送ったあと相手から応答を受け取る「service」

http://bril-tech.blogspot.com/2016/10/ros1-robot-operating-system.html
6/26/2019

株式会社人工知能ロボット研究所

11

分散開発
Package1

Node4

Python

C++

C++

Node1

Node2

Node5

PublishSubscribe

Msg

Msg

Package2

Subscribe

Node3
Subscribe
PC2PC1LAN /Serial

6/26/2019

株式会社人工知能ロボット研究所

12分散開発事例(ARGOS Challenge team)
株式会社人工知能ロボット研究所

株式会社移動ロボット研究所

http://biped-robot.or.jp/upload/dbmaterials/568_3a1c2c0546eb503185aba12b4daac723original.pdf
http://biped-robot.or.jp/upload/dbmaterials/744_fb9107d4c0aa889d4f50e88a7cf67820original.pdf

東北大学田所研究室/永谷研究室

筑波大学坪内研究室

http://biped-robot.or.jp/upload/dbmaterials/570_12c404eeb61eb935d0e4eee4267a5276original.pdf

6/26/2019http://biped-robot.or.jp/upload/dbmaterials/569_5ee2ed99f3f324587c855edac01db3fboriginal.pdf

株式会社人工知能ロボット研究所

13

開発環境を整える
SSH/VNCでwindowsからログイン

6/26/2019

Sambaでサーバーとしてwindowsで編集

株式会社人工知能ロボット研究所

14簡単なROSプログラムで実演
画像の取り込み
OpenCVとROSの画像フォーマット変換
画像処理
ArduinoのROS化
ROSbug
Rqt
Rviz
Launch file

6/26/2019

Jetson Nano + Ubuntu18.04+melodicでROSの機能を実感して頂きます。

株式会社人工知能ロボット研究所

15

まとめ
・ROBO-ONEで勝つことがすべてではなく、二足歩行ロボットの発展においては様々な技術が必要です。
・二足歩行ロボットの発展の一助となるであろうROSをまずは使って見てください。Python-OpenCV-Deep Learningなど幅広い分野の情報の世界が広がります。
・二足歩行ロボットへROSを適用するユーザーが増えれば、その進化も加速するでしょう。

6/26/2019

株式会社人工知能ロボット研究所

16