The history of Aqua-tan

The history of Aqua-tan

どうも,omznこと本家あくあたん飼育員です.

最近はあくあたん工房なんてものができていて,アドベントカレンダーをやるってことなので,5日目を頂きました.
このブログはあくあたん工房Advent calendarの5日目です.

はじめに

あくあたんは概念です.

年表

あくあたんの歴史を整理しておきましょう.

  • 2009年9月 omznがKITにやってくる.
  • 2009年10月 前ラボの学生有志が選別に60cm水槽を送ってくれる.
  • 2009年12月 流木水槽(現在の第三水槽)のアクアテラリウムが立ち上がる.コンセプトは「盆栽」.アカヒレとかスジエビとか.
  • 2010年ごろ LEGO MindStorms RCXを4セットもらったので,水槽監視ロボット初号機が試作されるが,あまりのできの悪さに失敗とされる.また,LinuxサーバとUSB-IO(懐かしい…)を使った温度計測回路の組み合わせによる水温測定や照明点灯制御が始まる.ちなみにこの時点では電子回路の知識は無く,書籍の回路を真似ているだけであった.

  • 2010年 前ラボで放棄された60水槽を回収し,イモリ水槽が立ち上がる.

  • 2011年ごろ sel_aquariumのアカウントを取得.水槽のデータをポツポツ呟くだけのbotが誕生する.
  • 2012年3月-2013年1月 omznがカナダに行く. この間,イモリ水槽は学生部屋に移され,流木水槽はリセットされる.イモリは1匹にまで減るものの,ラボ民ではない一学生(Sさん)のおかげで生き延びる.また,この年は学生配属も無かったため,2012年以前と以後を繋ぐ人材がいなくなった.これぞ,そふらぼ版KT境界である.
  • 2013年3月 帰国後,再び流木水槽を立ち上げ,あらたに水槽を買い増し,三水槽体制で水槽を管理することになる.
  • 2013年4月 この年の後期に立ち上がる組み込み実験の担当者に無理矢理される.組み込みの知識0から,「こるてっくす使ってLCD動かしてや〜」みたいな無茶ぶりをされて,失踪しようかと思った.
  • 2013年5月 再度Mind Storms RCXで水槽監視ロボット弐号機が製作される.赤外線通信でLinuxとデータをやりとりでき,現在の参号機の原形であった.

  • 2013年5月11日 これを制御するための仕組みをTwitter制御で行うことを考案し,休眠していたsel_aquariumのbotとして実装される.


  • 2013年8月 10月から組み込み実験が始まるのに,まだ何も準備ができてないので焦ってくる.秋月のLCDモジュールは動かないし,いらいらが募る.気晴らしにbotのマルコフ連鎖データベース用にタイムラインの保存を始める.これが2013年8月15日である.
  • 2013年8月18日 マルコフ連鎖で会話botになったと告知する.


  • 2013年8月26日 イモリの頭にタニシが乗った場面が偶然写真に収められる.



  • 2013年8月29日 みなが話しかけてくるのでデータがどんどん溜まる.2週間でこんな煽りティを発揮している.


  • 2013年9月 急に組み込み実験の機材が完成していく.某研究室の技術開発力と●●●●力を垣間見る.こっちはやっとPWMが分かった.
  • botのマルコフ連鎖が完成したので,とうとう雑談を始めた.
  • botアカウントに名前を付けた方が良かろうと考え,omznの世代はbotに「〜たん」という名前を付けるという不文律があるため,安直に「あくあたん」と名付けられる.プロフ画像は前述のイモリの頭にタニシの写真になる.
  • 2013年11月 組み込み実験が1クール回ったので,大体様子が掴めた.これまでに得た知識と技術を流用し,ここから半年の間に水槽の監視システムの原形がほぼできあがる.この時点でのものは,2018年現在運用されているものと殆ど変わらない.
  • 2013年12月 Raspberry Piについてしっかり調べる.昔やってたことがコンパクトに実現できることが分かったので,俄然やる気が湧く.さっそくRSコンポーネンツから購入して,水槽監視ロボット参号機を作り始める.


  • 2014年4月 「あくあたん」のフォロワーが増え始める.
  • きちゃむらがあくあたんデビュー.1000連続ツイートは見る者を青ざめさせた.
  • 2014年8月 あくあたんシステムをまとめて「みんなのラズパイコンテスト」に応募する.
  • 2014年12月 あくあたんシステムが「みんなのラズパイコンテスト」グランプリ受賞.
  • 2015年2月25日 あくあたん古参フォロワーの1人(Mさん)がそふらぼのホワイトボードにあくあたんキャラクターの落書きをする.


  • 2015年3月6日 落書きのキャラクターをスキャンし,SVGに変換した後,平面モデリングされ,3Dプリントされる.


  • 2015年3月11日 さらに立体化されたモデルが作られ,あくあたんフィギュアの初期モデルが誕生する.


  • フィギュアが大量生産される.


  • 2015年4月 日経Linuxにあくあたんの記事が載る。
  • 2015年6月ごろ せっかく作ったフィギュアの活用法を考えた結果,そふらぼ民全員にBLEビーコンを内蔵させて配布することになる.同時にRPG風在室管理が完成し,運用が開始される.システム名は「あくあたんといっしょ」.
  • 2015年8月 「あくあたんといっしょ」を「みんなのラズパイコンテスト2015」に応募.その後10月に優秀賞受賞.

  • 2016年 ぷりんがあくあたんの確率を変動させたとしか思えない事件.このころはまだそふらぼに来るなんて考えてもいなかったのにな…




  • あくあたんによるD進サブリミナル作戦が発動する.
  • 2017年3月 国際会議IWESEP2017であくあたんを使った研究を発表する.
  • 2018年 ねこくんをD進させることに成功し,あくあたんによるD進サブリミナル作戦が有効であることが確認される.
  • 2018年 あくあたん工房ができる。
  • 2018年 大学案内2019にて,あくあたんシステムが情報工学のページに一番大きな写真で掲載される.

