最近ドローンについて調べていく中で、気付いたことがあった。
ドローンの飛行制御パーツ(フライトコントローラ)は、arduinoベースのものが多いのだ。
フライトコントローラも2系統あり、もともとラジコンヘリの中のクアッドコプター向けに作られていたものと、自動制御するために用意されたものとがある。
後者がarduinoベースであり、arduinoを使うことで超音波センサやジャイロ、GPSなどの各種センサ情報を使ってモータ出力をコントロールすることができるのだ。
さらに最近ではraspberry piベースのものも出てきて、Unixの豊富な開発資源を利用しつつドローンの制御を行うことが出来るようになっている。
そうしたフライトコントローラは、フライトとは言ってもより一般化されており、ランドローバーの制御等も行えるようになっている。
要するにGPSや超音波センサなど、リアルワールドで必要とされるセンサ制御とIOをセットにしているため、汎用的なロボットコントローラとして使うことができるのだ。
開発環境も、ROSなどロボティクス全般に応用できる環境を使う。
ロボティクス関連の人がドローンに関心を抱いているのはそのためだ。ホビーとしてのドローンは、マーケットとしての価値しか無い。重要なのは自動制御であり、それを可能にしたのはプロトタイピング可能なハードウェア、つまりarduinoの存在だったということだ。
そしてarduinoはそのIDEを見れば分かる通り、Processingをベースにしている。
「クリエイターがアイデアに集中できる」「間口を広くする」という哲学はProcessingの根幹をなしており、OpenFrameworksやCinder、Arduinoはそれらにインスパイアされて開発された。
僕が最初に感銘を受けたプログラミングのアウトプットは、Processingを使ったMichael Hansmeyerのオブジェクトだった。
僕が最初に覚えたプログラミング言語もProcessingだった。
はじまりに、Processingがあった。
はじまりなのに、すでに進行中(Processing)であるという知的な遊びが、Processingの哲学なのかなと思った。
コメント