FPV Racing features
« on: April 03, 2018, 07:32:11 pm »
Hi.

Im one of the few flyers using libre pilot in FPV racing I guess, at least I never met any other. :P
However, I wonder if some features that have been standard in betaflight the past 6-12 months are coming or maybe already exist in librepilot next already.
The features Im specificaly looking for are:

Turtle mode
Ability to configure a flight mode with air mode on but motors not spinning at neutral stick position with reverse motor commands on roll/pitch to be able to flip up an upside down crashed machine.

ESC Passthrough
Ability to flash or configure all ESCs connected to the FC through the USB port of the FC, never having to connect the ESCs individually to a programmer any more.
This is something I remember actual seeing done in a modded version of openpilot once before librepilot was even launched or betaflight had it. So if this feature is already in release or Next I maybe totally missed it.

Smart Audio
Being able to send configuration commands to video transmitters using scripts or OSD controls.

Im trying to be the best librepilot FPV racer but I need some more practise to beat them betaflight boys. :P

« Last Edit: April 03, 2018, 07:37:57 pm by Zallestial »

mr_w

  • *
  • 207
    • LibrePilot
Re: FPV Racing features
« Reply #1 on: April 03, 2018, 08:48:36 pm »
hi,

Can you elaborate more on how does ESC Passthrough qualify as FPV racing feature? :) I mean, except that it is handy feature, I find it be quite non-essential, especially nowadays with blheli/s, blheli/32 where you don't really have much to tune, they are very good out of the box - and yes, there is an issue with reversing the motor direction, well I think it is better to invest a bit into well thought wiring scheme, so you don't need to swap direction, than to have to reconfigure esc every time you change it (even if it is only once).

Btw, video looks nice :) Which version do you fly? Can you build from source? If you can, I suggest you try out my omnibus_f3_f4 branch (it does work on other boards too of course), as it has "SuperRate" feature sneaked in - that works just like superrate in BF, can replace expo completely. Though, I'm not sure if that is important for racing.


The other features - turtle mode, I'd have to do some reading on it, this is the first time I hear.. and SmartAudio, yeah that would be good. From those FC controllable VTXs I have only one that does different protocol (IRC Tramp?) which I might, eventually implement..

Re: FPV Racing features
« Reply #2 on: April 03, 2018, 09:26:22 pm »
Turtle mode sounds like it simply allows you to run the motors backwards.  LP supports reversable motors, but I don't know anyone that uses it.  You should be able to set this up with transmitter mixing so that your throttle stick only allows positive thrust normally, but a knob allows you to move the thrust lower than normal.  The main thing here is to be very careful to test everything (arming, mode changes, standard procedures) with props off.

IIRC, someone had ESC passthrough working.  IIRC, user @mateusz has used it.

Mateusz

  • *
  • 808
Re: FPV Racing features
« Reply #3 on: April 04, 2018, 01:37:32 am »


IIRC, someone had ESC passthrough working.  IIRC, user @mateusz has used it.

It was while testing mr_w branch, but he said it required clean rewrite and later that it is probably not really needed. Maybe I annoyed him about it too much. On another hand, name a flight software that doesn't have it. My thoughts LP needs dev using this and enthusiastic about this feature to implement it. I agree it's convenient to have.

Re: FPV Racing features
« Reply #4 on: April 04, 2018, 07:34:45 am »
hi,

Can you elaborate more on how does ESC Passthrough qualify as FPV racing feature? :) I mean, except that it is handy feature, I find it be quite non-essential, especially nowadays with blheli/s, blheli/32 where you don't really have much to tune, they are very good out of the box - and yes, there is an issue with reversing the motor direction, well I think it is better to invest a bit into well thought wiring scheme, so you don't need to swap direction, than to have to reconfigure esc every time you change it (even if it is only once).

When doing FPV racing, conviniernce, space and whieght is key.
Me and my friend design and build my frames as compact as possible. Being able to solder signal cables directly to the FC inside the frame and never having to open it again would be a huge step forward.
Being able to quickly replace broken ESCs out in the other end of the signal cable and program them within 20 minutes so the machine can be ready for the next heat on a competition day for example. While also giving the frame a sleeker more aerodynamic form, from not needing the servo pins any more would be a dream come true.

Im flying LP 16.09 in acro+ mode on a Revo Nano, I always liked it in FPV since it allowes both precision moves as well as quick big manuvers. Similar to SuperRate I guess.
When the new version of my frame is ready for this years season I will upgrade my ESCs to use DShot as well finally(still running older ESCs in OneShot125 now) So I guess I have to use LP Next by then unless an official release with DShot support is available.
This season they decided to allow turtle mode in the competition, giving the betaflight pilots an edge over me.

