Jump to content

Absolute/zero-Order Control - How To?


23 replies to this topic

#1 Alek Raynz

    Member

  • PipPipPip
  • Overlord
  • Overlord
  • 55 posts
  • LocationNova Scotia, Canada

Posted 15 June 2014 - 05:14 AM

I'm trying to figure out how to control my torso-twist using rudders with zero-order control. That's how I used to play MW3 and MW4 and really want to get that playstyle back into MWO. The challenge is I'm using a HOTAS Cougar with Saitek Pro Combat Rudders. I use Foxy to program my HOTAS, simply because of familiarity. Of course the rudders can't be programmed through Foxy so I've tried several methods to get them to act as a zero-order mouse. The closest I've got to it was using Xpadder to assign my rudders as a "spring" stick. However it wasn't giving me full range of motion and wouldn't recenter properly.

It seems a few of you have had good success using TARGET, however I'm unfamiliar with it and still face the challenge of programming Saitek rudders with it. I realize I may have to mod my rudders' USB connector into a Serial connector so I can plug into the HOTAS like my old Elite RCS. Can anyone help me out with how to do this? Is there any kind of guide out there that my google-fu has failed to find?

#2 Loc Nar

    Member

  • PipPipPipPipPipPipPipPip
  • 1,132 posts

Posted 15 June 2014 - 07:52 AM

Heh, you came to the right place :)

I have a Cougar I customized specifically for zero-order control and use TARGET to achieve absolute inputs, and it's really easy. Likely Foxy can do it as well, but currently the ONLY way to have absolute inputs for a zero-order scheme is absolute mouse emulation, but as not all emulators are created equal, and TARGET is known to work and you have a support specific group -us. No matter what emulator you use, you need to scale the sensitivity way way way way back before it's controllable. In TARGET for instance, I use minus 12 on the y axis and minus 11 on the x axis at my normal gain setting.

For some reason, sensitivity is higher on the y than the x so it takes a little bit more toning down to keep it in scale. I've transitioned others to TARGET and can give you pointers to make it easy if you like (it's way less convoluted than Foxy actually), and beyond that I have Cougar specific scripts that have been refined over 6500 matches that I'd be happy to share.

Really useful things like on-the-fly sensitivity changing, sensitivity automatically scaling with advanced zoom, logical/intuitive button grouping/mapping with a shift layer as well, etc. I also have visual diagrams of the layout to make it easy to learn them...

There is a ray of light here too, that we will soon (no, really) have actual native absolute inputs, which will be glorious. Currently if you are using mouse emulation this way, it interferes with TrackIR making it unusable

I also use pedals plugged into the gameport of my Cougar (which is under control of TARGET) and it's super easy, but you can only do it with RCS pedals unless you want to do a little converting to other pedals. It's not hard to convert any pedals to work however, if you aren't scared to re-wire the pot. The only weird thing is that it runs in resistive mode so only has 2 wires going to the pot (pots normally take 3 wires so has 1 tab without a wire). Here's the wiring diagram to make one:

http://cougar.flyfox...udder_large.jpg
Posted Image

