スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


にほんブログ村 その他趣味ブログ LEGO・ブロックへ

Unimog ウニモグ (8110) x NXT (8547) - 組み立て編

こんばんは、matkです。

今回の作品は大きいですので全体の説明は省きます。最も時間と労力を使った、オリジナルクレーンの部分とギアチェンジの部分だけ説明したいと思います。

はじめにオリジナルクレーンの方です。
SANY0035.jpg SANY0036.jpg

右上の写真にありますように、先端部分は明快です。ユニバーサルジョイントで非力な力を伝えつつ、そこからワームギアで手を開閉させています。アームの方向転換とアームの上下はかなりややこしくなっていますので、動画で説明したいと思います。



・真ん中のターンテーブルの外側ギア(黒色)を回すと、一番上のターンテーブルの黒色部分も回り、方向転換になります(0:05あたり)。
・一番下のターンテーブルの外側ギア(黒色)を回すと、一番上のターンテーブルの灰色部分も回ります(0:15あたり)。これは一番下のターンテーブルと一番上のターンテーブルの灰色部分同士が、軸2本で接続しているためです。一番上のターンテーブルの灰色部分(内側ギア)のさらに内側には8歯ギア(★)がありますので、最終的に上に伸びている軸が回ります(手の開閉)。
・3段のターンテーブルの下にあるギアを回しますと、軸の回転がそのまま3段のターンテーブルの中心を貫通して、一番上のターンテーブルの上にある8歯ギアを回します(0:30あたり)。すると24歯の白いクラッチギアが回転して、ユニバーサルジョイントを介して、リニアアクチュエーターの伸縮をします(アームの上下)。

この構造の注意する点は、方向転換をすると、手の開閉の元となっている8歯ギア(★)も回転してしまう点です。方向転換だけをして、手の開閉をしたくない場合には、真ん中のターンテーブルと一番下のターンテーブルを同時に動かさなくてはいけません。NXTならソフト側でモーターの同期をすることで簡単にクリアできます。


次に、ギアチェンジ部分です。

SANY0039_20111218200911.jpg SANY0042_20111218200910.jpg SANY0040_20111218200910.jpg 
SANY0041.jpg

最後の写真は裏側からの写真です。リニアアクチュエーターの支えだけでは、走行する時にやや不安定でしたので、かなり強度を増しています。ギア比を落とせば、ここまで強度upしなくても大丈夫です。

この仕組みのいい点は、さらに3-4-5の直角三角形のところにもギアチェンジ相手を簡単に拡張できるところで、トータルで10通りの動力伝達まではいけます。今回は見た目も凝りたかったので、6通りの動力伝達で止めて、構造を細身にしています。

注意すべきところは、リニアアクチュエーターが伸縮すると水平部分とリニアアクチュエーターのなす角度も動きます。ですのでリニアアクチュエーターの固定の仕方は単純にはいきません。また、ギアチェンジするモーターもその動きにあわせて少し回転するようにしてあります。このモーターの固定も難しかったです。

にほんブログ村 その他趣味ブログ LEGO・ブロックへ
スポンサーサイト

Unimog ウニモグ (8110) x NXT (8547) - プログラミング編

こんばんは、matkです。

写真を落ち着いて撮る時間とスペースがないので先にプログラミングの説明をしたいと思います。

今回はMicrosoft Robotics Developer Studio(以下、MRDSと略します)というソフトウェアの一部である、VPL(Visual Programming Language)というNXTソフトウェア(NXT-G)に相当する機能を用いてプログラミングしました。今回使用したバージョンはRDS 2008R3ですが、RDS 4betaが最近出ました。

公式のNXTソフトウェアやRobotCとの比較を先に述べますと、まずVPLはNXT本体にプログラムを置いて実行するタイプではなく、パソコンから通信しつつ実行するタイプであるという違いがあります。NXT本体のファームウェアはNXTソフトウェアと同じでOKです。また、LEGO社のセンサは全部OKですが、HiTechnic社とMindSensors社のセンサでは加速度センサとコンパスセンサしか対応していません。その代わり、webカメラ、Xboxのコントローラ、Joystickなどの普通のPCの周辺機器との相性のよさは抜群です。また、ルンバ(!)とか他のロボットにも対応しています。ただ、普通のjoystickではあまり沢山のボタンやスティックを読み込んでくれなくて、Xboxコントローラの方ができることは多いです。僕は以下のコントローラを購入して、PCに接続してXboxモードで動かしてします。

