ROS(Robot Operating System)を初学者がやってみた!#1<ROSってなによw>
どーも、まっちゃんです!
今回はロボットオペレーティングシステム(Robot Operating System)、通称「ROS(ろす)」について
なにせこのROSを使えるようになるとあらゆるロボットが作れるようになるとか!
ちょっと楽しみだけど難しそうだよね...
ボクも初めて学ぶのであなたもこれを見て「あ、いいな」と思ったらやってみね!
あとボクと同じように大学とか企業で勉強している人とかこれからやるよって人の参考になれたら嬉しいです!
(情報が正確じゃねーよ!ってシーンが出てくるかもですが、ボクもこれから勉強するので温かい目で見守っててくださいw)
ROSに関する情報っていっぱいあるけど、基本英語ベースだし、よく分からん!それにプログラミングの本とか「初心者向け」ってものたくさんあるけど初心者って一体どこから初心者なのよw
って気持ちをやりはじめの頃って一度は経験したことあると思います。
ここではROSはおろか、PC操作とか用語もそんなに詳しくないって感じの初心者に向けて情報を発信していこうと思います!
(本音を言うとボクがそうだからww)
まあ、とにかく楽しんでもらえるように自分も楽しみながらやっていくのでよろしくです!
<ROSってなによw>
一言でまとめると「ロボットソフトウエア開発用プラットフォーム」!らしいですw
ロボットのソフトウエアを開発する環境って意味ですね〜
プラットフォームっていうのは土台とか環境って意味があります!
とにかく!なにやらロボットのソフトウエアを開発できるらしいぞ!
あ、ソフトウエアっていうのは入力や出力をコントロールするシステムって感じです!
対になる言葉に「ハードウエア」ってのがありますが、これは物理的なシステムのこと!
(まあ、手で触れるのがハード、触れないのがソフトって認識でとりあえず今はいいんじゃないかな?wダメ??笑)
ロボットって書いてあるからロボットダンスみたいにカクカク動く機会を想像する人多いと思うんだけど、電気で動くものはロボットって言っていいと思います!
工場で人間の仕事を変わってくれてるものもあるし、車もロボット、家電製品とかドローンも入れていいと思う!
中にはロケットとか軍事用品にも使われてたりするらしい
そーゆーのがこのROSで動かせるようになるってことなんですよ!
ロケット動かせるとかすごくね!?
歴史的な背景を見ると実際にロケットにROSを使った例もあるみたいです!
なんかなんでも創れそうじゃん!ワクワク!!
<ROSでできること>
なんかROSってできることいっぱいあるらしいよ!
ボクの調べた情報によるとたとえばこんな性質があるらしい!
・比較的簡単にロボットアプリケーションを開発できる
へ〜...
比較的簡単って今まで一回も触ったことない人にはしっくりこないよね〜
だって「比較的」だもん。比較する対象がないし
次へいこう!
・並列分散システムが簡単に構築できる
もうね〜こーゆー書き方するから分からなくなるんですよ〜
専門家って正確に結果を伝えるのが使命みたいなとこあるから難しい言葉が連発すんのよね〜
まあ、ボクもなんとなくしか分かってないんですけど、「複数端末間の通信も簡単になる」って感じでいいんですかね〜
色んな人と協力して作る時に一人で一台のPC使うわけですけど、みんなが作ったものを最後に合わせて一つの作品作るって時に今までだとややこしい設定が必要だったらしい...
まあ、なんかみんなでやりやすくなったからいいよね!って感じでいいと思う!笑
・物理エンジンを搭載したシュミレータが使える
「物理エンジン」って聞いたことある!Youtubeで調べたら面白い動画たくさん出てくるよね!
まあ、ようはこの世の物理法則をそのまま使って色んな実験ができるってことでいいのかな?
シュミレータっていうのは模擬試験って感じです!
本番一発勝負ってけっこう大変だから、本番前に色々テストするよね!
それがよりリアルに行えるよ!って認識でいいと思う!
現実で失敗すると環境を用意したり、後片付けが大変だったりするけど、PCの仮想空間でできちゃえばそーゆーのもラクだし、何回も挑戦できるよね!
それ、いいじゃん!
・オープンソースの利用
オープンソースってなにw
また出てきましたね〜横文字!
「オープン」は開いているとかって意味かな
「ソース」はお好み焼きとか焼きそばにかけるよね!
はい、きっと違いますw
「ソース」っていうのは源って意味があるみたいです
つまり情報源って意味のほうが正しい解釈だと思います!
(でもやきそばソースも味の源になってる気がするぞ!なんだか関係がありそう)
つまり、情報源が公開されているってことなんです!
これ、すごいんですよ!
もう既に天才が作ったプログラムとかシステムをボクたちもいきなり使えるってことなんです!
ゲーム始めたら、いきなりイベント配信っとか言って強力な武器とか配ってたりするじゃないですか!あれですよ!!
天才が作ってくれた強力な武器をボクらもいきなり使うことができる!しかもタダで!!
これはすごい!!
しかし、その使い方を知らないっというのが残念なところですね〜w
まあ、初心者なんでしょーがないんですけど、この辺はこれからレベルアップして使えるようにしていこう!
・ROS対応のロボットが多い
なんか最近ロボット業界ではROSに対応した商品も多いみたいです
(ボクは全く知りませんがw)
つまりこれ一つ身につけてしまえば世の中の多くのロボットを制御できるって話に繋がってきますね!
これもすごい!!
日本語しか喋れないと日本の人としか会話できないですけど、英語喋れるようになるとめちゃ会える人が広がりますよね!
イケメンや美女にも出会える確率がグッと上がるわけです!笑
ROSも英語と同じでこれさえ身につけちゃえば他のことで開発しても大体いけちゃうようになるみたいなんです!
(なんか今まではこれが難しかったらしいですよ〜そこまで統一されてなかったみたいで)
同じ仲間が多いってことは議論もその分活発になってるってことなんで最新情報もでやすいですよね!
まあ、そんな感じですかねホントはもっとあると思うんだけど調べてみて大雑把に分けてみたらこんな感じかな
あとはやりながら実感していきましょ!
<そんないいことばっかじゃないでしょ?(ROSの不便なところ)>
さっきまでROSのいい特徴ばっか話してきましたが当然その反面、不便なところもあるみたいです。
1つにして完結するものはないってことですね〜
・オープンソースであるため品質が保証されない
まあ、しゃーないっすよね〜
みんなそれぞれの道具を使って新しいものを作っていって、またそれをみんなに公開するわけですよ〜
なかには変なの混じってることはあるよね〜
SNSも無料でみんなが使えるから、いい情報から悪い情報までいっぱい転がってる。
中には人を傷つける凶器にもなり得るから気をつけねばって思いますね
・ubunts以外のOSの対応が不十分
おっとマジか!Windowsには対応してないんだってさ!
OSっていうのはOperating Systemの略です
初学者はこれすら分かりにくいよね〜
「この辺は知ってて当然っしょw」みたいなトーンで話を進めてくからついていけなくなるんっすよ〜
あんまピンと来ない人は「スマホはアンドロイドかiphonか」って話よく聞くじゃん?
そのアンドロイドがOSの一つ!ちなみにiphoneはiOSってOSです。
PCだとWindowsって使ってる人多いんじゃない?それよ!
ubunts使ってる?少数派だね!たぶんそーゆー人は分かってるw
アンドロイドとかWindowsって覚えといてもいいと思う!
それと同じノリでubunts(うぶんつって読むよ!なんか面白い呼び方だよねって思うのはボクだけ??)っていうのがあるのよ〜
ROSはそのubuntsってのにしか対応してないんだってさ〜
ということでこれからこのROSの話をしていく時は基本的にubuntsの話がベースになってくると思うのでよろしくです!
・ディストレビューションの互換性がない場合がある
えーー...これは困る
はい、何言ってるか分からない人続出ポイントですね!
ようはバージョンが変わると使えなくなる機能があるってことです!
ゲームでもアップデートされると新しい機能が増えたりしますよね!
あれと同じ感じです!
新しい使い方が増える分には後から学ぶだけなんでまだなんとかなるかもですけど、古い機能が使えなくなったりすると厄介ですよね〜
いや〜プログラミングとかやってるとたまにあるんですよ、これ
学ぶモチベーションがちょっと下がりますよね
・CUI操作がメインで、初心者には難しい
やると分かります!最初はやる気失せるくらい難しい!
慣れてしまうと「こっちの方がええやん〜♪」ってなるらしいですけど...
CUI操作というのは「cd」「pwd」みたいにキーボード入力だけで操作を行う達人技です!
Windowsでカーソル操作に慣れているボクたちには無縁の存在...
ほら、アニメとかドラマでハッキングするシーンとかあるじゃん!
PCの達人みたいな知的でかっこいい人たち!
みんなキーボードばっか触ってない?マウスとかパットでカーソル操作してないじゃん!それそれ!キーボードだけで全部操作しちゃうの!
まあ、こればっかりは言葉で理解するより見てもらった方が早いかもです
これね〜やってみると分かる!最初はマジでなにが嬉しいの!?ってなるからw
つまりですよ、ROSの中身を学ぶ前にROSの操作方法を学ばないといけないってことなんです...
次へ行きましょう
調べてみた感じ大雑把に分けるとこんな感じになりますかね
もっとあると思うんですけど、この辺で勘弁してください!笑
どーでしょーか?ROSってどんな感じなのかな〜ってなんとなく分かってくれたら嬉しいです!
いちおうもっと知りたい!って人のためにおすすめのサイトを紹介しておきます!
→「ROS.org」http://wiki.ros.org/ja
これはROSの運営側が管理しているサイトみたいなのでこれから学ぶ人は一度見てみるといいかもです
これからROSでどんなことを学ぶのか、ボクもワクワクです!
なんか色んなもの作ったり操れそうじゃないですか!
ちょっと長くなってしまいしたが、これから学ぶ人のモチベーションになってくれたら嬉しいです!
ボクも勉強とかあんまり得意じゃないし、PCに詳しいわけではないです。
そんなボクだからこそ伝えられることがあるんじゃないかと思って今回の記事は書かせてもらいました
これからもガンガンやっていこうと思っているのでよろしくです!