SSブログ

SpotMicro(mini) その3 ー頭部ってか頭の中ー [ROBOT]

IMG_3790.jpg

頭部分はいろいろ詰まっている。重さも結構ある。300gくらいかなあ。

頭の部分は、二つの近接距離センサ、ジャイロ、電圧監視センサ、RaspberryPi Cameraを保持する。
これに対し、入出力線は、カメラのリボンケーブル、I2C用の5本のケーブル、電池からの接続の3束の線で接続する。

肩の部分にサーボがとりつくスペースがあるけど、何しろサーボが6個もついてるから、線がいっぱいあで、まあ、ごちゃごちゃしている。 
サーバ室とか行くとすごくうまく線がまとまってるけど、方法を教えてほしいくらいだ。

IMG_3788.jpg

頭部の3Dプリントパーツは、4ピースからなっていて、赤のフィラメントで、前部と後部、カメラホルダコネクタと、黒のフィラメントで、カメラホルダを作成した。

前部と後部は、カメラホルダコネクタを介して4本のビスで固定されている。

IMG_3777.jpg

カメラホルダコネクタは、カメラホルダと接続されている。中にごちゃごちゃと入っているが、これを外して裏から見ると、MPU9250IMUが配置している。最近は、BocshのIMUが調子いいらしいので、それに変更したいんだけど、サイズ的にはまるのはなさそう。なんでもほぼ直結でフィルタいらずだとか。


IMG_3779.jpg

表側にすると、カメラと、二つの近接距離センサが付いている。
IMG_3850.jpg


これらのI2C装置は、一つの基盤で接続されている。


IMG_3849.jpg


何しろこれらのセンサを頭のなかに入れている。だけど、本音でいえば、これに、マイクとスピーカを乗せてしゃべらせたいと思ったけど、スペース的に無理かな。

距離センサを超音波センサにして、うなりで音を出したりなんかすると出せるのかもしれないけどなあ。

コメント(0) 
共通テーマ:趣味・カルチャー

SpotMicro(mini) その3 ーI2Cはつらいよー [ROBOT]

Robotの動きは複数のサーボで、動きを作るわけど、それらは、勝手に動くわけがないので、制御する必要がある。
SpotMicro(mini) は、12個のサーボ、2個の距離センサ、1つのカメラ、1つの姿勢センサを持たせている。

Spot.jpg

Raspberry Pi Zero はいささか非力ではあるが、何分サイズ的なものもあり、こいつに頑張ってもらう。
サーボは、CS238MGで、4.6Kのトルクを出すために6Vで、動作させる。Raspberry Pi Zero からの信号は、I2Cバスを介して、ServoDistributer を介してどうさせる。
LCDパネルもI2Cバスでコマンドをやり取りする。
姿勢センサは、MPU9250 という9DOF IMUだが、これもI2Cを介して操作する。
最後に、近接物距離センサを2個頭の左右に乗せていて、これもI2Cで動作させる。


I2Cバスは、それぞれをI2Cアドレスで、分別する。今回の場合、アドレスの衝突が発生した。ジャイロと、AD変換センサがまず衝突。これは、ジャイロのアドレスの下位1ビットを設定することでアドレスが変更できる機能がありこれを用いて回避。
次は、2つの距離センサで、同じものを使っているわけだから当然衝突する。また、アドレス設定はできないみたい。ううんとか 思い、センサのマニュアルを見ていると、”RXDで出力を制御できる。”との記述があり、それをトランジスタ1石で、インバータを作り、それぞれのRXDに接続してある。

I2Cバスを操作するために、バスマスタから見てどのアドレスが使われているかを探知するコマンドがあり、それで確認すると認識しているので、どっちかのセンサが動いていることまでは確認できた。
もう少し、突っ込んだ確認が必要だけど、ここでいったん良しとする。

LCD:AQM1602Yは、これもI2Cで動くわけだけども、バスコントローラの電気的仕様が、Raspberry Pi とは、よろしくないらしく。PCA9515というバスリピータを用いる必要があるらしい。

