Flying on a 3d joystick

Started by girishsarwal, January 28, 2013, 03:31:49 PM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

girishsarwal

Gentlemen,

120 hours (spread over 4 months), of research, design, redesign and exasperating debugging, I present to you the gt-jtx.

the gt-jtx is a 3d joystick controlled PPM generator that can be hooked up to your Tx (if it has a trainer port) or connected to a PPM RC module (such as FRSky) to make a standalone TX; Bottomline, you get to control a 4 channel airplane using the joystick (AETR + flaps/gear). Works with the 9x transmitters, plans to add positive edge triggering soon...

Below is a vid of working through the menus and other parts. Completely doable at home and all parts availed domestically



see here for more details
http://code.google.com/p/gt-jtx/

The firmware source is under GPLv2, so are the hardware designs and any other material

The gt-jtx is still a work in progress and field testing of the prototype is due; Clearly, I'm not advocating taking it anywhere close to your rc equipment at this stage. So taking cues from software giants, I'm posting this this as a preview. Please do feel free to provide your inputs, questions, comments to make this better. If you wish to contribute technically to this project, you're free to drop me an email/phone.

I will be updating this thread as development continues...so do hit ctrl+D

GS

PS: the released firmware online has some glitches atm and may need a lot of tweaking to work. I either need godspeed or more hands onto this to get this done faster ;). Some of my friends asked me the objective of doing this, I told them about my days glued to ms flight simulator on a 3d joystick.

PS2: This video is a little older, I've since removed 3 extra channels so now we have 5 channels only (AIL, ELE, THR, RUD and FLAPS).
gs

rcpilotacro

girish

you have made my dream come true, :) i have been used to operating switches, slewing radar, dropping bombs all through the control stick and not taking my hands off it (Called HOTAS [Hands on Throttle and Stick], colloquially called Hotass)

How do i get one ? atleast 7 cahnnels on the stick it self

Gusty
Gusty's Hangar and Introduction.

A Good pilot will practice until he gets it right,
A Great pilot will practice until he can't get it wrong.

girishsarwal

Augustine sir,
As of now this is still under development. I really wouldn't ask anyone to risk their equipment to it. 

For a 7 channel one, I'd need to beef up the hardware and software a little bit (totally doable) - I originally programmed this for 8  channels but had to remove because of hardware limitation - the video shows 8 channels . I plan to test this on the field first, and then I could ship out *this* "hotass" to you (no, I don't wear pink dotted jackets and loads of gold bracelets :D); and if you like the responsiveness etc, I could do a 7 channel version firmware and also share the plans for DIY.

I am envisioning to use the POV hat for camera pan/tilt as well so this maybe used for FPV but it might be a little too early for that. I really need to get this to the field first..:)

gs

girishsarwal

A fellow rc modeller has agreed to do an electric to be used as a test harness :).
gs

rcpilotacro

Thank you,

i have a force 3D Logiteck feedback joystick, i see some people have done something like this

Gusty's Hangar and Introduction.

A Good pilot will practice until he gets it right,
A Great pilot will practice until he can't get it wrong.

saikat

what is the resolution of the joystick in each axis ?

girishsarwal

#6
@rcpilotacro - The gt-jtx works on the same principle, in the image you've sent, the usb brains of the joystick are in place and the pot's connection have been brought out to the development board. People have done similar things using an Arduino, but I wanted to keep the form factor small so the required electronics can be small and embedded inside the joystick itself; I ripped off the default brains inside and replaced them with custom made boards. Images attached

@saikat - the actual resolution depends on the joystick used. What I can tell you is that if the Potentiometers inside your joystick have a full 300 degree movement, you get to have 1023 (512 on the lower side and 511 on the higher side) unique values in the range. When the firmware starts, the first thing it does is ask one to calibrate (like a standard joystick on a PC) wherein it looks for the limits of one's particular joystick and adjusts the software accordingly. Going ahead, I will be replacing the pots with hall effect sensors for better precision.  

Hope that helps.
gs

mhkabir98