You can use the rudder pedals as well, but to make them active you need to get into the Cougar Control Panel and reassign the active 8 axes to include the toebrakes, however then you lose the ministick (worthwhile tradeoff cause there's nothing useful you can do with it in MWO anyhow...). I see RCS pedals on the cheap on ebay all the time (paid $50 after shipping for mine...), and it's hard to beat plug-n-play functionality. I was less than impressed with the centering mechanism and made my own for them, and also now have my Saitek Combat Pedals mounted to them.

For MWO I only use the toebrakes for left/right turning. Using a central pivot axis for turning is way too much footwork for the type of driving I do, which is almost exclusively in lights so I have to vigorously maneuver to stay alive. I currently use evilC's UJR application to merge the 2 axes into a single output that I can actually bind to the game, and works like a champ.

MWO is good about accepting more than 1 controller, so don't feel you have to limit yourself to TARGET compatible pedals. Also with analog turning implemented as well as it is, there is no real reason to even use TARGET to manipulate them and normal binding is just fine.

tl;dr: switch to TARGET and I got you covered...

#3 Alek Raynz

    Member

  • PipPipPip
  • Overlord
  • Overlord
  • 55 posts
  • LocationNova Scotia, Canada

Posted 15 June 2014 - 10:21 AM

I wound up giving away my old RCS when I "upgraded" to the Saitek pedals. Regretting it now. So as I understand things to get the Saitek pedals running under TARGET I need to convert the USB connector to DB15 as per the schematic you provided. Though if we're getting native support for absolute inputs (which I never expected would happen) I'd rather go for a more temporary mod. I might be able to craft a USB to DB15 adapter using the same wiring schematic. Think that might work?

And as weird as it sounds, I've trained myself to use absolute rudder for torso-twist. Hence my current predicament. Ironically I'm running TARGET for my MFDs. I guess it's time I learn to work it for the HOTAS too. The sensitivity-scaling you've described sounds phenomenal.

#4 Loc Nar

    Member

  • PipPipPipPipPipPipPipPip
  • 1,132 posts

Posted 15 June 2014 - 11:07 AM

If you re-wire the Saitek pedals to the drawing it will definitely work. It would involve completely bypassing the Saitek board and wiring straight to it's pot/pots (I still use Saitek board for the toebrakes atm) The Saiteks however might be worth more and you could also sell them off and buy new (used) RCS pedals... The wider foot placement is better suited for the task and the centering easy to modify.

Stock would have been more of a pain cause the negative interaction when crossing the center, but the simple mod I did makes crossing that region smooth. http://mwomercs.com/...ost__p__3193310

As to TARGET scripts (just forget about the GUI, it's a toy), as I said if you want I'll gladly send you a copy of my current MWO Cougar script. From there it's easy cut/paste modify to your liking, but you would already have the framework for several commands that req a bit more coding than the regular mapping.

#5 Alek Raynz

    Member

  • PipPipPip
  • Overlord
  • Overlord
  • 55 posts
  • LocationNova Scotia, Canada

Posted 15 June 2014 - 03:29 PM

I'll gladly use your TARGET script, might as well start learning now. As for the rudders, short of getting my RCS back from my father-in-law, buying another set is not an option. Had to make a major case to the wife to upgrade to the Saiteks (but hun, now I'll have toe brakes for my F-16 sim!). Also, MWO is the only game I want this functionality for, I use them as is for War Thunder and DCS World. I don't have access to a machine shop to do all the nifty fabricating you do, however I used to be an avionics tech so I can manage a soldering iron. I'd like to keep the physical mods to a minimum but I don't mind some electrical work. Are there any resources I could look at for modding Saitek pedals? What's the potential for tacking on a line direct from the pot for the DB15 connector while still maintaining full USB functionality? Correct me if I'm wrong but it looks like I'd only have to connect pin 11 to the pot and pin 4 to the ground. Silly question: why is the rudder pot not connected to the ground in the schematic above?

#6 Koniving

    Welcoming Committee

  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • The Guide
  • The Guide
  • 23,384 posts

Posted 15 June 2014 - 03:50 PM

I'd love a list of manufacturers that make zero order controls.

Joysticks, flight sticks, etc., don't have any advertisements saying what order they are.

#7 Foust

    Member

  • PipPipPipPipPipPip
  • Legendary Founder
  • Legendary Founder
  • 394 posts
  • LocationKentucky

Posted 16 June 2014 - 09:20 AM

It's not that a joystick is or is not "zero order", but more, is the interaction between the game and the controller (whatever controller it is) zero order.

"zero order" as far as a marketing term isn't really a thing. It is more the way the controller interacts with the game.

In the case of MWO, your mouse is a zero order controller.

In the case of a flight sim, a joystick is a zero order controller.

#8 Loc Nar

    Member

  • PipPipPipPipPipPipPipPip
  • 1,132 posts

Posted 16 June 2014 - 08:42 PM

View PostFoust, on 16 June 2014 - 09:20 AM, said:

It's not that a joystick is or is not "zero order", but more, is the interaction between the game and the controller (whatever controller it is) zero order.

"zero order" as far as a marketing term isn't really a thing. It is more the way the controller interacts with the game.

In the case of MWO, your mouse is a zero order controller.

In the case of a flight sim, a joystick is a zero order controller.


Sigh.. that started out ok, but went off the tracks by the end :P The only zero-order control you will find in a flight sim is head tracking, and the assignment of these terms is not based on what controller you are using, but rather the specific behavior of the axes you're controlling.

Simply put, the game/sim determines the control-order, and within that the controller chosen determines how effective your manipulation of these axes will be depending on what it was designed to be good at vs how you are using it. MWO's problems come from mixed orders being used, since these systems of control are not even close to being on even footing.

Two aspects to this:

I: Controllers are not assigned control-orders (sorry Koniving, it's not that easy!). There is no such thing as a 'zero-order joystick' a 'first-order joystick' or even a 'zero-order mouse' for that matter. What makes those devices different from each other, is how each input device may be mechanically optimized for their *intended task (defined by control-order), which generally leaves them good at that one, but at the expense of others. The reason joystick manufactures don't list what control order they are is because it's a non sequitur use of the term.

Controls applications (games, sims, etc) is where control-order is applied. Individual axes are assigned control-orders, or rather expressed as them to define their behavior. Control-order is standardized terminology used to simplify expressing the mathematical model underlying how inputs are being resolved into vehicular/system commands. You don't need to know the math, but you should know the difference between how they act.

There are only 3 types of control-orders we really need to consider in games, or flight, or even space flight. Whether real or modeled, it doesn't matter -the same terminology is used to represent the same mathematical modeling. They are engineering terms used for expressing controls, to reduce them to their specific unique implied behavior.

Zero-order: direct positioning (ex: reticule aim with mouse)

First-order: velocity (ex: analog throttle)

Second-order: acceleration (ex: 'w' and 's' throttle)

II: The other aspect to consider is what happens when an application allows mixed control orders for the input types. MWO is a perfect example to illustrate the problem, because it uses zero-order positioning for the mouse, however joysticks are only currently supported with first-order inputs.

Using first-order inputs while others are using zero-order positioning has a predictable outcome; the old 'joystick in a shooter' trope. With a regular joystick, you will be extremely outclassed and will never fight on even footing so long as you are using velocity commands to indirectly change position the reticule while others can directly do that with a mouse or other positioning device. Once an application accepts zero-order positioning, all hope is lost for the ability for first-order/velocity inputs to be viable.

A joystick is not a first-order controller, but so long as MWO only accepts relative inputs for joysticks they they are limited to that role. Once native absolute positioning is able to be used, all the sudden ANY joystick will be able to operate in zero-order and it's as simple as that. Currently the only way to achieve zero-order control for a joystick in MWO is to use mouse emulation (sorry Alpha One, your zero-order rudder scheme won't work unless they implement absolute inputs on turning as well), since this is the only workaround to achieve absolute inputs. Thrustmaster's TARGET makes this easy to do, but there are other emulators that can do it.

What makes my stick different than a 'normal' joystick which makes me refer to it at times as a 'zero-order controller' is that I built an new gimbal specifically optimized for positioning, which of course is at the expense of its ability to be good at velocity like it's brethren. Conversely, optimization for velocity leaves you with a very poor positioning device, even if a game supports absolute inputs. They are not limited to the roles they are optimized for, but they're only good at those.

Unfortunately the only known example of a native positioning joystick not intended for industrial applications (and hence thousands of dollars...) is the right stick of the Steel Battalion controller. Any joystick *can be used for positioning, but if you want it to be good at it you have to make or mod one cause mechanically it's a different beast...

#9 Foust

    Member

  • PipPipPipPipPipPip
  • Legendary Founder
  • Legendary Founder
  • 394 posts
  • LocationKentucky

Posted 17 June 2014 - 05:38 AM

This is how you summon a wild Locnar, over simplify a controls discussion. :D He is correct though.

We each came to different ends in our controllers. Locnar has built an incredible stick that as close as possible emulates the movement of the mech, that is yaw (rotation) to turn the torso and pitch (forward and back) to move the torso up and down. I was unwilling to reprogram myself to use yaw for the torso, so I stayed with pitch and roll.

Another difference in our setups is that I have a spring centered stick, where Locnar's stick uses friction joints to stay where he puts it. When I first built my pit I modded a T16000M to have a friction gimbal as well. My friction disc self destructed, so I elected to put the spring back in and give it a go. I liked it, so I kept.

Really though, the most important aspect of how to make a joystick viable is using mouse emulation to get the desired absolute positioning. Even with that the other catch is the scaling. TARGET is really the only solution that I found to work in this regard and I went through every joystick to mouse emulator that I could find.

Have we sufficiently derailed this thread? It was about rudder controls for torso twist right?

Re reading the original post, I think your going to be in the same boat as we are with the full range of motion vs accurate re centering. My stick (and I believe Locnar's) have what Ill refer to as edge behavior such that depending on the mechs available torso traversal and arm traversal we will either not achieve full rotation (think catapults) and have accurate centering, or exceed full rotation (think stalkers) and not re center properly. I wont even get into how much arm lock screws with this. This is a function of the limited range of a axis used to emulate a mouse, where a mouse has effectively an infinite range available to it.

Personally, I think it would be really difficult to use the rudders for the torso since that is a key component for aiming. Personally I use the rudders for leg direction.

#10 Alek Raynz

    Member

  • PipPipPip
  • Overlord
  • Overlord
  • 55 posts
  • LocationNova Scotia, Canada

Posted 17 June 2014 - 07:17 AM

I know it does sound very weird to use rudders for torso. It stems back from training myself to play that way in MW3. I like to "fly" my mechs, especially lights, so I use the stick to control direction and elevation. I found it very intuitive since the position of my feet equated to the position of the torso.

Mind you, I've had so much difficulty getting this set-up to work right that I've been experimenting with other control schemes. Because I've trained myself to use rudders for torso twist I can't seem to get a handle on using the stick for twist and rudders for turning. The muscle-memory is working against me there. I get a lot more precision from a mouse+throttle+rudder setup, except for the sudden lack of buttons. Even with my Naga Hex I've lost at least 4 functions off my stick. And the axis-to-button emulation in Saitek's SMART program sucks. I tried using the toe brakes as jump jets and TeamSpeak PTT but it's incredibly unresponsive. Either the command doesn't happen or it gets stuck. Seems like no matter what I try I keep hitting a wall, and until I get the software side of things straightened out I want to avoid physical mods.

#11 Alek Raynz

    Member

  • PipPipPip
  • Overlord
  • Overlord
  • 55 posts
  • LocationNova Scotia, Canada

Posted 25 June 2014 - 11:59 AM

Looks like we'll be getting absolute controls sooner than expected ;)

Quote

Controller Tweaks

There are some controller tweaks coming to ensure the mouse wheel binds correctly, and to enable absolute inputs for Joystick users along with some other work like allowing you to move while the Battlegrid is up, for example. These are also in test and if approved will be in the July 15th patch.


http://mwomercs.com/...79#entry3499179

#12 Faolan65

    Member

  • PipPipPipPipPip
  • 139 posts
  • LocationPhoenix

Posted 02 June 2015 - 12:22 PM

So hate to be the guy who necros an old post, but I am trying to find out if any of this came to fruition?

How exactly do you set up an off the shelf joystick (particularly a T1600m) to be absolute zero order control?

#13 Foust

    Member

  • PipPipPipPipPipPip
  • Legendary Founder
  • Legendary Founder
  • 394 posts
  • LocationKentucky

Posted 06 June 2015 - 04:54 AM

Well yes and no.

Yes there is a option now to enable absolute positioning in the game. The problem is that it is bad. For some reason there is a enforced deadzone on the stick and instead of starting movement once you clear that deadzone, it jumps to the position that is reported by the stick past that deadzone. Meaning there is a area around center that you just cant put your sights on.

You cant 'exactly' make a zero order stick out of a T16000M, but you can get close-ish. The main thing is using mouse emulation and scaling down the movement. For example, when I have my stick in "pilot mode" the mouse cursor in windows will only move over a very small area in the center of the screen. When I have the stick in "mouse mode" the mouse cursor will move to each corner of the screen with full deflection of both axis. You could remove the spring from the stick as well but I found that the T16000M was such a light spring anyway that I actually liked having the resistance and the centering. Locnar disagrees. :-)

#14 Faolan65

    Member

  • PipPipPipPipPip
  • 139 posts
  • LocationPhoenix

Posted 08 June 2015 - 08:00 AM

View PostFoust, on 06 June 2015 - 04:54 AM, said:

Well yes and no.

Yes there is a option now to enable absolute positioning in the game. The problem is that it is bad. For some reason there is a enforced deadzone on the stick and instead of starting movement once you clear that deadzone, it jumps to the position that is reported by the stick past that deadzone. Meaning there is a area around center that you just cant put your sights on.

You cant 'exactly' make a zero order stick out of a T16000M, but you can get close-ish. The main thing is using mouse emulation and scaling down the movement. For example, when I have my stick in "pilot mode" the mouse cursor in windows will only move over a very small area in the center of the screen. When I have the stick in "mouse mode" the mouse cursor will move to each corner of the screen with full deflection of both axis. You could remove the spring from the stick as well but I found that the T16000M was such a light spring anyway that I actually liked having the resistance and the centering. Locnar disagrees. :-)


