Skip to main content
Skip table of contents

Installation and usage

Repository structure

This driver operates as a ROS node, connecting to either a TCP or serial stream of Fixposition Vision-RTK output data, see Fixposition ASCII messages and the Integration Manual.

To install the node, extract / clone the code to your catkin workspace's src folder:

CODE
# The folder structure should look like this
fp_public_ws
├── src
│   ├── fixposition_driver
│   │   ├── fixposition_driver_lib
│   │   ├── fixposition_driver_ros1
│   │   ├── fixposition_odometry_converter_ros1
│   │   ├── fixposition_driver_ros2             # will be ignore by catkin
│   │   ├── fixposition_odometry_converter_ros2 # will be ignore by catkin

Dependencies

Installing dependencies on Ubuntu system

CODE
sudo apt update
sudo apt install -y build-essential cmake
sudo apt install -y libeigen3-dev
sudo apt install -y libboost-date-time-dev

# For ROS1
sudo apt install -y ros-{ROS_DISTRO}-tf ros-{ROS_DISTRO}-eigen-conversions

ROS1 driver

Installation

Add a file named 'CATKIN_IGNORE' to the fixposition_driver_ros2 and fixposition_odometry_converter_ros2 folders.

Source the setup.bash from the ROS1 distro repository (/opt/ros/{ROS_DISTRO}/setup.bash). For example:

CODE
source /opt/ros/melodic/setup.bash

Then, build the ROS1 driver node and all its dependencies with:

CODE
catkin build fixposition_driver_ros1

Lastly, source the development environment:

CODE
source devel/setup.bash

Launch the Driver

  • To launch the node in serial mode, run:

CODE
roslaunch fixposition_driver_ros1 serial.launch
  • In TCP mode (Ethernet or Wi-Fi):

CODE
roslaunch fixposition_driver_ros1 tcp.launch

To change the settings of TCP (IP, Port) or Serial (Baudrate, Port) connections, check the launch/tcp.yaml and launch/serial.yaml files.

The performance of the serial driver is highly dependent on the configured baudrate and is not meant to handle high output rates or multiple simultaneous messages.


ROS2 driver

Installation

Add a file named 'COLCON_IGNORE' to the fixposition_driver_ros1 and fixposition_odometry_converter_ros1 folders.

Source the setup.bash from the ROS2 distro repository (/opt/ros/{ROS_DISTRO}/setup.bash). For example:

CODE
source /opt/ros/$ROS_DISTRO/setup.bash

Then, build the ROS2 driver node and all its dependencies with:

CODE
colcon build --packages-up-to fixposition_driver_ros2

Lastly, source the development environment:

CODE
source install/setup.bash

ROS2, unlike ROS1, by default uses a install directory in the workspace. So when you do ros2 launch *, the configuration and launch files are taken from the install directory instead of src.

If you want to modify the parameters in the YAML files. You can:

  • Modify the YAML file in the src directory and then re-run colcon build --packages-up-to fixposition_driver_ros2 to update them into the install directory.

  • Modify the YAML file in install. However, the next time you do colcon build they will be overriden by the files in src.

Launch the Driver

  • To launch the node in serial mode, run:

CODE
ros2 launch fixposition_driver_ros2 serial.launch
  • In TCP mode (Ethernet or Wi-Fi):

CODE
ros2 launch fixposition_driver_ros2 tcp.launch

To change the settings of TCP (IP, Port) or Serial (Baudrate, Port) connections, check the launch/tcp.yaml and launch/serial.yaml files.

The performance of the serial driver is highly dependent on the configured baudrate and is not meant to handle high output rates or multiple simultaneous messages.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.