Target: Helicopters or anything else RC
Requirements: OpenTX 2.2.2, FrSky Horus
Version: 1.2 [ Download ]

SimMatch is another step to make simlation and reality flying feel the same.


Requirements

  • It only works on OpenTx Horus. I have developed and tested it on Horus X10. I think it should work on Horus X12 too (it does in Companion), but I have no hardware to test. Let me know if you test this on X12.
  • It was developed for helicopters, but probably other types can gain from it too.
  • You probably need to be somewhat “intermediate” in your flying to use it. Or have a friend.
  • You have to use your Horus both for real flying and for simulator, either connected over the cable or wireless. No cheap simulation-only radio. But I guess you already do that if you strive for getting simulator feel like real.

Idea

The idea of SimMatch is to make simulation behave more like a real model. This is done by setting up rates, expos, speeds or whatever in the simulator until your sticks make same thing to your model, as they do in reality.

This used to be not easy. If you come back from real flying, you might feel something rotates too fast or too slow in the sim. But you loose this feeling after few minutes as you get used to the sim. Plus things are not linear (because of expo and others), so it is very hard to tune by feeling. SimMatch is made to solve this problem.

Disclaimer

SimMatch was mainly made to match your simulator to reality. Or to make different simulators fly similar. The procedure to achieve this is quite safe.

However, it can also be used the other way around – to match your real model to the simulator. Or to make several real models fly same way. Getting this to work would at some point require letting a script in your radio fly your model. This is fine to do as long as you understand all consequences and have an emergency plan in case something goes wrong. Be prepared to overtake the control with properly configured switch and get the model to proper state. Having a rescue option in the flight controller can greatly help.

You use SimMatch at your own risk.

How it works

  1. You perform a set of maneuvers using your real model and record them to the log file.
  2. Using SimMatch, you can later play your maneuvers in simulation and see how they behave there.
  3. Then you can tweak simulator settings (servos / rotation speeds, expo etc.) until it behaves as in reality.

This is quite some process to go through, but the outcome is great. I’m using this since early dev version and I don’t enjoy simulator anymore at all unless it is matched with my real model. Otherwise I feel rather like unlearning things. Anytime I change settings of my Heli, I match the sim to it again.

Installation

Just copy contents of the ZIP file to your SD card.

Usage – steps

To match your simulator to the real model you have to go through a number of steps:

  1. Setup the radio for recording (real model)
  2. Record maneuvers (real model)
  3. Generate a mixing script (real model)
  4. Setup a mixing script (sim model)
  5. Setup mixing / channels (sim model)
  6. Setup inputs (sim model)
  7. Setup screen info (optional) (sim model)
  8. Tune the simulator (simulator on your PC)

If you need to redo it later (for example because you change flybarless settings), you will only need to go through steps 2, 3 and 8.

1. Setup the radio for recording

You need to do this in your real model profile, so make sure the right model is selected in the radio:

Things to know first:

  • You will use OpenTX recording feature, which records flight logs.
  • If you already use recording (maybe your radio is configured to record your flights all the time), you have to disable this for a while. All recordings are using the same log file and they would conflict.
  • You need a switch to start and stop recording.
  • You have to start recording before each maneuver starts and stop recording after maneuver ends. You cannot just record the whole flight. If you would do this, SimMatch would not know where the maneuver starts and where it ends.
  • You have to record in highest possible resolution. This is 100 ms (0.1 s) in OpenTX.

My configuration looks like this:

This allows me to start / stop recording using SD switch. The number “0.1s” is the resolution of the recording and is important.

What is in the recorded log files? OpenTX records multiple things. But what SimMatch needs is a snapshot of your sticks made every 100 ms.

2. Record maneuvers

This means charging your packs and heading to the flying field.

I fly helicopters and that’s what I’m going to use for examples. If you’re flying different models, you have to come with your own ideas. In general:

  • Calm day with no wind is your friend.
  • It is easiest, if each maneuver is testing one channel of the radio (thr, rud, ail, ele).
  • You have to record maneuvers at minimum 2 different speeds. Otherwise you will not be able to set the expo right.
  • You have to start and end your maneuvers at some known positions, so you know this later in the simulator. For example start them from stationary hover always, having heli tail-in.
  • You can ask your friend if your flying skills are not yet good enough to make this recording.

This is what I record:

  1. Fast 360 degree rudder turn (pirouette)
  2. Slow 360 degree rudder turn (pirouette)
  3. Fast aileron flip, 180 degrees from upright to inverted
  4. Slow aileron flip, 180 degrees from upright to inverted
  5. Fast elevator flip, 180 degrees from upright to inverted
  6. Slow elevator flip, 180 degrees from upright to inverted

This is a minimum which allows you to setup throttle, rudder, aileron and elevator in the sim and I recommend this list for the beginning. You can go more advanced later (record pirouettes in different directions – maybe matters in helis, have more than 2 speeds, record inverted to upright flips etc.).

I record fast maneuvers with maximum speed. This means using maximum rudder for a fast pirouette, maximum aileron for a fast aileron flip etc.

Below are examples how to record this in detail:

360 degree rudder turn (pirouette):

  1. Have a heli stable in stationary, tail-in hover.
  2. Start recording.
  3. Rotate the heli with the rudder, so it makes exactlty 360 degrees turn and is tail-in again.
  4. If you went to less or too far, just correct with rudder, so it is tail-in.
  5. Stop recording.

Aileron flip:

  1. Have a heli stable in stationary hover, tail-in.
  2. Start recording.
  3. Perform an aileron flip.
  4. Make corrections so heli is in stable, inverted hover.
  5. Stop recording.

Etc. I think you get the idea.

After you’re done with recording, you can continue your usual flying and run through all the packs (or fuel). Just be sure not to record anything else, so you don’t put unneeded data to the log file (OpenTX create one log file per day)

It pays off later, if you remember what you have recorded. For example, if you made 3 fast aileron flips, because you screwed and only got it right on the third attempt, it’s a very good idea to remember this. You can make notes, record your voice on the smartphone – whatever helps.

3. Generate a mixing script

SimMatch makes this for you. What you need to do is:

  1. Have proper model selected in the radio. This should be the one you used to make recordings.
  2. Run SimMatch (/SimMatch/SimMatch.lua on your SD card)

  3. Select the date on which you made the recording.
  4. Select maneuvers which you want to include in the mix. If you have screwed some of them, or started recording unintentionally, you can unselect them here (here your notes come handy).

    (See below to get idea what means what on this screen)
  5. Select mixing script number. This allows you to have multiple scripts at the same time (for example for different models). Just leave default for now, if you use SimMatch for the first time.
  6. Generate the mix.

The list of maneuvers gives you info about each of them, so you can figure out what is what:

  • Thr – this probably is only useful for helis. It shows you if heli was upright (+) or inverted (-) at the beginning and at the end. For example + - tells that the maneuver started in upright orientation, and ended in inverted. So it probably was a flip from upright to inverted.
  • Rud – shows you rudder direction and strength (in scale from 0 .. 3). If you were using both left and right rudder, it shows the one which was stronger.
  • Ail, Ele – similar to rudder, shows which direction was the strongest and how strong it was.

Additionally SimMatch shows you an acronym of the maneuver, like +3>+. This acronym is also used later in the sim. The meaning of it is:

  • + – the Heli was upright at the beginning.
  • 3> – the strongest action used during the maneuver was right rudder, and its strength was 3 out of 9.
  • + – heli was upright at the end of maneuver.

So it looks like it was a slow rudder pirouette.

4. Setup a mixing script

From now on we’re only going to use simulator profile in your radio, so switch to that. I can’t stress it enough – do not make steps below on your real model, do them on simulator model instead.

Steps to follow:

  1. Select simulator model in your radio
  2. Find Custom Sctipts in model settings
  3. Add Sim01 script in any free entry. (If you would select a different script number, like 2, when generating a script, this would be called Sim02)

The script should then run, but needs to be configured. It has the following parameters:

  • Track sel. – here you can select a slider, which will select the maneuver to use. For example S2.
  • Track sw. – alternatively you can select a switch instead of a slider. If using a slider, leave this empty.
  • Run – select a switch which you want to use to Start playback
  • Overtake % – if this is different than 0, it allows you to overtake some controls during playback. For example SimMatch will play a pirouette, but you will still control the throttle / collective pitch. The number defines how much you need to change the position of the stick to start overtaking. You can leave it 0 at first and come back to change it later.
  • Use sound – if set to 1, SimMatch will play sounds when switching between maneuvers, starting playback, overtaking controls etc.

