「アイロンビーズプロッター」でプロ生ちゃんアイロンビーズを作ってみたい

この記事は「Qiita プロ生ちゃん Advent Calendar 2016」14日目の記事です。

qiita.com


ブログを書くこと自体めっちゃ久々ですが…。 今更ながら、11月のプロ生熊本で発表した話です。

発表スライド↓

いろいろありまして、現在「アイロンビーズ」を自動で並べる装置を作っています。アイロンビーズとは樹脂製の筒を並べて絵を描き、アイロンで溶かして固定する手芸作品です。詳細は上のスライドを見るか、ググってくださいまし。

アイロンビーズでプロ生ちゃんなどのビーズ作品を作ってマスコットアプリ文化祭に応募することを目指しています。(マスコットアプリ文化祭はプロ生ちゃんを始め様々なマスコットキャラを対象としたアプリのコンテストです。アプリだけでなくイラストや立体作品も募集しています)

ちなみに↓は手で作ったやつ。30分くらい。

■ ハードウェア・制御ボード

任意色のビーズを選択し1個を取り出す機構やビーズを配置するプレートをスライドさせる機構はFusion 360で設計し、3Dプリンタで出力しています。レンダリングするとなんかそれっぽくていい感じ。

悩んだビーズ供給機構は2つの回転する円盤を組み合わせることにしました。考えた中ではこれが一番モーターなどの駆動部品が減るかなと。

試作ではいい感じに動いていたんですが、実際にモーターをつけて回すとつっかえたりします。サイズを変えて作り直したり、制御プログラム側で調整を続けています。

モーター・センサの制御ボードにはArduino Nano(の互換ボード)を使う予定でしたが、買ったモーターに付いていたドライバ基板4とセンサを扱うにはピン数が足りませんでした。そこで、mbedの勉強もかねて今回は同じサイズで有効ピンが少し多いNUCLEO F303K8を使うことにしました。これについては明後日mbed Advent Calendar 2016で書く予定。

■ ソフトウェア

画像を読み込み、トリミング・リサイズし、ビーズ色に減色・最適化し、制御ボードに情報を投げつけるソフトをC#で作ってます。

まだあんまりできてない…。できたらそのうち解説書きます。

果たしてマスコットアプリ文化祭に間に合うのだろうか??

「プログラミング生放送勉強会 第35回@DMM.comラボ」に参加してきました #pronama

DSC_0314

8/29にプログラミング生放送勉強会 第35回@株式会社 DMM.com ラボ に参加してきました。

前回に続き恵比寿のDMM.com ラボでの開催です。恵比寿ガーデンプレイスタワーにあるとってもオサレなスペースです。窓からの眺めが最高です。

今回はスピーカーとして登壇させてもらいました。

自分も含め、今回はハードウェア系のセッションが多かったです。普段のプロ生はWebサービスやスマホアプリ、言語・SDK、開発現場の話が多いので新鮮だった人が多いんじゃないでしょうか。

■ 自分のセッション

「明日からできる!面白ガジェットの作り方」

ガジェット(ここでは目新しさや面白さを持った電子機器)を自作するにあたり、自分がどうやってニコ技的な作品を作っているかを作品を例に紹介しました。また、簡単なマイコンの説明や、はやりのプロトタイピングボードをいくつか紹介。

テーマがぼんやりしていていまいち何を伝えたいのか分かりづらかったかなあ、と反省してます…。プロ生の聴講者対象だと、限定的でも一つのデバイスに絞ったほうがよかったかも…。

次は非常にキャッチーなデバイスである「FlashAir」あたりでTL考えてみようかな。

■ 他の方のセッション

簡単に紹介。そのうち動画が上がると思うので。

● aminosanさん(@menz_aminosan) 「はじめての Arduino」 Arduinoの紹介と簡単な電子回路の説明、そして実演形式のサンプル紹介。実際に前で回路を組み立てながら随時サンプルを動かし、とてもわかりやすかったです。特にブレッドボードの解体は大ウケでした。”動かない…→○○が原因でした!→ズコー”の流れが非常に秀逸で次に控えた自分の発表めっちゃ緊張してしまった…。

(セッションとは関係ないですが、懇親会の時間に初代PSoCの割り込みの記述に対する憎しみでめっちゃ盛り上がりました。)

