YANEU LEGO WORKS

yaneurao2008-02-10



NXTで作る自動ページめくりブックスキャナが完成しそうだったから、いっちょ設計図つきで動画を公開したろかい!と思って私がLEGOの記事を書くための専用のサブドメインを用意して、以下のように作りかけていたんだ。


YANEU LEGO WORKS
http://lego.yaneu.com/


鼻歌まじりにレゴのブロックを3D CADでデザインしてそれをレンダリングしたり(右図)してたんだけど…


・ページめくり1回6秒以内。(1時間1200ページ以上のスキャン)
・押さえがないと開いたままにならないタイプの本のスキャンが可能なように


という目標を追加したがために急に完成が思いっきり遠のいた。しばらく地道にNXT LOGで勉強したい。


時間が出来たら、毎日NXTで毎日1作品作ってupするNXT強化月間とかをやってみようと考えている。そのためにもいまのうちに力を溜めておかねば。

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

yaneurao2008-02-09



NXT LOGというNXTの作品の記事を投稿する公式blogがある。


NXT LOG
http://mindstorms.lego.com/NXTLOG/default.aspx


2008年1月18日現在4473個の作品が掲載されている。ここで他の人の作品から多くのことを学べる。


NXT LOGは毎日少しずつ見させてもらっているのだが、NXTで作られたページめくり器があったので紹介しておく。*1


Handfree Page Flipper(右の写真)
http://mindstorms.lego.com/nxtlog/ProjectDisplay.aspx?id=5cd9cd28-ce43-47d0-bf41-24b10393fc46


断面が∞の形をしたゴム部品*2を勢いよく紙に摩擦させてページをめくっているようだ。勢いよく摩擦させるために、クランク機構に輪ゴムを引っかけてあるのだと思う。(オレンジブックに輪ゴムを引っかけて力を溜める例があったと思う。)


私も実験してみたのだが、確かにこの方式で紙がめくれるものの、紙がくしゃくしゃになるときがある。なかなか調整が難しい。


NXT一台で押さえがなくとも開いたままになるタイプの本なら十分に自動ページめくりが実現出来ることがわかったので、私の次の目標としては、


・ページめくり1回6秒以内。(1時間1200ページ以上のスキャン)
・押さえがないと開いたままにならないタイプの本のスキャンが可能なように


の2点である。


この1時間1200ページ以上というのは、2,500万円する市販の自動ページめくりブックスキャナAPT1200が*3、1時間1200ページという性能だからである。せめて、これには勝ちたい。


ちなみに、この製品名のATP1200の「1200」とは一時間にスキャンできるページ数で、この上位製品で最新機種であるATP2400ならば1時間に2400ページスキャンできるようだ。*4


1時間に2400ページ(3秒にページめくり1回)はどうやっても勝てそうにない。しかしATP2400は、3,000万以上するのだろうから、こちらは、10万円以内の予算で1台作れるので、2台でも3台でも作って並列化すればいいのである。

*1:この作品のほか、Hecto the Page Turning Bot V.1
http://mindstorms.lego.com/nxtlog/ProjectDisplay.aspx?id=0bd2ee91-2e32-4916-8e26-573c1658845c
というのもあるのだが、こちらはページめくりが本当に自動で出来るのか怪しい。

*2:この部品は、軸とかが固くて抜けないときによく活用させてもらっている。

*3:APT BookScan 1200
http://www.pro-tech.co.jp/
このブックスキャナはGoogleが導入しているという噂である。

*4:http://www.kirtas-tech.com/APT_2400RA.asp

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

yaneurao2008-02-08



そんなわけでセロテープで十分紙が吸着し、ページを持ちあげられることがわかったので、セロテープ型のページ持ち上げ部を作ってみた。(今日の写真)


ローラー(レゴのタイヤ)にセロテープを巻きつけておく。ローラーにつけるのは、アームがあがったときにローラーがわずかに回転して、紙を離さないようにするためだ。また、同時に、セロテープの紙に対する接触部分を毎回どこか違うところになるので、セロテープ自体の吸着力がしばらくは落ちない。


また、先端にNXTの光センサーをつけておく。光センサーブロックに付属のLEDは点灯させない。こうしておけばローラーに紙が吸着しているときは、光センサーは非常に暗い状態だと受け取る。ローラーに紙が吸着していなければ光センサーは明るい状態だと受け取る。