最初は、Raspberry Pi  ⇒Busリピータ→LCD/GYRO・その他 にして回路化した。
IMG_3848.jpg

LCD単独(ほかのデバイスをつなげない)動かすとちゃんと動くんだけど、ほかのデバイスをつなげると、LCDのデバイスだけ見えなくなる。プルアップ抵抗のサイズをいろいろ変えてみたけど、どうもだめっぽいので、(Busリピータ+LCD)を一つのI2Cデバイスとして接続する(GYRO,PCA9685、IMU、バスリピータ)を同列に接続して、バスリピータから直接LCDに接続することとした。
IMG_3847.jpg
このあたりは、デジタル回路ではないので、私には理屈が正直よく割らない。

これで動かない場合は、おいらとしてはどうしようもないので、LCDが多分字が出なくなるような気がします。


コメント(0) 
共通テーマ:趣味・カルチャー

SpotMicro(mini) その2 ーなぜ縮小版なのかー [ROBOT]

なんでサーボをサーボを変える必要があったのか、
なんで、縮小版で作る必要があったのか。

それは、うちの3Dプリンタの印刷範囲が小さいから。

自作の3Dプリンタのプリント範囲は、代替だけど、120x120x120ぐらい。
ThingiVerseでおいてある、プリントデータで、ちょっとこれいいなあ、作ってみようと思うと、だいたい、このサイズではできない。
MG996ってトルク6キロぐらいあって、これだと余裕なんだとは思うけど、それじゃあ、手に入りそうなサーボでちょっと探ってみるかと思うと、コロナのCS238MGがあった。子のサーボはアナログ版だけど、デジタル版(DS238MG)もある。それに6V時のトルクが4.6kgを割と大きめ。よっしゃこれで作ってみよう。と思い、まずは、ちょっとだけお安いCS238MGを4つほど購入。

サイズを上面から見ると直線比で、4:3か、よっしゃそれじゃあ、全体を4:3で作ればいいじゃない。

ってことで、FusionにSTLデータを取り込んで。

しかし、物事とはそんなにうまくいかないもので、まずホーン形状がが合わない。
サーボの種類ってだいたい3つのグループに分かれていて、いわゆる”標準サーボ”と、”マイクロサーボ”と”ミドルサーボ”。昔は、標準サーボに対してマイクロサーボがあったわけだけど、その中間位ってことで、ミドルサーボができたみたい。

マイクロサーボと標準サーボは、明らかにサイズが違うからホーンなんか会うわけないけど、それでも引き込み足サーボとかそれなりにトルクが必要なサーボのためにマイクロよりちょっと大きいというかどっちかというと重たいミドルサーボが登場したんじゃないかと思う。違ってることを知ってる人がいたら、”こいつ とれぇ なあ、こんなことも、知らんのか”と一人で悦に入ってください。


で、ミドルサーボは、正確的にいろいろなサーボがあるわけだけど、CS/DS238MGは、サーボ取り付けねじの数が片側1個。マイクロサーボと同じ。MG996は、標準サーボだから、2個。つまり無加工では、サーボが付かない。サーボ搭載バーツのすべてについて、変更が必要になる。

最終的に、サイズも何もかも、作り直しが必要となりました。
foot.jpg

図は、CS238MGのサーボとFEETパーツ
形状は、オリジナルからもらってますが、STLからBODY作ると部品によっては、メッシュが多すぎてとても何するにも時間がかかるので、元データからなんとなく似せて作ってあります。


最初のにこの部品から作りました。
本物のSpotMicroのいわゆる肉球部分にはTPU(ちょっと柔らかいフィラメントらしい)を使うようだが、そんなものは買えないことにしたので、ちょっと作ってみることにした。ほぼ完成写真の白いところで、これは、白のEVAシートを使っている。抜群のグリップ性能をたたき出すけど、本当は滑って法がいいかもしれないなあ。と最近は思い始めております(この結果に到達する事実には、まだ到達していない。早い話が動いてない)




続きを読む


タグ:SpotMicro
コメント(0) 
共通テーマ:趣味・カルチャー

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。