Nice! I built something like this last month. Only used an Arduino with USB Host to read the joystick natively.

I used an xbee to control a small foamy and it worked! Perhaps I could write the code for PPM injection... That would be really cool so that we could use almost any USB joystick off the shelf

Sent from my HTC Flyer P510e using Tapatalk 2
Lynxpilot - 32bit Linux autopilot designer |  Aerial Vista Challenge Team member for the 2014 Wildlife Conservation UAV Challenge

girishsarwal

Yea mhkabir, I used an Arduino earlier, but to keep the system small (without the extra baggage of the Arduino board and shield) so I started off on an ATmega8. I've set babysteps target for myself. When this goes to version 3 or 4 probably, I'll be writing some firmware to run on the Atmega8 for a usb host implemented in firmware so any joystick maybe connected. I feel this has great potential especially for things like FPV flying, maybe we could share some ideas on this.

GS

PS: I was expecting some kind of wishlist coming in from members on RCI :D (I already have one from Gusty sir, he wants this to be 7 channel). Any other comments guys, or would you like to see more before any inputs
gs

girishsarwal



Here is a vid on the prelim working mechanics, the default servo signal is 800-1800 ms, this and other params can be configured for one's brand of servos but for this vid, everything is at default settings. frame time is 22.5ms and inter channel time is 300us.



In the next video, I will try to connect to a T9x with Frsky and attempt to show how this can be used as a secondary input device, and if in doubt, just flip the trainer switch and get back control on the Tx

Sorry about the videography, I was too excited to get hold of a decent camera so did it on the phone

Have made some changes since last firmware, added a splash screen - will add support for having one's name displayed on the splash screen, like er9x.

Gusty sir, the image you sent of the joystick seems to have ample amount of space for this thing to go in (including the beefed up processor - still havent done any additions to use a better processor but its not too far off)
gs

rcpilotacro

Quote from: girishsarwal on January 30, 2013, 01:25:19 AM


Gusty sir, the image you sent of the joystick seems to have ample amount of space for this thing to go in (including the beefed up processor - still havent done any additions to use a better processor but its not too far off)

i can send it to you for tinkering and all the other hardware required :)
Gusty's Hangar and Introduction.

A Good pilot will practice until he gets it right,
A Great pilot will practice until he can't get it wrong.

paladugu_sujith

awesome.!! i had plans to build one. this will give me enough boost. ;) i will try it on force feedback 3d joystick i got.!!

girishsarwal

Gusty sir, I've PMed you my address, but I cannot guarantee if you would get it back in one piece :D. And ofcourse since I do not have any USB support atm, it will be a one way irreversible conversion
gs

muradshak

insane!..i have a joystick too,not in use now..

asinghatiya

Wow, awesome, just look at the precise and soft movement of the servo which can be used for flaps!!! :hatsoff:
:-)

girishsarwal

Many thanks muradshak and asinghatiya
gs

rcpilotacro

girish

on a wilder thought, you could lauch a rc controller, incorporating a flysky module inside and connecting the potmeters and switches to the joystick
Gusty's Hangar and Introduction.

A Good pilot will practice until he gets it right,
A Great pilot will practice until he can't get it wrong.

girishsarwal

The thought crossed my mind when I started, but then I did forsee a lot of challenges;some of those being:

1. There will be a slight learning curve for most of the rc flyers (sans real craft pilots, ex-pilots and flight sim players)
2. One definitely needs a stable platform to keep this on, pragmatically speaking, holding this in one hand might be asking for trouble. If the holding hand makes the base slip while one is in a spin, and a down elevator gets applied instead of up...
3. One might have to fly sitting rather than standing, can be boring
4. Even if one holds it in his hands (and has large hands like mine), while being ergonomic on the flying had, not so ergonomic on the holding hand.

This being the prototype, I've thought of coming up with some variants.

