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.


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/foxy/setup.bash

Then, build the ROS1 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.

JavaScript errors detected

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

If this problem persists, please contact our support.