PX4 FLOW (COM16) Driver Download



Docker containers are available that contain the complete PX4 development toolchain including Gazebo and ROS simulation:

  • PX4 Architectural Overview. Optical Flow ecl EKF. S.Bus Driver for Linux.
  • Hello, can anyone help me out here? I have a physical Pixhawk i'm using with Gazebo (and airsim) for HITL simulation. Connected to my Pixhawk, with Telemetry2, is a RaspberryPi with DroneKit installed.
  • Trusted Windows (PC) download px4 driver 1.3.7. Virus-free and 100% clean download. Get px4 driver alternative downloads.
  • px4io/px4-dev: toolchain including simulation
  • px4io/px4-dev-ros: toolchain including simulation and ROS (incl. MAVROS)

The PX4 USB driver on the Download page at Ardupilot is so old that it's for Windows NT and 2000 and won't work in Win7. Is there an updated USB driver availa.

Pull one of the tagged images if you're after a container that just works, for instance px4io/px4-dev-ros:v1.0, the latest container is usually changing a lot.

Dockerfiles and README can be found here: https://github.com/PX4/containers/tree/master/docker/px4-dev

Px4 Flow (com16) Driver Download 64-bit

They are build automatically on Docker Hub: https://hub.docker.com/u/px4io/

Prerequisites

Install Docker from here https://docs.docker.com/installation/, preferably use one of the Docker-maintained package repositories to get the latest version.

Containers are currently only supported on Linux. If you don't have Linux you can run the container inside a virtual machine, see further down for more information. Do not use boot2docker with the default Linux image because it contains no X-Server.

Use the Docker container

The following will run the Docker container including support for X forwarding which makes the simulation GUI available from inside the container. It also maps the directory <local_src> from your computer to <container_src> inside the container and forwards the UDP port needed to connect QGC. Please see the Docker docs for more information on volume and network port mapping.

With the -–privileged option it will automatically have access to the devices on your host (e.g. a joystick and GPU). If you connect/disconnect a device you have to restart the container.

If everything went well you should be in a new bash shell now. Verify if everything works by running SITL for example:

Graphics driver issues

It's possible that running Gazebo will result in a similar error message like the following:

In that case the native graphics driver for your host system must be installed. Download the right driver and install it inside the container. For Nvidia drivers the following command should be used (otherwise the installer will see the loaded modules from the host and refuse to proceed):

More information on this can be found here: http://gernotklingler.com/blog/howto-get-hardware-accelerated-opengl-support-docker/

Px4 flow (com16) driver download windows 7

Re-enter the container

If you exit the container, your changes are left in this container. The above “docker run” command can only be used to create a new container. To get back into this container simply do:

If you need multiple shells connected to the container, just open a new shell and execute that last command again.

QGroundControl

When running a simulation instance e.g. SITL inside the docker container and controlling it via QGroundControl from the host, the communication link has to be set up manually. The autoconnect feature of QGroundControl does not work here.

Flow

In QGroundControl, navigate to Settings and select Comm Links. Create a new link that uses the UDP protocol. The port depends on the used configuration e.g. port 14557 for the SITL iris config. The IP address is the one of your docker container, usually 172.17.0.1/16 when using the default network.

Px4 flow (com16) driver download windows 7

Virtual machine support

Any recent Linux distribution should work.

The following configuration is tested:

  • OS X with VMWare Fusion and Ubuntu 14.04 (Docker container with GUI support on Parallels make the X-Server crash).

Memory

(com16)

Use at least 4GB memory for the virtual machine.

Compilation problems

If compilation fails with errors like this:

Try disabling parallel builds.

Allow Docker Control from the VM Host

Edit /etc/defaults/docker and add this line:

You can then control docker from your host OS:

Legacy

The ROS multiplatform containers are not maintained anymore: https://github.com/PX4/containers/tree/master/docker/ros-indigo

  • /depot/Robotics/Controller/Firmware/ArduPilot/OpticalFlow.html

Download the APM's version of PX4FLOW Firmware from: http://ardupilot.com/downloads/?did=118(The expanded firmware should be px4flow-klt-06Dec2014.px4)

Px4 Flow (com16) Driver Download Windows 7

  • Connect the PX4Flow unit to your PC via USB.
  • Make sure the I2C cable between PX4FLOW and Pixhawk is disconnected (otherwise, the Pixhawk will try to boot via PX4Flow and fail due to insufficient power).
  • Use QGroundControl to load the binary firmware downloaded in the previous section.

