2 #include <ros/console.h>
4 #include "std_msgs/Bool.h"
5 #include "std_msgs/Float32.h"
9 int main(
int argc,
char **argv)
11 ros::init(argc, argv,
"automatic_setpoint_publisher_node");
13 ros::NodeHandle node_handle;
15 ros::Publisher ready_to_proceed_publisher = node_handle.advertise<std_msgs::Bool>(
"/readyToProceed", 10);
17 ros::Publisher setpoint_publisher = node_handle.advertise<std_msgs::Float32>(
"/set_goal", 10);
19 ros::Publisher keep_logging_publisher = node_handle.advertise<std_msgs::Bool>(
"/logging/continue", 10);
21 ros::Rate publish_rate(0.25);
23 uint8_t NUMBER_OF_SETPOINTS = 5;
25 double setpoints[NUMBER_OF_SETPOINTS] = {60.0, -60.0, 40.0, -20.0, 0.0};
27 std_msgs::Float32 setpoint_msg;
29 std_msgs::Bool ready_to_proceed_msg;
31 std_msgs::Bool keep_logging_msg;
33 ready_to_proceed_msg.data =
true;
35 keep_logging_msg.data =
true;
37 ros::Duration(0.5).sleep();
39 ready_to_proceed_publisher.publish(ready_to_proceed_msg);
43 for(
int i = 0; i < NUMBER_OF_SETPOINTS; i++)
45 setpoint_msg.data = setpoints[i];
47 setpoint_publisher.publish(setpoint_msg);
49 ROS_INFO(
"Setpoint %d published", i);
54 keep_logging_msg.data =
false;
56 keep_logging_publisher.publish(keep_logging_msg);
58 ROS_INFO(
"Stop logging message published");
int main(int argc, char **argv)