Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KLT flow, CAN support and camera driver improvements #68

Open
wants to merge 149 commits into
base: master
Choose a base branch
from

Conversation

LorenzMeier
Copy link
Member

No description provided.

tpetri and others added 30 commits July 25, 2014 18:11
…ow), this implementation needs to be extended with image pyramid with ~3 levels and reimplemented with special instructions and fixed point for bilinear filtering
…frames but depending on the amount of motion blur and lens defocus it can be also much higher. Important: Gyro compensation not implemented currently, the corresponding parameter has no influence. To maintain 400 Hz refresh rate the flow is computed on 9 points in the image in a 3x3 grid, the size of the patch is 5x5 pixels. The code is not yet optimized, feel free to do so.
…x flow value, the clamping should happen on the gyro rates not on the final flow output
- Merged klt_flow2 with master by adding compute_klt() function to flow.c
- Added NUM_BLOCK_KLT to flow.c for different block size
- Change of FRAME_SIZE in flow.c in compute_klt() to int
- Changing between compute_flow and compute_klt done in main.c by commenting one or the other

Conflicts:
	src/flow.c
	src/main.c
- Added visual representation of flow in QGroundcontrol when activating flow image (for debugging)
moved quality measurement to new file quality_measurement.c
added iqr (interquartile range) quality
fixed klt flow image
- fix timer functions. do not use exclusive access instructions.
- fix time accumulation data type.
- implement median filtering of flow results
- huge code cleanup

Conflicts:
	inc/flow.h
	src/flow.c
	src/main.c
- Fixed Gyro compensation
- Added global parameters for result filtering
- small fixes in result accumulator
- Changed min amount of valid results from 2 to 3
- Added global parameter PARAM_USB_SEND_QUAL_0. It sets whether to send packets with 0 quality or not.
…which were used earlier, but are not needed anymore.
…ded experimental minimum determinant parameter.
kevinmehall and others added 29 commits September 29, 2015 11:26
This only affects the legacy data in pixels / accumulation period.

Based on 04f365d by Simon Laube

The full_time variable of the accumulator did not include the time of
the dropped frames. This is fixed now. Accumulator calculations relying
on the full_time variable are now correct event when frames are dropped.
(for example when taking a snapshot)

The full_time variable is currently only used by the old flow message
which uses pixels as the output format. It is used to scale the measured
pixel values to appear like we did not drop any frames. This scaling is
correct if we assume that the speed remains constant during the
accumulation period.
The UAVCAN message and APM can't deal with per-axis velocity limits. The
X and Y values were always the same.
Otherwise when multiple interrupts are pending, it fails to clear any,
and gets stuck in the ISR.
i2c_slave: Test individual interrupt-pending bits.
…datasheet

This eliminates the noise seen on every 4th row
Datasheet Rev A says 690. Rev G says 704. Testing says higher.
Improved camera register settings
Lightware SF10 Lidar driver
camera.c shouldn't be calling into UAVCAN; the main loop should poll for
images instead of blocking.
…y over USB

The actual image transfer is solid, but the format for metadata is not ready
to be considered a stable API.
This was a preliminary step to adding the asynchronous image transfer endpoint. While it
was a cleanup in its own right, might as well use the standard ST code for easier
upgrade if it does not need modification.

This reverts commits 6493c8f and 430c01d
@juancamilog
Copy link

Any reason why this hasn't been merged? Other than fixing the conflicts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants