setpoint_node.cpp
Go to the documentation of this file.
1 /***************************************************************************/
36 #include "ros/ros.h"
37 #include "std_msgs/Float64.h"
38 
39 int main(int argc, char** argv)
40 {
41  ros::init(argc, argv, "setpoint_node");
42  ROS_INFO("Starting setpoint publisher");
43  ros::NodeHandle setpoint_node;
44 
45  while (ros::ok() && ros::Time(0) == ros::Time::now())
46  {
47  ROS_INFO("Setpoint_node spinning, waiting for time to become non-zero");
48  sleep(1);
49  }
50 
51  std_msgs::Float64 setpoint;
52  setpoint.data = 1.0;
53  ros::Publisher setpoint_pub = setpoint_node.advertise<std_msgs::Float64>("setpoint", 1);
54 
55  ros::Rate loop_rate(0.2); // change setpoint every 5 seconds
56 
57  while (ros::ok())
58  {
59  ros::spinOnce();
60 
61  setpoint_pub.publish(setpoint); // publish twice so graph gets it as a step
62  setpoint.data = 0 - setpoint.data;
63  setpoint_pub.publish(setpoint);
64 
65  loop_rate.sleep();
66  }
67 }
ros::Publisher
ros::init
ROSCPP_DECL void init(const M_string &remappings, const std::string &name, uint32_t options=0)
ros.h
ros::spinOnce
ROSCPP_DECL void spinOnce()
ros::Publisher::publish
void publish(const boost::shared_ptr< M > &message) const
ros::NodeHandle::advertise
Publisher advertise(AdvertiseOptions &ops)
ros::ok
ROSCPP_DECL bool ok()
main
int main(int argc, char **argv)
Definition: setpoint_node.cpp:39
ros::Time
ros::Rate
ROS_INFO
#define ROS_INFO(...)
ros::NodeHandle
autotune::setpoint
double setpoint
Definition: autotune.cpp:64
ros::Time::now
static Time now()


pid
Author(s): Andy Zelenak , Paul Bouchier
autogenerated on Wed Mar 2 2022 00:41:32