マインドストームNXTで作る自動ページめくりブックスキャナ(11)

yaneurao2008-02-03



この「自動ページめくりブックスキャナ」は、2つのユニットにより構成される。


ひとつはページめくりユニットであり、これはタイヤがごろごろまわってページをめくる。右の写真。


写真の左のモーターがまわり、パネルが回転して倒れてきて、右のモーターがタイヤを回転させる。タイヤを回転させるときに、左のモーターを弱い力で回してやって、紙が確実に1枚だけめくれるようにする。


タイヤ自体は半回転ほどさせて軽くめくったあと、一度逆回転させてもとの状態に戻す。こうすることで紙のひっつきをある程度防げることがわかっている。(センサーで紙が重なっていないか検知したほうがいいと思う。考え中。)


テクニック系のパーツは、部品が隠れたりしにくいので、ひょっとすると真似して作るのに設計図なんていらないんじゃないかと思う。今日のページめくりユニットにしても、NXT付属の部品しか使っていないのでレゴに詳しい人なら写真を見ただけで同じものが作れるだろう。

マインドストームNXTで作る自動ページめくりブックスキャナ(10)

yaneurao2008-02-02



ギアを組み合わるために、0.25の整数倍ポッチの距離が必要なことがわかった。
私が用いている一覧表を以下に掲載しておく。昨日書いたベントアームは便宜上122度と表記しておく。


ここでは、θ度ベントしているベント中心からのそれぞれの点への距離がa,b(単位はポッチ)のとき、Δ{a,b,θ}と表記する。


アングルコネクターを用いれば90度,112.5度,135度,157.5度を作りだせるので、このなかから最適なものを探す。90度は、90度のベントアームもあるので特に有用である。


あと、整数倍のものは除外する。また5.5以上が必要になることは稀だと思うのでこれも予め除外する。


0.1ポッチ以内であれば使えると思う。ただし、0.1大きくなる方向には余裕があるが、0.1小さくなると噛み合わせがきつくなる。特に小さなギアの場合、シビアである。(例:1.414を1.5とみなしてR0.5 + R1.0のギアを使うのは不可能。)


Δ{1,1,112.5} = 1.662 ≒ 1.75
Δ{1,1,122} = 1.75
Δ{1,1,135} = 1.847 ≒ 1.75
Δ{1,2, 90} = 2.236 ≒ 2.25
Δ{1,2,112.5} = 2.556 ≒ 2.50
Δ{1,2,122} = 2.669 ≒ 2.75
Δ{1,2,135} = 2.798 ≒ 2.75
Δ{2,2, 90} = 2.828 ≒ 2.75
Δ{1,3, 90} = 3.162 ≒ 3.25
Δ{2,2,112.5} = 3.32 ≒ 3.25
Δ{2,2,122} = 3.500
Δ{2,3, 90} = 3.605 ≒ 3.50
Δ{1,3,112.5} = 3.507 ≒ 3.50
Δ{1,3,122} = 3.631 ≒ 3.75
Δ{2,2,135} = 3.696 ≒ 3.75
Δ{1,3,135} = 3.774 ≒ 3.75
Δ{2,3,112.5} = 4.194 ≒ 4.25
Δ{3,3, 90} = 4.242 ≒ 4.25
Δ{2,3,122} = 4.402 ≒ 4.50
Δ{1,4,112.5} = 4.479 ≒ 4.50
Δ{1,4,122} = 4.610 ≒ 4.50
Δ{3,3,122} = 5.250
Δ{2,4,112.5} = 5.291 ≒ 5.25


悔しいことに1.25 , 1.50 , 4.75が出てこないので { R0.5(8歯) , R0.75(12歯) }と{ R0.75(12歯) , R0.75(12歯) }が使えない。


2枚のギアの組み合わせでギア比をちょうど2倍にしたければ、ウォームギアなど特殊なギアを除くと { 8歯 , 16歯 } , { 12歯 , 24歯 }しかないが、前者が使えないと、後者の組み合わせに頼るしかない。これはギアの無駄遣いである。*1


そこで、1.25 , 1.50 , 4.75を作るために、θ = 90 - 22.5n (n = 1,2,3 }度も対象にして探す。


Δ{3,3, 22.5} = 1.171 ≒ 1.25
Δ{1,2, 45} = 1.473 ≒ 1.50
Δ{2,2, 45} = 1.531 ≒ 1.50
Δ{4,4, 22.5} = 1.561 ≒ 1.50
Δ{1,5, 67.5} = 4.709 ≒ 4.71
Δ{5,9, 22.5} = 4.780 ≒ 4.75


