Jump to content

Controls Demystified(?)


49 replies to this topic

#41 Loc Nar

    Member

  • PipPipPipPipPipPipPipPip
  • 1,132 posts

Posted 04 January 2016 - 11:24 AM

View PostFoust, on 03 January 2016 - 03:15 PM, said:

MWO applies some scaling to the input when you zoom in. I started working on a way that when you toggle each zoom level that it would counter the scaling so that your movements don't get super sensitive while zoomed in, and return to normal when your zoomed out.

I haven't put much effort into it. I'll see what I can come up with.


I do not believe any scaling is added when you zoom in, it's just that well your zoomed in. Just like if you look through binocculars you have to really move slowly because the perceived motion that far out yadda yadda... it's a trig thing.

Regardless this is very easy to deal with using TARGET and I've had this functionality in my script since 2012 if anyone needs some snips of code to get this going. I have a manual zoom toggle that I can toggle between, and I have an automatic/dynamic one that is tied to advanced zoom.

I rarely use either however, as it highlights an artifact of using absolute zero-order positioning. As soon as you toggle to a different gain, your mech's torso will immediately jump to the new calculated absolute position, as it should really.

If you manually center x/y before going in/out of shifts there is no effect, but the further away from center you get the worse it is. Honestly the best way to play is to turn your gain down to the point of losing a little bit of the mechs range of motion at least in yaw, pitch is much more limited and uses a lot more of the mechanical range of the stick to operate.

Quote

As a question from somebody who just spent cash on a new T16000M (aka ME) do you think I could get away with only removing the built in spring, adding a "resistance disc" (mylar sheet) and using the TARGET software?


Yes you can, and if you do it *correct it will certainly be better than settling for fighting the spring, which of course you can always revert to. A mylar disc will only withstand this abuse if it is machine cut however. The slightest nick in an edge will make one fall to pieces under the load.

Another important ingredient is proper damping grease. I cannot stress this enough. I built that whole mech stick and used it for years before buying real deal damping grease and finally rebuilt it. ho. ly. ****. It's a whole new stick and feels like straight up hydraulic damping now. Very stiff and very smooth.

Here's a demonstration of damping grease vs others