On the right side of the screen you should see values which the mixing script outputs. You can switch maneuvers and start playback or just move the sticks to verify that things are changing there. The outputs are:

  • SimTrk – currently selected maneuver / track.
  • SimThr – value of Thr stick. This is what your stick is, or is played back from the recording if playback has started.
  • SimRud, SimAil, SimEle – same as above.

5. Setup mixing / channels

  1. First of all, make sure you still have your Simulator profile selected in your radio or select it:
  2. Find mixing setup of your model. You should have something like this:

    It might look little different depending on your setup (especially channel order might be different). But you should have 4 channels there for throttle, rudder, aileron and elevator. Do not confuse this screen with Inputs screen. This is Mixer screen.
  3. Select rudder channel (Rud). Now you need to add additional line to it. You do this by holding the wheel, and then selecting Insert after:
  4. Then you get new line with default configuration:
  5. Now change settings of these three:
    Source: SimRud
    Switch: same switch as you used for Run parameter of the mixing switch (in my case SD-down)
    Multiple: Replace
  6. You should get something like this:
  7. Do the same for all other channels – Thr, Ail, Ele. Use corresponding sources for them (SimThr, SimAil, SimEle) and same switch for all.
  8. You should end up with something like this on the mixing screen of your radio:

What do all these things do?

Well, as soon as you engage the switch (SD down in my case), the radio will use SimThr, SimRud etc. as inputs instead of radio sticks. This allows SimMatch mixing script to control the model, as these are outputs of the mixing script.

At the same time, SD- (SD down) will also start maneuver playback in the mixing script, because it is configured as Run parameter there.

6. Setup inputs

Your inputs in your simulator profile need to be straight. No expo, no travel changes, nothing. If you need such changes, you have to make them in simulator software instead.

Why? Because when you play the maneuver with SimMatch, these inputs are not used at all. Instead, SimMatch uses inputs which were recorded to the log file, while you were performing maneuvers in reality in the field.

If you now add some modifications there, this will make the model behave different then in reality and SimMatch come overcome this.

If you use a default setup, you have nothing to do.

However, if you ever applied any changes there (expo, travel) you need to remove them and apply them in simulator software instead. Otherwise there would be differences in how model behaves between you and SimMatch controlling the model. Fine Inputs tab in model settings and check.

Your settings for rudder channel should look like this:

Note that:

  • The curve is straight
  • Weight = 100%
  • Curve = 0%

In general these are default settings. All other channels also have to be setup like this.

7. Setup screen info (optional)

You can configure your screen to show you, which track / maneuver is currently selected. To see current maneuver number do the following:

  1. Being on the main radio screen, hold TELE button to go to screen settings.
  2. Setup any widget on main screen or on top bar to show Value:
  3. Select SimTrk as the source:
  4. Setup other settings however you want (colors etc.)

You can also see the maneuver acronym. Steps to get it:

  1. Go to model settings (long press MDL) and go to the last tab – Telemetry
  2. Press Discover new sensors, and after things are discovered Stop discovery. You should get a new telemetry counter called Sim. The value should show current maneuver acronym.
  3. As with maneuver number, put it on the screen using screen settings, but now using telemetry counter Sim as source:
  4. Unfortunately OpenTX does not display funny characters properly in the top bar, so you have to put it as a screen widget (not a top bar widget). Otherwise some characters will not be displayed.

At the end you should have screen information which maneuver is currently selected:

8. Tune the simulator

Now you can start your favorite simulator and make sure flying it still works. Then you can select any maneuver (using S2 slider in my case), play it with your playback switch (SD switch in my case) and see how simulator reacts.

If everything went right, flying in the simulator should still work. And if you start playback with a switch, it should try to make a selected maneuver. It will tell the simulator to do exactly what you have done in the field, while recording the maneuver.

Now there is hard work left to do, to tweak simulator settings so the maneuvers play right. So rudder turn makes 360 degrees in the sim and not 730, so flips at all speeds are made properly etc.

This is something you have to figure out on your own, because it depends on the simulator you use.

