|
@@ -26,6 +26,7 @@
|
|
#include "gnss_coordinate_convert.h"
|
|
#include "gnss_coordinate_convert.h"
|
|
|
|
|
|
static std::string _pose_topic = "/current_pose";
|
|
static std::string _pose_topic = "/current_pose";
|
|
|
|
+static std::string _poseloc_topic = "/localizer_pose";
|
|
static std::string _twist_topic = "/current_velocity";
|
|
static std::string _twist_topic = "/current_velocity";
|
|
|
|
|
|
static double glon0 = 117.0273054;
|
|
static double glon0 = 117.0273054;
|
|
@@ -33,6 +34,7 @@ static double glat0 = 39.1238777;
|
|
static double ghead0 = 0;
|
|
static double ghead0 = 0;
|
|
|
|
|
|
ros::Publisher pose_pub;
|
|
ros::Publisher pose_pub;
|
|
|
|
+ros::Publisher poseloc_pub;
|
|
ros::Publisher twist_pub;
|
|
ros::Publisher twist_pub;
|
|
|
|
|
|
ros::Subscriber navsatfix_sub;
|
|
ros::Subscriber navsatfix_sub;
|
|
@@ -146,7 +148,7 @@ int main(int argc, char **argv)
|
|
ros::NodeHandle private_nh("~");
|
|
ros::NodeHandle private_nh("~");
|
|
ros::Rate loop_rate(100);
|
|
ros::Rate loop_rate(100);
|
|
|
|
|
|
- QUdpSocket *mudpSocketGPSIMU;
|
|
|
|
|
|
+ QUdpSocket *mudpSocketGPSIMU = new QUdpSocket();
|
|
|
|
|
|
private_nh.getParam("pose_topic", _pose_topic);
|
|
private_nh.getParam("pose_topic", _pose_topic);
|
|
private_nh.getParam("twist_topic", _twist_topic);
|
|
private_nh.getParam("twist_topic", _twist_topic);
|
|
@@ -160,6 +162,7 @@ int main(int argc, char **argv)
|
|
std::cout << "Lat0 : " << glat0 << std::endl;
|
|
std::cout << "Lat0 : " << glat0 << std::endl;
|
|
|
|
|
|
pose_pub = private_nh.advertise<geometry_msgs::PoseStamped>(_pose_topic, 10);
|
|
pose_pub = private_nh.advertise<geometry_msgs::PoseStamped>(_pose_topic, 10);
|
|
|
|
+ poseloc_pub = private_nh.advertise<geometry_msgs::PoseStamped>(_poseloc_topic, 10);
|
|
twist_pub = private_nh.advertise<geometry_msgs::TwistStamped>(_twist_topic, 10);
|
|
twist_pub = private_nh.advertise<geometry_msgs::TwistStamped>(_twist_topic, 10);
|
|
|
|
|
|
//Topic you want to subscribe
|
|
//Topic you want to subscribe
|
|
@@ -167,6 +170,8 @@ int main(int argc, char **argv)
|
|
twist_sub = private_nh.subscribe("/nav992_device/Twist", 1, callback_twist);
|
|
twist_sub = private_nh.subscribe("/nav992_device/Twist", 1, callback_twist);
|
|
imu_sub = private_nh.subscribe("/nav992_device/Imu", 1, callback_imu);
|
|
imu_sub = private_nh.subscribe("/nav992_device/Imu", 1, callback_imu);
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
while (ros::ok())
|
|
while (ros::ok())
|
|
{
|
|
{
|
|
ros::spinOnce();
|
|
ros::spinOnce();
|
|
@@ -222,12 +227,15 @@ int main(int argc, char **argv)
|
|
if (b_navsatfix == true && b_twist == true && b_imu == true)
|
|
if (b_navsatfix == true && b_twist == true && b_imu == true)
|
|
{
|
|
{
|
|
pose_pub.publish(xPose);
|
|
pose_pub.publish(xPose);
|
|
|
|
+ poseloc_pub.publish(xPose);
|
|
twist_pub.publish(xtwist);
|
|
twist_pub.publish(xtwist);
|
|
b_navsatfix = false;
|
|
b_navsatfix = false;
|
|
b_twist = false;
|
|
b_twist = false;
|
|
b_imu = false;
|
|
b_imu = false;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+// std::cout<<"run "<<std::endl;
|
|
|
|
+
|
|
////////////////////////////////===UDP广播开始===///////////////////////////////////////////
|
|
////////////////////////////////===UDP广播开始===///////////////////////////////////////////
|
|
unsigned char strSend[72];
|
|
unsigned char strSend[72];
|
|
int i;
|
|
int i;
|