I don't want to give up on librepilot just yet. :< I love that there are people making fun of librepilot thinking its sucks and aren't used by anyone any more and seeing the look on theire face when they found out Im flying it and beat them in the race. :)
« Last Edit: April 04, 2018, 08:15:15 am by Zallestial »

Re: FPV Racing features
« Reply #5 on: April 19, 2018, 10:55:23 pm »
My new machine running LP Next with DShot is finaly done. However, the throttle seems really weak as if the ma stick only gives 50% throttle on the range. Is there any information about DShot settings in LP Next available? what range values shouldbe in output etc? maybe I should switch to oneshot and do a manual calibration of ESCs and back to DShot? What refreshrate of DShot am I even using? DShot 500? Dshot 1200? can't find any settings for it.

There was also some kind of bug, all motors started spinning when I entered the transmitter setup wizard for some odd reason.

f5soh

  • *****
  • 4572
    • LibrePilot
Re: FPV Racing features
« Reply #6 on: April 19, 2018, 11:26:02 pm »
Dshot has fixed limits min = 0, max = 2000 and do not need any calibration.
Just adjust neutral.
Refresh rate is set using the ActuatorSettings > DShotMode UAVO (600 by default)

Quote
There was also some kind of bug, all motors started spinning when I entered the transmitter setup wizard for some odd reason.
There is a Jira ticket and a PR for this issue to handle various output modes. Will be merged soon.

mr_w

  • *
  • 207
    • LibrePilot
Re: FPV Racing features
« Reply #7 on: April 19, 2018, 11:54:42 pm »
Being able to quickly replace broken ESCs out in the other end of the signal cable and program them within 20 minutes so the machine can be ready for the next heat on a competition day for example. While also giving the frame a sleeker more aerodynamic form, from not needing the servo pins any more would be a dream come true.

Let me just comment on this one, as I said earlier, if you take time to plan the wiring you will see that ESC outputs and motor wires are not randomly arranged, but understanding can help you wire it *always* in correct way. I think I wrote this once, but let me repeat. Here is example for quadcopters.

Consider that ESCs have 3 pads/wires. Whatever they are called, doesn't matter, just the ordering is important. First, second and third. Will call them A, B & C.
Then you have motor wires. No, they aren't arbitrarily arranged. There is order, left to right, three of them, call them 1, 2 & 3. They are always like that. No magic involved.

Start from whichever motor you like, doesn't matter. Connect it like this:

A-1
B-2
C-3

Then go to next to the right
A-1
B-3
C-2

Then next (which is same as first)
A-1
B-2
C-3

And final one (surprisingly, same as second)
A-1
B-3
C-2

What can you figure out of this?
1 - Adjacent motors have two of three wires swapped.
2 - diagonally arranged motors have exactly same wiring.

This will make the motor next to one rotate in opposite direction. Just like you need in multirotor (except with odd number of rotors).

When you go to the field, and need to replace burnt ESC. You can spend 10 minutes instead of 20, because you just need to swap the ESC, and you do know exact wiring and that it will rotate correctly. No need for connect to computer and reprogram anything. You can leave your laptop at home.


Re: FPV Racing features
« Reply #8 on: April 20, 2018, 12:08:54 am »
Dshot has fixed limits min = 0, max = 2000 and do not need any calibration.
Just adjust neutral.
Refresh rate is set using the ActuatorSettings > DShotMode UAVO (600 by default)

Quote
There was also some kind of bug, all motors started spinning when I entered the transmitter setup wizard for some odd reason.
There is a Jira ticket and a PR for this issue to handle various output modes. Will be merged soon.

Thanks for the quick reply, it was set to 0-1000 range in my output tab so that would explain why it needed over 50% throttle to hover.

Being able to quickly replace broken ESCs out in the other end of the signal cable and program them within 20 minutes so the machine can be ready for the next heat on a competition day for example. While also giving the frame a sleeker more aerodynamic form, from not needing the servo pins any more would be a dream come true.
When you go to the field, and need to replace burnt ESC. You can spend 10 minutes instead of 20, because you just need to swap the ESC, and you do know exact wiring and that it will rotate correctly. No need for connect to computer and reprogram anything. You can leave your laptop at home.


I know it easy to handle direction without having to set it in firmware but thats the least of the problem.
My ESCs are now soldered diretly to my revo nano and I wont be able to change any others of the many settings in BLHeli or upgrade to another version until a passthrough is available, unless I want to go through a lot of hassle desolder them and connect to a programmer or temporarly flash the board with betaflight to get a passthrough.
I did see that there is passthrough planned for next? not sure when anyone will make it tho? https://librepilot.atlassian.net/browse/LP-250

