「ガ〇トのネコ型配膳ロボットかわいいよね!研究で使いたい!」と思って値段を見たら〇〇〇万円...。本物は予算オーバーなのでそれっぽいものをお手軽に自作できないかと考えてみました。
お掃除ロボットで有名なiRobot社の教育用ロボット「Create3」をベースに、RGBDカメラと制御用のPCを載せる構成にします。パーツはAmazonで購入 or プリントすることにしました(研究室の3Dプリンターを使えばタダなので)。
3段のボディの部分に荷物を入れる想定です。Create3の耐荷重は9kgらしいので、ボディやPCの重量を引いて6kgくらいは運べる計算です。普通のルンバより強そう。
材料リスト
- iRobot Create3:約70,000円
-
Intel RealSense D435i:28,000円
- メルカリで中古品を購入。他社の同等品でもOKです。
-
プラスチック製の丸い棚:4,840円
- 何でも良いですが軽くて分割できる棚がオススメ。
-
USB-C to LANアダプター変換ケーブル:1,999円
- 長さ1mで最安のものを買いました。
- ルンバ用フロントキャスター:999円
- スペーサー10本:999円
- ねじ20個:281円
- 研究室のPC:0円
- 研究室の3Dプリンターとフィラメント:0円
- 自分のスマホ:0円
合計107,019円です。Create3の正規品はアメリカ限定かつ最近販売中止?したようなので、今後は中古のルンバで代用するのが良さそうです。
1. PCのセットアップ
制御用PCにはUbuntuとROSをインストールします。バージョンはそれぞれUbuntu 20.04 LTSとROS 2 Galacticです。インストール手順は公式ドキュメントに詳しいので省略します。
ROSのインストール後は以下のコマンドを実行してRMWをFast RTPSに設定します。
export ROS_DOMAIN_ID=0
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
source ~/.bashrc
echo $ROS_DOMAIN_ID
echo $RMW_IMPLEMENTATION
2. Create3のセットアップ
Create3の設定はPCのブラウザから行います。PCとCreate3をLANケーブルで接続し、ブラウザで192.168.186.2
にアクセスします。
「Application → Configuration」で以下の項目を設定します:
- ROS2 Domain ID: 0
- RMW Implementation: rmw_fastrtps_cpp
設定後は「Application → Restart Application」でCreate3を再起動します。
3. RealSenseのセットアップ
PCとRealSenseを付属品のUSBケーブルで接続し、動作確認します。
3.1. RealSense SDKのインストール
sudo mkdir -p /etc/apt/keyrings
curl -sSf https://librealsense.intel.com/Debian/librealsense.pgp | sudo tee /etc/apt/keyrings/librealsense.pgp > /dev/null
sudo apt-get install apt-transport-https
sudo apt-get install librealsense2-*
3.2. ROSパッケージのインストール
sudo apt install ros-galactic-realsense2-*
3.3. 動作確認
realsense-viewer
4. 頭パーツの作成
RealSenseとスマホをボディに取り付けるためのパーツを作成します。
Rhinoceros(or その他の3DCAD)で適当にモデリングして、
3Dプリンタでプリントします。フィラメントは黒がオススメです。
5. ボディの取り付け
Create3の上に丸い棚を載せます。Create3の天板には丁度良い穴が開いているので、棚の底面にもドリルで穴を開けて、スペーサーとネジで丸い棚を接続します。
6. 補助キャスターの取り付け
Create3は2輪駆1キャスターで、キャスターは前部に付いています。そのため上部に重いものを載せると加速時に後ろへ傾いてしまうので、後部にも補助キャスターを追加します。キャスターはルンバ用フロントキャスターと同じものです。
キャスター取り付けパーツのモデルデータは公式ドキュメントからダウンロードできます。不可がかかるパーツなのでインフィル密度は50%以上推奨です。
7. 顔アニメーションの作成
顔が無くてもロボットは動きますが、ネコ型ロボットっぽさ出るのでスマホで顔アニメーションを再生します。顔が付いていると通行人が「ロボットがいる」と認識して避けてくれる確立が上がる気がします。
DaVinci Resolve(or その他の動画編集ソフト)でアニメーションを作成します。