Hatena::ブログ(Diary)

ちくたく このページをアンテナに追加

2014-09-05

Cylonが熱い

node.jsで作成されたロボット用のフレームワークCylon」。よくできてるなぁ。ちょっと使ってみる。

node.jsロボットドローンガジェットが簡単に制御できる。よくできているなぁ。マルチのデバイスに対応できるように作られているので、拡張性がかなり高い。ライセンスがAPL2.0というのが面倒(知財放棄の点)だが、まぁ、よしとしよう。

githubに移動して、ソースを読みあさる。面白そうなところをピックアップ。


■マルチボット対応

skynetのサンプルから

Cylonは複数のロボットインスタンスを埋め込めるわけね。

Cylon.robot(skynetBot0);

Cylon.robot(skynetBot1);

■LeapMotion対応

cattoyのサンプルから。

皆、LeapMotion好きだなぁ。

connections: [

{ name: 'leapmotion', adaptor: 'leapmotion', port: '127.0.0.1:6437' }

],}

devices: [

{name: 'leapmotion', driver: 'leapmotion', connection: 'leapmotion'}

],

my.leapmotion.on('hand', function(hand) {

my['x'] = hand.palmX.fromScale(-300, 300).toScale(30, 150);

my['z'] = hand.palmZ.fromScale(-300, 300).toScale(30, 150);

});

Bluetooth対応

Spheroのサンプルから。

動かすデバイス毎に繋ぐ手段をadaptorとして実装できる。SpheroはBluetoothに対応。

var bots = [

{ port: '/dev/rfcomm0', name: 'Thelma' },

{ port: '/dev/rfcomm1', name: 'Louise' },

{ port: '/dev/rfcomm2', name: 'Grace' },

{ port: '/dev/rfcomm3', name: 'Ada' }

];

USB対応

Crazyflieのサンプルから。

Crazyflieはオープンハード、ソースの小型のドローン

これはUSBに差すドングルと通信している。

port: "radio://1/10/250KPS"

デバイス毎にメソッド追加

disparkのサンプルから。

デバイス毎にメソッドを追加できる。

return my.led.toggle();

ネットワーク対応

helloのサンプルから。

ネットワークループバックとかもadaptorで作れる。機能はdriverにマッピング

connection: { name: 'loopback', adaptor: 'loopback' },

device: { name: 'ping', driver: 'ping' },

leap_ardroneのサンプルから。

普通にネットワークも使えるadaptorがあるということ。カスタマイズすれば使えそう。

{ name: 'leapmotion', adaptor: 'leapmotion', port: '127.0.0.1:6437' },

{ name: 'ardrone', adaptor: 'ardrone', port: '192.168.1.1' },

Arduino対応

leap_arduinoのサンプルから。

leapmotionみたいなUIArduinoみたいなデバイスを同じレベルで扱えるところが面白い。すべては同じ思想。

connections: [{ name: 'leapmotion', adaptor: 'leapmotion', port: '127.0.0.1:6437' },

{ name: 'arduino', adaptor: 'firmata', port: '/dev/ttyACM0' }],

devices: [{ name: 'leapmotion', driver: 'leapmotion', connection: 'leapmotion' },

{ name: 'led', driver: 'led', pin: 13, connection: 'arduino' }],

API

roboto_commandsのサンプルから。

Cylon.api();

・・・

