December 2017
Intermediate to advanced
480 pages
7h 13m
Japanese
「10章 世界を動き回る」では、ROSのナビゲーションスタックを使って、ロボットを世界のある特定の場所に移動させる方法を見てきました。本章では、この基礎的なナビゲーションの能力に加えて、ロボットに世界を巡回させて、道中で興味深い情報を集めさせる方法について見ていきます。また、このアプリケーションを通して、ロボットを個々の単一の動作ではなく、振る舞い全体の連鎖としてタスクレベルで制御する方法についても学びます。
ROSの多くのものと同じように、巡回システムを実装する方法はいくつも存在します。実のところ、皆さんが例 10-1で見たコードが巡回システムに必要なものすべてです。コードを例13-1に再掲しました。このコードは、ロボットを世界のある場所から別の場所に移動させてくれます。皆さんがしなければならないことは、巡回させたい場所をウェイポイント(経由地)のリストとして設定するだけです。それだけで準備完了です。
例13-1 patrol.py
#!/usr/bin/env python import rospy import actionlib from move_base_msgs.msg import MoveBaseAction, MoveBaseGoal waypoints = [ # ❶ [(2.1, 2.2, 0.0), (0.0, 0.0, 0.0, 1.0)], [(6.5, 4.43, 0.0), (0.0, 0.0, -0.984047240305, 0.177907360295)] ] def goal_pose(pose): # ❷ goal_pose = MoveBaseGoal() goal_pose.target_pose.header.frame_id ...
Read now
Unlock full access