节点订阅vehicle_receiver发布过来的/can_info话题,主节点如下:
// ROS includes
#include <ros/ros.h>
#include "can_info_translator_core.h"
int main(int argc, char **argv)
{
ros::init(argc, argv, "can_info_translator");
autoware_connector::VelPoseConnectNode n;
n.run();
return 0;
}
代码中autoware_connector::VelPoseConnectNode n生命了autoware_connector::VelPoseConnectNode对象,并调用了类的成员函数 n.run(),下面对autoware_connector::VelPoseConnectNode类进行解析:
在can_info_translator_core.h中声明如下:
class VelPoseConnectNode
{
public:
VelPoseConnectNode();
~VelPoseConnectNode();
void run();
private:
/////声明handle
ros::NodeHandle nh_;
ros::NodeHandle private_nh_;
// publisher
ros::Publisher pub1_, pub2_, pub3_;
// subscriber
ros::Subscriber sub1_,sub2_;
// variables
VehicleInfo v_info_;
Odometry odom