我想通过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
答案 0 :(得分:1)
您的消息类型没有字段data
。尝试在控制台日志中显示其他字段:gps_stats
,lat
,lon
等。
编辑:您还可以使用JSON.stringify显示消息的所有内容,如下所示:
console.log(`Received message on ${listener.name}: ${JSON.stringify(message)`);