Well, although not perfect, it does sound like there’s some hope for my preferred control scheme. I do plan on doing the spring ziptie mod, but have no clue how to set the settings to get the stick to behave like that. Would you be able to walk this novice through the procedure?

#15 Foust

    Member

  • PipPipPipPipPipPip
  • Legendary Founder
  • Legendary Founder
  • 394 posts
  • LocationKentucky

Posted 18 June 2015 - 05:06 AM

View PostFaolan65, on 08 June 2015 - 08:00 AM, said:

Would you be able to walk this novice through the procedure?

I'll clean up the script I'm using and add some comments so you get a better idea whats going on. If I remember, I'll try to get that done tonight.

#16 Faolan65

    Member

  • PipPipPipPipPip
  • 139 posts
  • LocationPhoenix

Posted 18 June 2015 - 08:14 AM

View PostFoust, on 18 June 2015 - 05:06 AM, said:

I'll clean up the script I'm using and add some comments so you get a better idea whats going on. If I remember, I'll try to get that done tonight.


Awesome! I appreciate it and look forward to it.

#17 Foust

    Member

  • PipPipPipPipPipPip
  • Legendary Founder
  • Legendary Founder
  • 394 posts
  • LocationKentucky

Posted 18 June 2015 - 03:02 PM

Ok this started as Locnar's script and I hacked at it till I had what worked for my setup. I keep meaning to make the hat work as a mouse wheel in 'windows mode' but I haven't gotten around to that.

