Wednesday, August 8, 2018

Converged IoT Platform Near The Edge Of Space

Disclaimer: Please check with local authority before flight. This blog is not responsible for adverse effects and damages caused by building and using this platform. This blog is intended for investigating and understanding the performance of extreme robotics for better safety planning.  

After converged platform built from my previous blog, we are ready to tap into the mindset of illicit  pilots/builders.

Acrobatic And Gyro Mode Pitch Curves

It was discovered that 2600RPM can not have both smooth diving and cruising. The following diving video is with alternative 2600RPM (but no alternative rotor components).

So, for the acrobatic and gyro modes,  enhance the maneuverability on the expense of fuel efficiency, we set the hovering pitch to slightly lower than 5 degrees but higher than 4 degrees between the orange and green lift curves, so that the lift slope doesn't turn steep, which would have translated to more difficult altitude management. RPM of the new hovering pitch is 19% higher, 3145 versus 2645 of attitude mode. We may refer to these 2 different RPMs as 31 hundred and 26 hundred, respectively, in further discussion for brevity.

According to NASA education page below on the right, the square of the RPM growth 1.19x1.19=1.42 should require the inverse of this ratio of collective pitch because lift is proportional to pitch in overall trend in the NACA 0015 data sheet. So the new pitch angle in theory is 6.2/1.42=4.4 degrees. However, the Reynolds number changes with RPM, shifting from the aqua colored curve toward orange and green colored curves, suppressing lift at sub-6-degree angle but augmenting lift past 6 degrees.

Hovering at center, mid-throttle 23 points, 23 points / 30points x 6.2 degrees = 4.8 degrees collective pitch. Notice that mid-throttle is actually scaled by 0.98 in transmitter and shown as 23x0.98 = 22.54 in the LCD display. But the angle is still 4.8 because the 22.54 points display refers to 989-2011us PWM range. The 0.98 scaling sets the PWM signal range 1000-2000 microseconds for 200 points for angle 83 degrees. 22.54/200*(2011-989)+1500=1615.2us is the actual PWM signal. (1615.2-1500)x50%+1500=1557.6us is the mixer output toward servo. (1557.6-1000)/1000*83=46.3 is the angle from the position with 1000us PWM in the servo. 46.3-(83/2.0)=4.8 is the angle from neutral. 

The maximum RPM of the 14 poles motor is 50,000/7 = 7143, so the hovering point is 200 x 3145 / 7143 = 88 . When you listen to the hovering RPM, 3145/60=52.4Hz, you hear 2 octaves higher harmonics multiplied by the 2 blades, 52.4x2x2x2=419.2Hz because this is the octave most people can hum and sing along. This frequency is the Baroque tuning frequency of A4 music note. The attitude mode hovering sound is conversely a F#4 note. These 2 pitches have the same musical interval the first 2 notes of the Dvorak New World symphony folk tune of the 1800s era, which means that you can validate the power-tran setup in the field just by humming the song and matching it to the tune of the craft switching between the 2 modes.

The collective pitch curve for diving should not be 0 because the helicopter's body provides drag and gives down cyclic pitch for the craft equivalent of elevator-down, as seen in the following video. The free fall from the antenna tip to the church spire, 0:08 to 0:19 is about 200m. The dive started next to the building , but the craft relented its position and drifted behind the building at the bottom of the dive

To improve the dive precision, we will keep the lowest collective pitch at 6points x (6.2degrees/30points)=1.24 degrees to provide compensation, at the same time, using single rotor helicopter dynamics, converting collective pitch force to craft elevator tilting at high forward speed. Overall the curve goes from 6 points and increases 17 points every quarter of throttle range, ending in 57 points,  6.2 x 57 / 30 = 11.8 degrees.

CG Setting

During research of alternative camera Insta360 Go, it was discovered that moving CG forward stabilized the diving, as seen in the very first video of this page. 
When using the Runcam Hybrid2, which weighs the same as Insta360 but distributes weight rearward on the recording board and without the 3.5g custom bracket and without the 1.1 gram Runcam Nano3, and with the 49-gram, 450mah, battery front close to the battery cavity front edge, the dive swung as shown in videos here. 
The weighing of the alternative components are in the pictures below.
The total torque loss with the Runcam Hybrid2 was 5.4gx6cm+(1.1g+3.5g)x9cm = 73.8g-cm , which is equivalent of having a 2.3-gram heavier tail motor(significant). 
What's worse is that the tail heavy impairs the level flight pitch holding as shown in the following videos.

For the alternative Runcam Hybrid2, the solution is to modify the 450mah battery with  double sided mounting tape and Velcro, so that the battery protrudes 2-3cm (about 1.5-2.5cm horizontal component).

