Comments (11)
The combination of gyro angular rate and non-motion compensated optical flow rates (optical flow in rad/second) are very useful for fusion of this data in an external observer.
This enables an external observer to:
a) estimate focal length scale factor error
b) correct the optical flow sensor gyro rates for bias errors before they are use for motion compensation
c) perform more precise motion compensation than would be possible using the observers own gyro data which is not time synchronized with the sensor and more precisely than would be possible with performing motion compensation within the px4flow sensor as its gyro rates are not bias corrected.
from px4-flow.
This gyro data should be averaged using the same sample set that is used for the px4flow measurements. What I mean by this is that if there are invalid flow measurements that are not being averaged, the gyro data corresponding to those flow measurements should also not be included in the gyro average.
from px4-flow.
I hacked the px4flow master code
to output the averaged gyro rates and flew it this weekend.
https://groups.google.com/d/msg/drones-discuss/SqgXeojbiZU/WcFo2KNWCYsJ
The improvement in performance was significant
from px4-flow.
@dominiho The change set has been dangling for a while now, and I think we should try to wrap this up, since it doesn't seem to be major effort. @priseborough is there a chance to consolidate your patch with the current master here so we can get your changes across? We also need to sync with respect to #21.
from px4-flow.
I think it would be best to work through the patch interactively with with someone on your team. Happy to schedule in a Skype meeting when it suits.
from px4-flow.
@dominiho The scale factor here does not match the data sheet:
https://github.com/PX4/Flow/blob/master/src/gyro.c#L56
Thanks @priseborough for reporting and @tridge for working the code location out.
from px4-flow.
This here doesn't quite make sense according to the data sheet - there is only 250/500/2000 selectable range.
{ 37548, 18774, 12516, 9387, 7510, 3755, 1877, 939 };
The three scaling factors should be:
- 70000 for 2000 dps
- 17500 for 500 dps
- 8750 for 250 dps
from px4-flow.
The temperature status is in register 0x26, so trivial to add there.
from px4-flow.
i don't think the table in https://github.com/PX4/Flow/blob/master/src/gyro.c#L56 is affecting the integrated outputs. It looks like the scale factor applied is being calculated here:
https://github.com/PX4/Flow/blob/master/src/gyro.c#L141
from px4-flow.
Yes, and that line pulls from the table ;-)
from px4-flow.
M_PI_F (or a constant with 7-8 digits after the decimal point) should be used here instead:
https://github.com/PX4/Flow/blob/master/src/gyro.c#L143
from px4-flow.
Related Issues (20)
- What is the official release commit? HOT 1
- Why use flow as a angular sensor rather than a linear velocity/position sensor? HOT 3
- PX4FLOW can not work outside HOT 1
- PX4FLOW and PixHawk 4 mini issue HOT 1
- px4flow sonar no distance. Help! HOT 5
- Vehicle reject position control when using optical flow HOT 2
- Firmware version onboard HOT 2
- Binning HOT 4
- Links in the readme become unavailable HOT 2
- Sonar requirements HOT 1
- Using px4flow as a robot-cart part HOT 6
- usage of ABSDIFF macro in flow.c
- Move to Python3
- How good is the pose estimation at 18 m HOT 1
- Error in build HOT 3
- Data Output from PX4Flow camera board
- <uavcan/protocol/GetNodeInfo.hpp> not detected HOT 2
- Low and fluctuating quality of flow over i2c while USB works fine HOT 4
- Strange local_position_ned and need for a "forced" reboot to work
- Live video view Totally Striped with VIDEO_ONLY = 0 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from px4-flow.