NOTE: Some versions of QGroundControl are missing the menu to upload custom firmware from local filesystem. Use the latest version (v2.8.0) in order to upload the custome firmware to PX4FLOW. v2.8.0 also has PX4FLOW specific settings menu with auto-video streaming. If you want to run an older version of QGroundControl, use v2.5.2 or earlier in order to be able to load custom firmware to PX4FLOW.

All release versions of QGroundControl can be found here.

NOTE: Do this before mounting PX4FLOW to your vehicle as it's much easier.

  • Connect PX4FLOW to QGroundControl via USB.
  • With the latest version of QGroundControl, video is automatically streamed and displayed in the PX4FLOW specific settings menu.
  • From the parameters menu, set VIDEO_ONLY=1 in order to view high-resolution video for adjusting lens focus.
  • While view the video stream via USB, twist the focus ring on the PX4FLOW lens so that the image is focused and edges are sharp at around 3 meters (or your average hovering height, which is 1m in my case).
  • Tighten the focus ring screw once focus has been adjusted.
  • Disable high-resolution video streaming mode by setting VIDEO_ONLY parameter to 0.

Once lens focus has been adjusted properly, mount the PX4FLOW to the underside of your vehichle using a good anti-vibration mount.- Use DF13 4 pos connector to connect I2C port of PX4FLOW to I2C port of Pixhawk/PXF.- Pay attention to the mounting direction as described in the wiki. It's different from the orientation PX4 Native Stack uses.- Vibration can hinder the performance greatly.