I happen to make machine cut mylar discs as it turns out, although since I make them for something else I'm not sure if they're the right size but you can have one to try if you like, along with some real damping grease. You too Foust (told you a looong time ago I'd cut a proper one... :P), pm me if interested...

I make the discs as dust/debris shields for Warthogs, which I also have many other projects cooking with (left hand versions of the grips, replacement gimbals, and much more)

Posted Image

#42 Foust

    Member

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

Posted 04 January 2016 - 11:35 AM

Hang on.

Is that a warthog gimbal?

#43 Loc Nar

    Member

  • PipPipPipPipPipPipPipPip
  • 1,132 posts

Posted 04 January 2016 - 11:59 AM

View PostFoust, on 04 January 2016 - 11:35 AM, said:

Hang on.

Is that a warthog gimbal?


Indeed good sir. This one is set up with dual pendulum centering similar to VKB/CH products although I have included provisions for mechanisms on both sides of the gimbals (Warty has central sensor) to accommodate high mass grips and stick extensions since there is a limit to how strong of springs you can use in such positions.

My MK3 design will undergo one more round of miniaturization which will more easily allow me to use an enclosure/base the same form factor (already fits) and mounting hole pattern as stock Warthog, allowing people to basically bolt it in place. It uses the MX90333 sensor and same kinematics, so it retains TARGET capability etc.

Here's some more pics, although I haven't really made an album detailing this project yet and it's ongoing. I don't even have pics of the printed part I just got from Shapeways that holds the sensor and routes the wires yet Posted Image

My MK4 versions will use profile cam centering (free-floating center or optional center detente), which I am very fond of, but below is my MK2.

Posted Image

Posted Image

Posted Image

#44 Foust

    Member

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

Posted 04 January 2016 - 12:04 PM

Beautiful. Had I a warthog, I would be volunteering for "beta testing"

#45 GreenHell

    Member

  • PipPipPipPipPipPipPip
  • 543 posts
  • LocationGrandmas House

Posted 04 January 2016 - 11:01 PM

Thanks for the help guys. Don't worry about the mylar. I've got a sheet laying around and some "blue grease" (looks similar to what they ship covering the springs of good sticks). I'll look into setting up a zoom function within TARGET to see if I can reduce the speed while zoomed.

On that note, even with the TARGET set to -8 (mouse barely moves on screen) I still seem to be VERY inacurate even when not zoomed, and it's for much the same reason as being zoomed. It's simply too twitchy and fast. I've been trying it out with the Marauder MAD-3R and my hit rate with the PPC's has seriously dropped... I almost wish I could set it up more like Steel Batallion, where the hat would move the torso, and the stick itself would move the "fine aim". I know that's not possible with the way TARGET works but I still think it would be awesome.

#46 Loc Nar

    Member

  • PipPipPipPipPipPipPipPip
  • 1,132 posts

Posted 16 January 2016 - 04:00 PM

View PostGreenHell, on 04 January 2016 - 11:01 PM, said:

Thanks for the help guys. Don't worry about the mylar. I've got a sheet laying around and some "blue grease" (looks similar to what they ship covering the springs of good sticks). I'll look into setting up a zoom function within TARGET to see if I can reduce the speed while zoomed.

On that note, even with the TARGET set to -8 (mouse barely moves on screen) I still seem to be VERY inacurate even when not zoomed, and it's for much the same reason as being zoomed. It's simply too twitchy and fast. I've been trying it out with the Marauder MAD-3R and my hit rate with the PPC's has seriously dropped... I almost wish I could set it up more like Steel Batallion, where the hat would move the torso, and the stick itself would move the "fine aim". I know that's not possible with the way TARGET works but I still think it would be awesome.


Unless that blue grease is specifically for damping I guarantee it's a poor substitute for actual damping grease. I've been making relevant assemblies that rely on such greases for a while now and have experimented with quite a few different greases for this and nothing else comes close, even other silica-thickened silicone greases that seem like they would be great.

As to the mylar disc, unless you can machine punch one there's little point. It will split in short order as cracks propagates from the tiny unavoidable nicks on the edges that hand cutting produces.

I have -9 on pitch and -8 on yaw so your gain is fine and you're likely struggling with the effects of using +/-20deg of pitch/roll to control ~40deg of pitch and 180-270deg of yaw. Pitch is manageable but yaw is predictably twitchy due to both non-native input vs output action (using roll to control yaw) as well as such a large mismatch in range of motion.

My stick uses China hat for trimming aim so basically does exactly what you describe although I never use it in practice, I have adequate range of motion in yaw at +/-45deg or so (more if I want but that's all my wrist is good for) and has identical input vs output motion so it's manageable, plus it contributes to needing to recenter. I left the trim in place though because MWO already doesn't even use all the buttons on my HOTAS so there was no motivation to free up that hat...

Here's a snip of TARGET that will give you mouse trim ability on the hat: gain can be adjusted by changing the 50 (milliseconds between 'events') or the 1/-1, which is how far it moves per event and is at its lowest setting. Can be further slowed by increasing time between events or sped up by increasing distance, but values much below 50ms is counted as 'continuous input'. Much longer than 50ms it looks pretty ratchety though...

MapKey(&T16000, H1L, REXEC(0, 50,"TrimDXAxis(MOUSE_X_AXIS, -1);"));  
MapKey(&T16000, H1U, REXEC(0, 50,"TrimDXAxis(MOUSE_X_AXIS, 1);"));
MapKey(&T16000, H1R, REXEC(1, 50,"TrimDXAxis(MOUSE_Y_AXIS, -1);"));  
MapKey(&T16000, H1D, REXEC(1, 50,"TrimDXAxis(MOUSE_Y_AXIS, 1);"));  
 


This could easily be used in conjunction with a shift button so that you can still use the hat as 4 buttons seeing as it's prime real estate and there's not many buttons on the grip as is...

#47 Rhino 5

    Rookie

  • Bad Company
  • Bad Company
  • 6 posts
  • LocationAlabama, USA

Posted 30 December 2016 - 09:10 AM

Quote

Using a first-order controller is like trying to move the marble by picking up the sheet of glass with the marble balanced on it and tilting it front/back and side/side to move the marble, then quickly leveling it again when it’s where you want it to be in x/y coordinates. The more you tilt it, the faster the marble moves and the harder it is to make it stop exactly where you want. Your actions generate directional velocity reactions, proportional to the amount of deflection, which must be quickly brought back level to discontinue the input reaction. Controllers made for this task are specifically engineered to facilitate these inputs with ease. Springs hold it level, obvious centers, deadzones etc, and every convenience feature built into it for this mode becomes a hindrance the second you press it into service as a zero-order.[/color]


I just wanted to comment that you might get a kick out of. Back when I was in flight school for helicopters we had a trainer that was exactly this. You had a cyclic stick that controlled the tilt of a plate via cables. On the plate was a bullseye and a marble. The idea was to teach you how to keep the marble in the center to teach fine control for hovering. You're absolutely right about the zero-order as the cyclic control in a helicopter is nothing like a control stick in a fixed wing. Maybe if helicopter simulators were popular we would have more zero-order sticks.

On a side note, since your modification of the TM Cougar are there any other sticks that you have found that are suitable to modification to become zero-order controllers?

Edited by Rhino 5, 30 December 2016 - 09:11 AM.


#48 AIRBERG

    Rookie

  • Giant Helper
  • Giant Helper
  • 8 posts

Posted 12 February 2022 - 02:37 PM

Hi guys. I know this is an OLD thread and hope you are all still around. I have a HOTAS i'm trying to use and can get the throttle and rudder pedals working just fine but my stick has what feels like a giant deadzone even when setting the deadzone to 0.0

I have a virpil constellation alpha stick, its very sensative and great in flight sims but in MWO its literally unplayable. It feels like I'm drunk piloting with this deadzone. every movement that takes it out of the deadzone slings the cursor across my target, even when sensativity is set to near the lowest possible.

Do you have any ideas what can help eliminate the deadzone?

Thanks and this thread has some awesome write-ups about the differences between inputs. I learned a lot!

#49 _INFIDEL_

    Rookie

  • 4 posts

Posted 09 March 2024 - 01:44 PM

Anyone able to hjelp with Thrustmaster stick

#50 LordNothing

    Member

  • PipPipPipPipPipPipPipPipPipPipPipPip
  • Ace Of Spades
  • Ace Of Spades
  • 18,002 posts

Posted 26 January 2026 - 11:52 AM

late to the party. i was trying zeroth order yesterday on a diy stick i started some many years ago.

i had some military surplus cast aluminum gimbals, idk what from (some had construction orange colored handles so i assume from some heavy equipment, though the parts date back to at least the '70s, though the large carbon wound resisters indicate more '60s). these things were over built. it uses a frictioned ball joint that engages a pair of axis forks that rotate a shaft at one end and a pot at the other. the shaft had a complex spring and clutch system terminating in a gear that engages a high quality hermetically sealed milspec potentiometer (so old its made in the usa). the clutch was engaged with a large magnet. i believe it worked by pressing a toggle button at the top of the stick, which enabled the large magnet locking the main pot in place, while the other one provided vernier control through some large and clunky analog control boards.

it uses a frictioned ball joint, and i finally found a method for decrusting those (still need to get some graphite lube and some tpu fillimant to print a boot). before i could do that i needed to do a full breakdown. a couple years ago i drilled out all the frozen set screws holding the axles together which allowed for a full disassembly, cleaning, and modding, and re-tapping the drilled out holes.

first thing i did (many years ago) was to strip out most of the wiring. removed the large magnets. i could make working sticks at this time but the units needed a lot of decrusting before they would be usable. many of the set screws were frozen and i was only able to partially disassemble a couple units.

some years after that i decided i would drill out all the frozen set screws and attempt a full disassembly. i decided my best bet was to get rid of the secondary pots entirely. i had some old audio pots that didnt work anymore, i removed the brass bushing from the rest of the housing and filed down the shaft just so i had enough to engage with the slotted semicircular fork. i removed the shaft coming off of the other side and stripped them down. using the parts i was able to hard mount the shaft to the fork with a modified plate that once mounted the spring and clutch. i had to dremel off half of a flange that was in the way and cut a slot in the middle of the other half to engage a pin in the fork, this connected the shaft to the fork. then i only needed to lock the large gear down with a set screw.

while it was apart i also polished the ball joint and bushing rings to reduce friction. the ball was either press fit on the shaft or machined as one part, i never figured out which and i didnt want to ruin the finish trying to separate them. but it was easy to chuck up in a drill and spin polish it with a dremel polishing wheel. the brass bushing rings also got a good polish. i figure i could lap the surfaces together so i mixed a little machine oil and polishing grit, remounted the ball and worked the stick for a long time, after cleaning the motion was significantly smother. anyway last year i refurbished a good four units to a useful state, and many of the parts to the others. its just re-honing each ball is a time consuming process so i stopped at 4.

the potentiometers were great initially i ran them through a 16-bit double ended delta-sigma adc. this worked but the analog wires were unacceptable to a lot of interference (mostly from the button scan matrix) and made my signal dirty. i was thinking about going with hall sensors, initially i had poor results with those, couldn't out perform the pots. i spent a lot of time experimentally testing their linearity with a stepper motor, graphing out the output at each step. frankly i want happy with either.

then i hear about contactless angle sensors, which are an array of four hall sensors with a dsp to get a precise angle. the cool thing about such sensors is they are digital on the outside, either using spi, i2c, or pwm. current stick uses as5048, which is a 14 magnetic rotory encodor meant for servo control feedback (so its capable of 180 degree rotation), but it works with a neodymium magnet just as well. i also tested as5600 which is a 12 bit contactless potentiometer, i didnt like these so much as you could only program them once to enable pwm and you needed an i2c splitter to talk to more than one without a second port because you cant reprogram the address (can you say bus conflict). i also got some mt607s that i havent tested yet.

i 3d printed housings for them, which contain the board a couple small ball bearings from old computer fans and engages the small gear at one end and a 3d printed magnet holder at the other and you can screw on the dev board at the end once its assembled. the as5048 needed a different adapter design from the other boards since its carrier board was meant to be installed inside a motor its round instead of square, and also has some very small solder pads which i had to solder to magnet wire under a microscope and turned into ribbon cables with some kapton tape. a couple days ago i finally did the wiring harness to connect them all to the arduino pro micro. and wrote the hid report descriptor for the stick. the pro micro is based on the atmega32u4 micro controller, which has native usb support. you just have to write an hid descriptor and it reports to the computer as a joystick.

then comes the grips, i wanted to do the f16 style (what my old fighter stick uses), but two problems, one is the thing wouldnt fit on my printer bed, its too big. the second is the hat switches. the simple hat switch poses a lot of issues in that aparently nobody makes a ubiquetous part, at least not cheap ($50+ for unit one, and the f16 style uses four). i ultimately designed two different 3d printed switches a large 5 way and a small 4 way just using simple tactile switches. lots of trial and error and finding appropriate tolerances. i ended up using a grip from a b8 aircraft, i found a model on thiniverse and modded it. its a 4 button + hat affair. of course my low profile hat switch design allowed me to replace the thumb button for a hat. the model originally used a analog joystick for the upper hat, but i opted against it, instead i did a analog trigger using a led, photodiode, and a 3d printed slot and wedge system, this gave me a good 3 volts of range. other mods included a stem to engage with the button sockets that came with the sticks.

the ball shaft is a tube allowing the passing of a few thin wires down it. it was intended to only carry 2 wires. i could hardware it with a bunch of thin wires, but i had some salvage grips and that did not work so well on those. so instead of hardwiring everything i made a pcb with an attiny84, an analog reference and signal for the optical trigger, and a grid of holes for the 3x4 button matrix supporting all the digital functions. the mcu was programmed to act as an i2c slave device which got the wire count down to 4. using thinner wire i was able to drop these through the tube with ease, with room for reinforcing heat shrink to boot. this plugs into the pro micro that handles usb. the x/y sensors are on a wiring harness that splits the spi lines (combining the shared pins) and provides a couple chip enable lines to select which sensor im talking to. all this solders directly to the pro micro, i opted against headers, another point of failure, besides i was out of crimp pins. some firmware and it works as a joystick.

for 0th order control, i had to use a freepie script to convert the stick into a mouse. converting changes in position to mouse delta. this worked disturbingly well with or without locked arms. there is room for improvement, for one i could do an exponential curve that gives me a lot of fine control in the center and still allow me to whip my torso around 180 degrees should the need arise. right now im somewhere between way too sensitive for fine control and not getting the full torso range. i was playing around in the testing grounds and it worked so well, and there was an eq thing going on, so i dropped it once an managed a couple kills. fire control worked less well as my hat switches have flaws, and there are bugs in my firmware. my analog trigger has 5 detents built into the firmware so i can do a multi stage trigger. i can do green lasers on the half squeze and blue lasers on the full squeeze. though i kind of want a variable speed trigger for dps weapons. still working out the bugs in that.

all in all very playable. i wont get to t2 with the thing, but i probibly wont fall into t4 either. either way i was intending to use this in mw5 anyway. this turned into a novel, oops.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users