关于使用以下方式直接安装的问题:
sudo apt-get install ros-melodic-nmea-navsat-driver libgps-dev
在我的ros版本(melodic),使用这个方法安装后,发布gps话题的 frame_id是“/gps”,即使我在配置文件中设置的是**“gps”**。在tf2中好像没法处理带有“/”的frame_id。故采用源码下载以便修改,但是用源码下载后再运行,发布的话题就没有“/”了。。。。。。
效果:
这里是在室内,没有信号,所以没有值
源码安装过程中的坑
1、首先是安装缓慢问题,网络不好的情况下会一直卡在25%或50%
2、安装成功后运行报错
Traceback (most recent call last):
File "/home/zyy/LZY/catkin_ws/src/nmea_navsat_driver/scripts/nmea_serial_driver", line 35, in <module>
import libnmea_navsat_driver.nodes.nmea_serial_driver
File "/home/zyy/LZY/catkin_ws/src/nmea_navsat_driver/src/libnmea_navsat_driver/nodes/nmea_serial_driver.py", line 41, in <module>
from libnmea_navsat_driver.driver import RosNMEADriver
File "/home/zyy/LZY/catkin_ws/src/nmea_navsat_driver/src/libnmea_navsat_driver/driver.py", line 42, in <module>
from tf.transformations import quaternion_from_euler
File "/opt/ros/melodic/lib/python2.7/dist-packages/tf/__init__.py", line 30, in <module>
from tf2_ros import TransformException as Exception, ConnectivityException, LookupException, ExtrapolationException
File "/opt/ros/melodic/lib/python2.7/dist-packages/tf2_ros/__init__.py", line 38, in <module>
from tf2_py import *
File "/opt/ros/melodic/lib/python2.7/dist-packages/tf2_py/__init__.py", line 38, in <module>
from ._tf2 import *
ImportError: dynamic module does not define module export function (PyInit__tf2)
解决方案:修改scripts文件夹下的nmea_serial_driver文件(建议该把剩下几个一起修改了),把第一行的python3改成安装的python版本,这里我是2.7