2017年9月21日木曜日

やっつけ工作でもこれだけは守ろう。その1

始めに

IVRCやインタラクティブアート作品など、動く物を展示したい!でも〆切が近い!そんな時のやっつけ工作の時でも、不思議な不具合で悩んで時間を費やす事の無いようにこれだけは守っておいた方が良いというノウハウをまとめてみようと思います。多分シリーズ化して続きます。

ブレッドボードに刺してはいけないモノ

ブレッドボードは信頼性が低いので使わないに越した事はないのですが、どうしても頼ってしまうチームは毎年出ます。
ところでマイコンボードやセンサーボードに付属してくるピンヘッダをそのままブレッドボードに刺していませんか?ピンヘッダや、でかいトランジスタなど足の太い部品を刺したブレッドボードは再利用しないで下さい。そう、1回キリなのです。
大丈夫なものも有るようですが、サンハヤトなどのブレッドボードでは丸ピンヘッダ、や秋月の細ピンヘッダは刺せますが、ピンヘッダには対応できません。
太すぎるピンを刺すと、以下の写真のようにコンタクトが僅かに広がってしまいます。このコンタクトが広がってしまった穴に抵抗等足の細い部品を刺すと、接触不良を起こします。しかも、当初は動いていたのにちょっとしたきっかけで動かなくなるのです。
一般に電気回路においては、スイッチでもコネクタでも、ブレッドボードでも接点は錆びて導通しなくなります(錆びた金属はセラミックになって不導体になる)。ブレッドボードはコンタクトが強く挟み込むことで、錆を削り取って接点を復活させる仕組みになっています。このコンタクトのバネ性が弱くなると、部品を刺した当初は摩擦で錆が削り取られて導通するものの、押さえが甘いために時間と共に錆が復活しやがて導通しなくなります。

ブレッドボード・基板から出る配線は一旦近くに固定

ブレッドボード運用でよくあるのが、気が付かないうちに配線がぬけて動かなくなってしまっているというものです。なのでブレッドボードから出て行く配線は片っ端から固定する必要があります。お勧めの法法はブレッドボードをアクリル板なり木の板に固定して、その板に配線を固定する方法です。
 
配線は引っ張っても動かないようにしっかりと固定します。配線幅程度に間をあけた穴を2つあけて抵抗の足の切れ端などで固定すれば十分な事が多いです(太めの配線はちゃんとインシュロックなどで固定しましょう)。抵抗の足など金属線で固定する場合は、配線側には結び目をつくらず、板の裏側に結び目を持ってくるほうがしっかり固定できます。
ラジペンでしっかりと捻って固定しましょう。

ユニバーサル基板の場合は初めから穴が空いているので基板に直接固定できて便利ですね。基板を起こす時でも配線直結にするときは固定用穴があると便利です。
ちなみに配線をホットメルトグルーで固定する人もいますが、長期的な振動対策としては有効だとは思うのですが、作業中に配線にちょっと引っかけたという場合には大抵無力なので注意しましょう。

配線は曲率半径が命

基板やベースとなる板に配線を固定してもまだ安心できません、人間に取り付けるセンサー等、配線の先が動く場合、下の図のように直角に配線が引っ張られてしまうかも知れません。何度か繰り返せば簡単に断線します。 
例えば、ここで下の図のようにボルトがあったとします。同じ力で繰り返し左右に引っ張ってもボルトがあることで、曲率半径が維持され、断線の可能性が大幅に減ります。
回路を納める筐体を作る時や、ケーブルを保護する保護材を入れる時はこの曲率半径を稼ぐという事を意識してください。



半田付け〜配線が自然にねじ切れる場所〜

上の曲率の話とも絡むのですが、下の図のように半田付けがされた配線があって、繰り返し曲げられると断線する場所はどこでしょうか?
そうですね、半田付けされている所と、半田が流れていない所の境界線で断線しますね。硬い物と柔らかい物が連続しているとき、壊れるのは柔らかくなり始めた境界なのです。半田付けに限らずプラスチック板にビニール袋を固定して振り回しても同様です。
配線を半田付けで延長する事は時々ある事ですが、その際に半田付け部分を絶縁するだけではなく、ビニル被覆部分まで熱収縮チューブやビニールテープをまくのは、急激に配線の堅さが変わるのを防ぐ意味もあるのです。

