Asial Blog

Recruit! Asialで一緒に働きませんか?

走れ!ラズベリーパイ!第二話「車体とステアリング」

カテゴリ :
バックエンド(インフラ)
タグ :
Raspberry Pi
Tech
日常
レゴブロック
こんにちは、斉藤です!
前回の記事はお読みいただけたでしょうか?
引き続き、Raspberry Piラジコンカーの制作過程紹介記事をお届けします!



◆ あらすじ



ふと、ラジコンカーを作りたい!と思い立ち、以下を行いました。
  1. * 仕様決定
  2. * Raspberry Pi内のプログラムで信号制御
  3. * モーターと繋いで実験
その結果、なんとかRaspberry Piでモーターを制御するところまでこぎ着けています(前回参照)。



これを車として組み上げるとき、どうしても車体が必要になってきます。
今回は、そういった車体をどう用意したのかも含め、以下の機械的な部分の過程に触れてみたいと思います。
  1. * 車体の組み立て
  2. * ステアリングに関する問題発見
読んでの通り、ITっぽい話が全くありませんので、ご了承ください。





◆ 車体の組み立て



C言語によるプログラム、トランジスタによるモータードライブ回路により、Raspberry Piから、ギアボックスを制御できるようになりました!いよいよ、車体を作成していきます!

とは言っても、一介のITエンジニアには、重たすぎる以下の課題があります。
  1. * シャーシ作成(アルミ板、真鍮板とかを加工する?3Dプリンタ?)
  2. * ギアボックスとの締結(ネジ穴をあける?)

一応、加工道具は持ち合わせているものの、この部分を自作し始めると、いくら時間があっても足りません。思い通りの形を作るというのは、時間もしくはそれなりのツールが無ければ難しいのです。
今回は"ラジコンを作りたいだけ"という目的なので、この過程には出来るだけ時間をかけないように考えた結果、レゴブロックを使うことに。

レゴブロックの良いところ
  1. * ブロック同士の締結が簡単なため、イメージに近い造形をある程度再現できる
  2. * クランク機構などの機械的な機構の再現が可能
まず、お試しということでこちらを購入しました。
レゴ テクニック ミニレッカー車 9390

これで、以下のことを検証します。
  1. * ギアボックスとレゴブロックが締結できるかどうか
  2. * 車として組み上げた際、思い通り走るか
早速、ギアボックスと締結できるかどうかを試しました。
その結果、ブロック一つ一つのパーツに空いている穴が、ギアボックスで使われている3mmネジに相性が良く、無事締結できることが分かりました。
これで首尾よく、こんな感じのプロトタイプを作成しました。



どうでしょう?
見た目はともかく、ラジコンっぽくなってきましたね!
これで、無事走り出せるはず!
・・・と思っていたのですが、どうやらそう簡単にはいかないようです。
走らせてみて初めて分かったのですが、ステアリングが上手くいきません。



◆ ステアリングに関する問題発見



なぜ上手くいかないかを調査してみると、
  1. * 前輪のステアリング角を固定して、後輪の片方のみを駆動させるだけでは、摩擦が強すぎてスムーズに曲がることが出来ない
  2. * かといって、前輪のステアリング角を自由にすると、思い通りに曲がれず、蛇行してしまう
と言ったことが分かりました。

結論から言うと、実際の車同様、前輪のステアリング制御を行う必要が出てきました。
となると、何らかの方法でRaspberry Piからの信号を、タイヤのステアリング角に変換しなければなりません。
そういった機械的な機構を試行錯誤をする中で、このレゴブロックセットと出会いました。
レゴ テクニック トラクター 9393

このセットの中には、ラックアンドピニオン式のステアリング機構が使われています。
この機構は、ハンドルの回転角度をタイヤのステアリング角に変換する仕組みを提供してくれます。
最近はこんな実車さながらの仕組みを持ったレゴも用意されているんですねー。

となれば、あとはハンドルに相当する装置を用意するだけ!
ここでは、サーボモーターを使うことに。
これはPWM信号によって、速度ではなく、その回転角度(位置)を制御することが出来るというモーターです。
電子工作好きなら誰でも知っている秋月電子通商で購入できる小型のサーボモーターを購入しました。
GWSサーボ S11H/2BBMG/JRタイプ

そして、サーボモーターにはRaspberry PiからのPWM信号を送ってやる必要がありますので、プログラムの修正、サーボモータードライブ回路の追加をしました(特別な回路を組んでいる訳ではないので省略)。


あとは、サーボモーターの回転部分とレゴブロックの締結をしなければなりません。
サーボモーター側にピンバイスで3mmネジが通るように穴をあけて、それぞれを3mmネジで固定しました。
思い通りに動くかどうかを、新しく購入したレゴで確認します。


ばっちり動くことを確認して、ステアリングがまともにできる機構が完成となりました。
あとは、Raspberry Piを載せるところを考慮しつつ、レゴを組み上げます。



完成まで、もう少し!





◆ 次回予告



いよいよ、車体も組み上がり、形を成してきたかに見えたRaspberry Piラジコンカー。
しかし、完全なリモートコントロールには電源の搭載、コントローラーの作成という二つの課題をクリアしなければならない。
この課題に対して、アシアルのITエンジニアはどう答えを導き出すのか。
次回、走れ!ラズベリーパイ!最終話「電源とリモコン」に続く!

という、よくある感じの次回予告で今回は終わりです。
お楽しみに!