● 桜花一門さん(@oukaichimon) 「VR 時代に求められるモーション」 VRにおいて、キャラクターの不気味の谷を越えるにはどういうモーション付加を行うべきか?無限に必要なモーションへの対策、半自動生成方法の展望について。聞いていて自分の二足歩行ロボの経験を思い出し「すごくロボット工学的な分野だなあ」と思っていたら、まさにその分野に対しての言及がありました。ロボット界隈の人、活躍するチャンスですよ。

セッション後はOculus Rift DK2の体験会が行われました。8K写真のマッピングすごい!

● かなはるちゃん(@kanaharu) 「Windows 10 IoT Core をインストールした Rasberry Pi2 開発について」 かなはるちゃん、那珂ちゃんコスでの登場。

7月に出たばかりの「Windows 10 IoT Core」をRaspberry pi2を用いてライブコーディング形式で紹介するセッション。今のところなかなか縛りがきついけど、Visual Studioでの開発ができ、ブレークポイントなどその恩恵を受けられるところが素敵です。(最近話を聞かなくなったNetduinoの代わりになれるか?)

VSの挙動にだいぶ振り回されて大変そうでしたが、最後には動いてみんな一安心。

「那珂ちゃんは(IDEが動かなくても)絶対路線変更しないんだから!」

● TL

5zjさんのネタかぶりくっそわろた

■ 大仏建立

先日建立した大仏はクズ肉家に再建立されることになりました。

■ ビアバッシュ

今回の懇親会は「ビアバッシュ」という形式で行われました。ビアバッシュとは会場でビールのんだりピザ食べながらワイワイする形式の懇親会らしいです。TLはビアバッシュの時間に行われました。今まで2回くらい同じような形式の勉強会やミーティングに参加したことがありますが、飲みながら発表聞いたり発表したり話をしたりできるのでできるので個人的にはけっこう好き。

ただ人数多いと開催する人のまとめは結構大変そうでした。かなはるちゃんお疲れ様でした。

■ 2次会とか3次会

・Edgeはks 最高の体験を得られるブラウザ

・終電が遅延して酷い目にあった。一方、ナーバ氏はきれいに終電を逃した。

Filed under: イベント,ニコ生,プログラミング — kirin 00:33  Comments (0)

「プログラミング生放送勉強会 第34回@サイボウズ株式会社 松山オフィス」に参加してきました #pronama

去年に続き、今年もプロ生@サイボウズ松山に参加してきました。

電車と飛行機で往復10時間くらい(LCC使ったので)、必死に宿を探し(直前だったので)、たまたま仕事が忙しい週に当たったとはいえ毎度のことながらもうちょっと余裕を持つべきだった…。それでも楽しい旅になりました。

■ 当日のLT資料

当日発表のスライドを公開します。 超身内ネタですが。 最近遊んでる3Dプリンタの話です。

だるフィギュアは木質フィラメントで出力したやつを一個だるやなぎ氏に進呈しました。飲み会とかでもけっこうたくさんの人に話を聞かれたのでみんなだるさん好きなんだなと思いました。

OpenSCADは本当に手軽にモデリングができて良いです。数値入力できるのでCADとしてきっちりしたモデルを作れるし、シンプルなゆるキャラみたいなのであればキャラモデリングもできなくはないです。ブーリアン演算に押し出しがメインっていうと、10年くらい前のshadeの売り文句を思い出します。あのときは5000円のBasicを買ったけど結局ほとんど起動しなかったなあ。

3Dプリンタ(というかThe Micro)はネタがたまってきたのでそろそろ記事にまとめたいです。

他の方の発表を知りたい方はプロ生の記事・動画やTwitterのハッシュタグ#pronamaで他の参加者のレポートを探してください。

■ 松山観光

金曜の仕事後に羽田空港のカプセルホテルに泊まる予定だったのでそのまま向かったのですが、夕食を済ませながら空港行き終電を調べたら既に電車なし。めっちゃ焦りなんとか空港にたどり着く方法がないか調べつつ東京に向かい、タクシー4000円くらいを覚悟したところで 奇跡的に@sal_nicoさんにイブニングライナーの存在を教えてもらってことなきを得ました。ありがとうございます…。めっちゃ快適な旅でした。

ナインアワーズでカプセルに入ったもののなかなか寝付けなかったので、結局寝ずにLTのスライドを作ってました。ナインアワーズめっちゃ良かったですよ。ただ、そんなんに頼らない時間に余裕のある旅をしたかった…。朝、ゲート近くで@daisuke_nomuraと(たまたま)合流し、搭乗。