圧着は専用工具で

半田付けは上のように、配線の堅さが急激に変わる事によって断線がしやすいという問題があります。なので普通はできるだけ圧着を用いるのですが、参加チームの中には圧着をしても「圧着しても引っこ抜けるので半田付けしている」というチームもいます。
折角の圧着の(半田付けに比べれば)断線しにくいという良さを殺しています。

以下の図は圧着の例です。コネクタの羽のような部分を巻き込んでビニル被覆の上から突き刺しています。まず抜けません。サイズの合わない圧着ペンチを使ったりすると、これが突き刺さずに単に左右からパタンと倒しただけの形状になり引っこ抜けてしまいます。
もう一つ、リングに通すタイプの圧着です。真ん中がしっかり圧着されコレも抜けようがありません。良くあるミスは中にいれる銅線の量が少なすぎるor多すぎる場合です。
圧着は素晴らしい接合方法ですが、「正しい工具」と「正しい銅線量」という二つを揃える必要があります。圧着コネクタは大が小を兼ねるという事は難しいので、予め各チームでよく使う配線材の太さを3,4種類決めて、それに対応するコネクタを選定しておくと便利だと思います。
ちなみに、私の工作は上の図の2本の圧着工具で事足りています。

さいごに

ということで、配線周りを中心にまとめてみました。電気系トラブルでは、断線・接触不良が2大原因なので、そこをさっくりやっつけましょう。

2017年9月6日水曜日

IVRC予選@JAPAN VR EXPO

IVRCとは

9/14-16の期間JAPAN VR EXPO内でIVRCの予選大会が行われます。(無料)
学生対抗のVRコンテストです。学生対抗といっても、数年後には多くの参加者がVR界を牽引する側にになるガチ勢です。今回の展示は予選なのですが、作品をみれば、やりたい事の本質が何となく想像できるというガチ勢にとっては、作品数が沢山ある予選のほうが見応えあります。VRの未来を見にいきませんか?

 IVRCの先見性

ブランコ(VRanko IVRC2001)
IVRCの参加チームが着眼している点は業界の10年から15年先を見ていると言われています。

例えば商業施設でVRブランコや、VRでトランポリンといったが体験できますが、IVRCではブランコは2001年トランポリンは2007年にやっていました。ほかにも最近Windows Mixed Reality等、「Mixed Reality」をバズらせようという話もありますが、これぞMixed Reality」という見えないコビトと触れ合う作品は2004年 さらに推し進めた(?)ロボットとVRの融合は2006年にでています。

ということで会社の金で見に行くときは。
「大型VR装置をの見学体験 (エンパワースタジオ)。最新の現行VR業界の動向調査(VR EXPO)。将来期待されるVR応用の方向性の調査(IVRC)」とでも言っとけばOKでしょう。

今年の作品は?

こちらを参照http://ivrc.net/2017/projects/。Webにのっている作品説明文は全部目を通してから行った方が良いです。

 JAPAN VR EXPOについて

 VR EXPOについてはナカノヒトではないので、細かい事は解らないですが出展一覧をみれば豪華差はつたわるかと思います。出展1出展2特にエンパワースタジオでしか見る事ができない巨大VR装置は必見だと思います。稀にしか見れないですからね。
 

 会場について

オフィシャルにはつくば駅からのバスが案内されています(無料シャトルバス有り)。そのほかに高速バスもあります。間違って筑波大学病院のほうに行かないように注意です。
会場は大学本館とはかえで通りを挟んだところにありますgoogle Mapsで「エンパワースタジオ」で検索するとでてきます。

食事について

エンパワースタジオから近い食堂は「3A棟(注:土曜やってない)」と「2B棟(全日やってる)」です。お昼(14時ごろ)までの営業とのことです。詳しい営業時間は食堂のお知らせをご覧下さい。 朝飯・夕飯は学内では無理と思ったがよいでしょう。あと会場内飲食禁止です。






