ROSの勉強を始めてみる
結構前からロボットつくりたいな~と漠然と思っていたのだが、年末あたりから気分が乗ってきたので勉強を始めてみることにした。とはいえロボットをつくる!といっても漠然としすぎているので、ロボットの世界でよく使われているROS(Robot Operating System)を使って色々なものを動かしてみるところから始めてみる。
とりあえず、しばらく前に買って放置していた以下の本を読みつつ、Docker上でROSを触って雰囲気を掴んでみる。
今回はほとんど本の内容をなぞるだけだが、実はDocker自体使ったことも無かったので、備忘録としてやったことを簡単にメモしておく。
なお、ROSにはROS2という新しいバージョンもあり今後はこちらが主流になっていくとは思うが、ROSの方が文献などが多くて独学するには良さそうなので、ひとまずROSに絞ってやってみる。
実行環境
Windows 10
Docker Desktopをインストール
まずはDocker Deskitop Instllerを以下からダウンロードして実行して、インストールする。
私がインストールしたときのDockerのVersionは4.15.0。デフォルトの設定のままインストールしていき、特に問題なく完了。
Docker イメージでROSを起動
本と同じく以下のTiryohさんのDockerイメージを使わせていただく。ROSの環境を設定するのは結構大変みたいだが、手軽に使い始められて大変助かったm(_ _)m
https://memoteki.net/archives/2955
Docker Deskitopを起動した状態で、コマンドプロンプトとかPower Shellなど適当なターミナルで以下を実行。ROSは
docker run -p 6080:80 --shm-size=1024m tiryoh/ros-desktop-vnc:noetic
適当なWebブラウザでhttp://127.0.0.1:6080/にアクセスすると、Dockerイメージ上でROS(noetic)を動かすことができる。System ToolsからLXTerminalを開き、ROSのVersionを
rosversion -d
で確認して無事にセットアップできていることを確認。
カメを動かしてみる
ROSではHello World的にサンプルとして用意されているカメ(Turtle)を動かすのが通過儀礼になっているようなので(?)、早速やってみる。LXTerminalを3つ立ち上げてそれぞれのターミナルで以下を順番に実行していく。
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
turtle_teleop_keyを実行したターミナルを選択した状態でキーボードの矢印キーを押すと、カメが動いた。
ROSの雰囲気はつかめたが、やはり何かしら実際にモノを動かしながら勉強しないと飽きてしまいそうな気がしてきた。ということで、次回の日記からは本の内容から早々に離れて、Raspberry PiにROSをインストールして動かしていくことにする。Unityを使ったSimulationなどもやってみたいので、またやる気になったら本の内容もやってみたい。
これまで以上にふわふわした日記になりそうだが、いつも通りマイペースに書いていく。
ROS勉強記まとめ
この勉強記は以下のページでまとめてます。