When tested with Runcam Hybrid2, there was no difference between 2cm and 3cm protrusion. The final solution with Runcam Thumb, which also has (18.1g+3.5g+1.1g(bracket)-14.5g)x9cm = 73.8g-cm torque loss, also needs (73.8g-cm)/55.4g+0.2cm=1.5cm protrusion horizontal component (about 2cm battery length-wise). The 520mAh battery has a natural extra 0.2cm protrusion than the 450mAh because it is about 0.4cm longer.
The direct drive tail motor means that a dive will drift to the left if you yaw to the right. In the FPV video above, the dive initially started at 026 latitude at the parking lot and ended at 027 near the tree edges, a 8 metre drift. This means that the yaw rearing is reversed during the dive, and a dive can not be reared to the right.

Dynamic Rotor Balancing For RPM 3150 And Setting

 In build notes, we visually balanced the rotor for lower RPM 2607 to less than 0.03 grams precision, but the high RPM has imbalances not visible to the eyes. The first thing to take care of is the tightness of the rotor grips. For persistency, we set the blade draping angle to 80-90 degrees, as the video on the right shows.  If the blades are over tightened, imbalance easily results in mechanical vibration. Then the mechanical vibration can be interpreted by PID loops and produce unprediectable flight characterristics. If the blades are too loose, PID loop actions are attenuated, resulting in requiring unpredictable, larger PID gains, such as the video on the right, where 40% extra PID gains are used on the cyclic controll.

Going from 2600 RPM to 3100 RPM requires fine tuning the rotor with hand tethered hovering. Here the test retains the original decal of the blades. And the tuning took 3 tries, as pictured below.

First fixed the trembling by cutting out a corner of a decal. When aggressively trimming the corner, it is over corrected and trembling reoccurred. Then balance was restored by cutting the corner of the other decal. Once the amount of taping is determined, all decals are removed, and clear tape is put in place for the required balancing. The balancing progress are the 4 pictured below from the left to the right. The conclusion is that one square centimeter tape makes all the difference. Thickness of tape 0.002-0.003inch = 0.005-0.0075cm, weight (assuming density 1g/cm-square) 0.005-0.0075 grams. This means acro mode needs precision balance 5 times higher than attitude mode.

However, during multiple test builds, it was discovered that most builds could not achieve smooth balance, and that blade swapping was needed. One of the successful blade pairing was picture above on the right. It was reasoned that blades often curve unevenly under centrifugal forces after spool-up to 3150RPM, as illustrated in the following diagram.
The swapping is reasoned to restore asymmetrically curved blades. But, wait, there are more problems. The warping of the 2 blades can be different when subjected to 3100 RPM's centrifugal force. The solution is to pick and match a pair that dynamically match the warping to each other. 

The match does not take blade ages into account. In the above example match, the older blade's color fades, but it is the best match picked out from 3 different sets of purchases. And the static warping mismatch is also disregarded. One warps up, the other warps down, but they balanced up when spun up to 3100 RPM. All the other blades from the 3 sets fail to match the lower blade in the picture. The only way to check the pairing is to spin them up to the full speed. And each pairing test needs to be checked with 2 different orientations of the grip installation. In the pictured example, only one orientation can produced a smooth spin. The other orientation always has vibration that can't be tuned out with scotch tape.


More than 3 different racing controllers in the market have "define" of
PTERM_SCALE             0.032029
ITERM_SCALE             0.244381
DTERM_SCALE             0.000529
, vintage scaling in their pid.h .
In the video, the left side is controlled by Betaflight with the vintage scaling numbers set by a racing champion robot or an anonymous human defector.
On the right side, CC3D flight computer used actual PID parameters, and the calculated PIDs were applied for initial research investigation. 
Both sides have identical main blades, RPM, swash mix, servos, tail motor, tail prop, weight, and weight distribution.
racing controller on the left side, scaled PIDs are 45/118/0 , tail 34/10/56 , seen in configuration dump.
With CC3D on the right side, true PIDs are 0.002/0.04/0, tail 0.0015/0.0034/2.1e-5, seen in Stabilization/Advanced tab. 
For gyro-only-stablization, straight-line flying (the b and c terms in pid2 of Matlab are canceled by zero steering), we convert the standard-condition CC3D PIDs 0.00213/0.0426/0
tail 0.0016/0.0036/2.2e-5 to Betaflight by applying the vintage scaling as so,
              Pcc3d / 0.032029 / 0.7 * 1000/2 = Pracing   
, i.e.    0.00213 / 0.032029 / 0.7 * 1000/2 = 48
, i.e.    0.0016   / 0.032029 / 0.7 * 1000/2 = 36
              Icc3d  / 0.244381 / 0.7 * 1000/2 = Iracing     
, i.e.      0.0426 / 0.244381 / 0.7 * 1000/2 = 125
, i.e.      0.0036 / 0.244381 / 0.7 * 1000/2 = 11
              Dcc3d / 0.000529 / 0.7 * 1000   = Dracing   