最初、NXTの距離センサーでローラーに紙が吸着しているかを検知しようと思ったが、NXTの距離センサーは精度が悪くて使えなかった。次にNXTのスイッチで検知しようかと思ったが、NXTのスイッチはセロテープで吸着させた紙が離れないように押すためにはてこを使わないといけなくて断念した。*1


これで、ページの持ち上げに失敗したことを検知できるようになったし、ページ持ち上げ部で2個使っていたモーターも1個に出来そうだ。セロテープでページめくりというのは画期的なアイデアだと思う。*2 また、セロテープを用いた場合、ページが重なることは滅多にないようだから、ページが重なっているかどうかのチェックはしないことにする。

*1:ちなみにオレンジブックにてこでスイッチを押す写真が載っている。

*2:昨日の記事を見た人には言うまでもないことだが、テープのようなものをつけてローラーに吸着させるというのは私のアイデアではなく、21世紀物理のおもちゃ箱 : http://www.geocities.jp/takascience/index_ja.html
の人のアイデア

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


なんか、それっぽいのが完成しそうなので、気を良くして、いっちょ、設計図でも描いたろかい!と思って、参考にするため「手作り全自動ブックスキャナ 」*1のページを見ると、そのトップページに「The Evolution of Auto Book Scanner」というのが追加されている。


3番目のやつ*2は、えらく高速にページをめくっている。紙めくり1回、9秒程度。早すぎる!


・不思議な紙を吸着するローラー(ローラーになっているのは吸着させたままアームをあげると、紙が離れてしまうためか?)


紙を吸着するローラーは一体どういうミラクルなのだ?案外、スティックのりか何かだったりするのだろうか。


・レールの上を移動している。


仕組みは初号機と同じだとしたら、タイヤをつけて4輪駆動で移動しているのだと思う。レゴのテクニックパーツでこれを実現する場合、ジョイントのないフラットなレールを用意すること自体が難しい。


・紙めくりのためのアームは何のためにあるのだろう?


手前と奥のアームの動きがてれこになっている。どういう意味があるのかよくわからない。吸着した紙をはがすときに紙を痛めないための工夫なのだろうか。



「こりゃ勝てんわ!」と思ったりしたが、3台目のNXTとテクニックパーツを3万円分ほどまたもや追加購入してしまったので、もういまさら後には引けない。行くところまで行くしかない。


そもそも私が取り込みたいのは、主に、ページを開いてもそのままにしておくと自然と閉じてしまうタイプの本である。これを取り込むために苦心してきた。


ブックタイム*3は、ページめくりに関しては、さすがとしか言いようがない。


