2018年9月20日木曜日

【ROS】px-ros-pkgを利用したSubscriberを作成する

px4flowを使ったオプティカルフローをROSで導入しよう.ということで,既存パッケージであるpx-ros-pkgを使ってみた.ここでPublishされた速度情報をSubscriberするためのノードを自作した.

px-ros-pkgのノードを起動しながら

rostopic type /トピック名

で型を調べると

px_comm/OpticalFlow

となった.その中身は

rosmsg show px_comm/OpticalFlow
std_msgs/Header header
 uint32 seq
 time stamp
 string frame_id
float32 ground_distance
int16 flow_x
int16 flow_y
float32 velocity_x
float32 velocity_y
uint8 quality

Subscriberに必要な資料はこんな感じだ.つまずきポイントはpx_commというパッケージ.px4flow専用のカスタムメッセージ定義である.同じcatkinワークスペースにpx-ros_pkgがgit cloneされていれば,

~/catkin_ws/devel/include

の中にpx_commがある.なので,このカスタムメッセージ定義をしたいパッケージのCMakeLists.txtに

find_package(
/*ここから先を追加する*/
ros_cpp
std_msgs
  sensor_msgs
image_transport
px_comm
)

を 書き込んでおく必要がある.あとは#include<px_comm/OpticalFlow.h>をcppファイルなりに追加しておけばpx_comm::OpticalFlowのメッセージ型が使える.

0 件のコメント:

コメントを投稿

人気の投稿