, i.e.       2.2e-5 / 0.000529 / 0.7 * 1000   = 60
 The 1000 factor is an emulation of PWM 2000-1000 in racing controllers. The factor 1/2 is the banking/pitching force servo output mixer range, +1-(-1), in CC3D. Direct drive tail does not have negative servo range.
The standard temperature PIDs is for 25 degrees Celsius, which is the scientific standard condition for gas chemistry. Actual PIDs in the video deviate 6.5% from the conversion due to testing in low temperatures. It is well known that air density deviates (273.0K + 25.0C) / 273.0K = 9% by weather and that aerodynamic force is directly proportional to air density as shown in NASA's education page screenshot.  

It has been tested and shown that, with Kd=0, at the the bottom of the dives or whenever main rotor torque has rapid, sudden increases, the direct drive tail lapses while motor is spinning up with finite acceleration. The high integral produces winding resulting in "collision with thin air" bounces at 0:57 , 1:16 , and 1:41 of the video on the right. The solution is to either use a high torque tail motor of 1306 size with (CC3D) standard Ki and Kd=0, or set Kd to 2.2e-5 with 1106/1303.5 motor.
The level-flight maneuverability with standard-condition PIDs, which is tuned for terminal velocity straight flight, is shown here.

FPV And Action Camera

Four trials. First the FPV and action camera share a buck converter, and the VTX does not have stub power tapping wires for FPV camera, there was diagonal line noise in the FPV feed.
Then the main buck converter was replaced and stub power tapping wires are added to VTX. The FPV and action camera share a buck converter. Still severe diagonal line noise in the FPV feed.
After swapping the shared buck converter, still obvious diagonal line noises in the FPV feed.

Finally, FPV camera used the VTX power tapping, and diagonal line noises resolved.

But wait, for the HD video, the TPU mount produces jello as shown below on the left. And the solution is to glue the camera on the aluminum bracket.
The helicopter physics dictate that the craft hover with a banking angle of about 4 degrees, and the FPV camera should counter the angle as pictured on the right. The TBS Unity VTX, either pro or pro32 nano, comes with a set of 4 wires about 9cm long. And the power tapping scheme is shown below. And the result is in the video. 

The problem with hard glue on the frame is that the inter-molecular forces of the adhesion create a resonance body from both the camera and the craft frame. The actual solution to eliminate vibration is with tin plated sheet with work drawing here. Then the HD camera is tied to the bracket with a zip tie or rubber band.

The non-shielded, high power TBS Unity Pro VTX has oscillation problem with impedance changes on terminal points. As discussed by youtubers and pictured below, 
. The solution is to bend the wiring out of the terminal points to tune the impedance, as pictured below with verification.
The 5.8GHz has less than half the wavelength of 2.4GHz, and hence the small radius of the bend can modify the impedance effectively. Also shown in the tuning picture above on the left is the sharing of the VTX power with servos. It showed that sharing power with servos is not the source of the oscillation.

Hardware Modification

To start out, for 230S fuselage,
the zip tie for main motor
needs pre-bending and pre-
twisting to make the section
on the top stay vertical during
installation, as pictured.
The Align grips don't have thrust bearing. They have less crash resistance because the radial bearing is stress pre-loaded before impact, so the impact is more damaging to the radial bearing than with Oxy2 grips. Also the feathering friction is larger with Align grips with memory retaintion, so Ki is higher at 136 to overcome retention. Oxy2's grips' thrust bearings are pictured here.
The following diving video is with alternative Align main rotor grips (but with Oxy2 blades). The good dive was not reproducible consistently as the Oxy2 grips.

The main frame is modified to hold the battery at the lower position to allow FPV camera installation. At the same time, it trims and carves 4.5 grams out from the Blade 230s V2 frame and 0.9 grams out of the BSR frame.

Canted Tail Rotor Solving Punch Pullback 

The helicopter's tail rotor is not centered up on the rotation plane of the main rotor. It creates a small right-roll torque the craft, and the gyroscopic precession makes the craft tilt backward and fly backward. The parasistic torque increase as the throttle increases. The result is craft fly-away when high throttle is used without other corrective measures. The actual fly-away video footage shows craft flying over roads, people, which was unlawful. It is only resolved when throttle is lowered. In a high-wind day, the throttle may need to be kept high through out the flight, and that causes the fly-away.

The solution is the canted angle same as the Seahawk helicopter's design,

The pullback problem can be discovered in rate mode flight with sudden maximum throttle,
, the tilt backward happens between 0:31 and 0:33. Just 2 seconds of pullback already sends the craft away  from the car where it hovers initially. Then a forceful pitch down is applied in a panic at 0:33. At the end of second 33, the car is seen in front of the craft, compared to it is on the side of the craft at the beginning of the punch-up. Please notice that the tilt angle is barely perceived, lowering horizon for about half an inch when viewing this video on computer monitor. That means FPV pilot can not notice the problem is occurring.

