発売中の書籍『自律走行ロボットカーを作る グラフィカル言語でFPGAプログラミング』(関連サイト:Amazon)は、自分で構成をプログラムできる集積回路のFPGAを使って、タイトル通りに自律走行ロボットカーを作るというもの。
目の前をラジコンカーが走っている――何でもない光景だが、操縦する人がなく、さらに障害物を避けて走っているとなるとどうだろう?
■個人でも作れるようになったロボットカー
生活を支援するロボットというと、iRobot社のロボット掃除機『ルンバ』や、ペットの役割をするアザラシ型の癒しロボット『パロ』(大和ハウス工業)など、目的に特化し機能を限定したものが思い浮かぶだろう。
支援という意味で自動車の世界に目を向けると、富士重工業の『EyeSight』では、ステレオカメラを使用して衝突を回避するシステムをルームミラーに搭載したり、また白線検知をしてレーンから外れないようにドライバーに警告音を発したりする装置も実用化されている。
さらには、AR(拡張現実)技術を応用し、ドライバーがフロントガラス越しに見る風景に、コンピュータグラフィックス画像を重ね合わせるナビゲーションシステム『サイバーナビ AVIC-VH99HUD』(パイオニア)なども登場している。
しかし、これらの技術は企業が製品に反映するものであって、個人で作れるものとは思ってもみなかった。
コンピュータの計算処理能力が飛躍的に高まったため、一般家庭にあるPCを使って、ふつうに手に入るソフトウェアやハードウェアを使って、自律的に障害物を回避するロボットカーの作成が可能になったのだ。
ロボットカーの作成に必要なハードウェアは、ラジコンカーのシャーシ、レーザーレンジファインダ、FPGA搭載のマイコンボード(シングルボードRIO)などで、半田付けはほとんど必要なし。これなら、ハードウェアのスキルは、問題なさそうだ。
ラジコンカーの車体(シャーシ)。 |
レーザーレンジファインダ。 |
シングルボードRIO。 |
完成したロボットカー。 |
■入門者でも挑戦できるグラフィカル言語によるプログラミング
それでは、ソフトウェアのスキルはどうか? ロボットのプログラミングで一般的に使用されているC言語は、素人がいきなり挑戦するには敷居が高い。
自律走行ロボットカーのプログラミングに使用されているソフトウェアは日本ナショナルインスツルメンツの『LabVIEW』。LabVIEWはレゴ マインドストームにも使われているグラフィカル言語で、ツールが揃っていて、プログラミングの敷居が低い。
LabVIEWでは、フロントパネルとブロックダイアグラムを使ってプログラミングする。まず、パレットから必要なノブやスイッチを選んでフロントパネルに配置する。次に、ブロックダイアグラムでパーツ同士を配線する。これだけで、プログラムは完成だ。
フロントパネル(左)とブロックダイアグラム(右)。 |
パレットの例(1)。 |
パレットの例(2)。 |
プログラムの実行結果を見るには、フロントパネルで[実行]ボタンを押す。フロントパネルでノブやスイッチを操作して再度[実行]ボタンを押すと、変更した内容で、実行結果が確認できる。ここまで、すべてマウス操作である。
完成例:main.viフロントパネル。 |
完成例:main.viブロックダイアグラム。 |
さあ、自律走行ロボットカー作りに挑戦してみようか。
自律走行ロボットカーを作る グラフィカル言語でFPGAプログラミング(関連サイト:Amazon)
長野達朗、岡田一成、スワロー ケーシー、天沼千鶴、塩原愛 著
B5変型、224ページ、2100円(税込)
アスキー・メディアワークス刊
ISBN978-4-04-886775-7
書籍『自律走行ロボットカーを作る』の著書のみなさん |
左から、スワローさん、天沼さん、長野さん、塩原さん、岡田さん。 |
筆者プロフィール:長野 達朗(ながの たつろう)
株式会社プライア代表取締役。1973年、東京都生まれ。
ワシントン州立大学大学院にて博士号(物理学)を取得後、日本ナショナルインスツルメンツ株式会社に入社。
営業所長、LabVIEWの戦略マーケティングを経て独立。2012年に株式会社プライアを設立、社長に就任。
組織・グループの問題解決力の向上を支援すべく、会議やプレゼンテーションのコンサルティングを行う。独自の科学的アプローチを用いた会議支援ソフトウェアMeeting Minutes Editorは、多岐に渡る業界で受け入れられている。
別事業として、カーロボティクス研究にも携わり、製品開発も手掛ける。
●関連サイト
株式会社プライア
週刊アスキーの最新情報を購読しよう
本記事はアフィリエイトプログラムによる収益を得ている場合があります