After connecting with the Vision Navigator through Wi-Fi or Ethernet cable, you can simply open your browser and enter the IP address of the Vision Navigator unit. There you will see a graphical user interface which allows you to configure the device and to visualize/log its data. See Sensor Configuration for more details.
Alternatively, the Vision Navigator is fully compatible with the ROS1/2 driver and C++ libraries available here. These drivers and libraries are maintained by our development partner Fixposition, supporting both the Vision Navigator and the VRTK2.
From FW version 2.63, both ROS1 and ROS2 are supported. The ROS driver version should be compatible with its corresponding software release version.
The ROS driver operates as a ROS node that can listen to any TCP or UART port to get outputs from the XVN to publish them in the ROS network. All available topics correspond to messages that are listed in Output messages configuration. The user needs to enable each desired message on the same port on which the ROS driver is running.
The user can directly stream the wheelspeed information into the XVN using TCP/UART/CANSTR as described in Measurement sensor configuration. It is also possible to fill in the XYZ velocity information into a ROS message and then publish it inside the ROS network so that the ROS driver can subscribe to this information and convert it to FP_B-MEASUREMENTS (binary data). This binary information will be streamed into the Fusion engine to improve localization performance.
Alternatively, an extra node called Fixposition Odometry Converter is provided to help integrate the wheelspeed on your vehicle. This node is intended to be used as middleware if you already have a topic with the wheelspeed values running on your system. Currently, messages of the type Twist, TwistWithCov, and Odometry are accepted. Another use of the ROS driver is to stream RTCM correction data.
ROS1 Noetic
ROS2 Humble / Jazzy
See this page from Fixposition for the most recent instructions on installing and using the ROS driver.
This driver operates as a ROS node, connecting to either a TCP or serial stream of the Vision Navigator output data, see Input/Ouput 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
General
ROS1
ROS2
sudo apt update
sudo apt install -y build-essential cmake
sudo apt install -y libeigen3-dev
sudo apt install -y libboost-date-time-dev
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
To launch the node in serial mode, run:
roslaunch fixposition_driver_ros1 serial.launchIn 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.
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/foxy/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-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 a colcon build they will be overriden by the files in src.
To launch the node in serial mode, run:
ros2 launch fixposition_driver_ros2 serial.launchIn 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.