ROS(Robot Operating System)を使ってみる
ハードウェアはRaspberry pi 3を使用します。 NVIDIA Jetson Nanoの方が若干高値ですが、性能は申し分ないとの情報を得たのでシュミレーションなどの複雑な処理を行う必要が生じた場合は購入を検討してみます。 Windows10もバージョンが1709以降であれば、WSL(Windows Subsystem for Linux)が正式にサポートされていますが、ROS(Robot Opetating System)の動作が保証されていないため今回は不採用としました。 ちなみにMacOS上でのROSは使い物になりません。

基本OSはubuntu MATEをインストールして、ミドルウェアであるROSをセットアップしました。 ubuntu MATEのダウンロード先から私は32ビット版をインストールしてみました。

「MATE端末」より以下のコマンドを実行してみます。
$ roscore $ rosrun tutlesim turtlesim_node

$ rosrun turtlesim turtle_telop_key

ROSの概念について
ROSは機能や目的で細分化された「ノード」がシステムの中に複数存在します。 そして、複数のノード間で通信することによりシステムの目的を果たします。

簡単なプログラムの実行
送信側と受信側のプログラムをPythonで作成して、ノード間でのトピック通信処理の実験を行ってみました。 以下のコマンド「rqt_graph」を入力して、実行中ノードと通信状況を図示してみました。
$ rqt_graph

シミュレーションモデルの作成

ROSはURDF(Universal Robotic Description Format)と呼ばれるXML形式で定義しますが、基本構成はリンクとジョイントの組み合わせです。簡単なサンプルを作成してみました。 右側に配置しているパネルを使うと、モデルを動かす事ができます。 (ご指導 SooZooROBO-TECHNO様)

CADデータの読み込み
3Dモデルのロボットアームを表示してみます。
(※データは SooZooROBO-TECHNO様 のものです。)
Rvizでシミュレーションモデルを表示するコマンドを実行する。
$ rosrun rviz rviz

今回はここまでです。
次回は実際のロボットアームを組み立てて制御してみます。

きっと、くーちゃんの腕になる日が来る。






