1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

3Dプリンタで作るいいかげんロボティクス(第2回):犬猫ロボット

Last updated at Posted at 2021-06-13

#はじめに
 前回の記事でクモ型の四足歩行ロボットを作成しました。比較的安定した動きのクモですが、今回は別の構造のロボも試してみたいと思い、比較的犬や猫の動きに近いロボットを作ろうかと思い立ちました。
 犬や猫のような四足歩行のロボットといえば、昔から様々な研究対象にされており、趣味で作成されたものもyoutubeで大量に見つかります。実際に産業用ですでに出回っているもので、特にメジャーなのがボストンダイナミクスのspotでしょう。
 
  
 また最近、公園の巡回点検をロボットで行うという実証実験事例もあります。

 機動力に優れ、比較的人間社会に溶け込みやすい形のこのような獣型ロボは、今後様々な場面で活用されていくかもしれません。  しかし、現時点でこれらのロボットはクッソ高いです。spotは日本円で約800万円、中国製のUnitree Robotics社製の四足歩行ロボ「Unitree A1」というロボットでさえ、約128万もします。人それぞれ感覚の違いはありますが、なかなか気軽に買える金額じゃないですね。。。5年後ぐらいには30万ぐらいで買えるようになるかもしれませんが。  ちなみにクラウドファンディングではありますが、主にSTEM教育用の[Petoi Bittle](https://kibidango.com/1600)という犬型ロボがあり、かなり小型ですが、こちらは4万~6万ぐらいで買えたようです。ただクラウドファインディングなので、一般的に市場出回るにはまだ時間がかかりそう。  そんな現状では少しお高い四足歩行犬猫ロボを、比較的お安く作ってみましょう。

#目標
獣型四足歩行ロボットを自律歩行させる

#環境
パーツ作成:3Dプリンタ 使用素材:PLA(1.75mm)
使用基盤:raspberry pi 4
使用言語:python3.7
必要なライブラリ:adafruit-circuitpython-servokit
コマンド↓
sudo pip3 install adafruit-circuitpython-servokit
※adafruitの公式サイトはこちら

ちなみに、画像認識AI等の搭載を想定して、処理能力の高いラズパイ4を採用しているだけなので、ラズパイ3でも問題ないと思います。以下ではSDカードへのOSインストールや初期設定、sshでの接続設定が完了している前提で書いています。

※なお、以下の内容は手順書のような体裁になっていますが、第三者が一からやっても同じように動かせるかの検証を十分に行っておらず、どちらかというと備忘録みたいな感じでとらえていただけると幸いです。

#使用したもの

名前 個数 メモ
TRASKIT Raspberry Pi 4 Model B Starter Kit 1set SDカード、冷却ファン付き。付属のケースは使いません。
Adafruit 16チャンネル PWM/サーボ HAT for Raspberry Pi 1set サーボ制御用の便利なHAT。最大16個までサーボを接続することが可能。ピンを半田付けする必要があります。
マイクロサーボ SG92R 8個 SG90Rより高トルクのため採用。なお同型のサイズのサーボなら別の種類を使うことも可能です。
Ecool 電池ケース 電池ホルダー 1個 HAT用の電源ケース。スイッチ付き
USB AケーブルからUSB C 90度ケーブルナイロン編み 1本 メインボディの設計上、普通に電源ケーブルをさせないので、L字型のケーブルを採用
Anker PowerCore+ mini 1個 ロボ完全自律のためラズパイ用の電源。80g。
パナソニック エネループ 単3形充電池 4本 サーボHATへ共有用の電源
日本ケミコン アルミ電解コンデンサー 25V 1000μF 1個 サーボを8個使用するため、念のため使用
Geekworm 2x20 40ピン 1個 HATとラズパイの間に冷却ファンを取り付けたかったので、幅を広くするため、HATと基盤の間に挿入してます。
LEOBRO マジック結束バンド 白 1巻 モバイルバッテリーと基盤の固定用
ニチバン 両面テープ ナイスタック 超強力タイプ 1巻 電池ケースをメインボディに張り付けるために使用

全体でかかった金額は3Dプリンタを除けば、全部新しく買うとしても、3万いかないぐらいでしょうか。ラズパイはセールで買うか、sdカードは流用するなどすれば、もっと安価に作れると思います。

サーボを固定するネジはM2サイズのネジとナットを使用していますが、下記のセットが一箱あれば問題なかったです。

名前 個数
M2六角ナット100個付き 370個セット 1セット

あと動かすだけなら不要ですが、カメラモジュール があると、画像認識とかやりたいときに便利です。(作成した3Dモデルはカメラホルダーも作ってます。)

#歩くためのアプローチ
 前回作成したクモ型ロボットは、重心が低くく安定しており、体重も軽かったため、比較的重心移動がやりやすかったのですが、今回は獣型の上、サイズが比較的大きいため、重心を保ったまま安定して歩かせることが課題でした。
 実際の足の動かし方ですが、こちらのサイト を参考に、トロット(左前脚と右後脚(右前脚と左後脚)を同時に進める)方式を採用しました。

#モデリング
 ボディのモデリングですが、モバイルバッテリーとサーボ用の電池等を合わせてだいぶ総重量が重くなってしまったため、かなり設計を切り詰め、軽くなるようにデザインしてます。ただ、それでも550gぐらいにはなってしまいました。また、足のパーツを短くし、できるだけサーボのトルクを十分発揮できるようにしています。各パーツは以下のような形です。(githubにもblenderのファイルも併せてアップロードしてます。)

・メインボディ(main body)
 →ラズパイ4基盤を乗せるメインボディ。四つのサーボ用の四角い穴が開いてます。

・ファン固定用パーツ(fan)
 →CPUファンを取り付けるための部品。ファンのサイズは(30 * 30 * 7mm) 上記で紹介したtranskitのラズパイセットには二つ入ってます。ファンがあるだけでもcpu温度が10度ぐらい違います。ファンの給電にはHATの16組(3×16)のピンのうち一組を使用します。

・脚(foot)
 →一番下の地面に接する足。サーボ用の穴が開いてます。

・前太もも(leg_front)
front_leg1.png
・後太もも(leg_back)
back_leg1.png
 →太もものパーツで、メインボディのサーボで動きを制御します。二つずつ印刷しますが、左右のモデルを別々に作ってないので、各種類ミラーで対称向きのものを一つずつ作ってください。

#コーディング
githubページはこちら
前回同様、各サーボの角度をステップごとに合わせるという形です。
 いまのところ、前進するモーションしか作っていないです。

#組み立て
①Hatにピンをハンダ付けし、HATを完成させます。またコンデンサを取り付けます。
  →ピン穴はそれほど小さくはないですが、初めての方、ハンダ付けが久しぶりの方は、練習キットなどで練習した方がよいかもしれません。(というか私もはんだ付けを失敗したのか、16個のピンの中でいくつか反応しないピンがありました。)
  →参考:はんだ付けのコツ
→なおコンデンサは極性(プラスマイナスの向き)がありますので注意してください。

②メインボディ裏に電池ケースを取り付けます。取付個所は写真の横長の四角い穴から約1cmあたり、幅はボディからはみ出さないよう注意して両面テープで固定します。ボディ裏側にバッテリーパックをスイッチが表側になるように、強力両面テープで固定します。なおメインボディは横長の四角穴(ファン取り付けパーツの穴)がついている方が前です。

次に、メインボディにサーボを四つ。サーボの軸が前足は前側、後ろ足は後ろ側になるようにとりつけます。M2ネジ(8mmか10mm)とナットで固定します。

メインボディ上にラズベリーパイを設置し、Geekworm 2x20 40ピンをGPIOピンに一つ接続し、cpuファンを取り付けたファン固定用パーツを固定穴にさして、ラズパイの上に設置し、上からHATを接続します。(下記左図の写真だとわかりづらいですが、HATとラズパイの間に、黒い層があり、これが延長ピンです。)
 

ファンのケーブルを16組のピンケーブルのうち、一つにつなぎます。3つのピンのうち、プラス(赤)をVに、マイナス(黒)をGに接続します。また、電源ケーブル上の右の写真の、手前の緑のケーブルのように、接続します。

③一番下の足にサーボを取り付けます。M2ネジ(8mm)とナットで固定します。

④太ももの足にサーボのアームを取り付けます。サーボに同梱されてるネジでアームを両側固定してください。サーボの軸固定用のネジは角度の調整後、最終的に取り付けるのでこの時点では取り付けません。なお、サーボ付属の固定ネジを使わず、M2(10mm)の長さのネジを固定ネジとして使用し、足のパーツごと固定しています。

⑤③、④を繰り返してそれぞれ四つ作ります。

⑥モーターを各ピンに接続して、プログラムを実行し、各サーボの初期角度を調整します。
※足同士が干渉しあう可能性があるので、サーボとサーボのアームは必ず取り外した状態でプログラムを実行してください。

サーボが動かない場合
→ライブラリがインストールできてるか確認
→ファンを繋いでみる等、ピンが通電してるか確認。
→他のピンに指しても動かないか確認。設定プログラムも指したピン番号に書き換えてください

サーボの初期角度設定が完了したら、サーボのアームを下記の写真のように取り付けてください。各サーボ90度に設定されますので、太ももと脚をだいたい90度になるように取り付けます。問題なければ各サーボの軸をM2(10mm)ネジで、太ももの脚の穴から、脚ごと8つのサーボ軸を固定します。

⑦モバイルバッテリーをボディ前方にマジックテープを使って固定すれば、出来上がりです。

#動作確認
https://vimeo.com/562165775

猫ロボの上に乗っかってるのはスピーカーです。ある程度の積載も割と行けそうです。
小さい段差も乗り越えられますね。

#今後の展望
 せっかくカメラ搭載してるので、画像認識のモデルを乗せて、自動運転をさせるのも面白そうです。
 
#参考サイト
  脚ロボットについての研究  京都大学 松野研究室

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?