なんとか見つかったが、この角度を作るのは大変だ。試しにΔ{4,4, 22.5} = 1.561 ≒ 1.50を用いて、{ R0.5(8歯) , R0.75(12歯) }を組み合わせてみたのが今日の写真だ。たぶん誰もやっていないだろう。実用性はなさそう。


「レゴの8歯と12歯が水平に組み合わさっているところが見れるのは、やねうらお先生のブログだけ!」である。(別に誰も見たくはないか…)

*1:大きいギアを用いたほうが遊びは減るのだろうけど。

マインドストームNXTで作る自動ページめくりブックスキャナ(9)

yaneurao2008-02-01



ギアが思ったように組み合わさらない。おかしいなと思って詳しく調べてみた。


ギアの半径が、ポッチ(普通のレゴブロックの隣り合うポッチ間の距離を1ポッチとする単位)の整数倍 + 0.5 になっていれば、二つのギアを組み合わせたときに必ずポッチの整数倍になって良いのではないかと思ったのだが、そうはなっていない。きっと歯のピッチなどの問題があったのだろう。


オレンジブック(LEGO MINDSTORMS NXTオレンジブック―アイデアノタマテバコ)はたくさんのアイデアが詰まっている大変良い本なのだが、ギアについての説明が少なので、ここでいくつか補足したい。


ギアの半径は、
A) 0.5系
8歯(R0.5),24歯(R1.5),40歯(R2.5)
ターンテーブル外周56歯-内周24歯(外周R3.5 - 内周R1.5),ウォームギア(R0.5)


B) 1.0系
16歯(R1.0)


C) 0.75系
12歯(R0.75)


D) 0.25系
20歯(R1.25),36歯(R2.25)


の4つの分かれる。*1


見ての通り、A同士は組み合わせると整数倍になる。B同士も整数倍になる。CとDも組み合わせると整数倍になる。


つまり、{A,A},{B,B},{C,D}のみの組み合わせが有効で、{A,B},{A,C},{A,D},{B,C},{B,D},{C,C},{D,D}の組み合わせは不可。


ところで、ベントアーム(リフトアーム)上では、ポッチの整数倍以外の距離が出てくるはずである。そもそもベントアームは何度ベンドしているのだろう?NXTに付属しているアングルコネクターは、90度,112.5度,135度,157.5度,180度*2なので、これと比べてみるが、120度より少し大きめの角度っぽく、どうも中途半端である。


ベントアームがなぜこんな中途半端な角度になっているかと言うと、それはもちろん、ポッチの整数倍 + 0.5や、ポッチの整数倍 + 0.25を得るためである。(かどうかは知らないが、そう思っておくことにする。)


ということで、ギアを埋めてみると見事に、{B,C}が噛み合ったので、おそらく1.75だとわかった。(正確にぴったり1.75なのかどうかは知らないが、以下、ここが正確に1.75だと仮定して計算する)


ここでは、ベント中心からのそれぞれの点への距離がa,b(単位はポッチ)のとき Δ{a,b}と表記する。


いま、Δ{1,1} = 1.75なので、Excelでごちょごちょとやると*3


Δ{1,1} = 1.75
Δ{1,2} = 2.669 ≒ 2.75
Δ{1,3} = 3.631 ≒ 3.75
Δ{1,4} = 4.610 ≒ 4.50
Δ{2,2} = 3.50
Δ{2,3} = 4.402 ≒ 4.50
Δ{2,4} = 5.339 ≒ 5.25
Δ{3,3} = 5.25
Δ{3,4} = 6.144 ≒ 6.25


など、0.25系,0.75系に使えそうな数字がずらりと並んだ。これにより、ギアのほとんどの組み合わせが可能になった。

*1:C,Dの0.75/0.25というのは私の予想で、実測したわけではないので異なるかも知れない。

*2:90 + 22.5n {n=0,…,4}

*3:cosθ=17/32,sinθ=sqrt(1-(cosθ)^2)として、sqrt((a + b cosθ)^2 + (b sin θ)^2)を求めた。

マインドストームNXTで作る自動ページめくりブックスキャナ(8)

yaneurao2008-01-31



以前、レゴでブロックスキャナを作った人*1に、「レゴだけで作れてないじゃん」などとヤジを飛ばす人がいた。御本人は、「レゴだけで」なんてことは一言も言っていないのに、「レゴで作った」という言葉が一人歩きした結果、不当な批判を浴びせられたわけだが。


この人のレゴ製ブックスキャナをいまの私の視点で(いまから新規に製作する立場として)見ると…


