Debe usar un mensaje ROS real en lugar de una clase personalizada para datos a los que le gustaría publicar/suscribirse. Ver http://wiki.ros.org/ros/tutorials/creatingmsgandsrv Para cómo crear un nuevo mensaje que pueda usar al publicar datos. Usar un mensaje ROS también significa que las herramientas ROS existentes como rostopic
y enlaces de lenguaje enteros como rospy
para python o rosjava
Para Java podrá interoperar fácilmente con su nodo C ++.
Para este caso particular, simplemente puede usar el mensaje ROS estándar para un punto 3D, geometry_msgs/punto. Puede encontrar una lista bastante completa de los mensajes estandarizados en el común_msgs documentación. El uso de un mensaje estandarizado tiene una serie de beneficios sobre la creación de su propio mensaje con esencialmente el mismo contenido: lo más grande es que hay muchas herramientas u otras piezas de software en el ecosistema ROS que puede aprovechar más adelante, que será. Un proceso bastante indoloro si ya está utilizando tipos de mensajes estándar.
Si realmente tiene la necesidad de usar su clase de posición personalizada (sin simplemente convertirla en un mensaje ROS), puede mirar el serialización de Roscpp documentación. me gustaría fuertemente Sugiera que esté en serie su clase personalizada en lugar de usar un mensaje ROS real que cree o un mensaje estandarizado.