commands: function() {

return {

say_relax: this.sayRelax

};

sphero-pebble-sfのサンプルから。

これでWeb経由でアクセスできるらしい。

Cylon.api({ host: '0.0.0.0', port: '8080' });


Salesforce対応

salsforceのサンプルから。

sf-spheroのサンプルから。

Salesforceの何とつなぐんだろう?

device: { name: 'salesforce', driver: 'force' },


テンプレート

masterのサンプル。

これはテンプレートです。


タイマライブラリ

使いやすそう。

every(100, function() {});

after(10.seconds(), function() {});

2013-02-26

4つの開発

お客様にどんな商材を届ければよいか悩んでいる技術者はたくさんいると思う。シーズではなくニーズでものごとをとらえないといけない、確かにそうだがどうやってやればよいのか。

体系だてて考えるためのヒントとなる記事があったので、その感想を述べたいと思う。

日本の家電・脱負け組への処方箋、未来はバックステップでつくれ

http://techon.nikkeibp.co.jp/article/COLUMN/20130204/264051/?ST=observer&P=1

パナソニックB2Bへ手を広げようとしているのは、B2CがだめだからB2Bへ移行するのではなく、お客様のニーズを聞き出す間口をB2Cに加え、B2Bに広げたと捕らえるのがよいと思う。B2Cでお客様の困りごとを解決してきたように、B2Bでもお客様の困りごとを解決することでビジネスのチャンスを広げるという試みである。

しかし、CESの発表にもあったが、日本メーカ発の情報としては4K2Kに関するものばかりであった。4K2Kで新しいビジネスを作り出そうとしてるメーカの意向はわかるが、本当にお客様は4K2Kを求めているのだろうか。

記事内ではこのような今の日本メーカの取組み姿勢に疑問を呈している。

技術力を基にしたB2Bビジネスへの進出やB2Cではこれまでの製品の性能アップに終始し、これまでにない新しいビジネスはなかなか出てこない

ではどうすべきか。記事は以下のように提唱している

1.問題開発

2.技術開発

3.環境開発

4.認知開発

日本メーカは2にばかり注力してきたが、新しいサービスや商品は1,3、4で創出される。ここで言う、新しい商品とは利便性を知ってしまうと、もう元に戻れなくなるような商品やサービスのことである。

これまでの流れを見ても問題開発さえできれば、アジア各国のメーカは技術力を駆使して、問題開発により導き出された商品と同等のものを簡単に作り上げることができる。iPhoneがよい例だ。iPhoneがヒットすると同時に中国メーカはこぞってiPhoneチックなデバイスをあっという間に作り上げた。Googleの検索機能、オープンソース、ハードの進化により、各国・各人の技術的参入障壁は下がり、誰でも何でも作り上げることができるようになっている。

つまり、問題開発により誰も見つけていないものを見つけ出し、技術開発をしながら、環境開発、認知開発に繋がることを推し進めるといのが一つの解である。

しかし、企業で勤めるものならよくわかるが、1から4を論理立てて説明できたとしても「総論賛成各論反対」で何もできずにつぶされることが多々ある。「総論賛成各論反対」を乗り越えるために必要なのが、ビジョンと情熱である。記事内では「ロジックパッション」で乗り切れと提唱されている。

政治の世界でも「大阪都構想」「TPP参加」など様々な問題があるが、全て共通するのは「総論賛成各論反対」が敵であることである。橋本さんや安倍さんがどうやってこれらを乗り切るか。「ロジックパッション」で乗り切り、我々によい例を示してくれるに違いない。

2010-06-10

iPhone4は何を創出するのか?

6/8のWWDCでAppleはiPhone4の発表を行った。これまでAppleは新しい何かを創出し続けてきた。例えば、iPodは新しい音楽の購入方法を創出し、iPhoneはモバイルにおける新しいユーザ体験を創出し、iPhoneOS(+AppStore)はアプリ開発者とAppleのウィン-ウィンの関係を創出し、iPadはPCとモバイルの間への参入という新規事業を創出した。後付けにしてもこれだけ創出していることはすごい。

ここまでくれば、我々が興味があるのは、「iPhone4は何を創出するのか?」である。

今回のジョブズのiPhone4に関する発表の趣旨は以下。

  • デバイスの進化
  • iOSの進化
  • iPhone登場における効果(ブラウザ利用シーン拡大、ベンダとアプリ開発者のエコシステム(AppStore)の構築)
  • Appleが考えるPF(Flashはずしの正当性を言うための蛇足)
  • 様々な用途を持つアプリの登場

ちょっと、待てよ。iPhone4は何を創出するのだろうか。

デバイスやiOSの機能進化により、新しいアプリやサービスを世の中のアプリ開発者が産み出すことができる可能性があることはよく理解できた。

しかし、今までのAppleの商品と比べると何が創出されたのかがよくわからない。

今まで通り、売り出されてみないと何が創出されたのかは我々一般人にはわからないのであろうか?もしかしたらApple自体も分かっていないのかもしれない・・・

つまり、Appleはもう何も創出しなくていいのではないだろうか。新しい何かを創出するのはAppleのエコシステム(AppStore)に生息する世界中にちらばったアプリ開発者たちなのかもしれない。

Appleは、AppStoreのというApple-開発者-ユーザがウィン−ウィンの関係を築けるエコシステムを創出している。あとはこのエコシステムを如何に活性化させるかのみを考えれば、自然と儲けにつながるということである。

iPhone4は何も創出しない。Appleが狙っているのはエコシステムの活性化である。

と考えると、Appleがエコシステムの活性化のためにやることは明確になる。質の変化と量の変化を引き起こすことになる。

質の変化はiOSの進化。iAddやGameCenter。

量の変化はiPadの登場。iPhoneを大きくしただけにすぎないデバイスだが、リビング向けにターゲットを絞っているので、用途は山のように考えられる。

質や量の変化に感化されたアプリ開発者たちがさらなるエコシステムの活性化に向け、アイデアをひねり出してくれる。

恐るべし。Appleのエコシステム。

2010-06-07

Apple製品がFlashを採用しない最大の理由は「最大公約数」

AppleのホームページにFlashを排除する理由が記載されている。

http://www.apple.com/hotnews/thoughts-on-flash/

排除する理由としては、オープンでない、セキュリティに問題、消費電力が多いなどがあることが述べてられているが、その中でも、最大の理由としてあげられているのが、Flashがクロスプラットフォームであること。これはプラットフォームを提供する側の意見としては至極当然である。

AppleはFlashだけでなく、VM(Virtual Machine)をiPhoneなどのデバイスにアプリとして登録することを許可していない。このことからも、Flashだけを追い出そうとしているわけではないことはわかる。

クロスプラットフォームとは、どの端末でも動くアプリを実現するプラットフォームのことだ。例えば、Flashで作ったアプリはPCでも動くし、携帯電話などのデバイスでも動いてきた。

もう少し詳しくFlashが動くデバイスを考えてみる。

  1. PC
  2. 携帯電話
  3. スマートフォン(iPhone、Androidなど)

更に、上記デバイスは搭載するアプリPFによって分類できる。

  1. ブラウザ
  2. iPhone、AndroidなどのアプリPF

これら全てで動作する環境とはどういうものか。それがクロスプラットフォーム。

クロスプラットフォームを使うことによるメリットは以下である。

  • 作ったアプリはどの環境でも動く
  • 一つのプラットフォームの知識があれば、どの環境でもアプリを動作させることができる

なるほど、開発者にとっては、クロスプラットフォームを使えば、一つのプラットフォームの知識さえあればたくさんの環境に対応でき、開発効率もあげることが可能になるだろう。

ではデメリットは?

  • どの環境でも動く機能しか使えない

つまり、全てのプラットフォームの「最大公約数」の機能しか持ち合わせないことがクロスプラットフォームの最大のデメリットとなる。これがAppleのFlash排除の最大の理由である。

Appleの言うことももっともである。Cocoaの機能をフルに使って、アプリを作ってもらいたいが、Flashなどのクロスプラットフォームが存在してしまえば、それが阻害される。

このような理由により、「最大公約数」を許さないAppleはFlashを排除する訳である。

屁理屈もこれだけロジカルにされると、納得してしまいそうになる・・・

2010-02-17

GoogleはOSとCPUを無効化する(3)

GoogleはOSとCPUを無効化してしたいことはOS、CPだけでなく、セット、サービスの開発をレッドオーシャンに導き、それらの価値をなくしてしまうこと。ちなみにデバイスはすでにレッドオーシャン。

このような状態ができあがると誰がうれしいか。そう、Google。つまりGoogleは一人勝ちを狙っている。全てのレイヤを競争に巻き込み、自分達の付加価値を更に強大にさせることが最大の目的。

Googleがまだ狙えていないのがSNSやCGM。このあたりを握れていないのがGoogleの最大の悩み。Googleは人力検索を買収した。これはSNSやCGMへの進出の布石だとも考えられる。また、SNSに関してはGoogleはOpenSocialなる標準化を唱え、SNS自体の無効化を画策している。

Googleという会社は恐ろしい。様々なレイヤをあらしまくって、自分達だけ勝ちきろうという魂胆が見え隠れしている。このままGoogleにいいようにされないためには何をすべきか。