Re: FPV Racing features
« Reply #9 on: April 20, 2018, 12:23:26 am »
One quick comment on that.  If you do this without doing homework, then either all 4 motors will rotate in the correct direction or all 4 motors will rotate in the wrong direction but we have a way to handle that.

If all 4 are wrong, there is a simple check box on the Vehicle page that sets the configuration to work with all 4 motors backwards.  So simply solder it all up and check it.  If they are all backwards, then just check the "Reverse All Motors" check box and move each prop to an adjacent motor to get them all blowing downward.

Personally, I like to know that all my models are CW,CCW,CW,CCW so I would do the homework of testing an ESC/motor direction before soldering (or something equivalent like simply rotating the PDB, ESCs, and motors 90 degrees to an adjacent arm if needed after soldering).  What I actually do is use bullet connectors because I only race occasionally for fun and I like the ease of maintenance more than the weight reduction.

Re: FPV Racing features
« Reply #10 on: April 20, 2018, 12:41:45 am »
One quick comment on that.  If you do this without doing homework, then either all 4 motors will rotate in the correct direction or all 4 motors will rotate in the wrong direction but we have a way to handle that.

If all 4 are wrong, there is a simple check box on the Vehicle page that sets the configuration to work with all 4 motors backwards.  So simply solder it all up and check it.  If they are all backwards, then just check the "Reverse All Motors" check box and move each prop to an adjacent motor to get them all blowing downward.

Personally, I like to know that all my models are CW,CCW,CW,CCW so I would do the homework of testing an ESC/motor direction before soldering (or something equivalent like simply rotating the PDB, ESCs, and motors 90 degrees to an adjacent arm if needed after soldering).  What I actually do is use bullet connectors because I only race occasionally for fun and I like the ease of maintenance more than the weight reduction.

Recently its very common and popular to run the reverse rotation of all motors in the FPV racing scene, because many frames are tightly shaped X frames with the FPV camera in the center almost behind between the front props. People want to prevent cut grass clutter all over the FPV lens. :)
Luckily my frame is a H frame with the camera in the nose, so I'm not having this issue.




mr_w

  • *
  • 207
    • LibrePilot
Re: FPV Racing features
« Reply #11 on: April 20, 2018, 01:36:12 am »
Recently its very common and popular to run the reverse rotation of all motors in the FPV racing scene, because many frames are tightly shaped X frames with the FPV camera in

Yes, this makes sense if you are used to the idea that some rotation direction is called "standard" and the other must be "reverse". But if you just step beyond that silly idea that one direction is normal and other is not, then suddenly you just choose one that fits you (throwing grass or dust this or that way). No need to call that "reverse". Who had the authority to call the other direction "standard" in the first place??



Re: FPV Racing features
« Reply #12 on: April 20, 2018, 07:39:59 am »
Refresh rate is set using the ActuatorSettings > DShotMode UAVO (600 by default)

Oh and thanks for this. I increased it to 1200 but Im a bit confused since according to this article https://oscarliang.com/dshot1200-esc-protocol/
the value in dshot(dshot300 600 1200 etc) "signifies the bit-rate in kilobits per second" yet the unit in librepilot were khz? Just hope I don't break anything. :)

mr_w

  • *
  • 207
    • LibrePilot
Re: FPV Racing features
« Reply #13 on: April 20, 2018, 10:03:11 am »
Because with dshot encoding, each bit is encoded as transition from high to low, making the single bit time equal the period T for frequency f, where T = 1/f. Therefore, for 1200k bits per second, there are 1200k transitions from high to low, making it equal to 1200khz.

To explain how this is not always the case with serial comms, take for example the usual asynchronous serial port - where the bit is encoded as either low or high level, depending on bit value. With this encoding, there is no fixed relation between bit rate and signal frequency, but at fastest rate, for data which has alternating bits - like 0101010101, the resulting signal frequency will be half the bit rate, since for complete period, it needs two bits.


Re: FPV Racing features
« Reply #14 on: April 20, 2018, 04:08:50 pm »
Because with dshot encoding, each bit is encoded as transition from high to low, making the single bit time equal the period T for frequency f, where T = 1/f. Therefore, for 1200k bits per second, there are 1200k transitions from high to low, making it equal to 1200khz.

Ah, I suspected it would be something like that.
Btw, does LP have anything on this kalman filter thingie that's all the rave in betaflight/butterflight now a days?