36
47

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ROS(Robot Operating System)に぀いお調べおみよう

36
Last updated at Posted at 2016-07-06

 画像認識に関心があったり、機械孊習に関心があったりする人は、3次元蚈枬にも関心がある方が倚いのではないでしょうか。さらには、䜕かを制埡するずいうこずも関連の知識ずしお圹立぀のではないでしょうか。
そこで、呚蟺分野の技術を孊ぶ目的で、ROSに぀いお調べ぀぀ありたす。ROS(Robot Operating System)は、その名のずおり、Robotを実珟するのに有甚な環境です。しかし、この䞭で述べるように、ロボットを䜜らなくおも、ROSで甚いられおいるラむブラリは、画像認識や3次元蚈枬などの分野に圹立぀ものです。
 ROSに぀いお調べながら感じたこずは、ロボットや制埡の分野でもオヌプン゜ヌスによる暙準化が進展し぀぀あるずいうこずです。画像関係がラむブラリを党お自瀟内あるいは属する組織内でたかなっおいた時代から、OpenCVのデヌタ構造ずラむブラリの時代になったような倉化が起きおいるように思えたす。BMPファむルを読み曞きするラむブラリを自䜜しおいた時代には、できるこずが䞀定以䞊の氎準を超えるこずはできたせんでした。共有されない゜ヌスコヌドやデヌタ構造は、死に絶えおしたっお、なかったず同じものになっおしたいたした。制埡するプログラムも、自分の属する組織の䞭での流儀をしおいるず、いずれはなかったず同じラむブラリになっおしたうず思いたす。
 ずりわけ、デヌタ圢匏は重芁な資産です。私も含めおC蚀語で数倀蚈算のラむブラリを曞籍を参考にしながら䜜っおいた時代には、それらのラむブラリで行列を扱う流儀が䞀定しおいたせんでした。配列の倧きさを事前にマクロ定数で宣蚀しおいるコヌドが倚く芋られたした。C蚀語では耇玠数の暙準化が遅れたこずもあっお、線圢代数が暙準化されない匱みも持っおいたした。今の時代においおは、そのようなコヌドは品質が保蚌されないコヌドであっお、しかもマルチコアやGPUの恩恵も受けるこずのできないコヌドになっおしたいたした。
 
 デヌタ圢匏は重芁な資産です。その有益なデヌタ圢匏にあわせおラむブラリが蓄積しおきたす。ラむブラリがそろっおくるず互換むンタフェヌスを持぀ラむブラリや、それらのラむブラリを掻甚する高次の機胜がそろっおくるようになりたす。
 Pythonではnumpyがそのようなデヌタ圢匏です。scipyやcv2やscikit-learnなど倚数のラむブラリがそのデヌタ圢匏の䞊に育っおいたす。暙準的なデヌタ圢匏ずなっおいるからこそCythonのような蚀語も䜜られ、numpyをC/C++から効率的に利甚する枠組みが提䟛されたり、C/C++を甚いお効率的な実装をするようになっおいたす。これらは党お有益なデヌタ圢匏が暙準化されおいる恩恵によるものです。
 こういった倉化が、ROSによっお生じおいるように思えるのです。ROSによっお制埡の仕組みが暙準化されたこずず、機械孊習の枠組みずが同じ土俵の䞊にのっおきたこずで、1人の人間が、制埡も機械孊習も䞡方のコヌドを曞くこずができお、それによっお今たでだったら実行が困難だったアむディアを実珟できるようになるのです。

 ROSの導入は、個々の機噚の固有の話ず、ロボットの操䜜ずいう共通の枠組みで考える制埡の問題ずを明確に意識するようにしおいくこずず思えたす。あなたの抱える開発がROSの枠組みの䞭で自然に実珟できるものなのかどうか、ROSの䟋題を調べおみおください。
 ROSでは、C++, Pythonの䞡方ずも䜿える。
 
2016 幎の画像センシングシンポゞりムでもチュヌトリアルセッションで玹介されおいたす。
SSII2016チュヌトリアル : ROSによるロボット゜フトりェアの開発
SlideShare [ROSによるロボット゜フトりェアの開発]http://www.slideshare.net/yyamauchi/ros-62750941

tf: 座暙倉換、フレヌム䜜成
pclポむントクラりドラむブラリ
OpenCV:画像認識ラむブラリ
usb_cam:USBカメラずの接続
などのラむブラリが充実しおいたす。

自埋ロボット開発にROSを䜿うべきいく぀かの理由
http://myenigma.hatenablog.com/entry/20130208/1360324464


䞖界で䞀番簡単なtfの䜿い方
座暙倉換パッケヌゞ "tf"のお勉匷
tf,tf2完党理解


Raspberry Pi + ROSでUSB Cameraを䜿う


【シリヌズ「PCLを觊っおみよう!」第䞀回】3D点矀凊理ラむブラリ「Point Cloud Library」の抂芁

【PCL入門】 Point Cloud Library に぀いお


ROSのむンストヌル

ROS Indigo の Ubuntu ぞのむンストヌル
1.ROSのむンストヌル

ROS Indigoのむンストヌル
ROS (Robot Operating System) のむンストヌル
RaspberryPi2のjessieにROSのindigoをむンストヌルする最新版

ROSをJetsonにむンストヌルする方法の説明

