広島工業大学紀要教育編
第 8 巻（2009）pp.19-22

論文

自律移動ロボットプログラミング教育システムの開発
里信純＊・西本澄＊・和泉真澄＊・越智秋雄＊・松岡泰弘＊（平成 20 年 10 月 31 日受理）

Development of a Programming Practice System Using
an Autonomous Mobile Robot
Jun SATONOBU, Kiyoshi NISHIMOTO, Masumi IZUMI, Akio OCHI and Yasuhiro MATSUOKA（Received Oct. 31, 2008）

Abstract
This paper presents a programming practice system using an autonomous mobilerobot. The system consists of a modified single-seat electric cart with an onboard
computer, a distributed computer system for controlling and communicating the robot
and terminal computers on LAN. The control program running on the distributed
computer system was developed for students to make application programs easy tooperate the steering, the accelerator, and the brake of the robot.

Keywords: mobile robot, computer programming, LAN, onboard computer

プログラミング実習システムの開発を行った。

1．はじめに
知能機械工学科では，従来の機械工学をベースとしたメ

2．システムの構成

カ技術に，電気・電子，情報技術をベースとした知能化技

開発した実習システムは，車両，制御コンピュータ，実術を融合させることにより生み出される「人と環境に優し習端末からなる。図 1 に車両の写真を，表 1 に仕様をそれい学習型・自律型メカを創製する」技術者の育成を目指しぞれ示す 1）。車両は一人乗り電動カートを改造したもので，ている。このような「知的メカ」の実現にコンピュータ技

最高速度は 7.5 km/h 程度である。車両にもオンボードコ術が果たす役割は大きく，ハードウエア，ソフトウエア技

ンピュータ（車載コンピュータ）が搭載されており，制御術を，相互の結びつきを含めてバランス良く教育すること

コンピュータから無線により指令を受け取ると，ステアリが求められている。

ング，アクセル，ブレーキの各レベルを自動制御するとと

近年，特にロボット技術に興味を持つ学生が多いが，コもに，各種センサデータやドライバが操作を行った場合にンピュータ技術がロボット制御に不可欠な技術であることは，それらのレベルを制御コンピュータに無線送信する。

を学生が実感できる場が少なく，特にプログラミングに対

表 2 に車載コンピュータの主な仕様を，図 2 に車両におけるセンサ等の構成とデータの流れをそれぞれ示す。車載して苦手意識を持つ学生も多い。
このような背景から筆者らは， 自分の作成したプログ

コンピュータのプログラムは ROM 化されており，車両のを学生が実体験できるような電源投入後，直ちに動作する。この ROM 化されたプログ

教育ツールとして，車輪型自律移動ロボットを題材にした

ラムは，ステアリングを目標レベルに維持するフィードバ

ラムにより機械が動くこと* 広島工業大学工学部知能機械工学科―19―里信

純・西本澄・和泉真澄・越智秋雄・松岡泰弘

表 1 車両の仕様

ック制御や，センサデータの送信などからなっているが，通常，これらのプログラムを実習中の学生が意識する必要はない。
環境認識用のセンサとしては，現在までのところ，障害物までの距離を検知するための 8 つの超音波センサと車両前方を撮影する CCD カメラ，ドライバの音声を収録するマイクを搭載しており，これらのセンシングデータも制御コンピュータへ無線送信される仕組みとなっている。最終
的に車両は制御コンピュータから全くの無線制御状態となっているが，電波の出力レベルなどの限界から，動作範囲は制御コンピュータから約 10 m 以内である。
図 3 に制御コンピュータと実習端末のコンピュータ構成を示す。制御コンピュータは，Linux ベース（車両操作・共有メモリ制御コンピュータ，音声認識コンピュータ）とWindows ベース（画像処理コンピュータ）が混在して構築されており，LAN によりデータ通信を行っている。ま表 2 車載コンピュータの仕様

た実習端末は Windows ベースのコンピュータで，制御コンピュータとも同様に LAN 接続されている。実習端末からは VNC（Virtual Network Computing）のビューアなどを用いて制御コンピュータを遠隔操作できる。

図 1 車両の写真―20―

自律移動ロボットプログラミング教育システムの開発

学生は，ハードウエアの制御を意識することなく，共有メモリへの入出力だけでセンサデータを取得し，ステアリング，アクセル，ブレーキを動作させるプログラムを作成することができる。
厳密には，このようにセンシングのプロセスとステアリング，アクセル，ブレーキなどを動作させるプロセス，次章で紹介するアプリケーションとしての状況判断・走行プ
ランニングのプロセスを全く非同期に動作する自律分散システムとして構築することへの疑問はあるが 2），教育ツー
図 2 車両のシステム構成