Spoiler


#18 Loc Nar

    Member

  • PipPipPipPipPipPipPipPip
  • 1,132 posts

Posted 20 June 2015 - 10:52 AM

Just popping by to mention I came up with a new gimbal design that would lend itself well to this control scheme and should be possible to use the MX sensor out of the T16000m (and Warty...) due to its open-center geometry. It's a really simple design for the most part, that can be made using a miter saw and drill press once you have the right aluminum extrusions (just some angle and square tube sections), incorporating simple friction joints like on my current setup.

I'm making one to use a G502 mouse's sensor using a section of a 3.5" aluminum hemisphere as the 'mousepad', for experimentation in Star Citizen (mouse emulation currently not working), which is an experiment I almost conducted in 2012 here but opted for discrete pots/mouse emulation for my mech stick. ...Had I used the damn mouse sensor, it sure would have been a lot easier to explain how my stick works differently than a normal joystick though! :P

Not sure if I'll be making drawings of this gimbal (based off a really simple stick that came out of an ultralight aircraft), but I'll sure take some pics to share once I get cutting...

#19 Faolan65

    Member

  • PipPipPipPipPip
  • 139 posts
  • LocationPhoenix

Posted 27 June 2015 - 02:17 PM

View PostFoust, on 18 June 2015 - 03:02 PM, said:

