C#の連載が終わり、今度はlinuxかコラムの連載のどちらがいいかな、とFBで相談したところ、両方ともニーズがあるので、会社にいるときはRaspberry Piのlinuxでのモーターを動かすうんちくを、出張とか実機触れない事情があるときはコラムにすることにしました。
Raspberry Piを手に入れてみましたが、自分用のが昨日来たばかりなので、今日はさすがに書けませんから、コラムです。
Raspberry Piとは何か
実は私もまだちゃんとは触ってないので、よく知らないのが今日のところです。
公式サイト(英語ページ)を眺めていると、それなりのことができそうです。
手に入れたのは、Raspberry PiのType B 512MBというものです。
カメラも使えるよと5月にRSコンポーネンツのMさん達が私を誘惑してたので、カメラも今回ぽちっとなしました。
カメラはあさって届く予定。
楽しみです。
昨日届いたRaspberryPiをいじくりまわしながら妄想してたのが(ほんとに火も入れずにケースに入れていじくりまわしただけ)、Linuxだから、ちょっと賢い脳みそっぽいことをさせたいなぁと言うことでした。
構想は大体まとまってきてはいるので、モータを動かして、カメラも使えて、ロボットになってLinuxならではの面白いことをしてみたいなとおもいます。
タイトルのとおり、ロボットにもAIを~ということで、PCに手足が生えたものがロボットですから、マイコンレベルのものでは作りにくい知的な振る舞いができるロボットにしたいものですね。
まずは、基本的なことを一通り触ってみて、C#の連載でもやっていたロボット用サーボを動かすところから始めてみようかとおもいます。
Raspberry Piと書くのは長いので、RPiと書いてる文献が多いようです。(公式のマニュアルにもRPiで書いてあります。)この連載でもRaspberry PiのことをRPiと書くことにします。
そんなこんなで、Linuxについてから。
Linuxとは皆さんご存知のUNIX OSの一種です。
UNIX自体はいろんな派生があり、その中でもLinuxはさらに派生がいっぱいでています。RSコンポーネンツで販売しているRPi専用のものもLinuxの派生だとおもいます。まだ詳しく触ってないのでわかりませんが、オンボードのI/Oが触れるようにしてあるバージョンのようです。(通常のLinuxではこのあたりのI/Oが触れるようにはカスタマイズされていないので、必要なモジュールを組み込んでカーネルコンパイルして作ります。モノによってはデバイスドライバがいるときもあります。)
私とUNIXの出会いは、大学3年のとき、研究室配属からです。
今を遡ること20年以上前のお話。
私の学生時代は1989~1993までですから、Windows95が出る前です。
当時の思い出話とかはじめるとババくさいので、あまり話したくはないのだけど、linuxは学生時代にできたので、事始めを書くにはちょうどよかったりする世代です。
RoboCupがはじまったころ(1997年ごろ)は私の中ではFreeBSD全盛期でした。
当時、Pentium 100MHzをなんと早いCPUかとおもったものですが、今ではRPiの足元にもおよびません。orz
私は小型リーグに参加していたので、画像処理、戦略等々をFreeBSD上で作っておりました。
昔は小型リーグの画像処理は各チームで書いていたので、320×240の16ビット画像を30fpsで処理するスピードを出すアルゴリズムに腐心したものです。そういえば、スピードを出すにはいろんな処理を止めることも必要で、そのためにカーネルも自分でコンパイルしてたのをふと思い出しました…。
#今は画像処理サーバーが配信してくれるので、画像処理は作らなくてもよいです。
当時はOpen CVもWEBカメラも簡単には手に入らなかった時代ですから、普通のビデオカメラからビデオボードで取り込み、といろんな工夫が満載でした。(やりたい放題ともいう)
でも便利なものがあれば使うのが人情です。
なければ作るのが私の世代のプログラマの特徴ではないでしょうか。
せっかくRPiでもカメラを買ったのでOpenCVもちょっとやってみたいですよね。
そんなこんなで私自身はBSD系育ちなので、実はあまりlinuxには詳しくはないのですが、LinuxもRedhatだのDebianだのUbuntuだのCentOSだのチョコチョコとシステム管理者としてかじらせていただきましたし、同じUNIXの系列ですし、SystemVも使ってたし、何よりvi(ブイアイと読みます。UNIXの基本エディタです。)が使えるのでそれほどLinuxも苦になりません。きっとRaspberry Piもなんとかなることでしょう。
ここで、BSDだSystemVだとか古いことを書いてみましたが、若い人にはLinux以外は何のことやらという感じではないかと思います。
今の時代にviとか言ってる時点でアウトとか言う人もいるかもしれません。
#viはあとで使うので、いろいろ書くと思います。
タイトルでにやっとしてくれた人、ネタつめてあるのがわかってくれたらうれしいです。
アールティのお客様は、マニアなご興味をお持ちの方が多いとはいえ、ここまでマニアックになりすぎずにマニアな方にもニヤリとできるような話しが書けるといいなと思います。最近は社長業が多いので、あまり開発はしてませんから、ガチに近い+古いテクニックかもしれませんが、温故知新でお楽しみくださいませ。
長い連載になりそうですので気長にお付き合いくださいませ。