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:
# 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
General
ROS1
ROS2
Installing dependencies on Ubuntu system
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:
source /opt/ros/melodic/setup.bash
Then, build the ROS1 driver node and all its dependencies with:
catkin build fixposition_driver_ros1
Lastly, source the development environment:
source devel/setup.bash
Launch the Driver
To launch the node in serial mode, run:
roslaunch fixposition_driver_ros1 serial.launch
In TCP mode (Ethernet or Wi-Fi):
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:
source /opt/ros/$ROS_DISTRO/setup.bash
Then, build the ROS2 driver node and all its dependencies with:
colcon build --packages-up-to fixposition_driver_ros2
Lastly, source the development environment:
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-runcolcon build --packages-up-to fixposition_driver_ros2
to update them into theinstall
directory.Modify the YAML file in
install
. However, the next time you docolcon build
they will be overriden by the files insrc
.
Launch the Driver
To launch the node in serial mode, run:
ros2 launch fixposition_driver_ros2 serial.launch
In TCP mode (Ethernet or Wi-Fi):
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.