MagikEyeをROS1で動かすまで


MagikEye

先日国内発売されたMagikEye ILT開発キット(DK-ILT001)を入手したので、動かすまでの手順をメモとして共有します。

環境

項目
Ubuntu 18.04
ROS Melodic
Magikeye専用ラズパイ Raspberry Pi 3B

なぜMagikeye?

  • 小さいので、ロボットに載せやすい。
  • 税込み9,900円と比較的安価。
  • ラズパイを専用プロセッサとして使うのならば、余ってる古いラズパイを再利用できるのでは?

1. 環境構築 (兼デバイスの動作確認)

こちらの日本語の説明のページの通りでいけます。迷ったら、この英語の説明サイトを見ましょう。こちらの方が画像が多く、丁寧です。

接続はこのようなかたちです
[Magikeye] -> [ラズパイ3B] -LAN-> [PC]

Magikeye専用のラズパイはRaspberry Pi 3Bを使用しました。デスクトップPCとして使うには遅過ぎるスペックですが、このMagikeyeのプロセッサとしては十分ですね。

2. ROSパッケージのビルド

2-1. githubからコードを取ってくる

git clone [email protected]:MagikEyeInc/SDK.git

2-2. MagikEye C++ライブラリのインストール

sudo apt update && sudo apt upgrade -y
sudo apt install build-essential git cmake libboost-all-dev
cd SDK/client/cpp/mkeclient
mkdir build
cd build/
cmake ..
make
sudo make install

2-3. ROS1パッケージのビルド

source ~/.bashrc
cd catkin_ws/
source devel/setup.bash
cd src
rosdep install -i --from-paths ./
cd ../build
catkin_make --pkg mkeros --source ..

3. ROSノードの立ち上げと可視化

3-1. 設定

1.環境構築で控えたIPアドレスを SDK/client/ros1/mkeros/config/mkeros1_config.yaml に書いておきます。
あと、デバイス名のエイリアスも有効にしておきましょう(好きな名前でOK)。

device: "192.168.x.x"
alias: "s1"

3-2. 起動

Terminal 1

roslaunch mkeros mkeros1_cpp.launch

Terminal 2

rosservice call /mkeros1_startpublish_s1

terminal 3

rviz

見つけた問題

issueを登録しておきました。

  • PointCloud scale might be wrong. 点群のスケールが1000倍巨大なので、ぐーっと視点を引きましょう。ミリメートルのまま、メートルが単位のROSにデータを流しているのが原因ですね。修正待ち。 → 2021/08/03修正されました。
  • frame name "Map" is not compatible with ROS1/2. rvizで点群を表示するときはfixed frameをMapに変更する必要があります。修正待ち。 → 2021/08/03修正されました。

ラズパイzeroWでの動作

同様にRaspberry Pi ZeroWでも動かせました。レイテンシーはありますが、小さくまとめられるので、ロボット制作には良いですね。初期設定時にUSB型のイーサネットケーブルコネクタが必要なので注意です。

関連