• Welcome to PiBoSo Official Forum. Please login or sign up.
 
March 28, 2024, 10:56:08 PM

News:

World Racing Series beta14 available! :)


Gamepad with Real FFB

Started by maggikk22, February 26, 2020, 09:53:55 AM

Previous topic - Next topic

Vini

Then this may be further proof that the virtual rider is causing stability issues and needs to be tuned to be less tense and more smooth.

Additional analysis would be great, though.

If you want to control the bike/physics simulation directly, you need to use DST. With DSA the virtual rider is still part of the equation.

h106frp

March 12, 2020, 06:27:34 PM #31 Last Edit: March 12, 2020, 11:37:05 PM by h106frp
The joystick position is a bit of a pain as its not in the UDP output or memory interface, I really do not want to try and add a cal routine to arduino (using ethernet shield so I do not have an intermediary PC host app.) The scaling is in the calib file (documents\piboso) so maybe that might be useful.

Thinking a bit more about it I do not suppose it matters what GPB thinks the value is for my arrangement, on startup I could just index the servo full lock left, mid and right and record the pot voltages to use as servo offsets.

@vini, at the moment I am just trying for a nice genuine feedback feel and more out of idle curiousity than any practical controller; but I guess if that works you would be halfway to a 'better' DST controller mode. Using the hall force sensor in the other thread as the stick input you might get pretty close.


updated..
So.. a couple of wires from the pot to the analogue in, some extra code and the joystick position feedback is implemented. A big difference in feel and a reduction in jitteryness. The feeling now is that you are pushing against the inside bar with a nice kick when you bump a kerb or step  a tyre out.
I am very surprised just how well it works, now its all 'under control' I think a bigger servo could be used to replace the mini MG90S currently in the rig.

maggikk22

very interesting,
Can you share some pictures of your system?

h106frp

This is just a test jig for the ffb so nothing very fancy.
Trying to sort a throttle and brake to make testing easier and then I will try and post a pic.

doubledragoncc

Think I need one of you guys to help as I dont know anything about FFB and my new design has dual axis on the steering for countersteering feel and body movement.........bit hard to explain but it works lol............just dont have FFB for it and real simple mecanicaly.

Anyone want to try and  help?

DD
GPBOC Live Streams: https://www.youtube.com/c/IASystemsComputerControls; i7 12700K 5.1GHz Z690 ASUS Strix Z690-A Mobo 32GB 3600MHz DDR4 RAM ASUS Strix RTX3080 OC 10GB DDR6X ASUS Ryujin 360 AOI Cooler ROG Thor 1200w PSU in ROG Helios Tower Case.

Chris_Beeves

Do you have separate inputs from the counter steering and the lean, or are they blended?
Do they operate independently?
If they are independent I would probably use something like h106frp describes and hook the handlebar torque up to a servo that is connected to the counter steering axis and another servo or motor that feeds the lean angle back to the tilt part.
I had to try..

maggikk22

March 18, 2020, 10:21:06 PM #36 Last Edit: March 19, 2020, 07:52:25 AM by maggikk22
DD,

I read both the steering and the lean angles that GP Bikes sends via UDP, using Processing. I calculate a servo position depending on both values and send it to an Arduino. I can adjust both sensibilities in real time to get a good feeling. I do not use the torque output. (I tried it with direct steering, it works, but I don't like it with a gamepad.)
On the previous videos, I was only using the steering angle, so I could only feel wobbling and grip loss. Now I can feel the weight of the bike too.
Of course, i have a single axis.
But the principle is the same: read 2 values, and send each one to 2 different servos.

Hope this helps...

HornetMaX

Quote from: Vini on March 12, 2020, 06:24:38 PMThen this may be further proof that the virtual rider is causing stability issues and needs to be tuned to be less tense and more smooth.

Additional analysis would be great, though.
Resurrecting this just to say that the steering torque signal has always been extremely noisy/spikey/hig-freqey in GPB: you can easily see this using telemetry.

It sounds too easy to be true, but I'll say it anyway (again, I think I already asked this multiple times long time ago): PID controllers (like the virtual rider) may have high gain at high frequencies, depending on how they are tuned. In usual applications, the PID is followed by a lowpass filter of some sort to avoid that. Not sure if GPB has anything similar.

Of course the design of the filter is not exactly trivial as it shouldn't interfere with the behaviour of the PID in the freq range where it matters (i.e. shouldn't affect the stability of the whole system and the general response).

Also notice that in some industrial applications the filter may not be there but often this is due to the fact that the actuator has its own "filter" inside (i.e. it behaves like a lowpass above certains frequencies). Again, not sure what GPB does about that.

Chris_Beeves

I'm pretty sure GPB only uses a PD filter, hence the noise..
I had to try..

maggikk22

Resurrecting the topic to show you an interesting gamepad that may have a built-in force feedback system on the sticks (and on triggers):

https://nextrift.com/dell-concept-nyx-game-controller-features-adaptive-thumb-sticks-fingerprint-sensor/

Chris_Beeves

Oooh, looks like a next gen bit of kit! The were most likely inspired by you!
I had to try..

maggikk22

;D  haha, maybe...
There's another one called FS-Pad, but none of these prototypes end up with a release:

https://github.com/KAIST-HCIL/FS-Pad


My "proto with no release date":