Skip to content

schvarcz/OpenCPN2ROS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published