ros:study:06

6. 経路追従

# 2015-06-08 AND

追記:パラメータファイルを変更した場合は、roscoreを含めて全てのプログラムを停止してやり直すこと。

~/catkin_ws/src/ros_study_2dnavに以下の4つのファイルを作る。

$ cd ~/catkin_ws/src
$ catkin_create_pkg ros_study_2dnav   //既に作っていてある人はやらなくて良い
$ gedit costmap_common_params.yaml global_costmap_params.yaml local_costmap_params.yaml base_local_planner_params.yaml
obstacle_range: 5.0
raytrace_range: 7.0
#footprint: [[x0, y0], [x1, y1], [x2, y2], [x3, y3]]
footprint: [[0.17, 0.17], [-0.17, 0.17], [-0.17, -0.17], [0.17, -0.17]]
#robot_radius: ir_of_robot
inflation_radius: 0.3

observation_sources: laser_scan_sensor

laser_scan_sensor: {sensor_frame: laser, data_type: LaserScan, topic: scan, marking: true, clearing: true}

<color red>コピペしたときに無駄なスペース文字が入ることがあるので、削除して下さい</color>

footprintに、ロボット覆う多角形の頂点を記述する。この多角形は障害物回避等に用いられる。各自設定すること。

global_costmap:
  global_frame: map
  robot_base_frame: base_link
  update_frequency: 5.0
  static_map: true

<color red>コピペしたときに無駄なスペース文字が入ることがあるので、削除して下さい</color>

local_costmap:
  global_frame: odom
  robot_base_frame: base_link
  update_frequency: 5.0
  publish_frequency: 2.0
  static_map: false
  rolling_window: true
  width: 10.0
  height: 10.0
  resolution: 0.05

<color red>コピペしたときに無駄なスペース文字が入ることがあるので、削除して下さい</color>

TrajectoryPlannerROS:
  max_vel_x: 0.45
  min_vel_x: 0.1
  max_rotational_vel: 1.0
  min_in_place_rotational_vel: 0.4

  acc_lim_th: 3.2
  acc_lim_x: 2.5
  acc_lim_y: 2.5

  holonomic_robot: false

<color red>コピペしたときに無駄なスペース文字が入ることがあるので、削除して下さい</color>

~/catkin_ws/src/ros_study_2dnavに以下のファイルを作る

$ gedit navigation.launch
<launch>
<master auto="start"/>
  <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
    <rosparam file="$(find ros_study_2dnav)/costmap_common_params.yaml" command="load" ns="global_costmap" />
    <rosparam file="$(find ros_study_2dnav)/costmap_common_params.yaml" command="load" ns="local_costmap" />
    <rosparam file="$(find ros_study_2dnav)/local_costmap_params.yaml" command="load" />
    <rosparam file="$(find ros_study_2dnav)/global_costmap_params.yaml" command="load" />
    <rosparam file="$(find ros_study_2dnav)/base_local_planner_params.yaml" command="load" />
  </node>
</launch>
ターミナル1
$ roscore

ターミナル2(ロボットとPCを接続しておくこと)
$ ypspur-coordinator -p your_robot.param -d /dev/ttyACM0

ターミナル3
$ rosrun ypspur_ros_bridge ypspur_ros_bridge

ターミナル4
$ rosrun hokuyo_node hokuyo_node _port:=/dev/ttyACM1        または、    $ rosrun hokuyo_node hokuyo_node _port:=/dev/ttyACM1 _min_ang:=-2.08621382713 _max_ang:=2.08621382713

ターミナル5
$ rosrun sensor_tf_test sensor_tf_test

ターミナル6
$ cd ~/ros_study
$ rosrun map_server map_server map_name.yaml

ターミナル7
$ rosrun amcl amcl    または、 $ roslaunch ros_study_2dnav amcl_diff.launch

ターミナル8
$ roslaunch ros_study_2dnav navigation.launch
ターミナル9
$ rosrun rviz rviz

下記の画像を参考に、“/move_base”のトピックを追加して見ると良い。“/move_base”のトピックは沢山あるので、色々試してみること。

初期画面。ロボットの位置と姿勢が地図とずれている。

下記の画像を参考に、地図と合うように現在のロボットの位置と姿勢を提示する。

現在のロボットの位置と姿勢に合わせて更新される。 まだ地図と大きくずれていれば、もう一度現在の位置と姿勢を提示する。

下記の画像を参考に、目標と成るロボットの位置と姿勢を提示する。 <color red>設定するとロボットが目標地点に走り始めるので注意すること</color>

<color red>rvizを閉じる前に、設定を保存しておくこと</color>

  • ros/study/06.txt
  • 最終更新: 2017/05/24 21:22
  • by tsukuchalle