====== 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を閉じる前に、設定を保存しておくこと