概要説明編こんにちは。昨年、ボールコントロールについてのブログを書きました。今回はAIを使用して、ラジコンの「働く車」の自動運転や自動操作に挑戦したいと思います。ここ数年、「車の自動運転」が注目されていますが、自動運転の実験に本物の車を使用するのは、コストや安全面からみて非常に敷居が高いため、ラジコン玩具の「働く車」を使用して自動運転に挑戦したいと思います。ラジコンの「働く車」は、子供が楽しく遊べる玩具として数千円程度で販売されていますが、その機能は驚くほど充実しています。「ショベルカー」にいたっては、ロボットアームの簡易版といった代物で、台座(上部旋回体)の回転や、アーム、バケットの上げ下げなど、「数千円でよくぞここまで!」という驚きの機能をもっています。Part1では、ラジコンの「働く車」の自動運転の概要を説明したいと思います。図1は、今回挑戦するラジコンの「働く車」を使った自動運転の全体像です。(1)初めにショベルカーを使って、土砂をダンプカーに積み込みます。(2)次に、ダンプカーが目的の位置まで土砂を運搬します。(3)最後に、ホイールローダが、ダンプが降ろした土砂をならします。この(1)~(3)までの流れを連携して動かすことにより、土砂を運んでならしていきます。通常、図2のように、ラジコンに付属しているコントローラを人が操作して、「働く車」を動かします。Pi)を直接コントローラにつなげて、コンピュータから信号をコントローラに送ることにより、「働く車」を動かします(図3)。コンピュータ制御で使用するセンサー機材は、今回はカメラのみです。購入して動かしてみてわかったのですが、ラジコンの働く車を制御しようとすると、次のように、いくつか弱点が見えてきます。〇弱点1電池の減りが速い。いずれのラジコン機材も充電式ですが、操作してると約15~20分程度で電池がきれます。電池がきれたら再び充電しなければならず、作業に「間」があきます。これは予備電池を複数準備することで対応しました。〇弱点2電圧が一定ではない。これはけっこう大きな弱点で、充電直後は電圧が高く、次第に電圧が下がり、最後は電池切れで動かなくなります。初めはキビキビと動きますが、最後になると動きがおそくなり、制御の指示で止まっているのか、何らかのエラーが起きて止まっているのか、あるいは単に電池切れで止まっているのか、わけがわからない状態になります。この影響はショベルカーの制御で大きかったため、ショベルカーは電池ではなく、(携帯充電用の)5Vの電源を、直接ショベルカーに接続して安定化を図りました。〇弱点3速い子供のおもちゃとしては正解かもしれませんが、走るスピードがとにかく速い。「前進ボタンを押すと、速度が徐々に上がっていく」ことを期待していたのですが、前進ボタンを押すと、すぐにTOPスピードに到達します。ホイールローダではなく、当初はブルドーザ型のラジコン機材を準備したのですが、これが速い。コストを下げるために、RCスポーツカーなどと同じモータやギアを使っているようにみえます。土砂の上をジャンプしていきそうなスピードです。ダンプカーやホイールローダも速く、「走るスピードが速い」ことに、今回は一番苦労しました。ダンプカーについてはギアに変更し、速度を調整しました。〇弱点4グラグラする。ショベルカーは、走る機能を備えたロボットアームと言えるほど、とても高機能です。アーム(ブーム)は長く、かつプラスティックでできているので、ぐらつきます。台座の回転速度や、アームを動かすスピードも速いので(ゆっくりした操作はできない)、「アームなどの速い動き」と「ぐらつき」にうまく対処する必要があります。〇弱点5指示は基本ONかOFF「働く車」への指示は、基本ONかOFF。「働く車」に与えるアクションデータは、+1、0、-1などの離散値となり、微妙なコントロールはできません。制御に使用するセンサーは「RGBカメラ」のみです。深度カメラも使用していません。土砂に接触したかの圧力センサーや、ショベルカーのアームの角度センサーなども使用していません。それぞれの機材には、位置や方向を把握するためにARマーカ―を取り付けています。制御の学習をすすめるとき、「シミュレータを使用できるか?」、「エキスパートデータを使用できるか?」が制御手法を選定するための大きなポイントになります。シミュレータを使用できれば、そのシミュレータを使用して、何回も(何十万回も)学習を繰り返すことができます。シミュレータを使用できなければ、実機を使って直接学習をすすめることになりますが、実機は電池切れや故障があるので現実的ではありません。熟練者の操作を学習して制御を行う方法もあります。エキスパートデータ(熟練者の操作記録)を読み込み、状況Sのときはある行動Aを行うように学習を行います。図4は、制御の学習手法について、シミュレータ使用の有無、エキスパートデータ使用の有無別に整理したものです。※制御の学習手法は、図4に記載した以外にも沢山あるようです。learning)という手法を利用することができます。いう手法も利用することもできます。逆強化学習は、エキスパートデータをもとに、あるべき「報酬」を推察し、その報酬を用いて強化学習を行う手法です。見まね学習、予測学習はシミュレータを使用できない場合に、エキスパートデータのみで学習できる、とても有力な手法です。見まね学習は、WEBカメラで見た映像をもとに、動作を真似る手法です。図5は、ショベルカー、ダンプカー、ホイールローダの制御手法です。ダンプカー、ホイールローダは、前進、バック、回転の機能をもった車のシミュレータを作成し、一般的な強化学習で進めました。watching)を行いました。ある作業を10回ほど(人が手動で)ショベルカーを動かして記録をとり、その記録をエキスパートデータとして使用しています。以上が「ラジコン働く車の自動運転」の概要です。次回は、エキスパートデータを使用して「見まね学習」(模倣学習)を行い、ラジコンのショベルカーをコンピュータで自動操作してみたいと思います。