Virtual Joysticks are Un-Breakable ! .. (mostly)

It took "too" long, but I got virtual Joysticks working ! ...  
To be precise, any device (joysticks, gamepads, keyboards, touchpads, .. etc) which the Joystick service can see can now be "virtualized".

Ok, so what the hell does that mean ? :)

It means we can test all kinds of stuff without "real" hardware.  I can make a navigation application attempt to use this virtual joystick to "steer" a robot platform through a house.  I can analyse its move and adjust - oh wait that sounds like Training .

I was inspired by the dexterity video, of the hand and cube - but I want the virtual hand to steer a robot !

https://blog.openai.com/learning-dexterity/

You can see in the top UI - the controller selected is the virtual RumblePad 2.  It was created by just "cloning" a reall controller.

joystick.cloneController(2)

once the controller is cloned it can be set

joystick.setController(4)

and button, axis, etc can be set programmatically - the output is the same and fools the UI too as you can see I "programmatically/virtually" pressed buttons and moved the axis ..

joystick.pressButton("3")
joystick.moveAxisTo("x", 0.754)

When cloning a json file is created and re-loaded, which describes the controller. This file can also be "tweaked" to create new not-yet-existing joysticks .. like the 53 axis joystick with 100 buttons.. if desired.

 


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
wvantoorn's picture

I know we already can, but

I know we already can, but could you use a imu to steer those 'joysticks' to move a robot through a maze or house?

And again i know it can already be done the normal way but it could be usefull to train headtracking or eyetracking

 

GroG's picture

Sure .. its possible -

Sure .. its possible - although for the initial testing I'll basically be "simulating" myself using the joystick programmatically...

Work-E is pretty big and at the moment hard to control without inflicting chaos & damage... so .. if I simulate myself as a crazy tele-operator, I can evolve Work-E's software so that its more forgiving, and "does the right thing" when I accidently push full forward with both joysticks into a wall :)

I think I remember the F-16 fighter jet saying it was "fly by wire" - where the control system was very new in that it all was sent to a computer before getting to the ailerons and flaps ... and if it didn't do this the design of the plane would make it tumble uncontrollably

wvantoorn's picture

Yeah i know about the F-16,

Yeah i know about the F-16, had the honor to be able to fly in the backseat a couple times. And the simulator on the airbase here(sadly closed now, miss the birds flying over)

I understand, lets get the basics right and after that do the fun stuff, making get a beer out the fridge while you sit in your lazy with the oculus on your head.