ルとしての使いやすさを優先させたシステムとしてこの様な構成を採用した。

図 3 実習システムのコンピュータ構成

図 4 プログラム構成

3．制御プログラムの構成

図 5 に走行車線認識プロセスの画像処理結果の一例を示

機械系の大多数の学生，特にプログラミングの基礎を学す。このプロセスは白い床に描かれた 2 つの黒線の間を走

ぶ 1，2 年次生にとって，制御コンピュータに搭載された行車線として認識し，その中心を走行目標経路として出力各種インタフェースの制御を自身でプログラムすることはする。このプロセスは，カメラ映像を実座標に変換するな少々ハードルが高いように思われる。本システムでは，セどの処理も実際には行っているが，学生がそれらを意識すンシングデータの取得やステアリング，アクセル，ブレーる必要はない。

キの動作を簡単にプログラミングできる仕組みを提供し，ハードウエア制御のわずらわしさを意識せずに車両を動か4．アプリケーションプログラム作成例
アプリケーションプログラム開発は，制御プログラムがせるようにした。
図 4 に制御プログラムの構成を示す。プログラムは，C提供する共有メモリへのアクセスを提供するものであれ言語で開発され，センシングデータを取得するプロセスと，ば，言語や開発環境は問わないが，本学科でのプログラミステアリング，アクセル，ブレーキを動かすプロセスが並

ング関連の授業では C 言語による開発を前提としている。

列動作し，プロセス間通信は共有メモリ方式としている。

現在までのところ，自主デザイン工学などで，本実習シ例えば，センシングデータを取得するプロセス（走行車線ステムを用いた教育を実践している。図 6 は，画像処理に認識プロセス，音声認識プロセスなど）は，取得したセンよる車線追従走行を学生が実現した時の，走行状態のコマサデータを随時，共有メモリに書き込んでいる。アプリケ

送り画像である。アルゴリズムは，走行車線認識プロセス

ーションプログラムの作成者は，共有メモリに書かれたセが検知した目標位置と車両の前方，進行方向との角度を誤ンサデータを読み，計算されたステアリング，アクセル，差として PID 制御によりステアリング角を決定するといブレーキレベルを共有メモリに書き込めば，随時動作してう単純なフィードバック制御であり，実際に学生が入力しいるステアリング，アクセル，ブレーキを動かすプロセスたプログラム部分もわずか数行である。

が，共有メモリに書かれてあるステアリング，アクセル，

図 7 は，車両の前方，側方の左右に取付けた 4 つの超音

ブレーキレベルを車両に送信し，車両はそのレベルに従っ波センサからの距離データをもとにダンボールで作った壁て動作する。このように，アプリケーション作成者である面の追従走行を行った例である。この例では，壁面からの―21―里信

純・西本澄・和泉真澄・越智秋雄・松岡泰弘

距離を誤差としてステアリング角を決定するアルゴリズムに加え，4 つのセンサのデータを選択的に用いるアルゴリズムも必要であり，車線追従走行に比べプログラム量は多くなるが，それでも学生が入力した部分は十数行であった。
このような簡単なアルゴリズムは実用に耐えうるものではないが，1，2 年次で習得する程度のプログラムの知識で， 自分の作成したプログラムにより機械が動くことを実体験でき，コンピュータ技術の必要性を意識づけるテーマとしては十分なものであると考えている。

図 7 壁面追従自動走行の実行例

5．おわりに本システムの開発の一部は，平成 18 年度施行カリキュラム実施のための設備支援により行われたもので，プログ
ラミング教育ツールの題材のひとつとして車輪型自律移動ロボットを取り上げた。今後，さらにテキスト作成・改定など，教育プログラムの充実を図っていく予定である。
本システムの開発には，日本システムデザイン株式会社，ミツワフロンティック株式会社に多大なるご協力をいただ
図 5 走行車線認識プロセスの画像処理結果きました。ここに謝意を表します。

文献（1）日本システムデザイン株式会社，知能ロボットプラッ
トホーム取り扱い説明書（2）Jun Satonobu, Koichi Kojima, Hiroyuki Takahashi,
Atsushi Kutami, The development of a computer
system for autonomous vehicle control, ADVANCEDVEHICLE CONTROL ’92, pp. 194-199 (1992).

図 6 車線追従自動走行の実行例―22―