燃えてきたで!!(`ω´)

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

*2:http://www.geocities.jp/takascience/lego/pic/abs3.wmv

*3:福祉用で「自動ページめくり器 ブックタイム」(http://www.nisic.co.jp/seihin/live/liveplus.html)という製品がある。このページめくりの機構を見て、ここまでやらないといけないのかと感心してしまった。リンク先に製品の動画があるので興味のある人は是非見て欲しい。

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

yaneurao2008-02-06



この手のブロック玩具によくあることだが、いくつかの理由により、レゴのブロックも直方体ではない。*1


レゴは、1/8インチを基準とする単位を用いている。
今回では1/8インチという単位を省略して書く。


1ポッチ*2は、2.5である。1ブロックの高さは3である。


ちなみにポッチ(でっぱり)自体の大きさは、1.5である。隣のポッチとの間は1であり、板厚は1らしく、ポッチとポッチの間に板が垂直にはまり込む。2ポッチは、5であり、板5枚分の厚みである。


いま問題なのは、1ブロックの高さは、3/2.5 ポッチ = 1.25 ポッチということだ。


ギアに0.25系があったことを思い出せば、この1.25ポッチというのがいかに貴重な距離かがわかるだろう。たとえば、ビームを用いてギアをかみ合わせることが出来るのだ。(今日の写真)


いま、ビームの横の距離を W ポッチ, ビームの高さを H ブロックの距離を Δ{W,H} (単位はポッチ)と表記する。*3


Δ{0,1} = 1.25
Δ{0,2} = 2.50
Δ{0,3} = 3.75
Δ{0,5} = 6.25
Δ{0,6} = 7.50
Δ{1,1} = 1.60 ≒ 1.50
Δ{1,2} = 2.69 ≒ 2.75
Δ{1,6} = 7.57 ≒ 7.50
Δ{2,2} = 3.20 ≒ 3.25
Δ{2,3} = 4.25
Δ{2,4} = 5.39 ≒ 5.25
Δ{3,1} = 3.25
Δ{3,3} = 4.80 ≒ 4.75
Δ{4,1} = 4.19 ≒ 4.25
Δ{4,2} = 4.72 = 4.75
Δ{4,3} = 5.48 = 5.50


などよだれが出そうなピッチがてんこもりである。1.25とか1.50とかの数字を見てよだれが出るのは、相当重症なレゴ病だと自分でも思うが、一生治りそうにはない。



追記。これを書いたあとでレゴのブロックやギアの寸法を詳しく書いているページを発見した。がっくりきた。
http://www.owlnet.rice.edu/~elec201/Book/legos.html

*1:レゴの特許に詳しい理由が書かれていたはず。

*2:1ポッチとはポッチのセンターとそれに隣接するポッチのセンターまでの距離の単位

*3:Δ{W,H} = sqrt(W^2 + (H*1.25)^2)

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


blog上には長々と書いたが、実際は、NXTを開封した日と次の日でC#で制御できないか調べて、3日目には「マインドストームNXTで作る自動ページめくりブックスキャナ」自体はここまでは出来ている。


私が凄いのではなくて、レゴのテクニックパーツやNXTが凄いからこそ、これだけ短時間でアイデアが形になるのだ。


しかし、ページ持ち上げユニットは見ての通り、2個のモーターを用いている。つまり、ページめくりユニットの2個と合わせると4個である。ここまできたら、全体でNXT 1台で制御できる形に仕上げたい。(その後、ページめくりの精度をあげるためにNXTを2台使うことになるとしても、である。)


あと、実験してわかったのだが、プーリーの部分がどうも動作が不安定で、かつ、速度的にもボトルネックになっている。こんなものはダメだ。1ページ10秒以内に安定してめくれなければならない。この部分にさらなる改良を加えたい。


私が実用するためには、ページめくりユニットも重複してめくったことをセンサーで検知する仕組みを用意すべきだ。ページの持ち上げに失敗したことも検知する仕組みが必要だろう。考えなければならないことはまだたくさんある。むしろ、ここまでより、ここから完成に持っていくほうがずっとずっと大変だろう。


NXT 1台(モーター3つ)で動くようになれば(デジカメを除くと)5万円ぐらいの予算で自動ページめくりブックスキャナが作れることになる。その値段で実用的なものが作れるとなれば、チャレンジしたり改良したりする人も現れるだろう。そうやって、手作り自動ページめくりブックスキャナ自体が改良を加えられてネット文化のなかで進化していけば、と思う。


そのためには私はさらなる改良に取り組まなければならない。しかしここからはゆっくりとアイデアを練る時間がたっぷり必要だ。私はこれ以上、まとまった時間がとれそうにない。このブックスキャナの完成は春ごろだと思う。そのときには NXT 1台で動く「自動ページめくりブックスキャナ」の設計図と動画を公開したいと思う。


「自動ページめくりブックスキャナ」については、このように中途半端な完成度で公開してしまって、読者の方に申し訳ないと思う気持ちもあるのだが、NXT + レゴのテクニック系パーツがあれば「ここまでストレートにアイデアが形になる」というのを知ってもらいたかった。

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

yaneurao2008-02-04



(昨日の続き)


もう一つのユニットはページ持ち上げユニットである。


ページめくりユニットによって軽くめくられたページの軽く浮いた部分にフックのようなものをひっかける。そのあとページめくりユニットのパネルをどかし、ページ持ち上げユニットにページを持ちあげさせる。持ち上げたページは、ページ押さえが回転して押さえる。


という仕組みで動く。そしてページ持ち上げユニットが右の写真である。ページを持ち上げるためのアームは糸で引っ張りプーリーで動かしている。


フックの部分は、上からアームがおりてきたときに本にあたるとうまく本と反対側に逃げる。アームを引きあげるときにはフックは自重により、本に接触してスキャンするように動き、本のめくれた部分で突起してめくれている1枚を引っ掛ける。(図か動画が無いとわかりにくい。完成時には動画を用意する。)


グレーブックの著者の松原拓也さんがモーター同士の接続*1ワザを紹介していたので、このワザを使って手でそれぞれのモーターを動かしてみたところ、確かにページはめくれた。


要するに制御プログラムさえ書けば一応は完成である。