Ask Your Question

ROS installation and usage of nmea_navsat_driver for GPS receiver? [closed]

asked 2014-08-13 13:21:01 -0500

mysteriousmonkey29 gravatar image

Hello, I'm currently trying to set up a GPS receiver and base station my boss purchased to work in ROS. It is a trimble Ag GPS 542 GNSS receiver ( ). It looks like the deivce can work in NMEA-0183 sentences, and thus that it should be compatible with the nmea_navsat_driver ROS package, found here: , but I am encountering some installation issues.

First off, the package is in python, which I've never worked with in ros before (just C++ before now). Is it a problem to have one node in a project with several different nodes be written in python, while the others are in C++? And if not, what's the general installation procedure for python packages? I git cloned the source into my catkin_ws, and then ran the lines

python build
python install

without issue. However, when I now to try to test out the package with

rosrun nmea_navsat_driver nmea_serial_driver _port:=/dev/ttyUSB0 _baud:=38400

I get the error

[rospack] Error: stack/package nmea_navsat_driver not found

no matter where I am in the file tree. This makes me think I have goofed up the installation somehow.

Anyone have any advice?

edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by mysteriousmonkey29
close date 2014-08-14 14:00:13.085665


Inside the driver go to this folder :

roscd nmea_navsat_driver/scripts/

and then make all the files executable by

chmod +x *
angshumanG gravatar image angshumanG  ( 2017-06-16 12:45:20 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2014-08-14 13:59:52 -0500

mysteriousmonkey29 gravatar image

Turns out I needed to extract the package into catkin_ws/src rather than just catkin_ws, because the latter is not in my ROS_PACKAGE_PATH.

Although upon doing this I have now encountered new errors, which I made another question for here:
edit flag offensive delete link more

answered 2014-08-13 13:50:50 -0500

ahendrix gravatar image

You may use any combination of C++ and python nodes in ROS.

Python packages are added to your workspace and built exactly the same as with C++ packages - simply add them to your workspace and build with catkin_make.

(The should not be invoked directly, and generally contains explicit warnings against doing so)

edit flag offensive delete link more


Cool, so I removed the package (to avoid any problems I may have caused by invoking the directly), and then reinstalled with git clone . However, I checked out the CMakeLists, and am a little confused because I don't see it adding/linking any executables (such as nmea_serial_driver, which I'm trying to use). In addition, I don't even see where the CMakeLists invokes the file. Then, when I run catkin_make, the terminal compiles my workspace as if nothing is different (it takes only a fraction of a second, and doesn't include any reference to the nmea package.

Do I need to modify the CMakeLists? I just cloned the repository into catkin_ws, do I need to put it somewhere else? Or am I doing something else wrong? Tring to run the nmea_serial_driver still produces the same stack/package not found error.

mysteriousmonkey29 gravatar image mysteriousmonkey29  ( 2014-08-13 15:21:53 -0500 )edit

The CMakeLists.txt in the nmea_navsat_driver is calling catkin_python_setup(), which invokes the through catkin with the appropriate arguments.

ahendrix gravatar image ahendrix  ( 2014-08-13 18:33:39 -0500 )edit

Oh I see. And then is the file supposed to be the one that actually creates the executables I want to use? Either way thiough, any idea why these executables still aren't being created? Or just what I'm doing wrong in general? I just want to be able to use the nodes within this package, but have not yet figured out how to do so.

mysteriousmonkey29 gravatar image mysteriousmonkey29  ( 2014-08-14 11:30:25 -0500 )edit

Question Tools

1 follower


Asked: 2014-08-13 13:21:01 -0500

Seen: 2,110 times

Last updated: Aug 14 '14