あとは、センサー界の期待の大型新人、Kinectに公式対応している点がいいところです。NXTと組み合わせて何を作ればよいか今のところバッチリしたものは思い浮かびませんが…(^-^;)

実行面では、RobotCではJoystick使うとたまに同期が崩れて、片方のモーターだけが早く回転するような現象にあいましたが、MRDSでは完璧です。実行の安定さとマルチタスクの性能の良さはさすがのMicrosoftであり、MRDS自体はあまり普及していないにもかかわらず、そのマルチタスクの根幹をなす部分(CCRとDSS)は他のロボット以外の用途に使われているようです。

さて、実際の今回のUnimogのプログラムですが、以下のようになりました。



基本的な作成の仕方はNXTソフトウェアと同じです。1つ1つのブロック(MRDSでは「サービス」と呼ばれます)をドラッグ&ドロップでつなげていくイメージです。しかし、英語onlyだとか、単にブロックをつなぐだけではなく、馴染みのない選択肢を選ばなくてはならないとか、初心者にかなりのハードルがあります。もったいないことです。

プログラムの内容を簡単に説明しますと、
・コントローラのA,BでmotorCを動かしてギアチェンジ
・コントローラのX,YでそれぞれmotorBを正転/逆転
・コントローラのL,RでそれぞれmotorAを正転/逆転
・コントローラの十字キーの左右でmotorA, motorBを同期させて正転/逆転
・コントローラのスティックで、ステアリング+走行(スティックの座標がそのままmotor powerになる)
です。最後のスティックもなかなか反応がよくて、斜めに倒すとちゃんとステアリングと走行が同時に行われます。うーむ、さすが!今後はコントローラでリモコンしたい時はすべてMRDSでプログラミングすると思います。

プログラマの視点から見たときのNXTソフトウェアより良い点は、関数定義ができることは同じですが、配列(リスト)が簡単に使えること、その結果繰り返し処理も簡単にできること、再帰関数なども定義できちゃうこと、オリジナルサービスが簡単にC#で作れることが挙げられます。ただ、IronPythonやIronRubyでサービスを作るのはドキュメントがなさ過ぎてかなりキツいです。あと、VPLを使わないで全部C#で作成することも可能ですが、これはかなり記述量が増えて、一気にお手軽感がなくなります。趣味ならnxt-pythonで十分じゃないかと諦めてしまいます。まあデータ解析スクリプトばっかり書いてるへたれプログラマの末路ですね。詳しくは以下の書籍をご覧ください。これらは日本語という点はよいですが、基本的にはMRDSのマニュアル・チュートリアルの丸写しのような部分も多いです。どちらも2章分ぐらいのページはたしかに有用ですが…。


にほんブログ村 その他趣味ブログ LEGO・ブロックへ

Unimog ウニモグ (8110) x NXT (8547) - 動画編

こんばんは、matkです。

やっとウニモグの改造が一段落つきましたよ!動画は以下になります。製作時間が長いため、動画もその思い入れを反映して若干長くなっています。すみません。



パッと見、苦労のすくなさそうな、何の変哲のなさそうなUnimogですが・・そうではありません。車輪まわりの一部、席部分、荷台を除いて、ゼロからのフルスクラッチです。胴体が長くなっていて、そこにギアチェンジシステムを置いています。ここから前部分(ステアリング、ウィンチ)と後ろ部分(走行、アーム方向転換+アーム上下+アーム開閉)にユニバーサルジョイントを細かく使って動力を伝えています。

前回の記事で安定なギアチェンジシステムをUnimogに応用中と書きましたが、色々なところでそれはもう大変な苦労をしました。まず、「1モーターで約2.5kgの巨体をギア比1:1で動かすこと」と「滑らかなギアチェンジ」が全然両立しない。力がかかりすぎてギアが逃げてしまう。ギアチェンジ全体で1.5月ぐらい試行錯誤。残りの1.5ヶ月はオリジナルクレーンで消費しました。アーム方向転換+アーム上下+アーム開閉ができるスマートな構造を模索するのに半分、XL motor 2個ぐらいの重さを掴んで持ち上げて移動できるようになるのに半分ぐらいです。

後日、プログラミング編(Microsoft Robotics Developer StudioのVPL)と組み立て編を紹介したいと思います。


にほんブログ村 その他趣味ブログ LEGO・ブロックへ

モーターバイク (8051) × ゴーカート(8256) × NXT2.0 (8047)

