Assign C++ Array to ROS Msg Array
How do I assign a C++ array to a ROS message array? In particular, how do I do this for a float64[9] array?
How do I assign a C++ array to a ROS message array? In particular, how do I do this for a float64[9] array?
The std_msgs/Float64MultiArray message should do what you want:
http://docs.ros.org/api/std_msgs/html...
The message structure has a single field called data
which can be treated as a std::vector<double>
type in your C++ node. If you know it will be a fixed array of 9 values, just allocate 9 elements in the vector after declaring the message variable:
std_msgs::Float64MultiArray array_msg;
array_msg.data.resize(9);
You can then publish and subscribe to a topic to transmit array messages between your nodes.
I hope this helps!
float64[9] is defined as of type boost::array<double,ul9>
, so try following declaration:
boost::array<double, ul9> array_msg
Please start posting anonymously - your entry will be published after you log in or create a new account.
Asked: 2016-04-22 16:01:53 -0500
Seen: 8,806 times
Last updated: Apr 23 '16
In Python, can I initialize arrays in message without importing element types like C++ resize()?
Unable to load msg [sensor_msgs/]
Backwards Compatibility for Variable-length Messages
Do ROS srv open and close nodes?
Append data to vector3[] array - custom message
rqt_publisher "error evaluating as list" with uint8[4] message
How to receive and array of floats over a user defined message type ?