ROS采集GPS/北斗数据在百度地图中可视化位置

关注微信公众号“混沌无形”,后台回复:13462F2。免费获取完整工程源码!

基于USB-RS232协议输出UM220-III/3-N/北斗GPS模块定位信息,使用ROS与js的接口包——roslibjs,调用百度地图js API,并可视化数据,笔者测试的效果如下(红点表示经过的路径点,GPS/北斗数据存在误差,所以路径点不连续)

使用者需要先下载安装roslibjs,再注册百度地图或高德地图。

读取GPS/北斗的定位数据代码

import serial

import rospy

from nmea_msgs.msg import Sentence
from libnmea_navsat_driver.driver import RosNMEADriver

if __name__ == '__main__':
    rospy.init_node('nmea_topic_serial_reader')

    # fine when using 10 Hz
    nmea_pub = rospy.Publisher("nmea_sentence", Sentence, queue_size=3)

    serial_port = rospy.get_param('~port','/dev/ttyUSB0')
    serial_baud = rospy.get_param('~baud',115200)

    # Get the frame_id
    frame_id = RosNMEADriver.get_frame_id()

    try:
        GPS = serial.Serial(port=serial_port, baudrate=serial_baud, timeout=2)
        while not rospy.is_shutdown():
            data = GPS.readline().strip()

            sentence = Sentence()
            sentence.header.stamp = rospy.get_rostime()
	    sentence.header.frame_id = frame_id
            sentence.sentence = data

            nmea_pub.publish(sentence)

    except rospy.ROSInterruptException:
        GPS.close() #Close GPS serial port

数据点在网页的可视化代码为







地图显示







  
  

Connecting to rosbridge...

喜欢的话,请关注微信公众号,可阅读更多好文!

 

你可能感兴趣的:(ROS开发)