2017年8月2日水曜日

IoTについて思うアレコレ

 Maker Faire Tokyoですね。今年も西院フェスとかぶって私はいけませんが・・・みなさん楽しんできて下さい。さて、この手のイベントに行くと、「そこをIoTでなんとか」という圧力が来たりするわけですが。IoTで何をしたら良いんだろうと個人的に悩む事が多かったので、悩んで気が付いた事をメモしてみました。ただ私自身はIoTネタで成功したことはないです、あくまで悩んだ事・気が付いた事のメモです。異論は認めます。

 前提: IoTに手を出すとき

自分で作品を作る時も、会社やMakerFaireみてても同じだけど、IoTに手を出すときは十分にThingsがコモディティ化してる時が多いです。例えば心拍だったり、天気だったり、はてはON/OFFスイッチだったり。理由は色々あるのでしょうが、コモディティ化してる=ハードだけなら他社でも作れるという事は意識したほうが良い所です。

一般にコモディティは商売の敵!駆逐せよ!と指令が下るわけですし、勤め先では素直に従うわけですが、果たしてそうでしょうか?

IoTの分類

安いSIMプランが出る度にそこら中で「そこをIoTでなんとか!」と言われる訳ですが、どーやって考えたらええんでしょうか?世間で言われるIoTにも色々有ります。
  1. その通信IPに切り替えて見た
    「自宅のエアコンを外出先から ON/OFFできたら便利だよね」系です。単純に場所の自由度を上げます。比較的簡単に思いつくし、便利ですが、想像以上の成果は生まないのが通例です。
  2. サービス系
     Fitbitとかです。個人的にはAirレジも近い製品だと思っています。装置としては心拍や体重など日々の記録を取る装置ですが、そこはあまり重要じゃなくてアプリでトレーニングの動機付けやったりだとか、そっちのほうが本質になっていて、IoTデバイスはパソコンで言えばキーボードのような入力デバイスになっているやつです。Airレジでいえば、レジの物理的部分のみをThingsとしてつくって、あとはクラウドに丸投げです。アプリありきの世界です。
  3. トリガー系
    Yahoo MyThings等がそれに当たります。何かを検知したら、何かがおこる。例えばネコがうんこしたら、Twitterに「うんこナウ!かなり臭い、掃除よろしく」と通知がくるやつですね。
    トリガー系は「いつも身近に居る奴(Twitter等)」が雑多な事も教えてくれる。逆にAlexaのようにいつもリビングに居る奴に話しかければ、指示を出すことが出来る。というふうにユビキタスに近い発想です。環境に広く存在するいろんなモノが、色々気が付いてアクションを起こしてくれる世界です。
  4. 産業用IoT系
    普段はあまり縁ないかな? 1の「その通信IPに替えてみた」に近いのですが、どこのメーカーのでも繋がるのがミソです。
    原始的な工場を想像してみましょう。複数の機械が電線でつながって連携しています。稼働状況をモニタリングしたければ、電線を分岐して監視室にある電球に繋げばOKです。そんな事を、世界に分散した工場で行うシステムが産業用IoTです。機械同士は共通の産業用IoT通信で繋がります。どのメーカーの機械も電線を繋ぐ感覚で繋がります(ちょっと大げさ)。インターネット経由で本社の管理部門とも繋がっているので「もっと急げ」とか「もうちょいゆっくり」だとかの指示や、消費電力だとかの情報も取れます。複雑そうに見せるけれども、各社共通なので設計する人にとっては電線一覧表をみて、電線を繋ぐ程度の作業になるやーつです。

 他にも色々あるのでしょうが、まぁ、こんなもんでしょう。

 IoT設計の切り口

そんな分類が解ったところで、IoTなネタ考えようと思ってもなかなか思いつきません。個人的なネタを出すのに使ってみて便利だった切り口を少し紹介します。

2つ以上の出口 

