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のプロセッサとしては十分ですね。
MagikEyeのILT開発キットをラズパイ3Bで動かしている様子 その1
— nisshan にっしゃん (@nisshan_) July 23, 2021
macのchromeで表示しています。遅延が全然ない。 pic.twitter.com/OC9C1PsklQ
MagikEyeのILT開発キットをラズパイ3Bで動かしている様子 その2
— nisshan にっしゃん (@nisshan_) July 23, 2021
表示の視点を変えました。デジタルサイネージに余裕で使えますね。 pic.twitter.com/4C8j64SUJL
MagikEyeのILT開発キットをラズパイ3Bで動かしている様子 その3
— nisshan にっしゃん (@nisshan_) July 23, 2021
頭部をキャプチャー。これもいろんなアプリケーションを考えられそうです。 pic.twitter.com/3lrAdwuZpO
MagikEyeのILT開発キットをラズパイ3Bで動かしている様子 その4
— nisshan にっしゃん (@nisshan_) July 23, 2021
スマホのブラウザでもスルスルと表示できました。 pic.twitter.com/ZyOBrcC9DG
2. ROSパッケージのビルド
2-1. githubからコードを取ってくる
git clone git@github.com: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
MagikEyeのILT開発キット、ROS1で動きました。
— nisshan にっしゃん (@nisshan_) July 23, 2021
なんだろう、多分だけど、超上空でダイダラボッチみたいな巨大な手が動いている気がする。PointCloud2に変換する時に単位を間違えてるんじゃないかなぁ。
(Rviz右下のグレーの四角形がGrid…) pic.twitter.com/eZt1wyuRkz
見つけた問題
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型のイーサネットケーブルコネクタが必要なので注意です。
MagikEyeのILT開発キットをラズパイZeroWで動かしている様子
— nisshan にっしゃん (@nisshan_) July 24, 2021
非力なのでもっと遅れるかと思ったけど、サイズとのトレードオフだと考えれば許容範囲ですね。 pic.twitter.com/YE9BR32jR2
MagikEyeのILT開発キットをラズパイZeroWで動かしている様子
— nisshan にっしゃん (@nisshan_) July 24, 2021
Wifiで飛ばしてROS1で表示してます。モバイルバッテリーで駆動できたので、完全ポータル環境ができました。 pic.twitter.com/cJaa2yBQVA