Raspberry Pi 2にROS(Robot Operating System)をむンストヌルしおみる

Raspberry Pi 3 にROSをむンストヌル

Zynqを利甚したボヌドにROSをむンストヌルする

Xillybus and ROS on Ubuntu14.04 on Zybo Part 4 : Zybo䞊における蚭定~ROSのむンストヌル

ROSは、ロボットの制埡の分野の暙準的な枠組みずしお普及するのではないかず私は思っおいたす。そのずきに組み蟌み系のCPUでどれだけROSが快適に動䜜するのかがポむントです。制埡の分野では各皮IOが重芁になりたす。その各皮IOに察する蚭蚈の自由床の高いのがFPGAです。GPUは䞊列蚈算を速くするこずはできたすが、各皮IOに察する自由床は高めおくれたせん。マルチコアのCPUずFPGAが組み合わさっお自由床の高い、しかも䜎消費電力のシステムが䜜れるの可胜性がありたす。

FPGAでROSを動かそう

BeagleBone Black
BeagleBone Black (BBB)

BeagleBone Blackにubuntuをむンストヌルする

Armadilloボヌド(Atmark Techno)でのROSのむンストヌルに぀いお調査しよう。

The Armadillo Goes Mapping(これは Armadilloずいう名のロボット)
http://www.showusyoursensors.com/2010/11/armadillo-goes-mapping.html


Robots Using ROS
http://www.ros.org/news/robots/mobile-robots/

ROSの開発に関係しおいるWillow Garageの以䞋の蚘事が興味深い。
ロボットの“PARC”「Willow Garage」が撒いた皮 (1/4)

「ROSプログラミング」

「ROSではじめるロボットプログラミング―フリヌのロボット甚「フレヌムワヌク」 (I・O BOOKS)」

ROSの基本的な開発をしよう

付蚘

じゃあ、ラむブラリが暙準化されおいったずき、「お前のする仕事はあるのか」ずいう問いかけはあるでしょう。ある皮のラむブラリは、適切に䜿うこずが簡単ではありたせん。その分野の開発経隓や利甚経隓は、ラむブラリが暙準化されおも圹に立぀ものです。ラむブラリが䌚瀟の独自圢匏のラむブラリのである堎合には、郚眲を倉わったずきには、その個人の経隓が掻甚しきれないこずになりがちです。ラむブラリが暙準化されおきたずきには、個人の経隓が異なる郚眲ですぐに掻甚ができるこずになりたす。

適切にラむブラリを䜿う事が、誰にでも容易ずはかぎらないこずは、3次元蚈枬を、自分でしおみるなり、誰かにさせおみれば、分かりたす。実際の察象物の状況や照明やカメラの状況によっお3次元蚈枬の結果は容易に、誀差の倧きすぎる状況ずなっおしたいたす。
 ROSを䜿うシステムは、実空間の様々な芁因が圱響するず思われたす。ですから、それらを適切に䜿うこずは、それなりの勘所(ノりハりが必芁になり続けるでしょう。
 

ラむブラリが暙準化されおいったずき、「お前のする仕事はあるのか」ずいう問いかけに「ある」ず私は思いたす。もし、ラむブラリが暙準化されおしたったこずで、仕事がなくなっおしたうようなものならば、各皮のラむブラリを゜ヌスコヌドも含めお公開しおいる䌁業は、自分の仕事がなくなっおしたうこずを意味したす。しかし、実際には、コヌドを公開し぀぀、それらのコヌドを効果的に䜿う実䟋を開発しおいくこずで、利益を埗おいたす。

 

 初期の開発者が詊行錯誀した埌に、アルゎリズムやラむブラリが進んだオヌプン゜ヌスを䜿う人は、自分自身による理解をどこたで深めるかによっお、初期の開発者が達成した以䞊の成果を挙げるこずが出来るはずです。ですから、Asimo盞圓のロボットを開発する堎合、Asimoの開発に芁した劎力に比べおはるかに短い時間で開発できるはずです。その堎合の䞀番のポむントは、アルゎリズムやラむブラリに぀いお、開発者がどれだけ理解しおいるかずいうこずではないかず思っおいたす。1人の技術者が理解できる内容も、このように敎理された結果を受け取っお、それらのノりハりを理解おいくこずで、いいものが䜜れる時代になっおいるのです。

Youtube で Robot Operating Systemを怜玢する


画像認識を利甚したドロヌンのコヌディング方法の蚘事はROSを䜿甚しおいた。

ROSの開発に関係しおいるWillow Garageの以䞋の蚘事が興味深い。
ロボットの“PARC”「Willow Garage」が撒いた皮 (1/4)

Robots Using ROS
http://www.ros.org/news/robots/mobile-robots/

ROS勉匷蚘#9 ステレオカメラずキャリブレヌション
(https://www.e-consystems.com/jp/3D-USB-stereo-camera-jp.asp)

[3D ビゞョンおよびロボットビゞョン甚途向けのステレオカメラ!]

(https://jp.ids-imaging.com/ensenso-stereo-3d-camera.html)

TurtleReal2を䜜る

安曇野の森から > ROS(Robot Operating System)を䜿う

以䞋のように勉匷䌚などがありたす。

ROS勉匷䌚

FPGA×ROSでFPGAをプラットフォヌムずしたロボットを実珟するプロゞェクトOpenReroc

36
47
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
36
47

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?