Using the Sonar on PX4FLOW as RangeFinder (Not recommended)

  • It's almost always better to use LiDAR, but if you want to use the sonar module on PX4FLOW, use analog pins and connect it to ADC input of Pixhawk.
  • The sonar module that comes with 3DR PX4FLOW module is either LV-MaxSonar-EZ4 (a.k.a MB1040, according to the schematics) or HRLV-MaxSonar-EZ4 (a.k.a. MB1043, according to 3DR's site).
  • MB1040 is a low-resolution version that has 1 inch resolution and usable range of 6 to 254 inches (152mm to 6,450mm).
  • MB1043 is a high-resolution version that has 1mm resolution and usable range of 300mm to 5,000mm.
  • The following assumes you have MB1043.

Sonar Connection

  • Analog output on the EZ4 sonar is pin 3.
  • GND is pin 7.
  • Range of analog output is between 0.0v and the Vcc supplied to the sonar. So if you hook it up to 3.3 Vcc, maximum will be 3.3V. If you use 5V source, maximum output will be 5V.
  • PX4FLOW supplies 5V to the sonar, so the maximum output voltage from pin 3 is going to be roughly 5V (slightly lower in practice). Note that this fluctuates depending on the quality of power source. When powered via USB, it's usually lower than 5v, but when powered via battery and power module, it goes over 5V.

Caution

  • Make sure you connect the analog out of the sonar to Pixhawk's 6.6V ADC input.
  • DO NOT connect the PX4FLOW's sonar to the 3.3V ADC input directly as the maximum voltage will be too high for the 3.3V ADC port.
  • Pixhawk's 6.6V ADC input socket is 3 pos DF13. The center pin is the analog input. The pin on the right (when viewed from above) is the ground (if you are using pre-assembled cable from 3DR, it will be the other black cable). On Pixhawk, pin #1 (one one the left) is always Vcc on any of the DF13 sockets.
  • DO NOT connect 5V (red wire) to the sonar.

If in doubt, consult these pages.- http://copter.ardupilot.com/wiki/common-rangefinder-maxbotix-analog/- http://copter.ardupilot.com/wiki/common-pixhawk-overview/#pixhawk_analog_input_pins- https://pixhawk.org/modules/pixhawk

Sonar Configuration

Testing Sonar

  • Before arming with a range finder attached, you need to raise the aircraft to at least 50cm, but no more than 2m in height. Pre-arm logic checks the rangefinder's health status by confirming that both minimum and maximum values registered before arming is within certian pre-determined threshold (i.e. if the range does not go over 50cm, pre-arm check will fail. It will also fail if the reading goes over 200cm)
  • If the sonar is noisy and if it spikes to full output even for a short while before pre-arm check clears, you won't be able to ARM unless you reboot.
  • Also, if your sonar is mounted too close to the ground, the output on these EZ sonars tend to max out or fluctuate between min and max values, and you won't be able to arm. Again, you'll have to reboot.

Using Standalone Analog MaxSonar

  • Analog output on the EZ series sonar is pin 3.
  • GND is pin 7.
  • Range of Analog output is between 0v and the voltage supplied to the sonar via Vcc.
  • Only 3.3V Vcc on Pixhawk is the power pin on the safety switch connector, so if you want to connect an analog MaxSonar to Pixhawk's 3.3V ADC, you will need to supply Vcc via this power pin.
  • If you use 6.6V ADC input port, you can power the sonar via 5V Vcc which is supplied on 6.6V socket's Vcc pin.

Other Range Finders

  • Details to be filled...
  • Minimum version you need in order to use OF is Copter v3.3.1 + https://github.com/diydrones/ardupilot/commit/9b80ab18ae57dc38f1b91ae5946b4b3c317ac7c8
  • You can also run Copter v3.3.2-rc2 or later which has above changes included.
  • In both cases, you need to build the APM:Copter firmware from the source and flash Pixhawk with it until a pre-compiled binary shows up in beta firmware distribution.

Setup Using APM Planner 2.0 / Mission Planner

  • Initial Setup -> Optional Setup -> Optical Flow -> Check the 'Enable' checkbox
  • Config/Tuning -> Full Parameter List

Change the following parameters:

Flying Master?

If you are flying master (as of Feb. 2016), check out the parameter list posted by Paul Riseborough.

Setting & Testing

Pre-flight Configuration

Check mount orientation and tweak the scaler parameters according to the instructions in the wiki

PX4 FLOW (COM16) Driver Download

Check dataflash logs (NOT telemetry logs) and make sure:

  • OF.flowX, OF.flowY, OF.bodyX, OF.bodyY are responding to aircraft movements.
  • EKF5.meaRng is not flat-lined and responding to height changes.
  • EKF5.FIX and EKF5.FIY are not flat-lined (flat-line indicates OF readings are not used in EKF).
  • EKF4.SS bit 7 is false (inidicates constant position mode when true)
  • EKF4.SS bit 3 is true (indicates relative position mode when true)

NOTE: OF.flowX and OF.flowY don't get updated in the telemetry log, so make sure to check the dataflash logs.NOTE: Don't use OF_LOITER mode as they've been removed a long time ago from the firmware. APM Planner 2.0 still has this mode in the drop-down menu, presumably in order to support older versions.

  • If you don't take off immediately after arming and bring your copter to at least about 1 meter, EKF will stop using OF data and you'll be flying manually.
  • Sometimes OF drops out suddenly mid-flight when readings are off, but there's no warning or indication. Only way to know is to look at the dataflash logs.
  • When flying with OF, the aircraft starts to drift off as time goes by. It appears EKF5.FIX and EKF5.FIY gets too large over time.
  • Loiter mode feels a little 'sluggish' compared to stabilize, etc., and it's easy to get confused and panic as it seems like the copter is not responding to your RC input at all.
  • If you are getting nothing in the logs (make sure you are looking at the dataflash logs and not the telemetry logs), fire up NSH, and issue px4flow status command to see if the PX4FLOW module is detected on I2C and the driver is loaded. You should see a bunch of readouts if it's functioning correctly and error message otherwise.
  • At least one of the PX4FLOW clones (one without the on-board sonar module, bought from China) did not work when connected via I2C. It can be very confusing as it appears to be working just fine when connected directly to the PC via USB. PX4FLOW with sonar (bought direct from 3DR) doesn't have this problem.
  • Can OF be used with PosHold mode instead of Loiter mode? (Not likely.)
  • Can OF be mixed with GPS? (Not yet. Fusion mode is still being worked on.)
Px4 flow (com16) driver download win 7
  • The PX4FLOW firmware binary APM Recommended Version above is apparently built from the source code here, but the resulting binary built from the soure does not work with APM:Copter.
  • The latest upstream version, when built from the source does not seem to work with APM:Copter. OPTICAL_FLOW.flow_comp_m_x etc. in both telemetry and dataflash logs didn't look right.
  • In both cases, the values reported by the Copter didn't look right (values were too small, biased towards one direction only, less frequently updated, etc.). Although they look OK if you connect to PX4FLOW and look at the mavlink data directly.

Px4 Flow (com16) Driver Downloads

If you want to build PX4FLOW firmware from the source:

Px4 Flow (com16) Driver Download Windows 7

NOTE: This is just for reference. Don't do this as it won't produce the same binary as above.