上の分類の3,4を見ると「他社が絡む」というのが特徴です。情報の出口(or入り口)にわざと他社サービスを使える分岐口が付いているのです。これは先人からの大きなヒントです。「情報を分岐する必要があるもの」を色々考えてみると逆にIoTらしいモノを考える事ができるかもしれません。
例えば飲食店の着座センサー。お客さんには空席情報として提供できるし、お店には回転率などの経営指標確認に使えます。情報二つ以上の行き先があれば分岐が必要になってIoTである必要性がでたりするのです。
この発想法はの良いところは、コンピュータを知らない人にもIoTサービスの発案ができます。(実現可能性はおいといて)

「Things」より場所・時間が大切

 もの作るのが楽しいからMakerやったりするわけだけれども、上にかいたようにコモディティ化したものって用途が決まってしまっているか、逆に何にでも使えてしまうものが多いです。前者は例えばパンツ、被る以外に使い道がありません。後者の例えが回路のスイッチ、何にでも使えます。IoT化の場合、後者の「何にでも使えるスイッチ」がターゲットになりやすいのですが、「何にでも使える」だと「安ければ使うけどね」になって、AmazonDash一強になってしまいます。なのでハード的にでもいいし、その裏で走るサービスとしてでもいいので、xxができるというのが大切になります。
例えば、スマホをサーフボードに貼り付けて加速度センサーの値を取るとします。なんでもできる加速度センサーIoTデバイスですね。ここで加速度センサーのパターンを識別して、陸にいるのか、パドリング中なのか、波に乗ってるのかを判別できるAPIを追加したとします。こうやって発想の方向性を絞る事で初めて、波乗り中だけ録画する自撮りカメラ。だとか、陸にいるときだけ近所の地元の飲食情報流すとかアイディアが出る状態になるのです。

差別化(≒高付加価値化)の罠

そこまで、来てまわりにに説明すると「加速度センサーなんていくらでもあるから、なんか差別化しようよ」とか言われてしまいます。で、余計な機能をつけたり、差別化ポイントを強調する事がメインの謎製品ができあがります。高付加価値路線で進化の袋小路に入った哀れな家電を見る気分です。
これが複数社が絡むIoTデバイスだとさらに悲しい感じになります。IoTは人間関係に似ていると個人的には思います。悪目立ちはする必要ないのです、適材適所にいてくれる。顔なじみなやつが使い易いのです。それはユーザからしてもですし、開発者からしてもなのです。いるでしょ、しっくりきたポジションに居て、なんだかんだでコイツじゃないとな〜っていうモノや人。「とりあえず接待ビール」ですよ。
ネタだしする時に差別化案が出てくるとつい引っ張られちゃいますが、一旦謙虚に「これ使って何が楽しいんだっけ?」って見つめ直すのも大切だと思います。

さいごに

とりあえず、私が考えてて、気が付いた事はこれぐらいです。
ここに書くという事は、皆さんのIoTに関するアイディアだしのノウハウも知りたいって事です。おせーてください。



追記捕捉

コモディティ化が悪い事なの?だとか、差別化の罠について、ちょっと捕捉。
 異論は認めるけど、アイディアを出す段階では意識しちゃ駄目です。 既にある製品のちょっとした延命や、特許回避にはもちろん便利ですよ。でもアイディア段階でそこを意識するとクソなものができます。

理想の世界があって、それを自分の得意な技術で現実に落とし込む時に、どうしようもなく自然に発生する個性が差別化だと思ってOKです。差別化要因なんて現実に落とし込む時にどうせ出ます。自然にそういった差別化要因が出ないようなら、単にニーズがなさそうだから皆作ってないだけです。

VRに似てますよね、現実の本質だけを抽出して体験し、実質現実だとするのがVR。理想の世界の本質を見抜いて現実の実装に落とすのがアイディアだし。




天使の発想、悪魔の実装とか聞いた事ない人は以下の落合さんのLTみると良いかも知れません。
https://www.youtube.com/watch?v=Q5LxyRWyfCc

2017年7月15日土曜日

世界は究めて地味に攻殻機動隊の世界を造ろうとしている

