Draft Fybarless Heli Setup Process
Posted 23 July 2011 - 12:27 AM
This was a quick overview and there are probably area lacking clarity but please ask question or point out any problems and I will attempt to clarify or correct. A good peer review always helps!!!
Heli Flybarless with passive stabilization setup
Note: Radio should have no mixing or trim. Pitch curve should be linear +-100%. Swash as 1 servo. No radio swash mixing.
1) Set up servo type before powering servos. This is to prevent potential damage to servos or heli linkages etc.
2) Set swash type 120, 140, 1s etc.
3) Set orientation of sensors relative to heli - to ensure corrections will be on correct axis.
4) Check servo connected to proper channels. Movement of cyclic stick in radio is used to confirm.
5) Check servo directions correct. Methodology varies. For 4 servos there are 8 permutations but since 4 are reverse images and axis can be reversed it can be boiled down to 4 permutations for simplicity. Setting up the 4 permutations to test is an easy way to get thru what can be a confusing set-up step. I find this easier than randomly trying different combinations by reversing servos
6) Check for proper movement of each control input (Aileron, Elevator, Collective, Rudder). Reversal of each typically can be done in the radio or in the controller.
7) Check for proper stabilization correction movement on each axis. Swash should try to stay relatively level as heli is tilted on. Reversal needs to be done in the controller.
6) Ensure mechanical setup of heli is correct. This is normally fine tuning and checking the setup form the build.
Swashplate level when servo centered. Servos centered as well as possible center stick position. This should be done in beginning during the heli build. However, after the above initial controller setup steps the correct mechanical setup should be confirmed.
• Servos centered at midstick collective and neutral cyclic condition. Most flybarless stabilization units have a setup where center position as the controller sees it is sent to the servos. This allows for easy checking
Fine trim center position. Since servo arms cannot always be set correctly mechanically due to spline position modification of the center point in the controller may be required for each servo. A servo fine trim using the controller is very helpful here.
Swashplate level when servo centered. This is typically done mechanically once servos are correctly setup
Pitch for blades is zero at center stick (typical symmetrical setup for aerobatic & 3D)
4) Calibrate cyclic range and check for adequate servo travel.
Move servos till x degrees cyclic in one axis is achieved. Typically x is around 6 degrees. Controller can verify adequate percent of control range was used to achieve 6 degrees and give feedback as to acceptable or not. If travel is too little then servo ball needs to be moved in till adequate travel is attained. This need not set the actual cyclic used as full stick but rather is a calibration for the stabilization system. Typically the axes are rate controlled
5) Set collective Range. Typical +- 12 -13 degrees. Again for scale etc different may be desired. This is the actual pitch range for full stick travel. Pitch curves in the radio can modify this but for setup a linear full range pitch curve should be used.
- Check zero pitch at center stick .
-Move servo till correct positive range is reached. Set point.
- Move in opposite direction till full negative range point is achieved and set position.
Now Controller knows collective and cyclic and is calibrated.
6) Check for interference and set cyclic ring limits if required.
7) Set pirouette optimization. One method is to set a tilt in the controller then rotate the copter to see if the tilt follows the copter or stays stationary relative to the ground. Stationary relative to the ground is correct
8) Flight Test and trim as needed in controller.
Posted 23 July 2011 - 05:12 AM
Posted 23 July 2011 - 02:58 PM
Just trying to see where we can contribute. There seemed to be some ambiguity in the discussion about what should be adjusted and whether it should be in the radio or controller. I have tried to comment on this in the above. In some cases it can be either but some must be done in the controller and others in the radio.
Most systems are not using "wizards" to guide new users thru setup but I think this is secondary to getting the basic setup capabilities and process down.
I am working now on a summary of some additional features / adjustments now and will post in the next day or so. Some are fine tuning and some relate to flight characteristics.
I would like to understand the control loops a little better and have started to read what is posted as well as watch the videos. If there is additional documentation ( flow charts etc.) and these are available I would appreciate it. On issue I am interested is flight characteristic modification. Understanding early on in the program what is usually done regarding this might help to ensure some basic capabilities in the core control code are not missed. For instance - if you observe the behavior of a flybarred copter the cyclic input is moderated by the flybar. You give a stick input the servos move applying force tot he flybar, then the flybar moves gradually and give input to the blades. When you go back to center stick the return to zero cyclic is gradual the rate being controlled by the physics involved. The reaction time for movement of the flybar is adjusted by paddle airfoil, paddle weight, linkage ratio etc.. In a flybarless system the flybar is replaced by gyros and the control algorithms. Some some adjustment capability for flight characteristics must be made. Rotation rates and expo are not enough. one of the nice feature of flybarless is that stability and response are largely decoupled and the user can now have a stable system that responds very quickly. This is always a trade off in flybarred systems. I cannot say how each of the units handles this in code and I suspect it varies based on terminology and interfaces used by different groups. However I suspect in the end it boils down to rates of rotational acceleration/deceleration relative to the deviation from the target cyclic input.
Posted 24 July 2011 - 03:09 PM
Thanks for the reference. Very nice work.
One question - why not a derivative term to control the overshoot and oscillation issues? Is this too computationally intensive or is it a sampling frequency stability issue?
Posted 03 September 2011 - 11:55 PM
Setting one up for heli now.
Initially I am setting the parameters with no servos or heli and watching the movement of the heli attitude on the GCS.
Next step will be installation and setup on our Trex 500 testbed for flybarless systems. I have run Mikado, Skookum, BeastX, SJGD on this testbed so I can get a good comparison on setup and flying performance.
Currently I have the BeastX installed,
One immediate observation I have that concerns me - on the GCS model display the image properly follows the attitude of the board when I rotate 360 degrees on roll. When level it follows on yaw correctly 360 degrees. However, when I rotate on the pitch axis and reach 90 degrees off level and continue the image rotates on roll and yaw 180 degrees. When I reach full inverted the orientation is correct but the transitional attitides form upright to inverted are not correct. The board is only rotatiing on the pitch axis.
I am using the 611 revision of GCS and corresponding firmware the board came with. Should I ignore this or am I doing something wrong? Since this should be just attitide display I would think Yaw AHRS settings would not affect the dislplay of orientation.
Since I also fly arobatics and 3D this is a concern. Would hate for oreintation of the copter to go wild on 90 degree verticle attitudes.
Thanks for any input! Looking forward to real flight.
The second unit I have will go on a quad. But after the heli work as it seem we need more input on the heli side of things.
Posted 04 September 2011 - 12:48 AM
Very interested in your thoughts with CC compared to the other flybarless units, there is no doubt we have some work left to do on the setup side of things, consider it beta quality at best so please be careful.
I would suggest starting off in rate mode and using axis lock for the tail anyway.
Posted 04 September 2011 - 02:35 AM
Posted 04 September 2011 - 02:37 PM
I suspected such was the case. Later today I hope to go through the Heli setup process.
Posted 13 October 2011 - 06:08 PM
I have used on board on a quad and it is working very well.
I have gone thru the heli set up and will comment shortly. But I have a question. Normally I set cyclic max pitch to 6 to 8 degrees.
In the CC board I am unable to get more than 3.9 degrees. I have the cyclic sliders maxed at 100%. Is there a way to increase the cyclic range thru the data browser?
Collective is fine with more than adequate range available (+-20+ degrees) for even crazy people.
I am ready to fly and will probable give it a whirl when the rain stops.
The heli geometry is standard for a flybarless heli. No problems with other units tested.
Posted 13 October 2011 - 08:56 PM
Posted 13 October 2011 - 10:32 PM
Tried the setup using manual and adequate range is possible.
Posted 15 October 2011 - 08:46 PM
I am pretty impressed with the progress on this. The setup GUI seems very nice and with a little additional documentation could be very easy for most. The wizard for setting swashplate leveling is very nice as well. A few off the cuff observation a
Normally for the tail configuration with most gyros and flybarless units you set the tail center position then set the servo travel in each direction so the full usable range of tail capability is realized. I saw no special setup for the tail so I tried using the Output setting to do this.
This seemed to work. Center can be fine tuned by the slider for the channels neutral position and travel limits by adjusting min and max pulse widths. Resulting centering and travel seems OK. At some point a GUI for tail could be done but as far as I can tell this procedure seems to do fine.
On the collective I am trying to resolve a issue. I can get adequate range of collective using the swash setup. During The swash leveling routine I adjusted pitch range. Max pitch when the collective slider was at max. Zero pitch at center and Min pitch when the slider was at min. Going back and checking now these setting hold.
However, when I go to manual mode and check the range it is not the same. When I reach about 77% throttle stick output the collective stops increasing. I have checked servo output setting and calibration thrice and all seems fine. When is swash setup mode all works well. Since this is the range where hovering occurs it is problematic in my setup. Pitch range is set to +-11 degrees using the setup process.
Throttle hold kicks collective to min as well. I think I read about this earlier and will check to see if there was a work around. This would be disastrous if cutting throttle for an auto landing in a emergency.
I am working on PID setting for stablization now. This is them most challenging item but once some acceptable ranges are set for typical heli sizes I think this will get easier. I have the tail to what seems like reasonable reactions but only on the floor at the moment since the collective issue arose.
Very excited to see hwat happens. This is in a Trex 500 platform. The BeastX was the last controller used
Settings for the
Posted 15 October 2011 - 08:50 PM
Initial setting were great for easy indooor flying.
Took it out in a light breeze though and it ran away across a creek into a large throrn bush. Wish I could have filmed the evening retrieval using a extension ladder to cross the rising creek and subsequent delicate extraction proceedings getting it out of the bush. Not too many thorn punctures!!!
Edited by Pellicle, 15 October 2011 - 10:26 PM.
Posted 12 November 2011 - 08:38 PM
Have had great success with the multicopter work and all goes well and easy there.
However on the heli I have run into a few idiosyncrasies (and maybe a few of my misunderstandings) along the way.
1) I am using the collective pass through and have this working. When I first set it up I had a issue where the servos would go down as I decreased collective but near bottom range would pop back up. I tracked this down through trial and error to the input slider for Accessory 0. If this is not put to all the way to the left this behavior happens. The further to the right the earlier it happens.
2) Even with the setup mentioned above I still see collective movement stop when I am going towards max pitch at approximately 75% full stick. I have not been able to resolve this but I can work around by limiting my travels endpoint in the radio. This limits resolution but to give it a whirl this is my stop gap approach till I learn how to eliminate this behavior.
3) At the same time center stick input does not give me centered servos. Centered servos occur at 40% full stick. I have gone thru the swashplate leveling routine several times. When doing this neutral position gives centered servos. neutral servo setting is equal to the neutral settings on the output page. I set min and max level points equidistant in pulse width from center to top and bottom. During level setup the servo arms are level at neutral and move the same angular deflection up and down from neutral to max and min. But this does not happen when I use the transmitter to control collective.
In order to prevent the cyclic from being limited at the top and bottom of my collective range I needed to set min and max level points at significantly more than what I needed for just pure collective inputs.
In my opinion the neutral point set in leveling should correspond to the center stick in the radio assuming calibration has been done. This is a given in most flybarless systems. Of course this can be modified for different pitch curves after setup.
None of these items prevent me from continuing but I thought I would document them for feedback before they faded from my memory
Back to work now on getting this back in the air !!!
Posted 12 November 2011 - 09:34 PM
Pellicle, if you can lay out the basic setup process for a typical user (one who's not thinking about why you might use a derivative to control overshoot ), that would be a huge step forward in getting more people to adopt this platform.
(It would certainly be most welcome by me whenever boards become available again.)
Thanks, good luck, and I'm looking forward to seeing what you come up with.
Posted 12 November 2011 - 10:17 PM
Posted 13 November 2011 - 02:08 AM
I cheated. I just could not see how to set up throttle hold within the GCS and then read that you cannot. After all, the emphasis has been on multirotor systems where throttle hold is not used. I will cut this short. I decided to just use the wonderful abilities of the er9x firmware for the Eurgle/FlySky/Imax/Turnigy 9x radio. Channels 1 through 4 are set up as usual, just a simple ele,ail,throttle,rudder system. Chanel 3/throttle goes to the OpenPilot board to control collective. I then set channel 7 in the firmware to also use the throttle stick and connected the ESC to the receiver, not the OpenPilot board. I could then set up curves and program the thottle cut switch. It works great. I love the er9x firmware, and OpenPilot. Thank you, one and all.
Good to hear...Are you able to post a video...I sense a Heli Medal on the way
Posted 13 November 2011 - 03:28 PM
Posted 13 November 2011 - 05:27 PM
With the pass through you can use throttle hold. This is why I did it. I agree you can just connect your receiver throttle channel direct to the ESC. No Issue doing this. Looking forward to OpenPilot as well as serial bus such as SBus etc.I think there are some compelling reasons to get this working well though CC board.
My understanding of the pass through is, well, weak. I assumed that using pass through also bypasses the cyclic option of OpenCopter. I need the ability to adjust rotor phase, which many of the other, inexpensive, flybarless controllers do not provide. If I am wrong, or there are easier/better ways to do this, please advise. I am always open to learn new things.