小车启动:
1 连接wifi:wifi名称WHEELTEC_CAR_5.5,密码dongguan
2 启动初始化节点
roslaunch turn_on_wheeltec_robot turn_on_wheeltec_robot.launch
小车里程计及IMU发布话题:
里程计消息(nav_msgs/odom):
简介:
里程计消息包含标头,小车坐标,线速度,角速度信息
1 header:
通信接口:std_msgs/Header
消息内容:
uint32 seq第几个数据
time stamp时间戳
string frame_id数据参考坐标系
odom.header.stamp = ros::Time::now();
odom.header.frame_id = odom_frame_id;
2 pose: (三轴位置坐标及协方差)
通信接口:geometry_msgs/PoseWithCovariance
消息内容:
geometry_msgs/Point类型:float64 x, y, z (x, y平面坐标,z方向)
geometry_msgs/Quaternion类型:float64 x, y, z, w 四元数表示X, Y, Z姿态(可以用tf_transformations里对应方法进行四元数和高斯角表示法切换)
float64[36] covariance位置数据协方差
geometry_msgs::Quaternion odom_quat = tf::createQuaternionMsgFromYaw(Robot_Pos.Z); // 创建四元数坐标
odom.pose.pose.position.x = Robot_Pos.X; //Position //位置
odom.pose.pose.position.y = Robot_Pos.Y;
odom.pose.pose.position.z = Robot_Pos.Z;
odom.pose.pose.orientation = odom_quat;
3 twist:(三轴线速度,角速度,及速度协方差)
通信接口:geometry_msgs/Twist
消息内容:
geometry_msgs/Vector3类型: float64 x, y, z (x, y, z线速度)
geometry_msgs/Vector3类型:float64 x, y, z (x, y, z角速度)
float64[36] covariance速度数据协方差
odom.twist.twist.linear.x = Robot_Vel.X; //Speed in the X direction //X方向速度
odom.twist.twist.linear.y = Robot_Vel.Y; //Speed in the Y direction //Y方向速度
odom.twist.twist.angular.z = Robot_Vel.Z; //绕Z轴角速度
Odom发布者完整代码(位于启动节点wheeltec_robot.cpp):
void turn_on_robot::Publish_Odom()
{
//Convert the Z-axis rotation Angle into a quaternion for expression