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.
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 ROS1 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.