-
 

ntrip_client package from ntrip_client repo

ntrip_client

Package Summary

Tags No category tags.
Version 1.3.0
License MIT
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/LORD-MicroStrain/ntrip_client.git
VCS Type git
VCS Version ros2
Last Updated 2024-02-22
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

NTRIP client that will publish RTCM corrections to a ROS topic, and optionally subscribe to NMEA messages to send to an NTRIP server

Additional Links

Maintainers

  • Rob Fisher
  • Melissa Gill

Authors

  • Parker Hannifin Corp

ROS NTRIP Client

Description

ROS node that will communicate with an NTRP caster to receive RTCM connections and publish them on a ROS topic. Also works with virtual NTRIP servers by subscribing to NMEA messages and sending them to the NTRIP server

Important Branches

There are two important branches that you may want to checkout:

  • ros – Contains ROS1 implementation for this node.
  • ros2 – Contains ROS2 implementation for this node.

Build Instructions

Building from source

  1. Install ROS2 and create a workspace: Installing and Configuring Your ROS2 Environment

  2. Move the entire ntrip_client folder to the your_workspace/src directory.

  3. Install rosdeps for this package: rosdep install --from-paths ~/your_workspace/src --ignore-src -r -y

  4. Build your workspace:

    cd ~/your_workspace
    colcon build
    source ~/your_workspace/install/setup.bash
    
The source command may need to be run in each terminal prior to launching a ROS node.

Launch the node and publish data

The following command will launch the node. Keep in mind each instance needs to be run in a separate terminal.

ros2 launch ntrip_client ntrip_client_launch.py

Optional launch parameters:

  • host: Hostname or IP address of the NTRIP server to connect to.
  • port: Port to connect to on the server. Default: 2101
  • mountpoint: Mountpoint to connect to on the NTRIP server.
  • ntrip_version: Value to use for the Ntrip-Version header in the initial HTTP request to the caster.
  • authenticate: Whether to authenticate with the server, or send an unauthenticated request. If set to true, username, and password must be supplied.
  • username: Username to use when authenticating with the NTRIP server. Only used if authenticate is true
  • password: Password to use when authenticating with the NTRIP server. Only used if authenticate is true
  • ssl: Whether to connect with SSL. cert, key, and ca_cert options will only take effect if this is true
  • cert: If the NTRIP caster is configured to use cert based authentication, you can use this option to specify the client certificate
  • key: If the NTRIP caster is configured to use cert based authentication, you can use this option to specify the private key
  • ca_cert: If the NTRIP caster uses self signed certs, or you need to use a different CA chain, this option can be used to specify a CA file
  • rtcm_message_packege: Changes the type of ROS RTCM message published by this node. Defaults to mavros_msgs, but also supports rtcm_msgs

Topics

This node currently only has two topics of interest:

  • /rtcm: This node will publish the RTCM corrections received from the server to this topic as RTCM messages. These messages can be consumed by nodes such as the microstrain_inertial_driver
  • /nmea: This node will subscribe on this topic and receive NMEA sentence messages which it will forward to the NTRIP server. This is only needed when using a virtual NTRIP server

Docker Integration

VSCode

The easiest way to use docker while still using an IDE is to use VSCode as an IDE. Follow the steps below to develop on this repo in a docker container

  1. Install the following dependencies:
    1. VSCode
    2. Docker
  2. Open VSCode and install the following plugins:
    1. VSCode Remote Containers plugin
  3. Open this directory in a container by following this guide

Make

If you are comfortable working from the command line, the Makefile in the .devcontainer directory can be used to build a development image, and run a shell inside the docker image. Follow the steps below to setup your environment to use the Makefile

  1. Install the following dependencies:
    1. Make
    2. Docker
    3. qemu-user-static (for multiarch builds)
      1. Run the following command to register the qemu binaries with docker: docker run --rm --privileged multiarch/qemu-user-static:register

The Makefile exposes the following tasks. They can all be run from the .devcontainer directory:

  • make build-shell - Builds the docker image and starts a shell session in the image allowing the user to develop and build the ROS project using common commands such as catkin_make
  • make clean - Cleans up after the above two tasks

License

ntrip_client is released under the MIT License - see the LICENSE file in the source distribution.

Copyright (c) 2021, Parker Hannifin Corp.

CHANGELOG

Changelog for package ntrip_client