いつも通り。タイトルは煽りです。
VR界隈(主にTangoやHololens等のMR)、産業用IoT、次世代のロボット用OSの目指してる部分を見ていると既視感のある世界が見えてきます。一言で言うと攻殻機動隊(主にS.A.C)を作ろうとしていると感じざるをえません。
Project Realize等では当然目に見える部分が先行しますが、上の技術はどちらかというとインフラなので「企業のネットが星が覆う世界」を作ろうとしている。その覆い方の一つとして、リアルタイム・分散システムをキーワードにしているように感じています。

VR系でのブレークスルー

ここ最近Oculusを始め、Hololens等様々なVR製品が話題に上がりました。技術的には20年以上前から知られていたものですが、何故今なのでしょうか?大きな時間で見ると、コンピュータやセンサーの性能が人間が体験するにあたって十分にリアルタイムになった。つまりシステムの高速化がブーレークスルーのきっかけであると言われています。
人間にとってリアルタイム」重要な事なので二度言いました。

Oculus :引用https://www.oculus.com/

ロボットは鉄腕アトムからタチコマへ

研究用に使われるロボット用のOS(ミドルウェア)として有名なものにROSというものがあります。現在実用に耐えるようにROS2という次期バージョンが開発されています。
ROSが行う作業は人間に例えると「器官」どうしの「通信」システムです。
下の図のように「アクチュエータ」であろうが「情報処理」であろうが「センサー」であろうが、それぞれの情報をお互いに垂れ流す(publish/subscribe型の)分散システムとして出来ています。情報処理ですらノードの一つでしかないという統一されたインターフェイスでできたフラットな分散システムしかもリアルタイムという特性は押さえ置くべき点です。
例えば足が痺れた時の事を思い出してみてください。足が駄目になったからといって、他の情報処理には影響が有りません。このように人間の体は、各器官が足と手は関係ないといったように各部が独立して動いて、通信によって統合されているモデル化できます。その繋がりは脚気の検査で足を叩くと動いちゃう事からわかるように、全てが中央の脳に直結してるわけではありません。さらに言うなら、脳自体も言語野が損傷しても言語が不自由になるだけというふうに、情報処理についても細かい器官(ノード)に別れているとモデル化できます。
(説明のために人間に例えましたが、普通はロボットに適した情報処理はロボット専用のほうがいいです。たまたま一緒なだけ。)
ROSのイメージ図
コレが「一つのロボット」の中にはいっているのが鉄腕アトム的なロボットです。システムが一つのロボットで閉じているので、どこにどのノードがあるの?という管理や、通信相手のノードが偽物じゃないか?といったセキュリティの問題はありません。
ここで、世界がタチコマを作ろうとしていると仮定します。
タチコマ:引用 http://www.ntv.co.jp/kokaku-s/ 
 タチコマはお互いに同期したり、連携したりして動きます。アニメでは声で話すことが多いですが、ちゃんと直接通信もできます。ここにROSを適用する場合、現在のROSでは暗号化や認証の機能がないためセキュリティ上の問題があります。
そこらへんをROS2では産業用IoTと呼ばれる分野で使われているDDS(データ分散サービス)に頼ろうとしています。

DDS(データ分散サービス)って?

DDSは風力発電所等に使われて居ます。風力発電では風の変化という設置場所毎に異なる状況と、電力需要変動というシステム全体に起きる変動の両方を見ながら、リアルタイムに風車の角度調整を行う必要があります。さらに、広範囲に拡がっているのでソレをすべて専用線で結ぶのはなかなかのコストです。そこで、「リアルタム」でセキュアな分散システムとしてDDSが採用されています。
はい、本日2度目の「リアルタイム」です。そうVRだけでなくロボットや産業用IoTでも応用用途によって程度の差はあれ、リアルタイムが重要なのです。

 攻殻での産業用IoT

さて、攻殻機動隊に立ち返って産業用IoTを使っている人を探してみましょう。すぐに見つかりますね。狙撃に「鷹の目」を使っているサイトーさんです。もちろん衛星直結を否定はできませんが、企業のネットが星を覆う時代にはネット経由が妥当に見えます。
サイトー:引用 http://sss.ph9.jp/characters/

