bAfter I lost 1st airplane, 2nd airplane with Pi0 and v1 camera identified where to look and I had two airplanes.
Then I lost the 2nd airplane in very high tree, and two drones while searching for plane and 1st lost drone.
Today I realized that I still have the airplane with cabling for powering Pi0.
What I learned quite some time ago is, that an airplane can stay much longer in the air with the same amount of energy (lipo) than a drone.
What I learned with my raspcatbot is that frames captured with rolling shutter camera with vibrations of moving caterpillar robot (or drone or airplane) are horrible
viewtopic.php?f=37&t=267999&start=25#p1634711
and that a global shutter camera removes all the issues:
viewtopic.php?f=37&t=267999&start=25#p1636118
In the very first posting of this thread the weight of airplane plus Pi0 plus v1 camera plus cable was 38.2g.
Pi0W with headers and (25.99$)
ov7251 0.3MP monochrome global shutter camera weight 43.4g is only 5.2g more than before:

- 20201016_154448.20%.jpg
- 20201016_154448.20%.jpg (31.79 KiB) Viewed 2825 times
I was able to reverse engineer the wireless protocol of Eachine E52 drone camera and Android app, and let Pi retrieve the video for version v1 of the firmware. Unfortunately I was not able to reverse engineer version v2 of the firmware:
https://github.com/Hermann-SW/wireless- ... -e52-drone
Plan is to let PioW fly the airplane autonomously by cnnecting to the two plane motor controllers the wireless receiver drives.
Pi0W captures 320x240 monochome frames at 204fps framerate like I did with raspcatbot already.
Pi0W analyzes frame, identifies e.g. footpath in the fields and flies along.
I need an emergency channel for getting airplane down in case of e.g. program malfunction.
I will use heartbeat signal sent to Pi0W on the plane from ground, when heartbeat stops, Pi0W turns off motors and plane will land.
[ Nice side effect of turning off heartbeat signal from ground is, that control of the airplane via wireless control works then.
This allows to fly airplane to some "start" position and then trigger automatic flight by turning on heartbeat signal again. ]
Important step is to verify that 43.4g weight airplane can still fly (150mAh lipo was part of that weight).
I will do that after my physical rehab begin of December.
Next step will be to fly and capture monochrome global shutter videos with ov7251 camera looking down, and see whether footpath and other stuff can be seen by me, and later by an algorithm. Should be possible as the footpath in this this selfie of me taken with v1 camera 3 years ago:
Before that, finding out how to connect the Pi0W with the airplane wireless receiver motor controllers works can be done.
And I need to determine how slow/fast affects propeller rotational speeds.
And how turning left/right with remote control affects rotational speeds.
I will measure voltages while plane will be fixed by soldering 3rd hand.
I will determine rotational speeds of both propellers at the same time with HQ camera and diy highspeed flash as done in this posting:
viewtopic.php?f=43&t=284108&p=1738021#p1738021
Because the flashes will be triggered for each 1012x760 frame captured at 80fps, single video will reveal all propeller speeds for slow, fast, left, right, ...
What I did today is to git clone Arducam MIPI_Camera repo and build according instructions:
https://github.com/ArduCAM/MIPI_Camera/tree/master/RPI
I took a raspi2png screenshot of the Pi0W connected to HDMI monitor while running this command:
Code: Select all
pi@rpi01:~/MIPI_Camera/RPI $ ./arducamstill -t 0 -m 5 -awb 1 -ae 1
Open camera...
Found sensor ov7251 at address 60
mode: 0, width: 640, height: 480, pixelformat: Y10P, desc: (null)
mode: 1, width: 640, height: 480, pixelformat: Y10P, desc: (null)
mode: 2, width: 640, height: 480, pixelformat: GREY, desc: (null)
mode: 3, width: 640, height: 240, pixelformat: GREY, desc: (null)
mode: 4, width: 640, height: 120, pixelformat: GREY, desc: (null)
mode: 5, width: 320, height: 240, pixelformat: GREY, desc: (null)
index: 0, CID: 0x00980914, desc: V4L2_CID_HFLIP, min: 0, max: 1, default: 0, current: 0
index: 1, CID: 0x00980915, desc: V4L2_CID_VFLIP, min: 0, max: 1, default: 0, current: 0
index: 2, CID: 0x00980911, desc: V4L2_CID_EXPOSURE, min: 0, max: 65535, default: 512, current: 2157
index: 3, CID: 0x00980913, desc: V4L2_CID_GAIN, min: 0, max: 255, default: 16, current: 16
index: 4, CID: 0x00981901, desc: V4L2_CID_ARDUCAM_EXT_TRI, min: 0, max: 1, default: 0, current: 0
Can't open the file
mmal: Failed to fix lens shading, use the default mode!
Failed to set focus, the camera may not support this control.
Failed to set focus, the camera may not support this control.
Start preview...
Current mode: 5, width: 320, height: 240, pixelformat: GREY, desc: (null)
Mono camera does not support automatic white balance.
[Framerate]: 01 pfs, [Exposure]: 0032, [Focus]: 0000,[Rgain]: 0000, [Bgain]: 000
[Framerate]: 23 pfs, [Exposure]: 0032, [Focus]: 0000,[Rgain]: 0000, [Bgain]: 000
[Framerate]: 26 pfs, [Exposure]: 0032, [Focus]: 0000,[Rgain]: 0000, [Bgain]: 000
...
320x240 preview image is scaled bigger in preview:

- snapshot.png.jpg
- snapshot.png.jpg (84.94 KiB) Viewed 2825 times
Just verified that Pi0W and ov7251 camera can capture 320x240 frames at 204fps as well:
Code: Select all
pi@rpi01:~/MIPI_Camera/RPI $ ./raw_callback.320x240
Open camera...
Found sensor ov7251 at address 60
Setting the resolution...
...
Start raw data callback...
Total frame count = 2043
TimeElapsed = 10.000161
Stop raw data callback...
Close camera...
pi@rpi01:~/MIPI_Camera/RPI $
Only change:
Code: Select all
pi@rpi01:~/MIPI_Camera/RPI $ diff raw_callback.c raw_callback.320x240.c
37,38c37,38
< width = 1920;
< height = 1080;
---
> width = 320;
> height = 240;
pi@rpi01:~/MIPI_Camera/RPI $