Coder Social home page Coder Social logo

ros_nmea_depth's Introduction

NMEA depth to ROS (ros_nmea_depth package)

ROS package to parse NMEA GPS and Depth sentences, obtained from a Lowrance Elite 5-TI side-scanner, into ROS topics. The package currently contains one node, which receives the NMEA sentences via UDP. Four new message types are defined, as there are no standard ROS messages for some of the side-scanner NMEA sentences:

Partly based on code from this ROS node.

Dependencies

Installation

  • Install or resolve dependencies (see above)
  • Clone this repository to your catkin workspace src directory (e.g., $HOME/catkin_ws/src)
  • From your catkin workspace root directory (e.g., $HOME/catkin_ws), run the catkin_ws command

Usage

You can run the UDP node by running a roscore, and then using the rosrun command:

roscore &
rosrun ros_nmea_depth nmea_depth_udp.py

Alternatively, a ROS launch file is provided, where the default parameters (see below) are set as:

  • Frame ID: lowrance
  • IP Address: None (UDP multicast)
  • UDP Port: 12021

Published Topics

All topics are published relative the device's namespace, referred here by the frame_id parameter, and the sensor where the data is obtained. For example, if running the lowrance launch file, the frame_id will be lowrance, and thus the GPS time reference topic will be /lowrance/gps/time_reference.

Parameters

  • ~address (string, default: None)

IP address for source of NMEA sentences. Default is defined by an environment variable called "SONAR", which must be set before running the launch file:

export SONAR=<your_sonar_ip_address>
  • ~port (int, default: 12021)

TCP/UDP port for source of NMEA sentences. Default is a random port, defined by our Lowrance sonar. You must change this parameter to reflect the inbound connection with your device. You can do this either by modifying the ROS launch file or by specifying this parameter when using rosrun. For example, when running the TCP node:

rosrun ros_nmea_depth nmea_depth_tcp.py _port:=<your_port>
  • ~frame_id (string, default: None)

Name or ID of device which produces the NMEA sentences (e.g., lowrance).

  • ~update_rate (int, default: 40)

Rate of publishing NMEA sentences for TCP and UDP nodes. If your sonar transmits NMEA sentences too fast, the TCP/UDP nodes may miss some sentences, and increasing this parameter may prevent these losses. However, be wary of the node's CPU and bandwidth usage, both which may increase with higher publishing frequencies.

Contributors

ros_nmea_depth's People

Contributors

amamory avatar rgmaidana avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.