Skip to content

Latest commit

 

History

History
85 lines (61 loc) · 2.32 KB

README.md

File metadata and controls

85 lines (61 loc) · 2.32 KB

OpenCPN2ROS

ROS

This project aims to create a link between OpenCPN and ROS throughout a serial port and NMEA standard.

From OpenCPN point-of-view, ROS is are two gps ports:

  • /dev/ttyVUSB0 - where OpenCPN should publish the waypoints to ROS;
  • /dev/ttyVUSB3 - where OpenCPN receive receive ROS pose and orientation.

Prerequisites

Install all deps:

sudo apt-get install ros-kinetic-nmea-navsat-driver ros-kinetic-nav-msgs socat python-pyproj python-numpy

How to use

sudo ./script/create_ports.bash
  1. Configure the ports at OpenCPN:

Configure ttyVUSB0. Configure ttyVUSB1.

  1. Launch the ROS interface:
roslaunch opencpn2ros opencpn_interface.launch

ROS Nodes

opencpn2ros

Read the waypoints sent by OpenCPN and publish to ROS as a nav_msgs/Path.

Subscribed topics

nmea_msgs/Sentence - nmea_sentence: NMEA Message to be analysed.

Published topics

nav_msgs/Path - new_waypoints_mission: Path to be followed by the robot.


fake_gps

Reads the robot pose and publish into OpenCPN.

Subscribed topics

geometry_msgs/PoseStamped - pose: Robot's current pose.

Published topics

nmea_msgs/Sentence - nmea_sentence: NMEA Message to be sent to OpenCPN.


fake_compass

Reads the robot heading and publish into OpenCPN.

Subscribed topics

std_msgs/Float64 - pose: Robot's current heading.

Published topics

nmea_msgs/Sentence - nmea_sentence: NMEA Message to be sent to OpenCPN.


fake_sounder

Reads the robot distance from the seabed and publish into OpenCPN.

Subscribed topics

std_msgs/Float64 - pose: Robot's current distance from the seabed.

Published topics

nmea_msgs/Sentence - nmea_sentence: NMEA Message to be sent to OpenCPN.


nmea_topic_virtual_serial_reader

Reads serial port /dev/ttyVUSB0 for incoming messages.

Published topics

nmea_msgs/Sentence - nmea_sentence: NMEA Message to be analysed.


nmea_topic_virtual_serial_writer

Writes into serial port /dev/ttyVUSB3 all outgoing messages.

Subscribed topics

nmea_msgs/Sentence - nmea_sentence: NMEA Message to be sent to OpenCPN.