Ok this started as Locnar's script and I hacked at it till I had what worked for my setup. I keep meaning to make the hat work as a mouse wheel in 'windows mode' but I haven't gotten around to that.
Spoiler



Thank you Foust! So I finally got a chance to sit down, plug in your TARGET code and play. Right off the bat, X and Y felt great, although not getting the full range of motion on the torso twist ( only about 90* each side), as well as I'm so used to aircraft pitch controls (ie pull back on the stick to nose up) that even after giving it a fair shot I think I'm going to need to change the code to accommodate what I'm used to.

I couldn't get throttle and leg turn to work on the single stick though, which I think has to do with my existing keybindings, and isnt a big deal as I wanted to run twin sticks anyway. I attempted to splice in some code from a twin stick TARGET profile that I've messed with in the past in order to map turn and throttle to my left t16000m, but no luck. Well, I'll be honest, luck didnt have anything to do with it as I have a very limited understanding of the TARGET coding. I wont dare share the butchered code here, but if you guys could lend a hand in getting a TARGET profile setup that is set up like the pic below, and of course with a bit of guidance (ok, maybe a lot of guidance), I'm hopeful that even my novice abilities could get it working.

And just a disclaimer, the reason I'm choosing to go twin t16s is I am going to also use them in Star Citizen with an as close to similar configuration. Just to minimize having to re-train myself each time when I switch back and forth between the games. Otherwise I'd just use a throttle in my left hand for MWO.

Btw, the video you posted looks great! After a TON of practice we'll see if I can compare...

Edited by Faolan65, 27 June 2015 - 02:18 PM.


#20 Faolan65

    Member

  • PipPipPipPipPip
  • 139 posts
  • LocationPhoenix

Posted 27 June 2015 - 02:34 PM

Wow, so I started messing with the twin sticks part of the profile, and got it to work, but some of the MWO keybindings were fighting some of the TARGET lines, so I had the brilliant idea of hitting reset to default the keybindings. Uhg, big mistake, now the right stick is only moving the torso 10 degrees or so left, right, and 5 up, down and wont recenter properly anymore either. I lessened the last digit in the curves, and I got a bigger range of motion, but it's erratic and re-centering is even worse.
Even after reloading your profile, it's still acting like that. Not sure what I lost in the reset that made it quit working so great.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users