La forma más sencilla de desarrollar usando la API Websocket es utilizar
roslibpy. Aquí tienes un ejemplo
que escuchará la odometría del robot:
#!/usr/bin/env python
import roslibpy
client = roslibpy.Ros(host='192.168.3.42', port=9090)
client.run()
def callback(msg):
position = msg['pose']['pose']['position']
print(f"Received Pose: x={position['x']}, y={position['y']}")
listener = roslibpy.Topic(client, '/odometry/filtered', 'nav_msgs/Odometry')
listener.subscribe(callback)
try:
while True:
pass
except KeyboardInterrupt:
client.terminate()
Se puede crear una biblioteca similar en C o C++ que siga el mismo protocolo
Websocket.