VRとロボット(産業用IoT)の融合の可能性

もしも貴方がサイトーさんなら、むしろスナイピングにはタチコマの目を使いたくありませんか?普通使いますよね?作中には出てこないですが、許認可の問題をのぞけばできるんでしょう。「許認可」は大事、大事なことなので2度(略)。
 そして、もう一つロボットの「アクチュエータ・情報処理・センサー」が分散システムのノードとして独立な事を感じさせる逸話があります。そう「笑い男事件」です。
 義眼として、脳に直結なら義体化度合いの異なるみんなの視覚野をHackするのは骨が折れる作業です。でももしROSのようにカメラと画像処理(情報処理)を分離して、かつそれをネットごしに外注していたらどうでしょう?うまく均一にhackするポイントが出てくる可能性があるかもしれません。
そう、元々リアルタイムだったロボットが個体を飛び出してネットに直結する事、元々ネット直結だったIoTデバイスがリアルタイム化するという事は、両者が一つのフレームワークに収まる事を意味していて、「人間にとってリアルタイムに接続できる」デバイスはVRに取り込まれるのです。
ロボット・IoT・VRというバズワード御三家が繋がりました。

そして縁の下の力持ち「通信」

ここで再度「笑い男事件」の仮説を思い出して欲しいです。人間の生活に支障のないレベルに、リアルタイムに画像をネット越しに送って、加工して受信するだと?通信舐めてるのか?という話になります。もちろん攻殻機動隊の通信速度やディレイは「なめとんのか?」レベルです。
でもケータイは年々早くなっています。4G(LTE)でyotube快適にみれるし十分だと思ってたら5Gが出てきます。さすがにテレビでも「何に使うの?」っていう疑問を解説してる番組があるようですね。

https://www.houdoukyoku.jp/posts/14978

もう一つの共通要素「空間の紐付け」

以上でだいたいの話は終わるのですが、この文書は私が思いついた順とは逆順に書かれています。最初のきっかけは、RTAB Mapのマルチセッション機能
RTABMAP マルチセッション: 引用https://github.com/introlab/rtabmap/wiki/Multi-session
もう少しメジャーなサービスで説明するとGoogleのVPS機能のです。VPSについてはgigazineさんの記事あたりからリンク先を漁って下さい。
世界をセンチメートル単位しかも3D地図にして、その上でスマホ1台あれば何処にいて、どこを見ているかが解ります。センチメートル単位なので部屋の模様替えをしたら、それに追従して地図も更新されます。地図を共有するシステムしかも、ネットにも繋がる。それだけだと「何のこっちゃ」ですが…。
お掃除ロボットルンバ程度の脳みそのマシンにスマホを繋ぐだけで、ショッピングモール全体を巡回警備するロボットができちゃう。しかも、ネットに繋がったアプリなので複数台同時に運用するのも自然にできる。これって、すごくない?という所から調べて、ROS2やDDSの話にぶちあたりました。

・リアルの3次元地図の共有
・ロボットOSのように通信インフラの共有
・IoTのように複数ユーザによる装置(アクチュエータ・情報処理・センサー)の共有

この辺が見えてきた時に、自然に思い出したのが攻殻機動隊でした。

 企業のネットが星を覆うまでに

もうできる素材はあるんだから、あとは世界をつくるだけだ!と言いたいところですが。ちょっと考えるだけでも、まだ足りないピースが有ります。例えば分散システムを共有した場合の課金です。衛星一つがサイトーさん専用って事も無いでしょう。何らかの許可をGETして使っているはずです。しかしその課金のためにリアルタイム性が犠牲になってはかないません。細かく検討すると、深みにはまれます。
今までニュースでよく見た(リアルタイムではない)IoTはWebAPIなどの使い込まれた技術資産がつかえました。その部分がリアルタイム化のために使えなくなるのです。電話会社は電話会社で閉じる事でうまい事設計できてました。しかし産業用IoTの世界では家の軒先にぶら下げた気圧計のデータを気象庁とウェザーニュース社と米軍と、という風に複数に売るという事が普通にありえて、電話のような閉じたシステムもなかなか採用しづらいと予想されます。そのへんは今のところデファクトスタンダードな方法はなさそうです。(私の調べがあさいだけ?)

