Skip to Content
プログラミングROS ―Pythonによるロボットアプリケーション開発
book

プログラミングROS ―Pythonによるロボットアプリケーション開発

by Morgan Quigley, Brian Gerkey, William D. Smart, 河田 卓志, 松田 晃一, 福地 正樹, 由谷 哲夫
December 2017
Intermediate to advanced
480 pages
7h 13m
Japanese
O'Reilly Japan, Inc.
Content preview from プログラミングROS ―Pythonによるロボットアプリケーション開発

12章Follow-bot(フォローボット)

これまでの数章では、ロボットを動かすところを中心に見てきました。ロボット台車を動かして移動したり、ロボットアームを動かして操作したりしました。これらのシステムのほとんどはフィードバックループを持たないオープンループのシステムと考えられます。すなわち、これらのシステムでは、時間とともに蓄積する誤差をセンサーのデータを使って修正していません。本章では、センサーを使ったクローズドループのシステムを作ります。このシステムは、さまざまな種類の誤差を減らすことを目的に、誤差を計算して、これを制御システムにフィードバックします。

カメラで地面の線を追跡しながら進むロボットを作るところから始めましょう。ここではOpenCVを使うことにします。OpenCVは人気のあるオープンソースの画像処理ライブラリです。このシステムを実現するには、次のステップを行う必要があります。

  • カメラから画像を取得して、OpenCVに渡す。
  • 画像にフィルターをかけて、追跡すべき線の中心を識別する。
  • ロボットの中心が線の中心から外れないようにロボットを操縦する。

これがクローズドループのシステムになります。つまり、ロボットは、線から外れるような操縦誤差を検出して、線の中心に戻るように進行方向を調整します。これまでと同様に、このアプリケーションは全部シミュレーションで開発します。最初に、ROSで画像を取得する方法について説明します。

12.1 画像を取得する

ROSでは、画像はメッセージ型sensor_msgs/Imageを使って送信されています。自分たちのノードで画像ストリームを使うには、画像を配信しているトピックを購読する必要があります。画像が送られているトピックとその名前は、ロボットごとに異なります。Turtlebotのシミュレーションを使って、トピック名を見つける方法について説明していきましょう。まず、3つのターミナルを開いてください。1つは ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

初めてのGraphQL ―Webサービスを作って学ぶ新世代API

初めてのGraphQL ―Webサービスを作って学ぶ新世代API

Eve Porcello, Alex Banks, 尾崎 沙耶, あんどうやすし
行動を変えるデザイン ―心理学と行動経済学をプロダクトデザインに活用する

行動を変えるデザイン ―心理学と行動経済学をプロダクトデザインに活用する

Stephen Wendel, 武山 政直, 相島 雅樹, 反中 望, 松村 草也

Publisher Resources

ISBN: 9784873118093Other