こんばんは、matkです。

ゴーカート(8256)を組み替えて、タイヤはNXT2.0から拝借して、サイドカーを作りました。ステアリングもうまく作れました。しかし、モーターバイクの方がでかすぎてバランスが悪いです…。これで前回より安定して走ることはできるようになったのですが、思ったよりイマイチでしたので録画しませんでした。やっぱり電池が重たくてスピードが出ません。かといってスピード重視のギア比にすると重たくて走れなくなりそうです。

CIMG4703.jpg  CIMG4707.jpg
CIMG4708.jpg CIMG4709.jpg

モーターバイクの組み立て方をメモするために、壊す動画を撮って、逆再生しておおよそ2倍速にしたものを作りました。



動画の作り方は主にソフトの使い方ですし、ちょっと長いので次回の記事に回します。

動画を作成し終えてからの反省としましては、以下のことが挙げられます。
・三脚を買うべし。振動しないように少し離れたところに設置するべし。
・パーツの整理は後回しにして、次から次へと壊していくべし。
・分かりにくいところは数秒でよいのでくるっと回して見せるべし。

本当はインストのようなpdfが簡単に作れればいいのですが、あんまり時間が取れない人はこういうので対応されてはいかがでしょうか。記憶より記録。

にほんブログ村 その他趣味ブログ LEGO・ブロックへ

テーマ : ホビー・おもちゃ
ジャンル : 趣味・実用

モーターバイク (8051) × NXT2.0 (8547)

こんばんは、matkです。

普段の作品の傾向は、デザイン:機能=1:9 ぐらいなんですが、レゴを触っているとどうしてもカッコイイものを作りたくなる時があります。今回はデザインを重視したものを作ってみたくなりました。パーツ的には以前の記事で取り上げた8051モーターバイクとNXT2.0に含まれているものだけを使用したコラボとなっています。8051モーターバイクのカッコ良さを残しつつ、NXTらしく走行したいと思って作りました。

CIMG4651.jpg CIMG4656.jpg CIMG4653.jpg
CIMG4654.jpg CIMG4655.jpg

苦労した点は以下の通りです。
・NXT本体の位置。横向きにするとダサくなるので(少し傾いた)縦向きにしました。
・ある程度強度がないと走っている時に崩壊します。そこで前輪のモーターを頑張って補強しています。
・エンジンのピストンギミックを露出させ、チェーンでうまく連動するようにしました。チェーンはギアとのかみ合わせはよくないので、ギア付近でチェーンを押さえつけるようにしています(写真2枚目)。
・NXT本体とモーターを接続するケーブルが、邪魔かつデザイン性もかなり下げることで有名です。これをうまく隠して、逆にピストンギミックの間を通して見た目が面白くなるようにしました。
・タッチセンサを排気口に使って、デザイン性をあげると同時に転倒防止に役立てました。



本当はオランダのデルフト工科大学の研究室のNXT Bike-GSのようにちゃんと2輪走行したかったのですが、入手できるソースファイルがMATLABというソフトウェアのプラグインであるSimulink用のmdlファイルになっていて、解読するのを断念しました。NXTway-GSのようにMATLABから生成されたC言語が転がっていれば手の打ちようはあるのですが…。かといって、理論の論文だけを読んでソースを自分で一から書くのもかなり大変そうでやめました。軟弱ですみません。いつか研究室に問い合わせてみるかもしれません。

いつかのために、今回の組み立て方を記録しておきたいのですが、ある程度の規模になると写真だけでは十分な情報になりません。ここにあるようなBuilding Instructionを作るのも大変そうです。なので、壊すところを動画で取っておいて、逆再生した動画を作ることでどうなるか見てみたいと思います。次回の記事で書こうと思います。

にほんブログ村 その他趣味ブログ LEGO・ブロックへ

テーマ : ホビー・おもちゃ
ジャンル : 趣味・実用

リンク
フリーエリア
プロフィール

Author:tsukuba.lego
●主な登場人物
koba : 会長. RCX, WeDo, NXT1.0, NXT2.0を持つ.
matk : 副会長. 2010年夏にNXT2.0を購入, 20年来のレゴ熱復活.
●会員募集中です!小学生から歓迎. 近日月1ぐらいで集まる予定.
mail:tsukuba.lego@gmail.com
YouTube (tsukubalego)
Twitter(tsukubalego)

カテゴリ
最新記事
最新コメント
月別アーカイブ
検索フォーム
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
最新トラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。