====== 2. URGのデータを取得する ======
# 2015-06-04 AND
追記:Top-URGを使う場合はurg_nodeの方が良いようです。
http://wiki.ros.org/urg_node
hokuyo_nodeのWikiが http://wiki.ros.org/hokuyo_node にあるため、こちらを合わせて参照しても良い。
また、hokuyo_nodeのチュートリアルが http://wiki.ros.org/hokuyo_node/Tutorials にあるので、
より発展的なことをやりたい人は参照しても良い。
===== hokuyo_node のインストール =====
indigo環境の人
$ sudo apt-get install ros-indigo-hokuyo-node
jade環境の人
$ sudo apt-get install ros-jade-hokuyo-node
kinetic環境の人(hokuyo_nodeがレポジトリにないようなのでurg_nodeを入れるかhokuyo_nodeをソースからcatkin_makeする)
$ sudo apt-get install ros-kinetic-hokuyo-node
===== hokuyo_nodeの使い方 =====
ここでは、USB接続のURGについて取り扱う。下記の様にターミナルを立ち上げる。
ターミナル1
$ roscore
ターミナル2
$ rosrun hokuyo_node hokuyo_node _port:=/dev/ttyACM0 または rosrun urg_node urg_node _serial_port:=/dev/ttyACM0
"_port"はデフォルトで"/dev/ttyACM0"になっている。認識されているポート番号に各自変更すること。
==== パラメータの設定 ====
hokuyo_node の測距範囲はデフォルト設定では、-180°〜180°になっている。
下記のようにして立ち上げることで、測距範囲を広げることができる。
ターミナル1
$ roscore
ターミナル2
$ rosparam set hokuyo_node/min_ang -2.08621382713 //classic-urg の場合の設定値
$ rosparam set hokuyo_node/max_ang 2.08621382713 //classic-urg の場合の設定値
$ rosrun hokuyo_node hokuyo_node _port:=/dev/ttyACM0
または、一度に
$ rosrun hokuyo_node hokuyo_node _port:=/dev/ttyACM0 _min_ang:=-2.08621382713 _max_ang:=2.08621382713 //classic-urg の場合の設定値
top-urgの場合は、「2.35619449615」くらいで設定する。
===== topic =====
一度自分で下記のコマンドを一通り試しておくこと。
$rostopic list
/diagnostics
/hokuyo_node/parameter_descriptions
/hokuyo_node/parameter_updates
/rosout
/rosout_agg
/scan //距離データが主に入っている
$rostopic echo /scan
(データがいっぱい流れる)
$rostopic type /scan
sensor_msgs/LaserScan
$rosmsg show sensor_msgs/LaserScan
std_msgs/Header header
uint32 seq
time stamp
string frame_id
float32 angle_min
float32 angle_max
float32 angle_increment
float32 time_increment
float32 scan_time
float32 range_min
float32 range_max
float32[] ranges
float32[] intensities
===== rvizでURGのデータを確かめる =====
rvizの詳しい説明は、http://wiki.ros.org/rviz を参照。
ここでは、センサビューワだと思えばよい。
ターミナル1
$ roscore
ターミナル2
$ rosrun hokuyo_node hokuyo_node _port:=/dev/ttyACM0 または、 $ rosrun hokuyo_node hokuyo_node _port:=/dev/ttyACM0 _min_ang:=-2.08621382713 _max_ang:=2.08621382713
ターミナル3
$ rosrun rviz rviz
すると、以下のような画面が出てくる。(微妙に違うことろがあるかもしれない)
{{:ros:study:fig2-1.png|}}
下記の画面のようにして、"/scan"を追加する。
{{:ros:study:fig2-2.png|}}
"Fixed Frame"を"laser"にするとセンサデータが表示される。
{{:ros:study:fig2-3.png|}}
上から見た方が見やすいので、カメラの設定を変える。
{{:ros:study:fig2-4.png|}}
下記の画面を参考に、センサデータを見やすくする。
{{:ros:study:fig2-5.png|}}
rvizを閉じる前に、設定を保存しておくこと