only second message is sent to topic
Hi! i was writing a code where is publish a simple message to an existing topic. The problem is, that only on the second time i send a message is actually heard by the topic. Making the first message non existing.
Here's the code i used:
#include "ros/ros.h"
#include "trajectory_msgs/JointTrajectory.h"
int main(int argc, char **argv)
{
ros::init(argc, argv, "trajectory_test_node");
ros::NodeHandle nh;
ros::Rate loop_rate(0.2);
ros::Publisher r_arm_comand_publisher = nh.advertise<trajectory_msgs::JointTrajectory>
("/signbot/r_arm_controller/command", 1000);
// Create a message to send.
trajectory_msgs::JointTrajectory msg;
// Fill the names of the joints to be controlled.
// Note that the vacuum_gripper_joint is not controllable.
msg.joint_names.clear();
msg.joint_names.push_back("r_shoulder_joint");
msg.joint_names.push_back("r_top_arm_joint");
msg.joint_names.push_back("r_elbow_joint");
msg.joint_names.push_back("r_wrist_joint");
// Create one point in the trajectory.
msg.points.resize(1);
// Resize the vector to the same length as the joint names.
// Values are initialized to 0.
msg.points[0].positions.resize(msg.joint_names.size(), 0.0);
msg.points[0].time_from_start = ros::Duration(1.0);
if(ros::ok())
{
r_arm_comand_publisher.publish(msg);
ros::spinOnce();
loop_rate.sleep();
ROS_INFO_STREAM ("\n1 - command SENT:\n" << msg);
// *****************************************************************
r_arm_comand_publisher.publish(msg);
ros::spinOnce();
loop_rate.sleep();
ROS_INFO_STREAM ("\n2 - command SENT:\n" << msg);
}
loop_rate.sleep();
ROS_INFO_STREAM("\n\n\t***** SHUTTING DOWN ********\n\n");
return 0;
}
on the terminal where i execute the program, is printed this:
on the other terminal where i use rostopic echo, is printed this:
Could someone help me? Thanks
Might be a duplicate of 11167. If so try to sleep a short moment before publishing.
It's good practice to copy and paste (formatted) terminal output rather than posting screen shots of it. http://wiki.ros.org/Support#Do
Humpelstilzchen: no, its not a duplicate, but thanks for the link, Atually i didnt find this question when i was searching on ros answers. i will try the solutions to see if i can resolve my problem. jayess: thanks for the advice, i correct that from now on, in my questions.