いや、職業上”不具合”って言葉に敏感に反応してしまいまして…。20分ほど離陸遅れましたが、離陸の瞬間は寝てて全然覚えてないです。もったいない。

その後@uzuki_aoba氏と合流し、3人で松山城観光、会場前でランチしました。 今年も会場前の鯛茶漬けめっちゃうまかった…。

あとじゃこカツ。じゃこカツのために松山に行ったと言っても過言ではない。本当にうまい。東京でもどっか食べられるところないかな…。(自分で揚げるタイプのやつは何故か近くに売ってた)

飲み会2次回まで参加し、ホテルへ。 翌日は去年と同じく何人かで道後温泉→道後ビール館とまわってビールクズしてました。 その後、おっさん4人で観覧車へ(日記はここで途絶えている)

松山いいところなのでみんなも行きましょう。飛行機往復にホテル2泊で3万円くらいで行けます。 来年もまた行きたいですね。今度は余裕を持って。

「プログラミング生放送勉強会 第33回@DMM.comラボ」に参加してきました

5/16に開催された「プログラミング生放送勉強会 第33回@DMM.comラボ」に参加してきました。

DSC_1223

DMM.comラボの入っている恵比寿ガーデンプレイスタワーはとってもオシャレなビルで、周りにはビアステーションがあったりとずっとビール飲みたくてしょうがなかったです。

個人的に気になったセッションはDMM.make ROBOTSのお話。学生時代はロボ研に入っていてさらに二足歩行ロボットをやっていたもので。当時二足歩行ロボットブームの頃で、10〜20万円くらいの中価格帯ロボットのキットや市販品が出回り始めた時期でした。ただ、悪い言葉を使うと売りっぱなしという印象で、流通経路や価格も含め”わかる人”以外が手を出しづらかったのが正直なところだと思います(その点でAIBOは”一般家電”の分野まで落とし込んでいたので売り方も含め秀逸でした)。DMM.make ROBOTSの取り組みは一般の人のもとにロボットを置く”入り口”にはなるんじゃないでしょうか。ロボットプログラミングの歴史についても時代の進みがよく分かる面白い内容でした。