Basic rules are:

  • If you want the perfect match. the model, which you select in simulator, must be similar to what you’re flying in reality in terms of physics.
  • In case of helicopters this means you have to use a similar size helicopter. If you’re flying 450 class in reality, and 700 class in sim, this will never work, as there is no software / radio / FBL setup that would make 450 fly like 700 or the other way around. So you need to use 450 in sim and adjust zoom settings to see it better. It is often advised to use bigger heli in the sim because you see it better – could be, but then you have different flying there. If you want sim fly like real – use real model in the sim.
  • Obviously you have to start maneuver properly. Be inverted before you play inverted hover maneuver. This is where on screen info comes handy.
  • All adjustments should be made in the simulator software. Do not change anything in the radio at this point.

How to adjust, using rudder as an example:

  1. Find parameters which you want to change in the sim. In heli world you should look for something like Rotation rate / speed or Tail speed somewhere (how fast heli rotates) and the expo for it somewhere. These are the two you want to adjust. Such parameters will also exist for elevator and aileron, although there might one just one set of parameters called cyclic.
  2. For example in RF8 they are in model editing, some in Electronics and some in Radio tab. In my case expo is in “high rates”, because I have disabled “low rates” entirely. Make sure you use the right setting.

  3. In case of Realflight 8, rotation rates can also be found in Quick Edit window. However the expos are not there.
  4. Find both rudder maneuvers in your radio – slow and fast 360 turns. You will need to switch between them a lot. You defined a way to switch between maneuvers while configuring the mixing script.
  5. Now you need to test both maneuvers – the slow one and the fast one. If they both make a perfect 360 degrees turn you’re fine. If not, you need to adjust.

How to adjust? Here’s some help:

  • If both maneuvers made a turn which is too short (for example 270 degrees), increase the rotation rate.
  • If both maneuvers made a turn which is too far (for example 500 degrees), decrease the rotation rate.
  • If fast maneuver went to far (>360 degrees) and the slow one to less (<360 degrees), decrease the expo.
  • If slow maneuver went to far (>360 degrees) and the fast one to less (<360 degrees), add more expo.
  • Unless you get experienced with that, you want to make small corrections and to one parameter at a time. Then retest both maneuvers.

Same goes for aileron and elevator – these can be well tested with flips.

Some tips on tuning Heli-X:

  • It’s a piece of cake. All settings are easily accessible in one window. You have to go to menu Configuration -> Flight Mode.
  • You want to change D/R and Expo.
  • Make sure you make changes to the right mode (Idle-Up 1, Idle-Up 2)

Some tips on tuning AccuRC:

  • AccuRC has everything configurable. You will easily find rotation rates and expo settings for them in Flybarless and Tail configurations.
  • However AccuRC is nightmare to setup. This is because changing parameters resets the model and each change takes a very long time. You need patience.

Other simulator settings

There are very many factors which affect how we perceive flying in the simulator comparing to reality.

Some things can’t be changed. For example, in reality we see our model moving in some direction or changing altitude very well. We have to move our eyes and our head to track it. In simulator, the model does not move at all. It stays in the middle of the screen. It’s the surroundings which are moving and making the impression. This works, sometimes better (when model is closed to the ground, when the sky has clouds), sometimes worse (when model is just on the blue sky), but some feeling of reality is lost. This is something that cannot be changed, unless you go VR.

However, there are things which be changed and I would like to mention these. Below are a few things which you maybe want to look at to make your simulator feel even better:

  • Using same radio for simulation and real flying.
  • Making model react in same ways for same stick inputs (hence this software).
  • Similarity of the model comparing to your real model – in terms of size and how it flies.
  • Power settings. Simulation models are sometimes overpowered comparing to your real setup.
  • Field of View / Zoom. This is very important and I recommend to play with different settings. Simulators allow you to changes this freely and you typically just set it somehow so you see the model right. Our brains quickly adjust to different zoom settings and think it’s just a preference setting. However, this setting greatly affects how you perceive depth and all distances in general. There is no right settings for everyone, as this depends on screen size, screen distance etc. But I highly recommend to test different settings.
  • Holding your radio in the same way. If you change the way you hold your radio, you have to spent some hours to relearn stuff. Yet you might be holding your radio different in reality (standing, sometimes with a neck strap) and in simulation (sitting typically) and not notice that, just because everything else is different too.