サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
デスク環境を整える
blog.livedoor.jp/k_yon
私は昔から”不気味の谷”の話を聞くたびに,それはなんか違うんじゃないか?とずっと思い続けていました.昨今ようやく,その違和感を人に伝える方法を思いついたので,書いておきます.本当は本業のほうのネタにしたかったんだけど,残念ながら周囲の情勢をそちらに動かせなかった. お約束事項なんだけど,この文章は筆者の個人的な見解を述べたものであり,所属する組織を代表する意見や公式な見解ではありません. 不気味の谷の批判 復習 ”不気味の谷”と言う言葉をご存知でしょうか?ロボットやCGの分野でよく話題に登る言葉でして,曰く,「ロボットやCGのデザインを人に近づけていくと,それにつれて人が感じる親和感が上がっていくが,あまりに近づけすぎると逆に恐怖を感じるようになる」といった現象を表した言葉です.これを図示すると,図1のようになります. 不気味の谷現象は,今から40年以上前,当時、東京工業大学の教授だった森
今月,日本のロボット業界は2度の大ニュースに上へ下への大騒ぎとなった.そして,その騒ぎは業界だけで留まらず一般の人をも驚かす事態へと発展した.Googleによるロボット企業の立て続けの買収劇である.このことについては,ニュースやWeb記事などでも取り上げられており,目にした方も多いだろう.そこでは,「ウェブに続いて現実世界を制覇するためだ」などと様々な憶測が流れている. しかし筆者の予想では,それは副次的にそうなる可能性はあるが,Googleが真に狙っているものではない.Googleが本当に狙っているのは,既存のAndroid事業で確立した,アプリ開発者とエンドユーザをGoogle Playで結ぶエコ・システムのロボットへの水平展開であると,筆者は予想する. この結論を導くためには,ロボット分野で繰り広げられて来た,ロボットで使用されるOSのデファクト・スタンダードを獲る戦いや,福島の原発
今月の未踏交流会では拡大版ロボット特集として,ロボットのデザインについて4人の専門家のトークイベントが開催される.”ロボット”とされているが,案内の詳細にも記載されているとおり,実質的には,”ヒューマノイドロボット”のデザインについて議論しようという趣旨らしい. 個人的に,これは,ヤバい.この”ヤバい”という言葉は,最近の語彙力に乏しいと言われる若者言葉の”凄い・他にない”という意味に加えて,元の意味である”危険だ”という意味も含んでいる. このトークショーに登壇する先生方とは,川田工業のNEXTAGEや産総研のHRP-4のデザインを行った園山隆輔氏,産総研でHRPシリーズの開発を行った梶田秀司氏,アニメのパイロットのようにヒューマノイドロボットを動かすソフトウェアV-Sidoを開発して世間のド肝を抜き,巨大ロボのクラタスを共同開発した吉崎航氏,そして自分そっくりのヒューマノイドロボットを
高速道路で隣りを走ってる車のホイールを見ると,逆回転してるように見えたりするよねぇ?ってつぶやいたら,「そんなことない」「映像の話だろう.あれはビデオのフレームレートが・・」「夜間のナトリウム光のストロボ効果じゃ?」と,なかなか賛同してくれる人がいませんでした. ネットで,「ホイール 逆転 錯視」で検索したら,私以外にも感じている人がいるようで,いくつかQ&Aサイトに質問があるのですが,ほとんどの回答者は,Twitterと同じように現象自体の存在に否定的だったり,カメラのサンプリング周波数やストロボ効果による折り返し雑音(エイリアシング)のせいだろうと取り合ってくれていません. 自分の勘違いだったのかなぁ?と思っていたら, @TKsTclipが賛同してくれて,論文も探してきてくれました!それは良いんだけど,実際に読んで解説するのは押しつけられた・・・.こういう,頻繁に起こる「論文は見つけた
新技術のスッパ抜きには定評のある、yonekenです。 嘘です。 先日、第31回日本ロボット学会学術講演会でNICTの杉浦さんが発表された、「非モノローグ音声合成」こと、アニメ声合成Webサービスが、深く僕の心を揺さぶったので紹介します。 そこで、妄想が妄想で終わらないのがエンジニア。NICTと言えば、21言語対応の翻訳コンニャクこと音声入出力で会話ができる音声翻訳ソフトウェア“VoiceTra”と、文字入力の翻訳ソフトウェア“TexTra”を作った組織です。妄想と技術が出会ったとき、そこに新しい未来が生まれました。 そうして生み出されたのが、このアニメ声合成Webサービスです。だと思います。 使い方は、とっても簡単。http://rospeex.ucri.jgn-x.jp/nauth_json/jsServices/VoiceTraSS というURLに対して、POSTで {"method
巷で話題の3Dプリンターを試してみました. Mac環境の3Dモデリングソフト,Inventor Fusionによる3Dモデルの作成だけで,かなりな分量になってしまったので,これだけで一本の記事とすることにしました. 3Dプリンター・・・,図面を引くだけで,あとは待っているだけで実物が出来上がるって,夢のような機械ですね♪ 3次元図面を引くソフトウェアとしては,有償で優秀なものは数多くあるのですが,適度な機能で無償のものというものが存在しないと思っていました.Google SketchUpとか正直,論外だし.特にMac環境では,有償のものを含めてもソフトウェアが存在しないという悲惨な状況・・.3D CADに限っては,環境はWindows一択ですね. そんな過酷な状況なんですが,そこにあのAutodeskが一抹の光明を差し出してくれたのが,Autodesk Inventor Fusionです!
ぱいそん ぱいそん ぱいそんそん おっ!(かけ声) どうも,こんばんは.皆さんPython好きですよね?この変態!(褒めてるつもり) それが,GPGPUによる高速並列計算と相性が良いって言われたら,そりゃもう,使うしかないじゃないですかー. とりあえず,GitとBoostとNumpyとCUDAはインストール済みですよね?常識的に. Mac OSX 10.8 (Mountain Lion)でやりました. こちらの手順そのままでイケるはずです. GitでPyCUDAのソースを持ってきーの, $ git clone http://git.tiker.net/trees/pycuda.git pycudaディレクトリの中でconfig.pyを走らせーの, $ cd pycuda $ python config.py 生成されたsiteconf.pyを,こんなかんじに編集しーの, BOOST_INC
遅ればせながら,TLで『「機械学習基礎」簡単な問題を解いて理解しよう!』という楽しそうな記事があるらしいことを知ったので,ここ数週間で急にガシガシと使うようになったPythonで解いてみる. といっても,Rによる解説が,もう上記ページに公開されているので,このPythonコードはそれをほぼポーティングしたに過ぎない. 第1問:「金貨の真贋を見分けよう」 典型的なSVMの問題. SVMのパラメータを少しいじくったら,それだけで正しい答えが得られなくなったりした.このあたり,もっと使いこなせるようになりたい. 第2問:「食べられるキノコはどれだ?」 これもSVMでできると思いきや,実際にやってみると,うまく分離されないで,安全なのに毒キノコと判断されてしまう例が出てきてしまう.ここはK-means法が正解.
パンダが好きです!パンダぱんだ. Pythonには時系列データを扱うのが得意なpandasというライブラリがあるらしいので,ぐへへ,これでアンナことやコンナことが簡単にできるんだろうナ!とか勝手に想像してテンション上げてました. 特に気になったのが,resample関数.これを使えば,30[Hz]のデータ群を簡単に20[Hz]にダウンサンプリングしたり,50[Hz]にアップサンプリングしたりできるんだろうナ!と,もうワクワクです!! from math import * from pylab import show import numpy as np import scipy as sp import pandas as pd このあたりは,いつも通り. pandasで時系列データを作ります.これは72個のサンプリング周期300[ms]のサイン関数です. rng = pd.date_ra
PDFファイルを結合する必要があるときってありますよね。Acrobatの製品版でも持ってれば楽なんでしょうけど、持ってない場合でも、ササッとTeXを書いて結合できました。 \documentclass[flegn]{article} \usepackage{pdfpages} \begin{document} \includepdf[pages=-]{doc1.pdf} \includepdf[pages=-]{doc2.pdf} \includepdf[pages=-]{doc3.pdf} \end{document} 結合するPDFのある場所で、こんなふうなTeXファイルをcom.texとかって名前で保存したら、 pdflatex com.tex というコマンドでdoc1.pdf、doc2.pdf、doc3.pdfが結合された、com.pdfが生成されます。
全部GitHubに上げてあるんだけど、あまり役に立たない説明とか。 OpenGLを使ってるプロジェクトは、ESCキーで終了できます。 sample プロジェクト LeapのSDKについてきたサンプルそのまま。 検出された手・指・ツール(Leapの中では、指以外の何か細長いモノをこう呼ぶらしい)の数とタイムスタンプと、位置をコマンドラインにずらーっと表示させるだけだったかな? axis プロジェクト 検出された手の座標を、OpenGLで表示するサンプル。 座標系が、俺好みのロボット座標系に変換されてるので注意。 vel プロジェクト 検出された手のx,y,z軸における早さを、上のaxisプロジェクトで表示したグラフィックの下に2Dのグラフで表示するサンプル。 screen プロジェクト velプロジェクトまでの流れで、次は3次元座標におけるポインティングだ!と思ったんだけど、試しに色々やって
ようやく来ましたよ!! 思い起こせば幾数月・・・。どれだけこの日を待ちわびたことか! 去年の10月には開発者への出荷が始まると、最初はアナウンスされていたのに、待てど暮らせど連絡は来ず。それどころか、Leapの開発者Wikiにおいても、Leap内部の人の書き込みしかなく、TwitterやWebを隈無く探しまわっても、誰も「手に入れた!」と言っている人がおらず・・・。期待の10月、疑惑の11月を経た後にたどり着いた結論は、「アレは超手の込んだ釣りだったんだ」。(だって、動画でLeapと画面が同時に映っているシーンってないんですよ。) その間も、Webニュースでは、ASUSがLeapを同社製のPCにバンドルすることにしただの、米国販売はBestBuyが独占契約しただのといった話が流れてはいましたが、LeapのWebサイトを実際に見ると・・・、ウソでしょ?と思うような有様でした。 そんなことだか
注:この記事は2011年11月頭に初版公開⇒お蔵入りされていたものです. ちょっと裏でKinect SDK使って,サウンドの方向を推定するのをコソコソやってたんだけど,どうもうまくいかないのでソースコード公開.みんな助けて〜 俺に分かったのは,どうやらC++の方は音声取得時にWindows Media Player(か,それに準ずるもの)を同時に起動しておく必要がありそうだということと,スピーカーのデバイスが複数ある場合はどれを使用するか指定してやる必要があるようだということ. DMO(DirectX Media Object)の説明を読みながら,DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFERを使うと,サウンドデータ用のリソースを確保しないで,音源方向推定だけのシンプルなコードにできないかなぁ??って思ったんだけど,どうもその辺りをいじると,アプリケーシ
海外の方で,「超簡単なカルマンフィルタ作ったよ!」って人がいらしたので,勉強がてら手を動かしてみました.コード中の数式を理解する前にビルドしているあたり,俺の性格を端的に現している.. 図は,青い線が正規乱数(平均: 10.0, 分散: 0.2 )で,黄線が俺愛用・自作の簡易ローパスフィルタ,オレンジ線が海外の方が作った簡易カルマンフィルタ. こうして比べてみても,カルマンフィルタの良さがさっぱりわからないゾ??と思って,通りがかりの先生に聞いたら,「カルマンフィルタはパラメータを細かく指定できるところが強みなのであって,系のパラメータ(固有振動数など)が未知な場合はローパスフィルタと変わらない.特に,ここでフィルタを適用している正規乱数は1次元だし振動していないし初期値が真値とずいぶん離れているので,カルマンフィルタの強みが出ない」だそうです.なるほど〜♪ んで,お待ちかねの全ソースコー
久々の更新は,なんと連投です.やったネ☆ みなさんはMicrosoftのKinect SDKはもう試してみましたか?? Microsoftの超技術をつぎ込んで作成された,魔法のようなライブラリの実力は・・? ・・・ガッカリしたのは私だけではないはず.期待してたのに.. まぁね.キャリブレーション姿勢なしで角度が取れるのはスゲェって思うけど,正直,精度はちゃんとキャリブレーションしてるOpenNIのほうが良いよね. そんなわけで,私はまだしばらくOpenNIでいこうかと. ってか,マルチプラットフォーム対応を標榜してるから,特定環境限定(WIndows 7のみとか)のライブラリはちょっと入れ辛い. ところで,OpenNIには各種パラメータの設定用ファイルがあって,そこをいじると精度や認識早さがぐんと上がることは,みなさんご存知でしょうか? ライブラリではけっこう分かりやすいところにどーんと書
お待たせしました。それでは今回からデアゴスティーニ出版の『週刊My Robot』の付録としてついてきた青歯基板のコマンドについて説明します。 なお、このエントリは前回の記事でハードウェアマニュアル等の紹介をしてくださった”ゆざ”さんの存在がなければ為しえなかった成果であることを特に書いておきます。ありがとうございます、ゆざさん。 11/02/11 追記 この無線機器は、総務省から技術基準適合証明を受けており、ちゃんとTELECマークをつけているので、国内での使用に問題ありません。安心してお使いください。 ところで、もしかしてBluetoothは高くて手が届かないと思っていませんか?たしかに、店でよく見るBluetoothモジュール(たとえば、BTX022B・AKC)は4,000~20,000円とそれなりのお値段がします。ところが、この週刊My Robotは一冊1,400円です。 どうです?
グレイコードとバイナリの相互変換関数を書きました。おそらく最高速. グレイコードというのは、2進表現なのに値が1変わるのに1Bitしか変わらない(つまり、2進数のときの 7:0111 -> 8:1000 というようなことがない)という不思議な数。GAとか、1Bitの情報的価値が等しいことが望ましい用途で使う。 13/01/23 追記 コメントでワタナベさんに指摘していただきましたが、今は英語版Wikipediaに載っているコードのほうが速いです。 unsigned long Binary2Gray(long b){ unsigned long tmp=0; tmp|=b; return tmp^(tmp>>1); } long Gray2Binary(unsigned long num){ long tmp=0; tmp|=num; while(num){ num>>=1; tmp^=nu
注.この文書は続き物です.前の章『仕様書!』はこちら. さて、仕様書ができると、これから本格的な開発に入るわけですが、今回、仕様書の出来があまりに良かった(利益が出そうだった)ので、会社に中に入ってもらうことにしました。 前に個人で儲けてしまったときに、年度末の確定申告がやたらめんどくさかった覚えがあるので。。知り合いがやってる会社に頼んで、会社名義でアプリを販売し、売り上げから税金を源泉徴収してもらった上で給料としてもらうという仕組みを作りました。利益配分は、グラフィッカー(兼統括) 5割、コーダー 4割、会社 1割。開発にかかった諸経費は、利益が出た場合に限り会社に請求できる。こーいう、実際に売り出すまでいくら儲かるのか検討もつかない仕事っていうのは、割合で配分すると、後からいさかいが起きにくいかなぁ、と。お金がかかる機材は必要じゃないしね。儲かったら全員が得するし、失敗しても、無駄に
この文書は,なんだか急にiPhoneアプリを作ることになってしまった人の記録です.3ヶ月もかかっているので,最速で作りたい人なんかは巷でよくある「一週間でiPhoneアプリを作る〜」とかを参考にしたほうがいいです. 一応スペックをさらしておくと, ・開発メンバーが誰もiPhone持ってないところからスタート. ・作業したのは主に2人(絵とコーディング担当)で,後に経理と品質管理に1人加わる. ・カンパニープログラム. ・みんな昼は別のお仕事がある. ・フルOpenGL.Interface Builderとか軟弱. カンパニープログラムにしちゃった以上,これ以上はちょっと書けない. 主なメニューは, 1.仕様書!(企画書!) 2.開発! 3.合宿! 4.納品! こんなかんじでいかがか.あと,その時々で考えたり,ハマったりしていたことをちょこちょこと挿入していこうと思っています. よーするに,
とり急ぎ! 本家openni.orgからたどれるgithubからソースをまるっともらってきてビルドすればいいだけなんだけど,64bit版のLinuxだと,途中で止まる可能性がある. Platform/Linux-x86/Build/Samples 下の ・NiSimpleViewer ・NiUserTracker ・NiViewer 内の Makefile 内,USED_LIBS に GL を追加.具体的には,
なぜFedoraなのかというと,カーネルもライブラリもコンパイラも最新版じゃなきゃヤダヤダ!というアーリーアダプタもとい人柱が好むのは,半年ごとにバージョンアップのあるFedoraだと相場が決まっているため. ・・ついてくの本当に大変.. さっそくOpenKinectを入れてみるわけだ.環境はFedora12(x86_64). 1.Fedoraをインストール がんばれ. 特に説明はない. 2.sudo の設定 visudo コマンド(要管理者権限)で,root (ALL)=ALL ALL とかなってるところの下に,ユーザ名 (ALL)=ALL ALL ってのを付け足す. このあたり,うろおぼえなので,自分のOSに記載されている方を信用すること. 3.開発環境を整える sudo yum groupinstall buidsys-build development-tools sudo yum
書くつもりなかったんだけどね.. 去年の夏ごろ,自分が人生に絶望したときに聞いていたVocaloid音楽集です. これらの曲のおかげで,私は精神的な生死の境でぎりぎり生の側に倒れられたのだと思います.というわけで,これらの曲は実績あり. 初めに注意しておくと,これらの音楽は,絶望した人を勇気付けるような曲ではないっす.むしろ絶望してる人に励ます言葉をかけると逆効果になる場合があるんで.. これらの曲は,どうしようもなくなって人生に絶望したときに,一線を越えてしまわないように思考をストップさせるだけです.根本的な治癒にはなりません.そりゃそうだ. 残念ながら最近の曲は入っておりません.チェックしてる暇がないっす.ごめんなさい. 『Mint Tea』 何かしなきゃいけないんだろうけど,とりあえず今は引きこもりたい.「一人にしてくれ!」というとき,部屋の隅で体育座りをしながら膝に顔を埋めてWin
まんまっすね. Interface誌2009年5月号付録のNXP-ARM-LPC2388の開発環境を作りました. えぇ.それはもう,ZUSさんの『ARM LPC2388 開発環境構築方法』にはとってもお世話になりましたってか,お前それただの丸パクリやないかって話も・・はてさて.. 【構築した環境】 ・Mac OS X (version 10.5.6 Leopard) ・ARM-USB-TINY ・Eclipse (version 3.4.2 Ganymede) ・arm-elf-gcc-4.3.2 ・openocd (version 0.1.0) ・arm-elf-gdb (version 6.8) ・Zylin Embedded CDT (version 4.5.1) おそらく,現状で手に入る最新の環境ではないかと. すっごく苦労した(丸二日ぐらい?)んだけど,後から追う人にとっちゃきっ
そんな文章を書こうと思います.実体験を交えながら. 近頃の世の中に「理系は大学院まで」という風潮があります.これ自体,私はどうかと思いますが,現実としてそうなってきていて,研究者を志望していない多くの(理系の)人たちも大学院へ行きます.特に最近は不景気で,就職をあきらめたり,より良い就職のために就職活動を”先延ばし”するために大学院へ行く人たちもいます.そして,大学院試験を受ける人たちがやたら多くなるという現象が発生中.このように,大学院試験を取り巻く状況がここ数年で激変しています.そのため,これまでと同じような,”受かって当然”という感覚で大学院試験に臨むと危険な場合が多々あり,何かの間違いでそこに陥ってしまうと,過去にそのような前例が全くないため,本人も周囲も途方に暮れてしまうといったことが現実に起こっています. そんなわけで,今日は,『最近の大学院試験にはどのように対応したらいいのか
Boostの利点の一つはソースコード互換性!なので,ハードウェアに近いところをいじっている人たちには(たぶんまだ)欠かせないシリアル通信をWindowsでもLinuxでもMacでも同一コードで実現するサンプルを,Boostで書いてみました. いやー,boost::asioでソケット通信をするドキュメントやサンプルはweb上にあふれてるんだけど,serial_portを使ったものはマトモなものが全然なくて,すっごい苦労した. 12/03/22 追記 GitHubに,実用にも耐えるサンプルを上げておきました. #include <boost/asio.hpp> #include <iostream> using namespace boost::asio; int main(int argc, char *argv[]) { if(argc != 2){ std::cerr << "Usage
Class内でだってThread使いたいわけです。 USBのポーリングとか、いちいちメインでチェックしたりしたくないわけです。 しかも、できればWindowsとLinuxでソースコードレベル互換性保てたらいいなぁとかも思うわけです。 それじゃ、書いてみようか。 そこを、今回は見えないレベルに閉じ込めることを目標としました。 スレッドからインスタンス内のメンバ関数を呼び出すことはできません。 だから、クラス内にstaticなメンバ関数を作って、一度そっちに飛ばしてからインスタンス内の関数を呼び出してもらいます。この方法ならクラス内のメンバを使用することが可能。 具体的には、クラスヘッダでこんな宣言をして、 #ifdef WIN32 HANDLE hThread; static unsigned __stdcall _CallbackProc(void*); #else pthread_t h
1.はじめに ロボット用のOSと銘打った,『ROS』というプロジェクトが発表されました.学会や展示会などでの露出も大きく,日本のロボット界には衝撃が広がっています.というのも,我が国には以前から,複雑なロボットシステムを組み上げるためのプラットフォームを開発する,『RTミドルウェア』というプロジェクトが存在するからです. 先日,ROSをざっくり理解するために,主要なページとチュートリアルのページについて翻訳しました.この過程で私が理解した,ROSとRTミドルウェアについて比較してみようと思います.なお,私はROSもRTミドルウェアも,まだ”実際の開発で使ったことはない”ので,アプリケーションの仕組みといった,仕様書で確認できるところまでの比較となっております.あらかじめご了承ください. RTミドルウェアについては,急いで調べたので間違いがある可能性もあります.その際はコメント等でご指摘・ご
なかなかWindowsからMacに環境を移行できないんですよ.. その理由の一つだったのが,ffmpeg.MP3プレーヤに動画を入れて持ち歩いたりしてるわけですが,この動画エンコードがMacだとできなかった. 普通にffmpeg単体で入れちゃうと,xvidとかh.264の動画を扱おうとするとコーデックがないって怒られる.それを指定して入れても,今度は「SBR not implemented」っていうWarningが大量に出てきてエンコードできない動画があったりする.それを解決しても,「lame: output buffer too small」って怒られて音声が正常にエンコードできなかったりする. 今日ようやくできるようになったので,やり方をメモ.複雑すぎて書いとかないと絶対忘れる.. 1.sudo port fetch ffmpeg +lame +xvid +x264 +faac Mac
こいつが上記のサイトに書いてなくてハマった。 MSXMLで作ったノード関連のオブジェクトの後処理は普通 Release(); だと思うんだけど、私の場合はエラー出た。そこでこちらさんで紹介されてたやり方(『MSXMLを使う』)より、 Node = NULL;と、NULL代入の方法に変更する。まーどっかで私のやり方が間違ってるんだろーけどさー。 書いたコード(の一部)を恥ずかしげもなくさらす。自分がネット上を探してるときに、他の人のコードがとてもありがたかったから。例外処理は_com_errorで受ける。 MSXML2::IXMLDOMDocument2Ptr pDoc; MSXML2::IXMLDOMElementPtr pRoot; try{ pDoc.CreateInstance(MSXML2::CLSID_DOMDocument); pDoc->put_async(VARIANT_F
次のページ
このページを最初にブックマークしてみませんか?
『blog.livedoor.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く