Integration of an Anemometer with Wind Vane

I’m looking for a expert opinion on what would the best way to approach integrating the measurements of a weather station (wind direction and velocity). My ultimate goal would be to fusion these measurements in the EKF.

However, I’m looking to break the process down in steps:
1- Be able to capture data from the weather station (done)
2- Be able to display the wind measurement on Qgroundcontrol and have them logged
3- Be able to transmit measurement to PX4 and have then sync with onboard measurement and logged
4- Integrate the measurement in the EKF

Current status:
Weather station is connect to my PC through a serial port from which I can read the data and parse the measurement.

High level Plan:
1- Create a new mavlink message
2- Use MAVSDK to connect to the serial port, parse the measurements and transmit them using custom mavlink.
3- On QgroundControl add widget to display measure wind
4- On Px4 create a new uOrb message and convert mavlink to uorb
5- integrate measurement to wind estimation

What I would like to know is:
Does this seem like the right to go about this?
Specifically can (and should) MAVSDK be used for broadcast a mavlink message?

1 Like


I am not completely sure what you mean by “using custom mavlink”. Do you mean that the MAVLink message you will use will be part of a dialect?

Ideally, I think you could try to get your MAVLink message into the standard, if that’s a message that makes sense in general (as opposed to be so specific that only you will ever use that). Then you could add this message into MAVSDK. Either as part of an existing plugin, or by creating a new one (e.g. a “Weather” or “WeatherStation” plugin? Or even both, with “WeatherStation” being the sensor emitting weather messages, and “Weather” being the plugin that could be used by the ground station to read those messages). That’s something to discuss to come up with a nice API :slight_smile:.

I’m comfortable with creating a new mavlink message. I’m trying to figure out what is the best and most appropriate way of broadcasting it.

@AlexandreBorowczyk: Just a thought. Are you planning on doing long missions at high altitude or flying in close vicinity? I am thinking about the difference between the weather station and what the drone is experiencing regarding wind. Those two could be rather different.

You are right even when fly close to the weather station the measurement are not going to match.
However, having a general sense of the direction and scale of strength I will help to give logs more context and hopefully will help the wind estimation in general.

There is simple solution for the different weather conditions between ground station and UAV - why connect weather station to ground station? Connect small anemometer to the UAV FC and program it. Downside is that, it would only work on the copters when they are hovering in one position. So will it be useful?

I would be hesitant to assume that the wind direction you experience at the ground and what the drone sees in i.e. 100m. They can be complete opposite and thus your estimate would not benefit from the information and have no means to validate it.

The appropriate way of integrating the ground wind measurements in the EKF is to be studied and evaluated.
I welcome anybody that has actual knowledge in wind behaviour at low altitude or experience in wind measurements and wants to share.
I’m also tracking wind for estimating another purpose. Hence, at this point, I’m looking at this problem in terms of software architecture.

Would you not be better served by using some real time data from Aviation Weather, NOAA or Flight Service? I believe UAVForecast aggregates data from these sites and extrapolates a forecast for the given area.

Good luck.

If you want better wind estimates I would investigate better sensors such as multi hole probes or vanes. Those sensors would enable a 3D wind estimate which is accurate. In general if you have better sensors on your UAV the wind estimation should get better.

The weather forecast and the measurements from the weather station are not accurate enough to use onboard a UAV because they are too far away from the current flight location and also filtered way too much. If only I would use them on the ground station as a sanity check if the wind estimation is roughly ok.

For all intents and purposes, the onsite conditions is only going to serve you for takeoff and more critically for landing. This is no different with full scale flying. An airport with AWOS or even just a windsock, its visible conditions are no use to the pilot after he’s outside of the airport environment.

Hi, I am curious if you were able to do this. I am looking into similar thing, able to get data from weather station and display data at the current position in the UI. Do you have some repo that I can take a look at?


Looking ahead I can say that it’s useful information