Package Summary

This package provides a ROS interface to the PX4Flow optical flow board.


The PX4Flow optical flow board outputs optical flow estimates at up to 250 Hz using the MAVLINK protocol over serial. This package parses the MAVLINK messages from the PX4Flow optical flow board, and converts them to ROS messages before publishing them.

We currently use the PX4Flow optical flow board on both our PIXHAWK MAV platform and the AscTec Firefly MAV platform. For more details, refer to the website:


Clone this repositoy in your catkin workspace.

cd ~/your_workspace/src
git clone

Note that px4flow_node package has the following dependencies.

  • roscpp
  • std_msgs
  • sensor_msgs
  • image_transport
  • px_comm


Build using catkin_make according to the ROS instructions.

cd ~/your_workspace/

Quick Start

Once you have built the px4flow_node package. Connect the PX4Flow optical flow board to one of the USB ports on your computer.

Run the launch file to start up the ROS interface to the PX4Flow optical flow board.

$ roslaunch px4flow px4flow.launch

$ roslaunch px4flow_node px4flow.launch

Run image_view to show the current image from the camera.

$ rosrun image_view image_view image:=/px4flow/camera_image

Run rostopic to show the values in the current message published by the px4flow_node node.

$ rostopic echo /px4flow/opt_flow


Wiki: px4flow_node (last edited 2017-03-15 03:36:52 by MatthewNg)