roslibjs-使用自定义消息订阅主题

时间:2018-12-07 20:58:09

标签: ros

我想通过roslibjs访问自定义gps消息中的gps节点发布的数据。 因此,我使用了this tutorial,但是在我的情况下,subscribe回调返回的消息对象总是 undefined

  var listener = new ROSLIB.Topic({
    ros : ros,
    name : '/gps_raw',
    messageType : 'gps_node/gps_raw'
  });
  listener.subscribe(function(message) {
    console.log('Received message on ' + listener.name + ': ' + message.data);
  });

结果:

Received message on /gps_raw: undefined

味精结构:

int32 gps_sats
float32 lat
float32 lon
int32 heading
int32 alt

https://github.com/MrGrimod/ros_airdrop/blob/master/src/gps_node/msg/gps_raw.msg

1 个答案:

答案 0 :(得分:1)

您的消息类型没有字段data。尝试在控制台日志中显示其他字段:gps_statslatlon等。

编辑:您还可以使用JSON.stringify显示消息的所有内容,如下所示:

console.log(`Received message on  ${listener.name}: ${JSON.stringify(message)`);