・レゴのブロックを組み合わせて作ってあり、重量級である。いまなら、テクニック系パーツで組んだほうが楽だし軽いし動きの良いものが出来そう。


・ありあわせの部品で作ってある。製作には大変な苦労があったことは想像に難くないが、手持ち部品を無理に使わなくて良いなら、もっと簡単に作れただろう。


・純正レゴパーツのみで構成されていない。(いまから新規に作るのであれば)NXTの高性能なモーターや、テクニック系のパーツを用いれば純正レゴ部品だけでも完成させられる。


マインドストームすら使ってないことは驚愕に値する。しかしそのため決められた動作を延々繰り返すだけで、ページめくりの失敗率が高い。センサーなどで細かく判定すればページめくりの確率はぐんとあがると思う。


私がいまから作ろうとしているブックスキャナは二番煎じではあるのだが、二番煎じには二番煎じなりの意地があるので、純正レゴ部品のみで作ることにした。手持ちのテクニック系の部品を見ているとこれらの純正レゴ部品のみで自動ページめくりブックスキャナを製作することは十分可能という結論に達したからだ。*2


それも、NXTについてくる部品とデジラで安価にて入手できるパーツ以外は使わないで済みそうだ。だから、特殊なジョイント類も封印することにした。なるべくNXT付属のジョイント部品を用いる。


テクニック系の部品だけでも、たとえば、軸(断面図は十字)と丸穴のついている部品と結合するのには何通りもの方法がある。しかしなるべくシンプルでスタンダードな方法で、かつ入手しやすい豊富にある部品で接続する。(ように設計図には描こうと思う) それらの部品は組み立てたい人が、自分の手持ち部品に合わせて変更すれば良いだろう。


純正レゴ部品で組むメリットは、もちろんその再現性の高さだ。部品さえ手に入れれば誰でも簡単に同じものが作れる。


テクニック系の部品のみでシンプルに構成し、(部品さえあれば)30分ぐらいで組み立てられる「マインドストームNXT( + デジラで安価で買えるいくつかの部品)で作る(読者も同じものが作れる)自動ページめくりブックスキャナ」というのを目指したいのだ。

*1:http://www.geocities.jp/takascience/lego/fabs_ja.html

*2:純正レゴ部品とは言っても次のものは除く。
・輪ゴムとワイヤー
プーリーで動力を伝達しようと思うとゴムベルトか輪ゴムかワイヤーみたいなものが必要なのだけど、輪ゴムはどこにでもあるし、ウインチで巻き上げるワイヤーは普通の糸で代用可能なので。

マインドストームNXTで作る自動ページめくりブックスキャナ(7)

yaneurao2008-01-30



基本サイズのブロックでページめくり部を組み立てていたのだが、ブロックで組み立てるとどうしても大掛かりになって、重たくなるし、重くなってくると途中のブロックが抜け落ちてきたりして強度を持たせるために頭を悩ませないといけなくなる。


レゴはいくつもキットを持っていれば、それらの部品を組み合わせればあとは何とかなる。ジョイントの方法は無数にあるので、いろんな方法であり合わせの部品を有効活用する。足りない部品を補ったり創意工夫するのがレゴの楽しみの一つだ。だから、新しいキットを買うごとに自分の創作の幅が広がるので、そこに成長型RPG的な快楽があるのだと思う。


しかし、この連載では、なるべくストレートかつシンプルに仕上げたい。例えば、強度を持たせるためにペグ付きの基本ブロック(右図)を用いても良いのだが、あまり入手しにくい部品は使いたくない。


そこで、基本サイズのブロックとデュプロは使わないことにした。土台部分を除いて、テクニック系の部品だけで作る。そっちのほうが時間が短縮できて、かつ簡単だ。せっかく購入した青、赤、緑バケツと基本ブロックのセットとデュプロのセットはもったいないが、すべて封印した。

マインドストームNXTで作る自動ページめくりブックスキャナ(6)

yaneurao2008-01-29



ページをめくる部分が悩ましい。リコー製のページめくりコピー機で静電気で吸着させるようなものがあったが*1、そんなものはレゴではどうしようもないと思うので、レゴ部品を用いるならゴムローラーぐらいしか選択肢がない。


ページめくりに使うゴムローラーのR(半径)は、摩擦の関係上、ある程度小さいほうが良い。*2


そこで、φ10〜30*3ぐらいで、幅が20〜40ぐらいのものを探す。


