This ROS package configures and communicates with the Teledyne Navigator Doppler Velocity Log (DVL). This has only been tested on ROS Kinetic and Melodic over RS232.
You must clone this repository as teledyne_navigator
into your catkin
workspace's src
directory:
roscd
cd src
git clone https://github.com/mcgill-robotics/ros-teledyne-navigator.git teledyne_navigator
Before proceeding, make sure to install all the dependencies by running:
rosdep update
rosdep install teledyne_navigator
You must compile this package before being able to run it. You can do so by running:
catkin_make
from the root of your workspace.
To run, simply connect the DVL over RS232 and launch the package with:
roslaunch teledyne_navigator teledyne_navigator.launch port:=</path/to/dvl>
The following run-time ROS launch arguments are available:
port
: Serial port to read from, default:/dev/dvl
.baudrate
: Serial baud rate, default:9600
.timeout
: Serial read timeout in seconds, default:1.0
.frame
:tf
frame to stamp the messages with, default:dvl
.
The package will keep trying to connect to the DVL until it is successful.
The teledyne_navigator
node will output to the following ROS topic:
~ensemble
: DVL scan data as anEnsemble
message.
This driver is limited to the PD5 output format and the earth-coordinate frame
(ENU). You may change other parameters as you please using TRDI Toolz and save
them with CK
, but the PD
and EX
commands will be overridden.
Contributions are welcome. Simply open an issue or pull request on the matter, and it will be accepted as long as it does not complicate the code base too much.
As for style guides, we follow the ROS Python Style Guide for ROS-specifics and the Google Python Style Guide for everything else.
We use YAPF for all Python formatting needs. You can auto-format your changes with the following command:
yapf --recursive --in-place --parallel .
We also use catkin_lint for all catkin
specifics. You can lint your changes as follows:
catkin lint --explain -W2 .
See LICENSE.