技術的なこと

  • 特に無し.

最後に

「あくあたん」と名付けられてから,まだ5年.あのフィギュアができてからまだ3年しか経っていないことに,この記事を書いてて気づきました.
これからも,概念としてのあくあたんをよろしくお願いします.
ついでに,あくあたん工房もよろしくお願いします.
そうそう,そふらぼは来る者は拒まずですので,いつでも相談に乗ります.(何の?)

(日本語) Net::Twitter::Liteでのupdate_media

Sorry, this entry is only available in Japanese. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

難しかった.

Net::Twitterで,update_with_media(media[])を長らく使っていたけど,これはもうdeprecatedなので,今回のstream廃止と同時に使わないようにしようと思った.

upload(media) → update() で行けるはずなのだけど,Net::Twitterのドキュメントみても”media”が何なのかがよく分からない.

Net::Twitter::Liteだと,これは upload_media(media[])となっている.これなら今までと同じなので,使える.

$tw->{status} = $s;
$tw->{media} = [undef,$fname, Content_Type => $ftype, Content => $image];
$nt->update_with_media($tw);

みたいなのを,

$tw->{status} = $s;
$tw->{media} = [undef,$fname, Content_Type => $ftype, Content => $image];
$img = $nt->upload_media($tw);
$tw->{media_ids} = $img->{media_id};
$nt->update_with_media($tw);

としたら,update_with_mediaがHTTP::Messageのエラーを吐く.

$tw->{status} = $s;
$tw->{media} = [undef,$fname, Content_Type => $ftype, Content => $image];
$img = $nt->upload_media($tw);
$tw->{media_ids} = $img->{media_id};
$tw->{media} = undef;
$nt->update_with_media($tw);

で動いた.横着せずに$twと生のイメージを分離しておくべきだった,ってこと.

Getting Text from LaTeX without line breaks

Getting Text from LaTeX without line breaks

Sorry, this entry is only available in Japanese. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

LaTeX文書からテキストを抜き出したい場面は結構あります.(私は主に英文校正に出す時ですが,世の中にはWord文書でしか受け付けてくれない○○なジャーナルとかあったりするので,Wordへの流し込みをするときにも必要ですね…) それを可能な限り手出しする量を減らしたい場合にどうすれば良いかのメモです.

pdftotextを使う

xpdfに付属するpdftotextを使います.Macなら,

$ port install xpdf-japanese

で一発です.

使い方ですが

$ pdftotext submit.pdf

とすれば,submit.txtにテキストが保存されます.
改ページ(^L)がいくつか残るのと,itemizeのポチが文字化けすることを除けば,テキスト自体の変換効率はとても高く,ほとんどそのまま使えます.

追記

xpdf には pdftotext が付属しなくなっていた.
替わりにxpdf派生プロジェクトのpopplerをインストールすればよい.

$ port install poppler

おわり.

あくあたん水槽監視・制御ユニット

あくあたん水槽監視・制御ユニット

IMG_7726こちらは2つめのRaspberry Piです.水槽や環境の状態をモニタして,照明・ファンの制御を行う部分です.センサーには温度センサーDS18B20が4基,大気圧センサMPL115A2が1基,湿度センサDHT11が1基搭載されています.また,MOSFETで3基の冷却ファンを制御し,ACリレーで3基のAC電源を制御できます.

IMG_7739裏側から,Raspberry Piを外した状態はこんな感じ.ad-hocに回路を追加してしまったので,きれいな基板ではありません.もっと小さい面積に詰められたはずなんですが…

あくあたん弐号機 (Raspberry Pi版)

あくあたん弐号機 (Raspberry Pi版)

IMG_7785あくあたん弐号機義体部はRaspberry Piで制御する移動型カメラ台+自動給餌器です.左側がUSBカメラ2基(広角+赤外線)で,この部分は上下動も可能です.

左右への移動はタイヤで行います.上下左右の動力にはLEGOの旧型モーターを2基使い,DRV8830によって制御しています.モーターの定格を遙かに下回る電圧しか与えられませんが,思いの外さくさく動きます.
Keep reading →