レゴ部品ならφ20×幅13のタイヤ(#4184286)とこれに合うテクニック部品(#614326)が手元にあった。この部品は、教育用NXTについてくるようだ。まあφ30mm以下で、幅が10mm以上の表面がつるつるでないタイヤならば何でもいいだろう。


次に、これにシャフトをつけて実際にページがめくれるかやってみる。本は手で固定して、手でシャフトを回して、である。とりあえず力加減と接触位置の調整によって、紙を1枚だけめくることは出来そうだという結論に達したので今日の実験は終わりである。


LEGO MINDSTORMS NXTオレンジブック―アイデアノタマテバコ
ところで右の写真の左のほうに映っているのが手書きの設計図(落書き?)なのだが、とても愚直な設計なのでモーターが10個必要だ。NXTは1台につき3個しかモーターを制御できないので、NXTが4台も必要になる。実は、この連載の1回目の記事を書いたあと赤、青、緑のバケツにベース板を買って、デジラでテクニック系パーツを補充し、ワイヤレスカメラやら何やらを購入したのでもう予算が11万ぐらいしか残っていない。それなのに、ここでNXTの2台の追加購入はあまりにも痛すぎる。最悪デジラでNXT本体*2 + モーター*4だけ追加で買っても良いとは思うが、こんなもの完成したとしても誰かが真似をして作りたくなるとも思えない。


なんとか工夫してモーターが7個で済むようになれば、モーターのマルチプレクサで4 port拡張して1台のNXTで動くようにはなるのだが、そのためにはひとつのモーターに複数の役割をさせなくてはならない。


さらに言えば、マルチプレクサはレゴ純正ではないので出来れば使いたくない。マルチプレクサを使う場合の制御がどうなるのか調べるのが面倒だし、モーターのための外部バッテリーも必要になってくるし、そういう変なパーツを使うぐらいなら、NXTを2台使うほうが精神衛生上よろしい。


そう考えるとモーターは6個まで抑えたい。10個使いたいところを6個!相当設計を練らなければならない。オレンジブックを1ページめくるごとにあまりの機構の巧妙さに嘆息してしまう私には難しいのではないかと思わなくもない。たぶん、もっとレゴ自体に対する理解が必要だろう。

*1:http://www.ricoh.co.jp/omoshiro/page/page_2.html

*2:参考→あさま福祉機器開発研究会 自動ページめくり機の開発 : http://kappa.shinshu-u.ac.jp/pageturner/

*3:φは直径を意味する。ここでの単位はすべてmm。

マインドストームNXTで作る自動ページめくりブックスキャナ(5)

yaneurao2008-01-28



■ テクニック系のパーツについて


基本サイズの部品も、普通はポッチが上についていて、積み重ねることしか出来ない。横方向にジョイントしたりモーターの軸に接続したい場合などは、テクニック系の部品が必要になる。(右図)


テクニック系の部品は通常テクニック系のキットから部品取りするしかないが、デジラでも買える。あと、マインドストームNXTについてくるのもテクニック系部品である。


デュプロと違って部品同士が非常にしっかりはまるので、強度が必要なところも安心である。


テクニック系パーツの補充は、デジラで購入するか、あるいはよく使いそうな部品をまとめて欲しい場合は、教育用NXTの拡張キットを購入するのも一つの方法だ。*1


このキットの番号は#9648。中に入っている部品の内訳はこう。
http://peeron.com/inv/sets/9648-1


私がアフレルから教育用NXTの拡張キットを購入したところ、教育用NXTと同じ大きさの収納用プラスチックケースに入っていた。教育用NXTのプラスチックケースと併せて、細かい部品の整理が出来て大助かりである。


■ レゴ部品をなるべく使う意義


前述の通りレゴ部品には部品番号が振られているので、レゴ部品だけで作れば、その設計図さえあれば誰でもまったく同じものが作れる。(部品が入手できれば)


そこで、可能な限り、レゴ部品だけで作っていきたい。それ以外のものを使うとしても100均で入手できる程度のもののみとして、一般に入手困難なパーツは避ける。さらに、レゴのパーツでもあまり入手困難なパーツは避ける。


■ ソースの公開


ブックスキャナが完成した場合、そのために私が書いたソースをすべて公開する。そのときには、LeoCADで設計図も作って公開するつもりだ。



■ 本ごとの調整


本のサイズごとに何らかの微調整が必要になると思う。


私の場合、同じサイズの本が大量にあるので、同じサイズの本ばかりを順番に取り込んで行くつもりなので、本のサイズごとの調整はそれほど苦痛だとは思っていないが、この仕様が気に入らない人は、私が公開するものに改良を加えていただきたい。

*1:日本の代理店ではアフレルから購入できる。商品への直リン : http://afrel-shop.com/zc/index.php?main_page=product_info&cPath=67&products_id=190