这里的publish使用的是proto , 普通类型的数据可以直接使用publish
引入线程的头文件
#include <thread>
代码:
void SimButton::send_lane_change_signal(){
std::thread send_thread([this]() {
rclcpp::Rate loop_rate(1);
while(rclcpp::ok()){
chassis_states_proto.set_steering_lever_state(lane_change_signal);
switch_states_proto_publisher.publish(chassis_switch_states_publisher_, chassis_states_proto);
loop_rate.sleep();
}
});
// 分离线程,使其在后台运行
send_thread.detach();
}