1. A "flying box" which has a USB on one side and connects to the trainer port of the existing Tx. Will make learning, and switchover (if interested) easier. And any jostick can be used plug 'n' play
2. The "flying box" integrated inside some variants of joystick. I am considering the Genius, Logitech and Sidewinder. In order of what one wants to spend.
3. A complete radio based on FrSky. FrSky is resilient, reliable and is one of the modules that are available as a DIY kit.
4. A DIY kit, so one can choose their own stuff and just assemble this in a matter of minutes
5. This one gets really wild; a fly chair with a collective and stick for heli flying.

I do not have any plans to go into production per se, although being in this industry I can arrange for all sorts of guys who could do the PCB fab, oven baking like really professionally. I did this for fun :) and partly because of the keeda. And then there is nothing like free software :D. So if I do take this to production, I think option 1 and 4 would be the best as a starting point...

I've also always believed making stuff that people want is engineering, and making people want stuff one likes is marketing. So I really need feedback from the rc community before I even plan of doing something like this. :)

Rant over, thoughts?

GS

gs

girishsarwal

Gusty sir, I've updated the hardware designs since we spoke last. i can now promise you 8 channels on the stick. What I would like to know from you is if channel 5-8 need to be analog(Pots)/Digital(switches) or some combination of both. Also if these need to be digital, would you suggest going with flip switches or push buttons that toggle between on and off everytime pressed. flip switches will have space constraints. pots might be harder to operate on the stick head.
gs

arun.sreelakam

Wow great work.. take it to the field soon... {:)} {:)} {:)} {:)}
Turnigy i10|Flysky 9xb|Hoverfly quadcopter|Arduflyer apm 2.5 with gps|Pixhawk|Homemade micro night vapour|Homemade ornithopter(in progress)| Reptile Quad with Gopro Brushless gimbal | Naza v2| APM 2.6 with GPS | Micro quad self made | FrSky| v911 Helis | 1200mm Hexacopter with 5d gimbal | 1300mm x8 With Red Gimbal | 1000mm Octo|

girishsarwal



gt-jtx connected to a sim

http://www.youtube.com/watch?v=iEo24NjmKN0&feature=youtu.be

Hope you enjoy

I've been thinking if I bring out the PPM signal using a 3.5mm audio jack, this thing is ready for the sim. May as well embed the usb dongle inside... :giggle:

@rastsaurabh and @asinghatiya - thanks for getting my grey matter kickin and giving the idea of connecting this to the sim for testing
gs

rcpilotacro

super stuff
i have sent you a PM, discussing how to take it further
Gusty's Hangar and Introduction.

A Good pilot will practice until he gets it right,
A Great pilot will practice until he can't get it wrong.

girishsarwal

gs

FlyingBrick

#23
Great stuff ...you are making us proud. Bravo !! 
Can't wait to see where this takes us to, pls do keep posting on the progress. This is definitely one thread to watch out in days to come !
To think too long about doing a thing often becomes its undoing

girishsarwal

#24
Since the last discussions and updates, and Gusty's recommendation of having atleast 7 channels, I've updated the hardware designs (still need to fabricate pcb etc) to use an Atmega16. The new version now has 4 pots for AETR, another 3 pots (I assume which may be used for pitch hovering etc for helis) and two flip switches (gear and flaps). I still had 1 analog and 5 digital channels free so I decided to have dedicated buttons for menu, cancel, and navigation  (Left, Right, Up and Down - like flysky 9x). I still have one analog input and 1 digital input free on the micro and I feel these can be used for something useful. I am okay to go back a little and free up the menu buttons (the menu system anyways works well with the trim buttons doubling up as navigation buttons, and I've serious doubts if one would go to the menu while the craft is in air!). ATM I cannot do something like a 14 channel tx due to the fact that max servo signal timing being about 2ms; 9 channels add upto 18 ms, and the total frame for rc is about 22 ms, so I only get 4 ms for the inter channel time etc...

Guys, I need you to bombard me with ideas of what I can use these inputs for, assume you have 6 digital channels and 1 analog channel free. I can think of stuff like adding a buzzer, piezo for audible tones...or having a graphic LCD instead of a character one but I'm really looking forward to more ideas.

Below is the new PCB in eagle. Firmware coming soon

Update: Fixed a bug in the hardware design.
gs