C++でのROSのノード開発メモ
Catkin設定方法
How to do common tasks — catkin 0.6.15 documentation
ソースファイルの追加
CMakelist.txtの、add_executable()にファイル名を追加する
add_executable(node_name src/filename1.cpp src/filename2.cpp)
node_nameの部分は、このファイルのノード名にする
ヘッダファイルの追加
CMakelist.txtの、include_directories()にインクルードディレクトリを追記し、そこに入れる
include_directories( "include" ${catkin_INCLUDE_DIRS} )
tf
Quaternion --> Eulerの変換
Transform Quaternion - ROS Answers: Open Source Q&A Forum
#include <tf/transform_datatypes.h> // ... tf::Quaternion q(quat.x, quat.y, quat.z, quat.w); tf::Matrix3x3 m(q); double roll, pitch, yaw; m.getRPY(roll, pitch, yaw); std::cout << "Roll: " << roll << ", Pitch: " << pitch << ", Yaw: " << yaw << std::endl;
geometry_msgs::Quaternionの作り方
createQuaternionMsgFrom***
を使う
Subscribe時のコールバック関数を、クラスのメンバメソッドとする場合
Using subscriber/callback function inside of a class C++ - ROS Answers: Open Source Q&A Forum
roscpp_tutorials/Tutorials/UsingClassMethodsAsCallbacks - ROS Wiki