ROS下上位机和stm32单片机通信

1.需要实例化串口节点建立监听者listener和发布之publisher

2.上位机通过游戏手柄发布自定义消息类型control

int64 mode//手柄模式切换
int64 lidar//雷达数据
int64 gamePad_x//控制前进后退
int64 gamePad_z//控制左右旋转
int64 visual_x
int64 visual_z

在CMakeList.txt文件中添加如下代码

 add_message_files(
   FILES
   vehicleControl.msg
)
generate_messages(
   DEPENDENCIES
   std_msgs
)

就可以使用自定义消息类型了

#include "ros/ros.h"  
#include   
#include   
#include   
#include "sensor_msgs/JointState.h"  
#include   
#include   
#include "myserial/vehicleControl.h"
serial::Serial ros_ser;
myserial::vehicleControl control;
myserial::vehicleControl control01;
void callback(const myserial::vehicleControl&  c){
     control=c;
     ROS_INFO_STREAM("Write to serial port" << control.mode);
     std_msgs::String msg;
     std::stringstream ss_data;
     ss_data <

关系图如下所示:

ROS下上位机和stm32单片机通信_第1张图片

你可能感兴趣的:(ROS进阶,视觉slam学习)