それ以外にもやらなきゃいけない事はてんこ盛り

課金の例は考えてみればすぐ解る課題ですが、応用を考えて初めて出てくる課題もあります。
例えばリアルタイムに通信しているシステムが、一時的に数100ms程度止まったとしたらどうでしょう?運転支援のVRシステム等では問題になりえます。例えば死角にある車を可視化するシステムの場合。「カクっ」と変な動きがある車があると、不要に注意を引いてしまします。
物理予測から適当に予測補完するというのも手ですが、通信が回復してから、認知的に直前の過去を操作する事も考えられます。過去の改ざんは難しそうですが、錯覚にも近い認知の研究の分野で「あったものを無かった事にする」「無かったものをあった事にする」研究も進められています。(とつい最近、VRの大御所のM先生に伺った)
この例でも言えるように、一見トリビアルだけど大事な技術がまだミッシングピースとして地雷の様に埋まってることは予想できます。がんばれVR屋さん。

 なんでこんな文書を書いたの?

こんな攻殻機動隊みたいなシステムは昔から夢想してたけど、勤め先ではそれに関わるチャンスはなかった。でも、最近偶然そんなチャンスがあったのよ。当然いきなり攻殻の世界を作れるとは思ってはないけど、調べてみたら世界は着実に進んでるじゃないの。
とりあえず公知の情報である世界の部分を解説して、一緒に(各々の勤め先の金で)攻殻の世界を作ろうぜ!なのです。

2016年9月15日木曜日

webでも単語をぶつ切りせず改行したい。

 改行を間違うと悲しい

webサイトでよくあるのが、妙な所で改行が入ること。例えば以下の様に、変な所で改行が入ると悲しい。これは過去にあった実例。

「リチャード・クレイダーマンコ
ンテスト」

 伝統あるピアノコンテストが台無しだ。

 ネットで見かけた対策

そこでinline-blockを指定した<span>タグで切られたくない単語を囲むと良いよというネタを見かけたのだが。なんか行末がガタガタして格好悪い。このガタガタを直すCSSがtext-align: justify;なのだが、inline-blockでぶつ切りにしてるので効かない。

 Justifyが使える改良案

いくつか試した結果inline-blockではなく、white-space: nowrapを指定した<span>タグで囲めばうまく行くのに気が付いたので、試した。実際にはchrome/IEが<span>タグの連続は改行なしというルールがあるので、<wbr>タグを挟んでいる。
 (Firefox,IE11,chrome,safariでは確認したが、iPhone等では未確認)


雑誌で見るような流し込み結果になった。これで一安心だが、全部の区切りを手入力すると大変なので、Tingy-segmenterという分かち書きjsをつかって、自動で区切りを判定できるようにした。

 使い方

ソースをコピペして、文章を適当に<p>や<div>で囲んでclassに「jas」を追加するだけでよい。ちなみに、ニーズがあるか不明だが<button>に長い文章を入れたい時も有効に使える。

デモページ: http://akirayou.net/jas.html

2016年9月8日木曜日

僕の3Dプリンタのテーブルは派手に反っている

 3Dプリンタのテーブル反っている。

写真ではわかりにくいけど、アルミ製のテーブルの上にガラス板敷いて使っています。よくみると左端のほうでアルミ板が下がっている。 0.5mmほど反っているのだ。このアルミ板にクリップでガラス板を固定すると、ガラスも反ってしまう。
つまり3Dプリント中に高さがまちまちって事になって、印刷物がはがれてしまう。

そこで考えた、スペーサー挟めばいいじゃね?

