ROS 학습 노트 82(roscpp 리 셋 함수)

2131 단어 ROS 학습 노트
원본 링크:http://wiki.ros.org/roscpp_tutorials/Tutorials/UsingClassMethodsAsCallbacks
구독 자
만약 당신 에 게 간단 한 유형 이 있다 고 가정 하 세 요.
https://raw.github.com/ros/ros_tutorials/groovy-devel/roscpp_tutorials/listener_class/listener_class.cpp
class Listener
{
public:
  void callback(const std_msgs::String::ConstPtr& msg);
};

NodeHandle::subscribe()가 리 셋 함 수 를 호출 할 때 다음 과 같 습 니 다.
https://raw.github.com/ros/ros_tutorials/groovy-devel/roscpp_tutorials/listener/listener.cpp
ros::Subscriber sub = n.subscribe("chatter", 1000, chatterCallback);

리 셋 함수 가 클래스 의 한 방법 일 때:
https://raw.github.com/ros/ros_tutorials/groovy-devel/roscpp_tutorials/listener_class/listener_class.cpp
Listener listener;
  ros::Subscriber sub = n.subscribe("chatter", 1000, &Listener::callback, &listener);

If the subscriber is inside the class Listener, you can replace the last argument with the keyword this, which means that the subscriber will refer to the class it is part of. 
2  Service Servers
당신 에 게 간단 한 유형 이 있다 고 가정 하 세 요.
https://raw.github.com/ros/ros_tutorials/groovy-devel/roscpp_tutorials/add_two_ints_server_class/add_two_ints_server_class.cpp
class AddTwo
{
public:
  bool add(roscpp_tutorials::TwoInts::Request& req,
           roscpp_tutorials::TwoInts::Response& res);
};

오래된 odeHandle::advertiseService()리 셋 함수 가 이 모양 일 수 있 습 니 다.
https://raw.github.com/ros/ros_tutorials/groovy-devel/roscpp_tutorials/add_two_ints_server/add_two_ints_server.cpp
ros::ServiceServer service = n.advertiseService("add_two_ints", add);

클래스 버 전의 경우 이 럴 수 있 습 니 다.
https://raw.github.com/ros/ros_tutorials/groovy-devel/roscpp_tutorials/add_two_ints_server_class/add_two_ints_server_class.cpp
AddTwo a;
  ros::ServiceServer ss = n.advertiseService("add_two_ints", &AddTwo::add, &a);

For the full set of subscribe(), advertiseService(), etc. overloads, see the NodeHandle class documentation

좋은 웹페이지 즐겨찾기