Featured image of post mini pupper 1で遊んだログ

mini pupper 1で遊んだログ

目次

背景

  • 黄色い四足歩行ロボットmini pupper 1で遊んだ時の備忘録
  • 日本名は、ミニぷぱ
  • データがOSSがで公開されているのがいい
  • 今回はそれでROS2周りの動作を確認する

Mini Pupper

Mini Pupperとは

  • Mini Pupperは、Stanford Pupperの流れを受けた小型四足ロボ
  • ROS、SLAM、Navigation、OpenCV AI などに対応する教育・研究向けのロボット犬
  • pupperの意味は小さい子犬で、読み方はパッパー

Mini PupperとHiwonder PuppyPIの違い

観点Hiwonder PuppyPiMini Pupper
ざっくり性格完成度高めの教育・AIビジョン実験用ロボット犬オープンソース寄りのROS/SLAM学習プラットフォーム
見た目黒い金属フレームでロボット犬感強め黄色い筐体+顔LCDでホビー感・教材感強め
開発思想Hiwonderの教材・アプリ・デモ込みで触りやすいDIY、改造、ROS学習、コミュニティ寄り
主な用途AIビジョン、顔検出、追跡、音声/大規模AI連携、LiDAR/ロボットアーム拡張ROS2、SLAM、Navigation、OpenCV、カメラ/LiDAR拡張
サイズ・重量226×149×190mm、720gMini Pupper 2は210×110×160mm、450g
バッテリー7.4V 2200mAh LiPoMini Pupper 2は1000mAh、micro USB充電
コンピュータRaspberry Pi 4B/5構成Mini Pupper 2はRaspberry Pi CM4
価格感公式ページ上は構成により変動、Standard Kitで$559.99表示公式ストアではMini Pupperは$649表示

どっちが改造に向いているかというと、Pupperとなる。

関連プロジェクト

StanfordQuadruped

StanfordQuadrupedとは

まず、Mini PupperのベースとなったStanfordQuadrupedについて説明する。

  • StanfordQuadrupedはMini Pupper1のOSに入れられたコード
  • 具体的には、Stanford Pupper / Stanford Woofer というRaspberry Piベースの四足ロボット用に作られたオープンソースのコード
  • 「trot, walk, jump」できる四足ロボット
  • 中身はROSみたいに複数ノードで通信するというより、Pythonの制御ループでロボットを直接動かす
  • つまり、古典的な歩行制御・逆運動学・歩容制御をやっている

公式説明では、メインプログラムは run_robot.py で、構成は大きく次の3つのみ:

  • ジョイスティック入力
  • コントローラ
  • ハードウェアインターフェース

つまり、ジョイスティック入力を読み、コントローラが歩行状態や足先目標を計算し、ハードウェアインターフェースがサーボ用PWMに変換する仕組み。

Stanford controllerとは

Stanford controllerは、歩行の頭脳部分を担当している。

モジュール役割
gait schedulerどの脚を地面につけ、どの脚を前に出すか決める
stance controller接地している脚で体を進ませる
swing controller浮いている脚を次の着地点へ運ぶ
inverse kinematics足先位置から各関節角度を計算する

Stanford Pupperの操作ドキュメントでは以下のような機能がPS4のコントローラーでできると説明されている:

  • L1で有効化
  • R1でRest/Trot切り替え
  • 左スティックで前後左右、右スティックで旋回
  • Xボタンでホップ

など。

printpupper

もともとMini PupperはOSSだったが、日本人によってさらにOSS化された、素晴らしい取り組み。特に、サーボ周りはおそらく買わないといけなかったはず。

printpupper(ぷりんとぷっぱー)は誰でも作れるオープンソースの四足歩行ロボットです。スタンフォード大学の開発した"Stanford Pupper"を元に、より安価に簡単に作れるよう再設計しました。3DプリンタとAmazonで買える部品だけで12自由度の本格四足ロボを作れます。カーボン切出部品など一切不要。設計Git公開です。

https://www.printpupper.com

Mini PupperのOSの違い

まずは新たなマイクロSDカードを用意してimgを焼く。

公式のGithubのGoogle DriveにあったOSは以下:

  • 2024Oct.12.Ubuntu22.04.MiniPupper.ROS2Humble.zip
  • 2024Oct.12.Ubuntu22.04.MiniPupper.BSP.zip
  • 2024Oct.12.Ubuntu22.04.MiniPupper.Stanford.AIwithCameraWithoutKey.zip
  • 2026Jan.20.Ubuntu22.04.MD-MiniPupper.Stanford.withDesktop.img.zip
  • 2026Mar.16.Ubuntu24.04.MiniPupper.BSP.zip

まずminipupperは3系統ある:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
Stanford controller系:
- Stanford Pupper由来の歩行制御コード
- PS4コントローラ等で歩かせる・歩容をいじる・脚制御を学ぶ向け

ROS系:
- ROS 2 / Nav2 / SLAM / rviz / topic / node / cmd_vel
- ロボティクス学習・自律移動・センサー統合向け

BSP
- Mini Pupperでいうと、サーボ、PWM、LCD、カメラ、音声、GPIO、キャリブレーションなど、ハードウェアをUbuntuから触れるようにする基礎レイヤー
- mini_pupper_bsp はハードウェア土台、mini_pupper はコントローラ/Web/mobile app用、mini_pupper_ros はROS用、と分けられている

つまり、以下のような感じ:

1
2
3
4
BSP = 土台
Stanford = 歩かせるアプリ/制御系
ROS2 = ROS 2でSLAM/Nav/トピック学習する系
AIwithCamera = カメラAIデモ入り

withoutKeyの意味は、おそらくOpenAIとかのトークンがないことを意味している。

BSP => ROS2なども入れてフルスクラッチになるということだろう。

参考文献

Built with Hugo
テーマ StackJimmy によって設計されています。