あと缶これ(@wonder_none)氏のLTヤバすぎでしょ…めっちゃ笑った。 → JKがJKのツイートを分析してほんとにJKかどうかを判断する(プロ生#33 LT)

■ 発表スライド

LTで発表したのでスライドをのっけておきます。

3月にPebbleTimeに出資したのでSDKを触り始め、結構面白かったので発表にしてみました。なんとかwatchも流行っており、スマートウォッチ界隈も盛り上がってることだし。

Pebble持ってないのにこういう発表するのはどうかと思いましたが。

■ 我慢できなくなって注文した

資料作りながらSDK触ってたわけですが、プロ生開催一週間前くらいにPebble公式よりセールのお知らせがあり、たまらずオーダーしていましました。初代Pebbleが$89、送料無料。カードの請求を見ると¥11000くらい。

で、今日届いた(プロ生には最初から間に合わせる気はなかった)。

LT資料内のwatchfaceを動かしてみました。watchfaceのチュートリアルもどきにすぱこーの更新日時・最新Noを表示させる機能をつけただけ。画像をモノクロ対応してないのでプロ生ちゃん消えちゃいそうですが。

ソースとともに公開しようと思ったんですが、内部で呼んでるWebスクレイピングサービスが個人のトークンを含んでしまっているので(こういう仕様らしい)、もうちょっとなんとかしてから解説とともに公開しようと思います。

Filed under: イベント,ニコ動,プログラミング — kirin 15:49  Comments (0)

【プロ生ちゃん】プロ生ちゃん風船ゲーム【マジ天使】

動画 【プロ生ちゃん】プロ生ちゃん風船ゲーム【マジ天使】 を投稿しました。

『プログラミング生放送』コミュティのマスコットキャラ、『プロ生ちゃん』を風船で飛ばして

とにかく遠くに飛ばすだけの簡単なゲームです。

ゲームは↓からダウンロード出来ます。

公開ソフト – プロ生ちゃん風船ゲーム

元ネタはこちらの@imasusenさんのツイート。

結構前に作り始めて遊べるようにした気がするんですが、今回ちゃんと公開できるようにしました。 本当は自作ゲームフェスに間に合うようにしたかったんですが、 公開準備やら動画作成やらで4月になってしまいました・・・。

Filed under: ニコ動,プログラミング — kirin 00:48  Comments (0)

「プログラミング生放送勉強会 第20回@品川」に参加してきました

3/9(土)、[ 『プログラミング生放送勉強会 第20回@品川』 ](通称プロ生勉強会 #pronama) に参加してきました。

約1年ぶり、久々の発表です。

5分のLTと簡単なデモを行いました。  
 
 

今回も発表に使用したスライドをアップしておきます。

今回も出オチです。本当に(ry  
 
 

画像に『某きのこのお菓子』と『某たけのこのお菓子』のどちらが映っているかを認識するプログラムの話。

NT京都の展示に向けて作っている作品の画像認識部をネタにしました。Twitterで認識結果の画像上げたらそこそこの反応があったので。

おまいら本当にきのことたけのこ大好きだな。

機械学習や画像統計などの現代的な画像認識には全く触れてないです。昔ながらの方法で、フルスクラッチで認識エンジンを書いた話です。5分の発表だったので画像処理や画像認識のなんたるかはまったく説明できてなかったと思います。「こういう処理があって、適用するとこうなるよ」的な結果ばかり載せました。

まあ、あまり説明し過ぎるとあまりわかってないことがバレるので、これくらいでちょうどいいのかも。

画像処理や画像認識の研究やってる人が憤慨しそうな条件付けとアルゴリズムです。ロバスト性が全くありません。いいんです、汎用的なものを作りたかった訳じゃなく、作品のいち部品なんで。  
 
 

実際のプログラムではスライドで紹介した以外のテクも入れてはいます。明らかに色や大きさが違うものや、密度が低いもの(→ノイズの可能性が高い)はリジェクトしたりとか。まあ、詳細は作品が出来上がってから。  
 
 

余談ですが、翌日のニコニコ超会議のプレ放送でバッチリ上のスライドが紹介されてました。どういうことなの。

Filed under: プログラミング — kirin 00:29  Comments (2)

MikuMikuARDancer 1.0.0

ARマーカー上にMMDモデルとモーションを表示できるソフト、『MikuMikuARDancer』を公開しました。
ドラッグ&ドロップで簡単にMMDモデルやモーションを切り替えることができます。

MikuMikuARDancer

MikuMikuARDancer 1.0.0 → [ 公開ソフト ]  
 
 

■ MMD + AR

同じようなものは2年前『ARToolkit』が公開された頃にたくさん発表されていますので、特別新しい技術ではありません。

ニコニコ動画タグ検索 – [ ARToolkit MMD ]

いまのところ影の処理が付いてなかったり機能的にはかなり貧弱です。ロード時のバグもあるっぽいし。(ロード画面表示を手抜きしたせい?)

ただ、ドラッグ&ドロップだけで操作できるという簡単な操作にしているので、ほとんどの人が迷わず使えるんじゃないでしょうか。  
 
 

■ プログラムについて

プログラムはほとんど『MMDモデルを表示するライブラリ(MMDX)』と『ARマーカーで3Dモデルを表示するライブラリ(NyARToolkitCS)』を組み合わせ、ドラッグ&ドロップ処理を付けただけに近いです。

C#からDirectXを扱うためのライブラリとして、

  • MMDX → 『SlimDX』
  • NyARToolkitCS → 『ManagedDirectX』

を使用しており、そのままでは両者を組み合わせることが出来なかったため、NyARToolkitCS側をSlimDX向けにポーティングしました。
(NyARToolkitCSを作られたnyatlaさんはnymmdというMMD再生ライブラリも作成されていますが、先にMMDXを知ったこと、MMDXは物理演算に対応していること、その他もろもろあってnymmdは使用しませんでした)

NyARToolkitCSがGPLライセンスなので、このソフトもGPLライセンスとしてソースを公開します。
アプリ本体はGPLですが、ソースは以下のようにしたいと思います。(2012/12/11)

  • NyARToolkitCS・MMDXのソースは配布元と同じライセンス
  • 今回新規で作成した部分のソースはMITライセンス

ソースについてはGPLのソースとうまく分離していれば他のライセンスを保てるとnyatlaさんから教えてもらいました。勉強になります。ソースの公開はそこらへんも考えているのでもう少々お待ち下さい。  
 
 

■ 今後

ロード時のバグ修正が急務。
あと、周りの明るさをモデルに反映させたり、影をつける処理くらいはつけたいですね。
いつものごとくどこまでやるかは約束できませんけど。

バグ報告などはニコニコのコミュニティ掲示板(co12186)かTwitter(@kirin_nico)まで。

Filed under: ニコ動,プログラミング — kirin 20:21  Comments (0)

VoiceroidTalker 2.0.0

■ 思い余って「Voiceroid+ 民安ともえ」を購入してしまったので、VoiceroidTalkerを更新しました。 何もかもが今更ですねハイ。

VoiceroidTalker ver.2.0.0 → [ 公開ソフトウェア ]

主な変更点は 、

  1. ニコ動の仕様変更によるブラウザ共有が出来ない不具合を対策
  2. マウス操作ではなくAPIによるプログラム操作に切り替え
  3. 『残り:』ボックスをクリックすると未読コメントを消去
  4. 複数のVoiceroidを併用可能
  5. 設定を保存するようにした

です。

あと、 ※ 対応 .NET Frameworkバージョンを 2.0 → 4.0 に変更 ※ フォーカスを奪われるのは相変わらず。

■ 使用するVoiceroidを一つ、または複数選択することができます。 読み上げキャラはランダムor順番から選択できます。

1 「新着コメントを強制読み上げ」させるとかなりせわしいことになります。

Filed under: ニコ生,プログラミング — kirin 21:11  Comments (5)

NicofarreSimulator 0.2.0

■ 初版公開から随分経ちましたが、ニコファーレシミュレータ(NicofarerSimulator) の Ver.0.2.0をアップしました。 → [ 公開ソフトウェア ]

基本的な機能に変わりはありませんが、動画まわりを自前処理するようにしました。

主な変更点は 、

  1. 天井LEDのドット再現
  2. 動画素材の再生/停止/シークに対応。また、動画取り込み処理が若干軽くなった?
  3. テキストボックスへのドラッグ&ドロップ対応

です。

 

■ 1.天井LEDのドット再現

ceiling

なんとなくですが、天井LEDのスキマの開いた感じのドットを再現しました。 丸くないです。

 

2.動画素材の再生/停止/シークに対応、動画取り込み処理の高速化

vpreview

ライブラリを使用していた動画取り込み処理を自前でするようにしました。 再生/停止/シーク/ループ/音量調整 などができます。

動画取り込み処理も軽くなったかも。 (自分のところでは30fps出なかったのが出るようになりました)

 

3.テキストボックスへのファイルドラッグ&ドロップ対応

fdd

地味に便利。

Filed under: プログラミング — kirin 01:00  Comments (0)

「魔法少女志向プログラミング」のススメ

■ 9/3(土)、『プログラミング生放送勉強会@品川』(通称プロ生勉強会 #pronama) に参加してきました。

プロ生勉強会はニコニコ動画のコミュニティ『プログラミング生放送』主催の勉強会で、 内容はガチの プログラミングからゆるゆるネタまで多種多様な、非常に参加しやすい IT系勉強会です。

特徴としては、 ・基本的にジャンルフリー(IT系ならネタはなんでもOK) ・勉強会の様子はニコ生(+Ustream、ニコキャスト)で配信 ・ニコ生のコメントがプレゼン画面上に流れる(MISAOというソフトを使用) というところでしょうか。

自分は東京開催の6回全て参加しています。(東京以外でも活発に行われています)

■ 自分は前二回は30分くらいのセッションをやらせてもらいましたが、今回はLT (きっかり5分の短い発表)で参加しました。

つーわけで、発表に使用したスライドをアップしておきます。

 

 

どう見ても出オチです。本当に(ry

■ テーマは「プログラミングを知らない人が観ても面白いプログラミング配信」です。 うちの放送はプログラミングを始めると急にコメントが減るので・・・

(※ 「会話内容次第だろ」というニコ生のコメントがありました。ごもっとも。)

要は見た目が面白いプログラミング言語の紹介と、日本語っぽく書ける 言語の紹介です。一部無理やり日本語っぽく 書いてるのもあります。(C#とか)

■ あと、 「The shakespeare programming language」(SPL)という、

「プログラムコードが必ずシェイクスピアの台本のようになる、  最も美しいプログラミング言語」

というものがありまして、それを元に独自言語を作ろうと思ったんですが 案の定間に合いませんでした。 (前日、秋葉原のメイドダイニングとメイドバーで遊んでいたため)

機会があったら作ってみたいですね。

Filed under: プログラミング — kirin 01:53  Comments (0)