The fix can be verified line-of-sight,
, and the maximum throttle punch-up at 0:30-0:33 happens rather uneventfully, straight up.

Spektrum Tail Servos For Swashplate

The substitute Spektrum 2070t servos add  6.5 grams even though the scale shows extra 7.5 grams. The calculation is 7.5g + 0.2g untrimmed left side servo rod - 0.6g brackets - 0.6g screws(3 on the servo arms and 4 on brackets) = 6.5g.
When using 2070t servos, the servo-swash links has an arm length of 13mm and 1000us servo travel of 83.3 degrees, both exaggerate the servo PWM signal. To compensate it, the servo travel per direction needs to be attenuated to 500us x 12mm/13mm x 83.1degree/83.3degree =  460us . 

The android protractor app in picture shows the turning angle at 119.6 degrees - 36.3 degrees = 83.3 degrees.
The option of Spektrum 2070T servos on the cyclic swashplate performs with CC3D.


Hardware/electronic calibration to fix aborted/diminished dive

Example tilted swashplate in the picture on the left caused aborted dive in the video on the right. 

The following example of diminished dive happened with 1510us center pitch PWM output. The full deflection of the stick is 720 degrees per second. The 10us from center 1500us is 10 / 500 x 720 x 0.1(exp) x 10(sec) = 14.4 degrees tilted dive at the bottom of the dive.

Navigation With GPS

The GPS connection needs baud rate 115200 , for HGLRC F411, on UART1(TX1/RX1) as the following.
All these configurations are part of the "dump all" file in operating note . Softserial, as the 3rd serial line, controls the video transmitter and is already soldered on the S5 lead as shown in the build note. This arrangement is based on the technical note from HGLRC.

For Flywoo F7Nano, GPS is also on UART1(TX1/RX1), but softserial is not needed. Instead, actual serial3 line UART3(TX3/RX3) controls the video transmission.

GPS module BN-180 configuration with the features selections are as the following.

The navigation depends on the 3 digits of coordinates as highlighted in the following video.  The historical definition of the metre dictates that the biggest of the 3 digits correponds to about 1km distance (actually about 1.1km on latitude and 0.9km on longitude). And diving requires 10m precisition, which is the smallest of the 3 digits. The heads-up display also shows the distance home, which is about 180m as shown in the thumbnail screen of the video. And the corresponding home latitude 3 digits is close to 021+(180m/11m) = 037, as shown at the landing of the video.

FPV Fishbowl Optical Illusion

As an illustration, a 30-frame-per-second FPV feed in a tail-spin situation has the following 3 consecutive frames,

, and the craft appears to move from the left side of the road to the ball park on the right side of the road more than 210 feet between 2 frames of 0.033 seconds illustrated in the satellite photo on the right.

In the third frame to the camera failure, the camera points toward the south east corner of the park; in the second to the last frame, the camera points toward near straight north.
The apparent mach-6 hypersonic movement optical illusion needs to be re-fitted into pilot's mental picture for the craft's actual movement. Due to the near-170 degree wide angle lens of either Goqotomo or Caddx Turtle, the camera can display overlapping objects after craft turning 160 degrees. In the above first and second frame, the area at the overlap of line of sight is the actual position of the craft. In the last frame, the battery pack is seen thrown off the craft, and the craft crashed on to the right curb of the road as circle-highlighted in the satellite photo. The craft's actual position is closer to the right curb of the road on the peripheral of the thrid and second frame than it appears.

 All objects in the FPV feed are "squeezed" toward the center of the screen from all angles, and the pilot needs to know that the craft is actually positioned closer to the objects on the peripheral of the screen than they appear. This is the same principle of wide angle rear mirrors where car manufacturers put the warning "Objects in mirror are closer than they appear". For the actual footage of the flight leading to the tail spin in the video on the right, in which the same principle applies.

At exactly 1:00 mark, the craft appears to be outside of the ball park over the row of pine trees lining the south side street on the peripheral of the screen, but, the craft is actually closer to the pine trees, likely right above them. 12 seconds later, at 1:12 mark, the apparent position of the craft has moved the improbable 1000 feet to the north west side of the curved road, even though the actual position is still in the confine of the park because the view is exactly the same as the third frame to the camera failure video picture frame. Between 1:34 mark and 1:35 mark, the craft appears to move the impossible 600 feet from the south east side outside the park to the curved road side crash landing point all within 1 second. The reality is that the craft moved from near the center of the park to the curb of the road, 80 feet at most, within 1 second.

The conclusion is that the craft has been within the confine of the ball park all though out the entire flight doing very small maneuvers. The technique of tilting the camera can produce explosive high speed craft flight visual effects simply by distorting the pictures.

    No comments:

    Post a Comment