ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
So I'll admit that your question as written isn't entirely clear to me what you're trying to accomplish. What I do gather from it is you're interesting in how to use an array type in a ros message, where the example you want is a Pose. I can help with that. Though looking at your code you don't actually use the vector of Poses variable you create at the beginning. See sample below.
geometry_msgs::PoseArray my_poses;
// my_poses.poses is going to be your array of pose messages. In C++ its a vector.
// populate your messages, your example is 7
for (uint i = 0; i != 7; i++) {
geometry_msgs::Pose curr_pose;
curr_pose.position.x = 42.0;
my_poses.poses.push_back(curr_pose);
}
so as you can see, its just a vector object your working with where the vector starts with size 0, so you have to either push_back
new elements or reserve/resize with your known number of elements.
2 | No.2 Revision |
So I'll admit that your question as written isn't entirely clear to me what you're trying to accomplish. What I do gather from it is you're interesting in how to use an array type in a ros message, where the example you want is a Pose. I can help with that. Though looking at your code you don't actually use the vector of Poses variable you create at the beginning. See sample below.
geometry_msgs::PoseArray my_poses;
// my_poses.poses is going to be your array of pose messages. In C++ its a vector.
// populate your messages, your example is 7
for (uint i = 0; i != 7; i++) {
geometry_msgs::Pose curr_pose;
curr_pose.position.x = 42.0;
my_poses.poses.push_back(curr_pose);
}
so as you can see, its just a vector object your working with where the vector starts with size 0, so you have to either push_back
new elements or reserve/resize with your known number of elements.
If you look at it, the definition of a geometry_msgs/PoseArray
is
std_msgs/Header header
uint32 seq
time stamp
string frame_id
geometry_msgs/Pose[] poses
geometry_msgs/Point position
float64 x
float64 y
float64 z
geometry_msgs/Quaternion orientation
float64 x
float64 y
float64 z
float64 w
so this shows on a general basis has to use a variable[]
type as a ros message.