Sie sollten eine tatsächliche ROS -Nachricht anstelle einer benutzerdefinierten Klasse für Daten verwenden, die Sie veröffentlichen/abonnieren möchten. Sehen http://wiki.ros.org/ros/tutorials/creatingmsgandsrv So erstellen Sie eine neue Nachricht, die Sie beim Veröffentlichen von Daten verwenden können. Die Verwendung einer ROS -Nachricht bedeutet auch, dass vorhandene ROS -Tools wie z. rostopic
und ganze Sprachbindungen wie z. rospy
für Python oder rosjava
Für Java kann es leicht mit Ihrem C ++ - Knoten zusammenarbeiten.
Für diesen speziellen Fall können Sie einfach die Standard -ROS -Nachricht für einen 3D -Punkt verwenden. Geometry_msgs/Punkt. Sie finden eine ziemlich umfassende Liste der standardisierten Nachrichten in der Common_msgs Dokumentation. Die Verwendung einer standardisierten Nachricht bietet eine Reihe von Vorteilen beim Erstellen Ihrer eigenen Nachricht mit im Wesentlichen mit demselben Inhalt - das größte ist, dass es im ROS -Ökosystem viele Tools oder andere Softwarestücke gibt, die Sie später nutzen möchten, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein werden, die sein möchten, wird sein Ein ziemlich schmerzloser Prozess, wenn Sie bereits standardisierte Nachrichtentypen verwenden.
Wenn Sie wirklich Ihre benutzerdefinierte Positionsklasse verwenden müssen (ohne sie einfach in eine ROS -Nachricht zu konvertieren), können Sie sich das ansehen ROSCPP -Serialisierung Dokumentation. Ich würde stark Schlagen Sie vor der Serialisierung Ihrer benutzerdefinierten Klasse vor, anstatt entweder eine tatsächliche ROS -Nachricht oder eine standardisierte Nachricht zu verwenden.