-
Notifications
You must be signed in to change notification settings - Fork 88
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
User's demand for servo balance function #2790
Comments
you can use curves at servos menue for this |
Hello everyone. We are here to ask if this kind of function is useful to enhance in ETHOS. Actually, we design to add a new concept called Channel Group. You can add channels which controls one flap into a channel group. You can adjust the curve for these channels at one page. So you don't need to enter & exit from channel to channel in outputs page. At the same time, we will add a new switch to lock the output value of all the channels you add to this group. This will help you to balance all the servos at any angles. You can see the image attached below. Any suggestions are welcomed. Thank you all. |
It's definitely a useful addition, folks have been asking for an easier solution to just adjusting individual channel output curves since the early days. |
Not sure I understand this proposal. Take a common example of twin flap servos with different geometries. Currently we calibrate each output via its own individual curve, so that the flaps track correctly regardless of mechanical differences. This allows mixer weights to be the same on both left and right sides. This greatly simplifies mixer design. Can you provide an example of how this proposal would help in this situation? |
This is great! Very useful feature for larger aircraft.
Maybe it won't help in your situation then. But this is useful for situations like a single aileron with 2+ servos driving it. Or even just balancing left and right elevators throughout the range. Just because the end points are matched does not mean they will move exactly the same throughout the range unless you have everything mechanically matched absolutely perfectly. Which can be very difficult to achieve. |
@RC-SOAR 's example is no different than yours @rburrow87 , except in how far off the two servo geometries can be (it's possible to have much larger variation on independent surfaces than ganged servos on one surface) You want the two servos moving in sync in both cases, the question is how is that done via the screen shown. MY suspicion is that the two servo pages are independent adjustments. |
Ah I missed where RC-SOAR mentioned using a curve. I had attempted to use a curve on the outputs to match servos, but I found it too tedious for the small amount of correction I needed. This will make it much easier. |
I think I get it now. At least, this is how I think it should work, based on the CAL mode which I offer on my OTX glider templates and which aims to solve the same problem (that of equalising the movement of left/right surfaces). The goal is to achieve the same deflection on each side, for any given aggregated mixer value. Comments are in relation to the earlier screenshot. Additional features in italics.
This is all that is necessary to get a pair of surfaces to track together, regardless of mechanical differences. Not sure that it's necessary to 'lock' channels, since the curves are adjusted individually, or have I missed something? |
Locking channels means that you don't need to keep togglling the stick while adjusting the curve point of one servo. |
That's a nice touch! |
since the core function (synchronization of flap deflections) can basically already be performed by the output curves, What I could imagine / what i do understand: (2) (3) (4) In sum, this is definitely an enrichment. |
This feature is achievable when a certain procedure is followed using curves in Outputs. However, whenever somebody needs this to be configured in our club, they come to me and I have to make it work for them. Any improvement of this workflow towards being more standard user-friendly is appreciated. The workflow I'm using is temporarily setting the said surface outputs to a slider, removing all but one servo connection and tweaking the curves manually, checking a hole in a ball link is aligned with the control horn through all of the travel. It's labour labour-intensive workflow but provides great results. I can see that a temporary assignment of the group to a slider from the Output screen would simplify this procedure and be more intuitive as this is quite hard to explain to less tech-savvy guys. Workflow based on current draw would need to be automated as it would probably introduce servos to high power loading during extensive amounts of time when done manually and be potentially dangerous. But it would certainly be very cool! |
A very useful feature that could be created in conjunction with this is that the curve graph can be moved along with the desired command, which is currently static. In JETTI radios the graph moves, and to make a servo balancer it is a very useful thing. On the X20 you have to do it in the dark, as the graph doesn't move. |
We already have two means of balancing servos:
Both of these work together, which can be a little confusing (unless you set min/max/subtrim to their pass through values). Rather than add a third layer of complexity, what would be nice would be to replace min/max/subtrim and the output curve with a single multi-point calibration curve, with a UI which allows for easy adjustment in pairs, with all mixers disabled. |
It would be excellent if this topic was reviewed by the FRSKY team. |
Hello. It is a great help to achieve that ethos balance of servos by surfaces, it will mean a lot of precision in adjustment and a saving in time by not generating so many manual curves blindly. Do we know if this is in the process of being implemented? Thanks for the work |
Any news by the developer team? Servo Balance will be a very useful function, and it's already implemented in other systems like Spektrum or Jeti. |
This function is really needed. But it seems to me the "Channels groups" concept is out of topic. What the users need is a way to balance the servo output at any position of the input.
Here I would like to propose a tool in a contextual menu: a Dialog will propose to show 2 curves (perhaps more is needed / possible) in the same time, one at the left, the other at the right. Tandem radios have a big LCD, it should be perfect. The curve which is currently modified will have the focus, so that you cannot change the wrong channel by mistake. |
Some comments are out of topic, but still valid:
|
@bsongis-frsky can you explain where the balancing curve sits in the pipeline? Currently we have Min/Max/Subtrim (effectively a 3 point curve) feeding to the (optional) output curve. Presumably the balancing curve is applied last? |
Today the order is:
|
Thanks, Bertrand. In terms of workflow, one would adjust steps 3 and 5, then make ad-hoc corrections with the balancer, is that right? Also can you clarify: the input to the balance curve would be the output of the output curve - so there is no guarantee that the balancer would see the full +/-100% swing as it would depend on the output curve characteristics. If the swing is small, then presumably only a small selection of points in the equaliser would be active. I'm thinking here of cases where limits are set via the output curve, with min and max left at their default values (+/-100%). |
@RC-SOAR Sometimes, however, there's only one best practice. Here, it means: The Y-endpoints of the previous "output curves" must always be +/-100%, and limits should ALWAYS be set via min/max. @bsongis Which input signal is used to match the selected curves? If it's c), then "my problem" of synchronizing, for example, 4 aileron flaps simultaneously via pot/slider, would be easy to solve by using a free mixer as the last mixer, which is only used for calibration, controls the entire range +/-100%, and replaces all previous ones. |
A percentage of users will not have the end points at +/-100% simply because it's not enforced. I agree it's a small percentage of users, but it should be considered a limitation. (Users of my templates with CAL mode set their limits in the output curve, however they will not need a balancer facility as the balancing is done during calibration.) |
@RC-SOAR The input of the balance curve is the output of the previous step. You may use the output curve to balance the surfaces, but it won't be the best method any more! Also I will add another method to balance the surface, which will give the full range [-100%:+100%] as input to the curve (and output), without the need of an extra Mix! |
As described so far, it seems to me that the balancer feature is in essence a way of making ad-hoc corrections, for setups which do not use output curves (that is: setups which set limits via Min/Max). One potential problem with the current proposal. What happens if, after equalisation, the user decides to define an output curve (for example to define a non-linear response), with the curve shared between all channels in the group? Wouldn't it invalidate the equaliser curves, necessitating a re-equalisation? |
If the curve is shared by many outputs, it cannot be an equalisation curve, it's something else, which is common. Then comes the equalisation curve ... |
To clarify, suppose the user
|
The equalisation curve is applied AFTER the curve |
In my opinion, equalization should not necessarily be considered as a curve, for elevator balancing, you do not need to make a curve. I can send a video of how it is done on the Jeti, do you want it? |
I see the use of curves rather when the input is linear and the output is not. Then the result of the output after the curve is theorically right. Plus the balance curve and the output will be really right as it will fix all the mechanics small defects (one curve per channel, not shareable) |
i'm with Bertrand
|
Got it, thanks. @strgaltdel Understood. I was under the mistaken impression that altering the output curve would invalidate the subsequent equalisation corrections. |
Ethos Simulator 2024-09-11 17-11-46.zip When you access to edit a curve through " outputs" menu, everything goes perfectly, but if you try to edit a curve through the "curves" menu , not everything new that you are implementing appears. I´ll send you a video. Thanks for this great job |
Would love to try it out but it won't be before next week. |
Great work, i love it, As jasalca mentioned: thanks !! |
As far as I can test on the simulator (without real model) this looks so fuc.... good |
Hi Bertrand, Just wanted to pass this by you, in case this would help in your design of the balance function (and even other servo setup funcs as well), I've been a user of Graupner radios for years now (MZ32), they have a very nice balance function similar to what you are designing now. (see the video below, balance starts at about 2:00 in) https://www.youtube.com/watch?v=ALxShjOS73A Notice they also have a setup that allows many points on the graph, and you can add more as you wish... if you ever need me to run any functions on my MZ32 or capture some vids for you, I'd be glad to help. Also, notice the other menus especially their servo limits, endpoints, etc and how they set it all up in the GUIs, etc.. |
Awesome! |
With the lastest update of the simulator an hour ago, it is doing very strange things. If I try to raise the engine stick it does not correspond to the output of the channel and in the graph what is supposed to be the stick changes color orange- white- orange. |
I have checked other channels ( elevator, aileron, rudder, ) and the outputs graphics are also malfunctioning |
The new simulator has a fix for that, it's coming soon |
Can you send me the link to the simulator? |
Available in 1.5.16 nightlies |
As an update suggestion, it would be interesting if the point we blocked (locked) could be included as a new curve point, just like in Jeti. |
Some users need to use multiple servos to drive the same side, where the mechanical differences between the servos require similar functions to adjust.
The text was updated successfully, but these errors were encountered: