December 2017
Intermediate to advanced
480 pages
7h 13m
Japanese
これまでの数章では、ロボットを動かすところを中心に見てきました。ロボット台車を動かして移動したり、ロボットアームを動かして操作したりしました。これらのシステムのほとんどはフィードバックループを持たないオープンループのシステムと考えられます。すなわち、これらのシステムでは、時間とともに蓄積する誤差をセンサーのデータを使って修正していません。本章では、センサーを使ったクローズドループのシステムを作ります。このシステムは、さまざまな種類の誤差を減らすことを目的に、誤差を計算して、これを制御システムにフィードバックします。
カメラで地面の線を追跡しながら進むロボットを作るところから始めましょう。ここではOpenCVを使うことにします。OpenCVは人気のあるオープンソースの画像処理ライブラリです。このシステムを実現するには、次のステップを行う必要があります。
これがクローズドループのシステムになります。つまり、ロボットは、線から外れるような操縦誤差を検出して、線の中心に戻るように進行方向を調整します。これまでと同様に、このアプリケーションは全部シミュレーションで開発します。最初に、ROSで画像を取得する方法について説明します。
ROSでは、画像はメッセージ型sensor_msgs/Imageを使って送信されています。自分たちのノードで画像ストリームを使うには、画像を配信しているトピックを購読する必要があります。画像が送られているトピックとその名前は、ロボットごとに異なります。Turtlebotのシミュレーションを使って、トピック名を見つける方法について説明していきましょう。まず、3つのターミナルを開いてください。1つは ...
Read now
Unlock full access