アルミ板の研磨を考えたが手持ちのサンダーじゃ目詰まりしまくってまったく進まない。下がってる分だけスペーサー挟めばいいじゃん!でもどうやって?・・・・
3Dプリントしちゃえばよくない?
ということで、やってみました。1層(1ライン?)印刷すれば、高さの誤差をある程度吸収するはずです。高いところでは潰れて幅広にラインがでるし、低いところでは丸のままステージ上にのります。
うちのプリンタ(倒産したSolidoodle)はノズル径が0.4mmなので、高さの誤差が0.4mm未満の場所なら理屈の上では補正できます。G codeのヘッダ部分は既存の印刷からコピーしてくるとして、ライン生成G codeはエクセルセルマクロでつくりました。
 G code作成エクセル (google drive)
直線(G1)の時はI,J座標は不要ですが、付けてても無視されるのでそのまま無意味な値を書いています。 
こんな感じでガラス板の下に黒いラインが見えます。高さの誤差は正確には計ってないのですが、紙の隙間で試すかぎり、だいぶ改善されました。
このプリンタは構造上プリンタヘッドが動くXY平面がねじれてしまう上に、ねじれ調整用のネジもついていないので、多少の狂いはしょうがないです。マシになったのでOKっす。

調整の手順は以下の通りが楽です。
  1. アルミテーブルをできるだけ水平出しする
  2. スペーサーラインを出してみて、Z軸補正ネジで高さ調整(高い部分で十分ラインが潰れるように)
  3. スペーサーラインを出力
  4. スペーサーの上にガラスを敷いて、Z軸補正ネジで高さ調整。このとき絶対にテーブル調整ネジを触らない!(角度はスペーサでかなり正確に出てるはずなので)

 ほかにも・・・

そもそも反っていないテーブルを使えばいいのです。ガラスがテーブル土台の強度にまけて曲がるのが原因なので分厚いガラスだけでテーブルをつくればいいので、以下のようなガラストップにすればOKです。ただ、テーブル保持部自分で設計するのがダルイときは上の方法も便利ですよ。

参考:@arms22さんに教えて貰ったテーブル売ってるサイト


2016年9月4日日曜日

ダイソーのミニルーペが仕様変更、その対策

ダイソーのミニルーペとは

ダイソーのミニルーペは安いレンズ欲しい人の間では有名な商品。Φ31mm、f=70mmのレンズが108円で2枚取れる事で有名です。このサイズ・焦点距離のレンズはHMD作ったり、LEDの光をしぼるのに使ったり色々便利なサイズです。

 はずれ仕様の見分け方


 しかし残念ながら仕様変更があったようで、在庫が順次左のはずれの方に変わっています。いままで黒い部分を軽く捻るだけで分解して簡単にレンズが取り出せたのですが、はずれ仕様では接着されているのでコツが必要です。ぱっとみ見分けが付かないのですが、ホッチキスで留めてある方が「あたり」でセロテープで箱が閉じられているのが「はずれ」です。

 「はずれ」仕様でのレンズの外し方

試行錯誤でいろいろあると思いますが、とりあえず綺麗に外すことができたので報告。
 分解してみると、「はずれ」も「あたり」もそっくりですが、はずれのほうは赤枠でかこってる部分が接着されています。ウォータポンププライヤーや万力のようなものを使って、以下の2段階で接着部分を破断させれば外すことができます。

根元側の接着をはずす

まずは根元部分をプライヤーで挟んでパキパキと音をたてて、接着部分をはがします。一カ所パキッとやったら、少し回転させて次の部分をパキッとやります。

 裏面をみながらやると、挟んだ部分の接着部分が剥がれていく様子が見えるので、確認しながらやると楽です。

 

レンズ周りの接着をはずす

次はレンズ付近の接着をはずします。レンズの周りをもって、中のレンズを傷つけないよう気をつけつつもパキパキ外していきます。回しながらやって3回ぐらいパキっと言えば外れてると思います。
  

参考:接着部分拡大

接着部分は 縦の線と、天面に円周状にぽつぽつある部分です。イメージしながら割るとやりやすいと思います。

参考:そんな苦労しなくても

モノタロウや、Amazonで検索するとほぼ同一のレンズが1枚100円で売っています。100円+送料を素直に払うのも一つの手だと思います。