レゴ機械式玉運びトレイン(LEGO GBC) 

レゴで機械式の玉運びトレインを作ってみました。



詳細は後ほど。

スポンサーサイト

アルキメデスの螺旋を使ったボール運搬機(LEGO GBC) 

アルキメデスの螺旋を使ったGBCのモジュールの紹介です。

作ったのは1年近く前です。窓パーツが1プレート分ずつずらして組んであり、螺旋構造になっています。
中に入ったボールが窓パーツの出っ張りに引っかかって上っていくようになっています。
螺旋部分の組み方に苦労しました。
下二枚はクリックで拡大

CIMG1048.jpg

legogbcscrew2legogbcscrew3

持っているクリアパーツをすべて使った作品で、窓パーツの色が二色なのは部品の数の都合です。
動かすと貴重なクリアパーツに傷がつくという問題点があります。
精神衛生上悪いので、保護フィルムみたいなものを貼りたいところです。

動画

動力のないトラックの仕組み 

去年上げた動画の種明かしです。種明かしというほどのものではないですが。
トラックが玉を積んで、走って、荷台を傾けて玉を降ろすというものです。
このモジュールはすでにバラし済みです。

gbcmagtruck.jpg

全体像。


gbcmagtruck2

内部。


gbcmagtruck3

コメントで磁石という意見と玉の重さで動いているという意見を見させてもらいましたが、単なる磁石です。玉の重さで動かすというような高級なことはやっていません。重さで動かすには玉が軽すぎるし、レゴは摩擦が大きいので難しいと思います。レゴの磁石は大きくて磁力が弱いのでネオジム磁石を使っています。
NXTの3つのモーターを、リフトの上下、トラックの前後方向の移動、荷台の上下にそれぞれ使っています。


gbcmagtruck4

問題のトラック。


gbcmagtruck5

裏には3個の磁石があります。車体中央の二つの磁石は回転することによって荷台を動かす動力を伝えます。


gbcmagtruck6

写真では見えないですが、車体裏の磁石が回転するとウォームギアが回り黄色いリフトアームが上下します。それによって荷台が動く仕組みです。

レゴのレゴ選別マシン その2  

動画をアップすると書くことがなくなってしまいましたが、レゴ選別機判定部について書きます。

upした動画



流れは動画を見ていただけたら分かると思います。

カメラにはLogicoolのC200を使っています。採用理由は安価であることと、マニュアルフォーカスであることです。実はレゴにはカメラがあるのですが、持ってないし古い製品なので性能も悪そうなので無理して入手せず市販のカメラを使いました。

秤は0~100g,0.01g刻みのものです。レゴの重さを量るには十分です。電池を除けばまず100gを超えることはありません。

判定はPCでやっています。OpenCVという画像処理用のオープンソースのライブラリを使っています。無料で簡単に画像処理が出来るので良いです。
カメラの画像から二値化処理で部品を抽出し、部品の面積や輪郭の長さなどの特徴量を抽出し、データベースのどの部品に一番近いで判定しています。そのため一つ一つの部品についてデータベースに特徴を登録しなければなりません。部品はいろいろな方向を向くので、それぞれの部品について1~3方向から見た画像をデータベースに登録しています。データベースは部品名、特徴量、選別先番号を一組にして登録してあります。選別先番号を変えることで、大雑把に分けたり、細かく部品の長さごとに分けたり出来ます。
今データベースの登録数は150ほどですが、かなり登録がめんどくさいです。CADデータから取り込めたらいいなと思うのですが。
部品が正しい位置あれば部品の認識の正解率は99%以上ですが、データベースの登録数を増やすと下がるかもしれません。


現在の問題点
1. 部品が2個以上重なって判定部に落ちると、輪郭がひっついて一つの部品と認識し誤判定する。
2. 部品が複数判定部に落ちることが多く、非効率。
3. 秤の仕様で1分ほど秤の上に部品がない状態が続くと、自動的に電源がOFFになる。
4. プログラムがメモリリークを起こす。
5. 遅い。
6. 出力8個と少ない。


解決策
1. データベースに登録してある輪郭形状と大きく異なった場合はエラーにする。
2. 部品をもっとバラけるように機構を工夫する。エラー部品を最初の投入部に自動的に戻すコンベアを作る。
3. 秤の電源が切れたら自動で秤の電源を入れなおすようにプログラムを変える。
4. がんばってメモリを開放してない部分を探す。
5. 機構の変更、待機時間の短縮。現在の3倍の速さには簡単にできると思う。
6. 容器を10列×10行のように配置する。数百個は欲しい。

今のところ4が一番深刻です。3も厄介な問題です。高級な秤が欲しくなります。


部品を一つずつにする方法として、ベルトコンベア上にある部品を直接マニピュレータで一つずつつかむという方法があります。工場では良く使われてる方法ですが、レゴの場合は部品形状が非常に多いのでつかむ部分の製作が難しいこと、機構が複雑になりモーター数が増えること、部品の重さをはかりにくくなることを理由に採用しませんでした。また挑戦してみようと思います。