1.3.0 (2024-02-22)

  • Updates README to mention new launch parameters (#27)
  • Change codec to ISO-8859-1 (#46)
  • Prefer rtcm_msgs instead of mavros_msgs (#37)
  • ROS NMEA sentence min/max length (#19)
    • ROS NMEA sentence variable length
    • Removes unnecesarry imports
  • ROS Adds ability to publish an rtcm_msgs Message instead of a mavros_msgs RTCM (#22)
    • Adds ability to publish an rtcm_msgs Message instead of a mavros_msgs RTCM
    • Renames variables to differentiate between rtcm_msgs package and the conept of an rtcm_message
  • Contributors: Rob

1.2.0 (2022-08-11)

  • Adds the ability to configure the NTRIP client to connect using SSL (#23)
  • ROS automatic reconnect (#18)
    • Adds ability to reconnect to ROS
    • Allows the timeouts and other parameters to be modified via the launch file
    • Moves optional config out of constructor, and declares constnats in class definition
  • Contributors: Rob

1.1.0 (2022-04-22)

  • ROS Ntrip Version Configuration (#8)
    • No longer sends Ntrip-Version header if not specified
    • Adds some hopefully helpful debug logging
    • Properly handles responses that have both a failure response and success response
    • Adds ability to print debug logs via launch parameter
  • Contributors: robbiefish

1.0.2 (2022-02-10)

  • Checks if there is a * character in the string before parsing fully
  • Contributors: robbiefish

1.0.1 (2022-01-20)

  • Replaces ROS timer destroy methods with ROS2 methods and removes extra destroy
  • Contributors: robbiefish

1.0.0 (2021-12-09)

  • Initial implementation of ROS2 NTRIP client
  • Adds ability to cache packets if they do contain some of a mesage but not the whole thing
  • Contributors: drobb257, nathanmillerparker, robbiefish

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ntrip_client at Robotics Stack Exchange

ntrip_client package from ntrip_client repo

ntrip_client

Package Summary

Tags No category tags.
Version 1.3.0
License MIT
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/LORD-MicroStrain/ntrip_client.git
VCS Type git
VCS Version ros2
Last Updated 2024-02-22
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

NTRIP client that will publish RTCM corrections to a ROS topic, and optionally subscribe to NMEA messages to send to an NTRIP server

Additional Links

Maintainers

  • Rob Fisher
  • Melissa Gill

Authors

  • Parker Hannifin Corp

ROS NTRIP Client

Description

ROS node that will communicate with an NTRP caster to receive RTCM connections and publish them on a ROS topic. Also works with virtual NTRIP servers by subscribing to NMEA messages and sending them to the NTRIP server

Important Branches

There are two important branches that you may want to checkout:

  • ros – Contains ROS1 implementation for this node.
  • ros2 – Contains ROS2 implementation for this node.

Build Instructions

Building from source

  1. Install ROS2 and create a workspace: Installing and Configuring Your ROS2 Environment

  2. Move the entire ntrip_client folder to the your_workspace/src directory.

  3. Install rosdeps for this package: rosdep install --from-paths ~/your_workspace/src --ignore-src -r -y

  4. Build your workspace:

    cd ~/your_workspace
    colcon build
    source ~/your_workspace/install/setup.bash
    
The source command may need to be run in each terminal prior to launching a ROS node.

Launch the node and publish data

The following command will launch the node. Keep in mind each instance needs to be run in a separate terminal.

ros2 launch ntrip_client ntrip_client_launch.py

Optional launch parameters:

  • host: Hostname or IP address of the NTRIP server to connect to.
  • port: Port to connect to on the server. Default: 2101
  • mountpoint: Mountpoint to connect to on the NTRIP server.
  • ntrip_version: Value to use for the Ntrip-Version header in the initial HTTP request to the caster.
  • authenticate: Whether to authenticate with the server, or send an unauthenticated request. If set to true, username, and password must be supplied.
  • username: Username to use when authenticating with the NTRIP server. Only used if authenticate is true
  • password: Password to use when authenticating with the NTRIP server. Only used if authenticate is true
  • ssl: Whether to connect with SSL. cert, key, and ca_cert options will only take effect if this is true
  • cert: If the NTRIP caster is configured to use cert based authentication, you can use this option to specify the client certificate
  • key: If the NTRIP caster is configured to use cert based authentication, you can use this option to specify the private key
  • ca_cert: If the NTRIP caster uses self signed certs, or you need to use a different CA chain, this option can be used to specify a CA file
  • rtcm_message_packege: Changes the type of ROS RTCM message published by this node. Defaults to mavros_msgs, but also supports rtcm_msgs

Topics

This node currently only has two topics of interest:

  • /rtcm: This node will publish the RTCM corrections received from the server to this topic as RTCM messages. These messages can be consumed by nodes such as the microstrain_inertial_driver
  • /nmea: This node will subscribe on this topic and receive NMEA sentence messages which it will forward to the NTRIP server. This is only needed when using a virtual NTRIP server

Docker Integration

VSCode

The easiest way to use docker while still using an IDE is to use VSCode as an IDE. Follow the steps below to develop on this repo in a docker container

  1. Install the following dependencies:
    1. VSCode
    2. Docker
  2. Open VSCode and install the following plugins:
    1. VSCode Remote Containers plugin
  3. Open this directory in a container by following this guide

Make

If you are comfortable working from the command line, the Makefile in the .devcontainer directory can be used to build a development image, and run a shell inside the docker image. Follow the steps below to setup your environment to use the Makefile

  1. Install the following dependencies:
    1. Make
    2. Docker
    3. qemu-user-static (for multiarch builds)
      1. Run the following command to register the qemu binaries with docker: docker run --rm --privileged multiarch/qemu-user-static:register

The Makefile exposes the following tasks. They can all be run from the .devcontainer directory:

  • make build-shell - Builds the docker image and starts a shell session in the image allowing the user to develop and build the ROS project using common commands such as catkin_make
  • make clean - Cleans up after the above two tasks

License

ntrip_client is released under the MIT License - see the LICENSE file in the source distribution.

Copyright (c) 2021, Parker Hannifin Corp.

CHANGELOG

Changelog for package ntrip_client

1.3.0 (2024-02-22)

  • Updates README to mention new launch parameters (#27)
  • Change codec to ISO-8859-1 (#46)
  • Prefer rtcm_msgs instead of mavros_msgs (#37)
  • ROS NMEA sentence min/max length (#19)
    • ROS NMEA sentence variable length
    • Removes unnecesarry imports
  • ROS Adds ability to publish an rtcm_msgs Message instead of a mavros_msgs RTCM (#22)
    • Adds ability to publish an rtcm_msgs Message instead of a mavros_msgs RTCM
    • Renames variables to differentiate between rtcm_msgs package and the conept of an rtcm_message
  • Contributors: Rob

1.2.0 (2022-08-11)

  • Adds the ability to configure the NTRIP client to connect using SSL (#23)
  • ROS automatic reconnect (#18)
    • Adds ability to reconnect to ROS
    • Allows the timeouts and other parameters to be modified via the launch file
    • Moves optional config out of constructor, and declares constnats in class definition
  • Contributors: Rob

1.1.0 (2022-04-22)

  • ROS Ntrip Version Configuration (#8)
    • No longer sends Ntrip-Version header if not specified
    • Adds some hopefully helpful debug logging
    • Properly handles responses that have both a failure response and success response
    • Adds ability to print debug logs via launch parameter
  • Contributors: robbiefish

1.0.2 (2022-02-10)

  • Checks if there is a * character in the string before parsing fully
  • Contributors: robbiefish

1.0.1 (2022-01-20)

  • Replaces ROS timer destroy methods with ROS2 methods and removes extra destroy
  • Contributors: robbiefish

1.0.0 (2021-12-09)

  • Initial implementation of ROS2 NTRIP client
  • Adds ability to cache packets if they do contain some of a mesage but not the whole thing
  • Contributors: drobb257, nathanmillerparker, robbiefish

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ntrip_client at Robotics Stack Exchange

ntrip_client package from ntrip_client repo

ntrip_client

Package Summary

Tags No category tags.
Version 1.3.0
License MIT
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/LORD-MicroStrain/ntrip_client.git
VCS Type git
VCS Version ros2
Last Updated 2024-02-22
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

NTRIP client that will publish RTCM corrections to a ROS topic, and optionally subscribe to NMEA messages to send to an NTRIP server

Additional Links

Maintainers

  • Rob Fisher
  • Melissa Gill

Authors

  • Parker Hannifin Corp

ROS NTRIP Client

Description

ROS node that will communicate with an NTRP caster to receive RTCM connections and publish them on a ROS topic. Also works with virtual NTRIP servers by subscribing to NMEA messages and sending them to the NTRIP server

Important Branches

There are two important branches that you may want to checkout:

  • ros – Contains ROS1 implementation for this node.
  • ros2 – Contains ROS2 implementation for this node.

Build Instructions

Building from source

  1. Install ROS2 and create a workspace: Installing and Configuring Your ROS2 Environment

  2. Move the entire ntrip_client folder to the your_workspace/src directory.

  3. Install rosdeps for this package: rosdep install --from-paths ~/your_workspace/src --ignore-src -r -y

  4. Build your workspace:

    cd ~/your_workspace
    colcon build
    source ~/your_workspace/install/setup.bash
    
The source command may need to be run in each terminal prior to launching a ROS node.

Launch the node and publish data

The following command will launch the node. Keep in mind each instance needs to be run in a separate terminal.

ros2 launch ntrip_client ntrip_client_launch.py

Optional launch parameters:

  • host: Hostname or IP address of the NTRIP server to connect to.
  • port: Port to connect to on the server. Default: 2101
  • mountpoint: Mountpoint to connect to on the NTRIP server.
  • ntrip_version: Value to use for the Ntrip-Version header in the initial HTTP request to the caster.
  • authenticate: Whether to authenticate with the server, or send an unauthenticated request. If set to true, username, and password must be supplied.
  • username: Username to use when authenticating with the NTRIP server. Only used if authenticate is true
  • password: Password to use when authenticating with the NTRIP server. Only used if authenticate is true
  • ssl: Whether to connect with SSL. cert, key, and ca_cert options will only take effect if this is true
  • cert: If the NTRIP caster is configured to use cert based authentication, you can use this option to specify the client certificate
  • key: If the NTRIP caster is configured to use cert based authentication, you can use this option to specify the private key
  • ca_cert: If the NTRIP caster uses self signed certs, or you need to use a different CA chain, this option can be used to specify a CA file
  • rtcm_message_packege: Changes the type of ROS RTCM message published by this node. Defaults to mavros_msgs, but also supports rtcm_msgs

Topics

This node currently only has two topics of interest:

  • /rtcm: This node will publish the RTCM corrections received from the server to this topic as RTCM messages. These messages can be consumed by nodes such as the microstrain_inertial_driver
  • /nmea: This node will subscribe on this topic and receive NMEA sentence messages which it will forward to the NTRIP server. This is only needed when using a virtual NTRIP server

Docker Integration

VSCode

The easiest way to use docker while still using an IDE is to use VSCode as an IDE. Follow the steps below to develop on this repo in a docker container

  1. Install the following dependencies:
    1. VSCode
    2. Docker
  2. Open VSCode and install the following plugins:
    1. VSCode Remote Containers plugin
  3. Open this directory in a container by following this guide

Make

If you are comfortable working from the command line, the Makefile in the .devcontainer directory can be used to build a development image, and run a shell inside the docker image. Follow the steps below to setup your environment to use the Makefile

  1. Install the following dependencies:
    1. Make
    2. Docker
    3. qemu-user-static (for multiarch builds)
      1. Run the following command to register the qemu binaries with docker: docker run --rm --privileged multiarch/qemu-user-static:register

The Makefile exposes the following tasks. They can all be run from the .devcontainer directory:

  • make build-shell - Builds the docker image and starts a shell session in the image allowing the user to develop and build the ROS project using common commands such as catkin_make
  • make clean - Cleans up after the above two tasks

License

ntrip_client is released under the MIT License - see the LICENSE file in the source distribution.

Copyright (c) 2021, Parker Hannifin Corp.

CHANGELOG

Changelog for package ntrip_client

1.3.0 (2024-02-22)

  • Updates README to mention new launch parameters (#27)
  • Change codec to ISO-8859-1 (#46)
  • Prefer rtcm_msgs instead of mavros_msgs (#37)
  • ROS NMEA sentence min/max length (#19)
    • ROS NMEA sentence variable length
    • Removes unnecesarry imports
  • ROS Adds ability to publish an rtcm_msgs Message instead of a mavros_msgs RTCM (#22)
    • Adds ability to publish an rtcm_msgs Message instead of a mavros_msgs RTCM
    • Renames variables to differentiate between rtcm_msgs package and the conept of an rtcm_message
  • Contributors: Rob

1.2.0 (2022-08-11)

  • Adds the ability to configure the NTRIP client to connect using SSL (#23)
  • ROS automatic reconnect (#18)
    • Adds ability to reconnect to ROS
    • Allows the timeouts and other parameters to be modified via the launch file
    • Moves optional config out of constructor, and declares constnats in class definition
  • Contributors: Rob

1.1.0 (2022-04-22)

  • ROS Ntrip Version Configuration (#8)
    • No longer sends Ntrip-Version header if not specified
    • Adds some hopefully helpful debug logging
    • Properly handles responses that have both a failure response and success response
    • Adds ability to print debug logs via launch parameter
  • Contributors: robbiefish

1.0.2 (2022-02-10)

  • Checks if there is a * character in the string before parsing fully
  • Contributors: robbiefish

1.0.1 (2022-01-20)

  • Replaces ROS timer destroy methods with ROS2 methods and removes extra destroy
  • Contributors: robbiefish

1.0.0 (2021-12-09)

  • Initial implementation of ROS2 NTRIP client
  • Adds ability to cache packets if they do contain some of a mesage but not the whole thing
  • Contributors: drobb257, nathanmillerparker, robbiefish

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ntrip_client at Robotics Stack Exchange

ntrip_client package from ntrip_client repo

ntrip_client

Package Summary

Tags No category tags.
Version 1.3.0
License MIT
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/LORD-MicroStrain/ntrip_client.git
VCS Type git
VCS Version ros2
Last Updated 2024-02-22
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

NTRIP client that will publish RTCM corrections to a ROS topic, and optionally subscribe to NMEA messages to send to an NTRIP server

Additional Links

Maintainers

  • Rob Fisher
  • Melissa Gill

Authors

  • Parker Hannifin Corp

ROS NTRIP Client

Description

ROS node that will communicate with an NTRP caster to receive RTCM connections and publish them on a ROS topic. Also works with virtual NTRIP servers by subscribing to NMEA messages and sending them to the NTRIP server

Important Branches

There are two important branches that you may want to checkout:

  • ros – Contains ROS1 implementation for this node.
  • ros2 – Contains ROS2 implementation for this node.

Build Instructions

Building from source

  1. Install ROS2 and create a workspace: Installing and Configuring Your ROS2 Environment

  2. Move the entire ntrip_client folder to the your_workspace/src directory.

  3. Install rosdeps for this package: rosdep install --from-paths ~/your_workspace/src --ignore-src -r -y

  4. Build your workspace:

    cd ~/your_workspace
    colcon build
    source ~/your_workspace/install/setup.bash
    
The source command may need to be run in each terminal prior to launching a ROS node.

Launch the node and publish data

The following command will launch the node. Keep in mind each instance needs to be run in a separate terminal.

ros2 launch ntrip_client ntrip_client_launch.py

Optional launch parameters:

  • host: Hostname or IP address of the NTRIP server to connect to.
  • port: Port to connect to on the server. Default: 2101
  • mountpoint: Mountpoint to connect to on the NTRIP server.
  • ntrip_version: Value to use for the Ntrip-Version header in the initial HTTP request to the caster.
  • authenticate: Whether to authenticate with the server, or send an unauthenticated request. If set to true, username, and password must be supplied.
  • username: Username to use when authenticating with the NTRIP server. Only used if authenticate is true
  • password: Password to use when authenticating with the NTRIP server. Only used if authenticate is true
  • ssl: Whether to connect with SSL. cert, key, and ca_cert options will only take effect if this is true
  • cert: If the NTRIP caster is configured to use cert based authentication, you can use this option to specify the client certificate
  • key: If the NTRIP caster is configured to use cert based authentication, you can use this option to specify the private key
  • ca_cert: If the NTRIP caster uses self signed certs, or you need to use a different CA chain, this option can be used to specify a CA file
  • rtcm_message_packege: Changes the type of ROS RTCM message published by this node. Defaults to mavros_msgs, but also supports rtcm_msgs

Topics

This node currently only has two topics of interest:

  • /rtcm: This node will publish the RTCM corrections received from the server to this topic as RTCM messages. These messages can be consumed by nodes such as the microstrain_inertial_driver
  • /nmea: This node will subscribe on this topic and receive NMEA sentence messages which it will forward to the NTRIP server. This is only needed when using a virtual NTRIP server

Docker Integration

VSCode

The easiest way to use docker while still using an IDE is to use VSCode as an IDE. Follow the steps below to develop on this repo in a docker container

  1. Install the following dependencies:
    1. VSCode
    2. Docker
  2. Open VSCode and install the following plugins:
    1. VSCode Remote Containers plugin
  3. Open this directory in a container by following this guide

Make

If you are comfortable working from the command line, the Makefile in the .devcontainer directory can be used to build a development image, and run a shell inside the docker image. Follow the steps below to setup your environment to use the Makefile

  1. Install the following dependencies:
    1. Make
    2. Docker
    3. qemu-user-static (for multiarch builds)
      1. Run the following command to register the qemu binaries with docker: docker run --rm --privileged multiarch/qemu-user-static:register

The Makefile exposes the following tasks. They can all be run from the .devcontainer directory:

  • make build-shell - Builds the docker image and starts a shell session in the image allowing the user to develop and build the ROS project using common commands such as catkin_make
  • make clean - Cleans up after the above two tasks

License

ntrip_client is released under the MIT License - see the LICENSE file in the source distribution.

Copyright (c) 2021, Parker Hannifin Corp.

CHANGELOG

Changelog for package ntrip_client

1.3.0 (2024-02-22)

  • Updates README to mention new launch parameters (#27)
  • Change codec to ISO-8859-1 (#46)
  • Prefer rtcm_msgs instead of mavros_msgs (#37)
  • ROS NMEA sentence min/max length (#19)
    • ROS NMEA sentence variable length
    • Removes unnecesarry imports
  • ROS Adds ability to publish an rtcm_msgs Message instead of a mavros_msgs RTCM (#22)
    • Adds ability to publish an rtcm_msgs Message instead of a mavros_msgs RTCM
    • Renames variables to differentiate between rtcm_msgs package and the conept of an rtcm_message
  • Contributors: Rob

1.2.0 (2022-08-11)

  • Adds the ability to configure the NTRIP client to connect using SSL (#23)
  • ROS automatic reconnect (#18)
    • Adds ability to reconnect to ROS
    • Allows the timeouts and other parameters to be modified via the launch file
    • Moves optional config out of constructor, and declares constnats in class definition
  • Contributors: Rob

1.1.0 (2022-04-22)

  • ROS Ntrip Version Configuration (#8)
    • No longer sends Ntrip-Version header if not specified
    • Adds some hopefully helpful debug logging
    • Properly handles responses that have both a failure response and success response
    • Adds ability to print debug logs via launch parameter
  • Contributors: robbiefish

1.0.2 (2022-02-10)

  • Checks if there is a * character in the string before parsing fully
  • Contributors: robbiefish

1.0.1 (2022-01-20)

  • Replaces ROS timer destroy methods with ROS2 methods and removes extra destroy
  • Contributors: robbiefish

1.0.0 (2021-12-09)

  • Initial implementation of ROS2 NTRIP client
  • Adds ability to cache packets if they do contain some of a mesage but not the whole thing
  • Contributors: drobb257, nathanmillerparker, robbiefish

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ntrip_client at Robotics Stack Exchange

ntrip_client package from ntrip_client repo

ntrip_client

Package Summary

Tags No category tags.
Version 1.3.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/LORD-MicroStrain/ntrip_client.git
VCS Type git
VCS Version ros
Last Updated 2024-02-22
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

NTRIP client that will publish RTCM corrections to a ROS topic, and optionally subscribe to NMEA messages to send to an NTRIP server

Additional Links

Maintainers

  • Rob Fisher
  • Melissa Gill

Authors

  • Parker Hannifin Corp

ROS NTRIP Client

Description

ROS node that will communicate with an NTRIP caster to receive RTCM connections and publish them on a ROS topic. Also works with network/VRS mountpoints by subscribing to NMEA messages and sending them to the NTRIP server

Important Branches

There are two important branches that you may want to checkout:

  • ros – Contains ROS1 implementation for this node.
  • ros2 – Contains ROS2 implementation for this node.

Build Instructions

Building from source

  1. Install ROS and create a workspace: Installing and Configuring Your ROS Environment

  2. Move the entire ntrip_client folder to the your_workspace/src directory.

  3. Install rosdeps for this package: rosdep install --from-paths ~/your_workspace/src --ignore-src -r -y

  4. Build your workspace:

    cd ~/your_workspace
    catkin_make
    source ~/your_workspace/devel/setup.bash
    
The source command may need to be run in each terminal prior to launching a ROS node.

Launch the node and publish data

The following command will launch the node. Keep in mind each instance needs to be run in a separate terminal.

roslaunch ntrip_client ntrip_client.launch

Optional launch parameters:

  • host: Hostname or IP address of the NTRIP server to connect to.
  • port: Port to connect to on the server. Default: 2101
  • mountpoint: Mountpoint to connect to on the NTRIP server.
  • ntrip_version: Value to use for the Ntrip-Version header in the initial HTTP request to the caster.
  • authenticate: Whether to authenticate with the server, or send an unauthenticated request. If set to true, username, and password must be supplied.
  • username: Username to use when authenticating with the NTRIP server. Only used if authenticate is true
  • password: Password to use when authenticating with the NTRIP server. Only used if authenticate is true
  • ssl: Whether to connect with SSL. cert, key, and ca_cert options will only take effect if this is true
  • cert: If the NTRIP caster is configured to use cert based authentication, you can use this option to specify the client certificate
  • key: If the NTRIP caster is configured to use cert based authentication, you can use this option to specify the private key
  • ca_cert: If the NTRIP caster uses self signed certs, or you need to use a different CA chain, this option can be used to specify a CA file
  • rtcm_message_packege: Changes the type of ROS RTCM message published by this node. Defaults to mavros_msgs, but also supports rtcm_msgs

Topics

This node currently only has two topics of interest:

  • /rtcm: This node will publish the RTCM corrections received from the server to this topic as RTCM messages. These messages can be consumed by nodes such as the microstrain_inertial_driver
  • /nmea: This node will subscribe on this topic and receive NMEA sentence messages which it will forward to the NTRIP server. This is only needed when using a virtual NTRIP server

Docker Integration

VSCode

The easiest way to use docker while still using an IDE is to use VSCode as an IDE. Follow the steps below to develop on this repo in a docker container

  1. Install the following dependencies:
    1. VSCode
    2. Docker
  2. Open VSCode and install the following plugins:
    1. VSCode Remote Containers plugin
  3. Open this directory in a container by following this guide

Make

If you are comfortable working from the command line, the Makefile in the .devcontainer directory can be used to build a development image, and run a shell inside the docker image. Follow the steps below to setup your environment to use the Makefile

  1. Install the following dependencies:
    1. Make
    2. Docker
    3. qemu-user-static (for multiarch builds)
      1. Run the following command to register the qemu binaries with docker: docker run --rm --privileged multiarch/qemu-user-static:register

The Makefile exposes the following tasks. They can all be run from the .devcontainer directory:

  • make build-shell - Builds the docker image and starts a shell session in the image allowing the user to develop and build the ROS project using common commands such as catkin_make
  • make clean - Cleans up after the above two tasks

License

ntrip_client is released under the MIT License - see the LICENSE file in the source distribution.

Copyright (c) 2021, Parker Hannifin Corp.

CHANGELOG

Changelog for package ntrip_client

1.3.0 (2024-02-22)

  • Updates README to mention new launch parameters (#27)
  • Change codec to ISO-8859-1 (#46)
  • Prefer rtcm_msgs instead of mavros_msgs (#37)
  • ROS NMEA sentence min/max length (#19)
    • ROS NMEA sentence variable length
    • Removes unnecesarry imports
  • ROS Adds ability to publish an rtcm_msgs Message instead of a mavros_msgs RTCM (#22)
    • Adds ability to publish an rtcm_msgs Message instead of a mavros_msgs RTCM
    • Renames variables to differentiate between rtcm_msgs package and the conept of an rtcm_message
  • Contributors: Rob

1.2.0 (2022-08-11)

  • Adds the ability to configure the NTRIP client to connect using SSL (#23)
  • ROS automatic reconnect (#18)
    • Adds ability to reconnect to ROS
    • Allows the timeouts and other parameters to be modified via the launch file
    • Moves optional config out of constructor, and declares constnats in class definition
  • Contributors: Rob

1.1.0 (2022-04-22)

  • ROS Ntrip Version Configuration (#8)
    • No longer sends Ntrip-Version header if not specified
    • Adds some hopefully helpful debug logging
    • Properly handles responses that have both a failure response and success response
    • Adds ability to print debug logs via launch parameter
  • Contributors: robbiefish

1.0.1 (2022-02-10)

  • Checks if there is a * character in the string before parsing fully
  • Contributors: robbiefish

1.0.0 (2021-12-08)

  • Initial implementation of ROS NTRIP client
  • Adds ability to cache packets if they do contain some of a mesage but not the whole thing
  • Contributors: drobb257, nathanmillerparker, robbiefish

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

  • launch/ntrip_client.launch
      • namespace [default: /]
      • node_name [default: ntrip_client]
      • debug [default: false]
      • host [default: 20.185.11.35]
      • port [default: 2101]
      • mountpoint [default: VTC1_RTCM3]
      • authenticate [default: true]
      • username [default: user]
      • password [default: pass]
      • ntrip_version [default: ]
      • ssl [default: false]
      • cert [default: ]
      • key [default: ]
      • ca_cert [default: ]
      • rtcm_message_package [default: rtcm_msgs]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ntrip_client at Robotics Stack Exchange

ntrip_client package from ntrip_client repo

ntrip_client

Package Summary

Tags No category tags.
Version 1.3.0
License MIT
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/LORD-MicroStrain/ntrip_client.git
VCS Type git
VCS Version ros2
Last Updated 2024-02-22
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

NTRIP client that will publish RTCM corrections to a ROS topic, and optionally subscribe to NMEA messages to send to an NTRIP server

Additional Links

Maintainers

  • Rob Fisher
  • Melissa Gill

Authors

  • Parker Hannifin Corp

ROS NTRIP Client

Description

ROS node that will communicate with an NTRP caster to receive RTCM connections and publish them on a ROS topic. Also works with virtual NTRIP servers by subscribing to NMEA messages and sending them to the NTRIP server

Important Branches

There are two important branches that you may want to checkout:

  • ros – Contains ROS1 implementation for this node.
  • ros2 – Contains ROS2 implementation for this node.

Build Instructions

Building from source

  1. Install ROS2 and create a workspace: Installing and Configuring Your ROS2 Environment

  2. Move the entire ntrip_client folder to the your_workspace/src directory.

  3. Install rosdeps for this package: rosdep install --from-paths ~/your_workspace/src --ignore-src -r -y

  4. Build your workspace:

    cd ~/your_workspace
    colcon build
    source ~/your_workspace/install/setup.bash
    
The source command may need to be run in each terminal prior to launching a ROS node.

Launch the node and publish data

The following command will launch the node. Keep in mind each instance needs to be run in a separate terminal.

ros2 launch ntrip_client ntrip_client_launch.py

Optional launch parameters:

  • host: Hostname or IP address of the NTRIP server to connect to.
  • port: Port to connect to on the server. Default: 2101
  • mountpoint: Mountpoint to connect to on the NTRIP server.
  • ntrip_version: Value to use for the Ntrip-Version header in the initial HTTP request to the caster.
  • authenticate: Whether to authenticate with the server, or send an unauthenticated request. If set to true, username, and password must be supplied.
  • username: Username to use when authenticating with the NTRIP server. Only used if authenticate is true
  • password: Password to use when authenticating with the NTRIP server. Only used if authenticate is true
  • ssl: Whether to connect with SSL. cert, key, and ca_cert options will only take effect if this is true
  • cert: If the NTRIP caster is configured to use cert based authentication, you can use this option to specify the client certificate
  • key: If the NTRIP caster is configured to use cert based authentication, you can use this option to specify the private key
  • ca_cert: If the NTRIP caster uses self signed certs, or you need to use a different CA chain, this option can be used to specify a CA file
  • rtcm_message_packege: Changes the type of ROS RTCM message published by this node. Defaults to mavros_msgs, but also supports rtcm_msgs

Topics

This node currently only has two topics of interest:

  • /rtcm: This node will publish the RTCM corrections received from the server to this topic as RTCM messages. These messages can be consumed by nodes such as the microstrain_inertial_driver
  • /nmea: This node will subscribe on this topic and receive NMEA sentence messages which it will forward to the NTRIP server. This is only needed when using a virtual NTRIP server

Docker Integration

VSCode

The easiest way to use docker while still using an IDE is to use VSCode as an IDE. Follow the steps below to develop on this repo in a docker container

  1. Install the following dependencies:
    1. VSCode
    2. Docker
  2. Open VSCode and install the following plugins:
    1. VSCode Remote Containers plugin
  3. Open this directory in a container by following this guide

Make

If you are comfortable working from the command line, the Makefile in the .devcontainer directory can be used to build a development image, and run a shell inside the docker image. Follow the steps below to setup your environment to use the Makefile

  1. Install the following dependencies:
    1. Make
    2. Docker
    3. qemu-user-static (for multiarch builds)
      1. Run the following command to register the qemu binaries with docker: docker run --rm --privileged multiarch/qemu-user-static:register

The Makefile exposes the following tasks. They can all be run from the .devcontainer directory:

  • make build-shell - Builds the docker image and starts a shell session in the image allowing the user to develop and build the ROS project using common commands such as catkin_make
  • make clean - Cleans up after the above two tasks

License

ntrip_client is released under the MIT License - see the LICENSE file in the source distribution.

Copyright (c) 2021, Parker Hannifin Corp.

CHANGELOG

Changelog for package ntrip_client

1.3.0 (2024-02-22)

  • Updates README to mention new launch parameters (#27)
  • Change codec to ISO-8859-1 (#46)
  • Prefer rtcm_msgs instead of mavros_msgs (#37)
  • ROS NMEA sentence min/max length (#19)
    • ROS NMEA sentence variable length
    • Removes unnecesarry imports
  • ROS Adds ability to publish an rtcm_msgs Message instead of a mavros_msgs RTCM (#22)
    • Adds ability to publish an rtcm_msgs Message instead of a mavros_msgs RTCM
    • Renames variables to differentiate between rtcm_msgs package and the conept of an rtcm_message
  • Contributors: Rob

1.2.0 (2022-08-11)

  • Adds the ability to configure the NTRIP client to connect using SSL (#23)
  • ROS automatic reconnect (#18)
    • Adds ability to reconnect to ROS
    • Allows the timeouts and other parameters to be modified via the launch file
    • Moves optional config out of constructor, and declares constnats in class definition
  • Contributors: Rob

1.1.0 (2022-04-22)

  • ROS Ntrip Version Configuration (#8)
    • No longer sends Ntrip-Version header if not specified
    • Adds some hopefully helpful debug logging
    • Properly handles responses that have both a failure response and success response
    • Adds ability to print debug logs via launch parameter
  • Contributors: robbiefish

1.0.2 (2022-02-10)

  • Checks if there is a * character in the string before parsing fully
  • Contributors: robbiefish

1.0.1 (2022-01-20)

  • Replaces ROS timer destroy methods with ROS2 methods and removes extra destroy
  • Contributors: robbiefish

1.0.0 (2021-12-09)

  • Initial implementation of ROS2 NTRIP client
  • Adds ability to cache packets if they do contain some of a mesage but not the whole thing
  • Contributors: drobb257, nathanmillerparker, robbiefish

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ntrip_client at Robotics Stack Exchange

ntrip_client package from ntrip_client repo

ntrip_client

Package Summary

Tags No category tags.
Version 1.3.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/LORD-MicroStrain/ntrip_client.git
VCS Type git
VCS Version ros
Last Updated 2024-02-22
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

NTRIP client that will publish RTCM corrections to a ROS topic, and optionally subscribe to NMEA messages to send to an NTRIP server

Additional Links

Maintainers

  • Rob Fisher
  • Melissa Gill

Authors

  • Parker Hannifin Corp

ROS NTRIP Client

Description

ROS node that will communicate with an NTRIP caster to receive RTCM connections and publish them on a ROS topic. Also works with network/VRS mountpoints by subscribing to NMEA messages and sending them to the NTRIP server

Important Branches

There are two important branches that you may want to checkout:

  • ros – Contains ROS1 implementation for this node.
  • ros2 – Contains ROS2 implementation for this node.

Build Instructions

Building from source

  1. Install ROS and create a workspace: Installing and Configuring Your ROS Environment

  2. Move the entire ntrip_client folder to the your_workspace/src directory.

  3. Install rosdeps for this package: rosdep install --from-paths ~/your_workspace/src --ignore-src -r -y

  4. Build your workspace:

    cd ~/your_workspace
    catkin_make
    source ~/your_workspace/devel/setup.bash
    
The source command may need to be run in each terminal prior to launching a ROS node.

Launch the node and publish data

The following command will launch the node. Keep in mind each instance needs to be run in a separate terminal.

roslaunch ntrip_client ntrip_client.launch

Optional launch parameters:

  • host: Hostname or IP address of the NTRIP server to connect to.
  • port: Port to connect to on the server. Default: 2101
  • mountpoint: Mountpoint to connect to on the NTRIP server.
  • ntrip_version: Value to use for the Ntrip-Version header in the initial HTTP request to the caster.
  • authenticate: Whether to authenticate with the server, or send an unauthenticated request. If set to true, username, and password must be supplied.
  • username: Username to use when authenticating with the NTRIP server. Only used if authenticate is true
  • password: Password to use when authenticating with the NTRIP server. Only used if authenticate is true
  • ssl: Whether to connect with SSL. cert, key, and ca_cert options will only take effect if this is true
  • cert: If the NTRIP caster is configured to use cert based authentication, you can use this option to specify the client certificate
  • key: If the NTRIP caster is configured to use cert based authentication, you can use this option to specify the private key
  • ca_cert: If the NTRIP caster uses self signed certs, or you need to use a different CA chain, this option can be used to specify a CA file
  • rtcm_message_packege: Changes the type of ROS RTCM message published by this node. Defaults to mavros_msgs, but also supports rtcm_msgs

Topics

This node currently only has two topics of interest:

  • /rtcm: This node will publish the RTCM corrections received from the server to this topic as RTCM messages. These messages can be consumed by nodes such as the microstrain_inertial_driver
  • /nmea: This node will subscribe on this topic and receive NMEA sentence messages which it will forward to the NTRIP server. This is only needed when using a virtual NTRIP server

Docker Integration

VSCode

The easiest way to use docker while still using an IDE is to use VSCode as an IDE. Follow the steps below to develop on this repo in a docker container

  1. Install the following dependencies:
    1. VSCode
    2. Docker
  2. Open VSCode and install the following plugins:
    1. VSCode Remote Containers plugin
  3. Open this directory in a container by following this guide

Make

If you are comfortable working from the command line, the Makefile in the .devcontainer directory can be used to build a development image, and run a shell inside the docker image. Follow the steps below to setup your environment to use the Makefile

  1. Install the following dependencies:
    1. Make
    2. Docker
    3. qemu-user-static (for multiarch builds)
      1. Run the following command to register the qemu binaries with docker: docker run --rm --privileged multiarch/qemu-user-static:register

The Makefile exposes the following tasks. They can all be run from the .devcontainer directory:

  • make build-shell - Builds the docker image and starts a shell session in the image allowing the user to develop and build the ROS project using common commands such as catkin_make
  • make clean - Cleans up after the above two tasks

License

ntrip_client is released under the MIT License - see the LICENSE file in the source distribution.

Copyright (c) 2021, Parker Hannifin Corp.

CHANGELOG

Changelog for package ntrip_client

1.3.0 (2024-02-22)

  • Updates README to mention new launch parameters (#27)
  • Change codec to ISO-8859-1 (#46)
  • Prefer rtcm_msgs instead of mavros_msgs (#37)
  • ROS NMEA sentence min/max length (#19)
    • ROS NMEA sentence variable length
    • Removes unnecesarry imports
  • ROS Adds ability to publish an rtcm_msgs Message instead of a mavros_msgs RTCM (#22)
    • Adds ability to publish an rtcm_msgs Message instead of a mavros_msgs RTCM
    • Renames variables to differentiate between rtcm_msgs package and the conept of an rtcm_message
  • Contributors: Rob

1.2.0 (2022-08-11)

  • Adds the ability to configure the NTRIP client to connect using SSL (#23)
  • ROS automatic reconnect (#18)
    • Adds ability to reconnect to ROS
    • Allows the timeouts and other parameters to be modified via the launch file
    • Moves optional config out of constructor, and declares constnats in class definition
  • Contributors: Rob

1.1.0 (2022-04-22)

  • ROS Ntrip Version Configuration (#8)
    • No longer sends Ntrip-Version header if not specified
    • Adds some hopefully helpful debug logging
    • Properly handles responses that have both a failure response and success response
    • Adds ability to print debug logs via launch parameter
  • Contributors: robbiefish

1.0.1 (2022-02-10)

  • Checks if there is a * character in the string before parsing fully
  • Contributors: robbiefish

1.0.0 (2021-12-08)

  • Initial implementation of ROS NTRIP client
  • Adds ability to cache packets if they do contain some of a mesage but not the whole thing
  • Contributors: drobb257, nathanmillerparker, robbiefish

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

  • launch/ntrip_client.launch
      • namespace [default: /]
      • node_name [default: ntrip_client]
      • debug [default: false]
      • host [default: 20.185.11.35]
      • port [default: 2101]
      • mountpoint [default: VTC1_RTCM3]
      • authenticate [default: true]
      • username [default: user]
      • password [default: pass]
      • ntrip_version [default: ]
      • ssl [default: false]
      • cert [default: ]
      • key [default: ]
      • ca_cert [default: ]
      • rtcm_message_package [default: rtcm_msgs]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ntrip_client at Robotics Stack Exchange