Interesting. I wonder if there's a way we could restart the sketch without having to unplug/replug the cable, as that's not very convenient? If not, I'll have to see if I can incorporate a button in my box to cut the power momentarily, which will be better than messing around with the cable.
EDIT: I suppose that would explain why the Pro Micro's green light doesn't come on, if that's meant to signify the Serial port is available. Sometimes the green light doesn't come on the GY-85 either but sometimes that does but not the Pro Micro one, so I'm not sure what that's telling me.
Last edit: doveman 2014-09-09
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I would think you'd still use digital pins 2 and 3, assuming the firmware can be used on the UNO without modification, as those are the pins the firmware's set to use as far as I know.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks,I tried using A4,A5 and then pins 2,3 but nothing happens, In the end I went like for like SCL to SCL SDA to SDA and VCC In to VCC in along with a Gnd connection and I'm now seeing data in Headtracker GUI.
I haven't the time to go any further and truly calibrate it right now as a load of work has just turned up but it's a start.
I'm just happy to see the output, thanks for all the help guys.
Doveman what version Pro Micro are you using as I've said I have two and neither work for me in Headtracker.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
@Sel
In UNO you must always use SCL and SDA if you have (Revision 3 and up) or if you do not have separate than A4 and A5. 2 and 3 works only with Micro. Generally I am glad that you see any progress.
@Doveman
It is possible to send command to reset by connecting with baud 1200 and disconnecting but I would prefer different solution. Although maybe someone can modify HAT library that you could mark that you have micro/leonardo and in this case it would establish connection with baud 1200 for moment to reset. The bad thing is in the moment when micro is reset the USB connection is broken as well so there had to be some kind of delay for it. Lot of work ;)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yeah, they look identical to me. There's only two versions of the Pro Micro as far as I know, the 5v/16Mhz and 3.3v/8Mhz and we both have the former it seems.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Well a lot has change. We managed to get drift free tracker with Gy-80 and 85. When you use Uno it is rather problem free but with Micro some guys had some issues so we had to modify it. Actually the version I made for Micro should work on all others as well. The only thing I need to make (one day) to have one software for calibration and FTR. It is just no priority for me as I am just busy with work :).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
GY-521 :- For me the spring effect was useless, my drift was erratic and spring had to be so strong it left me with a sort of glance option only, the spring would force the view back to center.
Even then I was hitting reset every few seconds.
Last edit: Sel 2014-09-10
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
// Simple FilterSensorData, uses mainly gyro-data, but uses accelerometer to compensate for drift
I think that someone needed to get this to work, without being a skilled programmer.
That's not intended to insult anyone, merely the form of the code that wouldn't be used in a professional setting. It's hard to read, and hard to find something relevant. It's probably also hard to maintain, with separate versions of everything for each device, despite only small parts needing replacement for each board.
The trigonometry following the quoted line isn't the right way to solve the problem.
Fix me up with remote access to that Atmel of yours in order to reload firmware, and I'll see if the tracker/firmware can be included into opentrack. Deal?
-sh
Last edit: Stanisław Halik 2014-09-10
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The pose estimation is 3 lines. The rest of it is lowpass filtering.
Magnetometer's only used for yaw, it seems.
Why not skip all lowpass and use Accela on the transmitted estimated pose??? No need to do it on an Atmel sitting on top of the user's head.
From where you've taken the code, this is on the freshman community college level. I'd like for code in this domain to be more toward correct, numerically stable code, as done in the industry.
If Wim listened to me, I'd advise against including the code into his codebase. I can't include it in mine, part of the reasons are stated.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I see.
Well I will check what I can do. I guess TeamViewer should be enough for that?
BTW about code from DIY to be honest I am not concerned how it is written even if I understand why you are. For me it has much better results then MultiWii probably because it was written for purpose of head-tracking (unlike MultiWii). I was trying to implement filters by my own using some theory to support it but I must have make some errors as it was not working as it should. Also it has nice calibration GUI.
Last edit: Sebastian 2014-09-10
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The thing is that I need to reload the firmware to see if anything works.
If you installed teamviewer I'd see your desktop, and you couldn't use the PC in the meantime.
Unless you're familiar with Linux, in which case set up a VM and connect USB/serial to it, something like Remote Desktop that's built into Windows is the best solution. One one occasion a person thought it was the PC and it was a machine half Europe away. Heh.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have plenty of old laptops I can put on teamviewer. RD is also option but I do not remember which version of windows I have there (if I can turn it on). I got basic knowledge about linux but I prefer not to use it.
Well I am about 5000 km from you ;)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Interesting. I wonder if there's a way we could restart the sketch without having to unplug/replug the cable, as that's not very convenient? If not, I'll have to see if I can incorporate a button in my box to cut the power momentarily, which will be better than messing around with the cable.
EDIT: I suppose that would explain why the Pro Micro's green light doesn't come on, if that's meant to signify the Serial port is available. Sometimes the green light doesn't come on the GY-85 either but sometimes that does but not the Pro Micro one, so I'm not sure what that's telling me.
Last edit: doveman 2014-09-09
Sebastian I think it's the older version as it has the longer chip (copy).
There are connectors marked SCL and SDA (Digital Block), A4,A5 are on the (Analog Block)
So do I use A4,A5?
Cheers Sel.
I would think you'd still use digital pins 2 and 3, assuming the firmware can be used on the UNO without modification, as those are the pins the firmware's set to use as far as I know.
Thanks,I tried using A4,A5 and then pins 2,3 but nothing happens, In the end I went like for like SCL to SCL SDA to SDA and VCC In to VCC in along with a Gnd connection and I'm now seeing data in Headtracker GUI.
I haven't the time to go any further and truly calibrate it right now as a load of work has just turned up but it's a start.
I'm just happy to see the output, thanks for all the help guys.
Doveman what version Pro Micro are you using as I've said I have two and neither work for me in Headtracker.
@Sel
In UNO you must always use SCL and SDA if you have (Revision 3 and up) or if you do not have separate than A4 and A5. 2 and 3 works only with Micro. Generally I am glad that you see any progress.
@Doveman
It is possible to send command to reset by connecting with baud 1200 and disconnecting but I would prefer different solution. Although maybe someone can modify HAT library that you could mark that you have micro/leonardo and in this case it would establish connection with baud 1200 for moment to reset. The bad thing is in the moment when micro is reset the USB connection is broken as well so there had to be some kind of delay for it. Lot of work ;)
Apparently I bought two of these
http://www.ebay.co.uk/itm/400514883558?_trksid=p2059210.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
and one of these
http://www.ebay.co.uk/itm/Pro-Micro-5V-16MHz-ATMega32U4-Module-For-Arduino-Leonardo-2-Row-Pin-Header-/390729373456?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2047675.l2557&nma=true&si=dwNWiZkfixG23PZxOSsPz91LH9s%253D&orig_cvip=true&rt=nc
although I thought I only had two, so I'll have to try and find what I did with the third one!
Thanks, the only difference I see is that both the ones I ordered mention that they're replacements for the Pro mini.
http://www.ebay.co.uk/itm/360880706701?_trksid=p2059210.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
Yours doesn't mention that.
Yeah, they look identical to me. There's only two versions of the Pro Micro as far as I know, the 5v/16Mhz and 3.3v/8Mhz and we both have the former it seems.
What are you guys doing?
It's been going on for a while, and issues still?
Different hardware so need firmware for each model? Can't autogenerate the .ino from one software based on hardware database...?
Sorry for my whining, but stupid SF doesn't allow for muting one thread/subforum :>
-sh
Hey Stanislaw,
Well a lot has change. We managed to get drift free tracker with Gy-80 and 85. When you use Uno it is rather problem free but with Micro some guys had some issues so we had to modify it. Actually the version I made for Micro should work on all others as well. The only thing I need to make (one day) to have one software for calibration and FTR. It is just no priority for me as I am just busy with work :).
Drift-free for typical usage? If good enough then use spring effect, yeah.
Which algorithm do you use for sensor fusion? I'm curious about code on the AVR. Care to give some plain text?
GY-521 :- For me the spring effect was useless, my drift was erratic and spring had to be so strong it left me with a sort of glance option only, the spring would force the view back to center.
Even then I was hitting reset every few seconds.
Last edit: Sel 2014-09-10
Spring effect has its place, as inertial trackers are never free from drift.
Also see how much mags are affected by headphones and speakers.
Where's some source code I could read, not IO but pose estimation from sensor data?
@Stanislaw,
I got no influence from headphones (got tracker on top of my head) here is a video sample https://www.dropbox.com/s/eofs8p71xiho05k/2014-06-11%2014.02.39.mp4
BTW as there is a mess since we produces many pages so I updated manual http://sourceforge.net/projects/gy80facetrack/files/FTR_DIY_based_Tracker.pdf/download and put all version to one zip to make it easier http://sourceforge.net/projects/gy80facetrack/files/FTR_DIY_based_Tracker.zip/download
You have all source codes in there. I based on the code from http://www.rcgroups.com/forums/showthread.php?t=1677559 which works very good.
Okay, thanks. What interests me, starts here:
I think that someone needed to get this to work, without being a skilled programmer.
That's not intended to insult anyone, merely the form of the code that wouldn't be used in a professional setting. It's hard to read, and hard to find something relevant. It's probably also hard to maintain, with separate versions of everything for each device, despite only small parts needing replacement for each board.
The trigonometry following the quoted line isn't the right way to solve the problem.
Fix me up with remote access to that Atmel of yours in order to reload firmware, and I'll see if the tracker/firmware can be included into opentrack. Deal?
-sh
Last edit: Stanisław Halik 2014-09-10
To be honest my part is not better. Programming Arduino is just a hobby for me that I wanted to shared as there was no better solution yet :).
If you send me something to test I can reload firmware and check. No problem. I noticed that Furax made some update for opentracker not sure if it works https://sourceforge.net/p/hatire/code/ci/dfecd3ff37ecec3db50ce3d139b805b455e40b34/
If Furax library would work we could test it in opentrack as well.
Making it clear on the firmware.
The pose estimation is 3 lines. The rest of it is lowpass filtering.
Magnetometer's only used for yaw, it seems.
Why not skip all lowpass and use Accela on the transmitted estimated pose??? No need to do it on an Atmel sitting on top of the user's head.
From where you've taken the code, this is on the freshman community college level. I'd like for code in this domain to be more toward correct, numerically stable code, as done in the industry.
If Wim listened to me, I'd advise against including the code into his codebase. I can't include it in mine, part of the reasons are stated.
Sebastian,
I need access to the machine with the Arduino connected, so that I can reload firmware on my own...
Furax only compile-tested his code, it has a minor but critical bug. He also refused to maintain his own code. I have no hardware to run his tracker.
Edit: Furax also refuses to communicate and I only hear about his code when someone posts a link to his repo.
Last edit: Stanisław Halik 2014-09-10
I see.
Well I will check what I can do. I guess TeamViewer should be enough for that?
BTW about code from DIY to be honest I am not concerned how it is written even if I understand why you are. For me it has much better results then MultiWii probably because it was written for purpose of head-tracking (unlike MultiWii). I was trying to implement filters by my own using some theory to support it but I must have make some errors as it was not working as it should. Also it has nice calibration GUI.
Last edit: Sebastian 2014-09-10
I don't have any code at the moment!
The thing is that I need to reload the firmware to see if anything works.
If you installed teamviewer I'd see your desktop, and you couldn't use the PC in the meantime.
Unless you're familiar with Linux, in which case set up a VM and connect USB/serial to it, something like Remote Desktop that's built into Windows is the best solution. One one occasion a person thought it was the PC and it was a machine half Europe away. Heh.
I have plenty of old laptops I can put on teamviewer. RD is also option but I do not remember which version of windows I have there (if I can turn it on). I got basic knowledge about linux but I prefer not to use it.
Well I am about 5000 km from you ;)
That's fine. My email's sthalik at misaki.pl
Just in case, my skype's sthalik
One more thing. Send me any firmware at all, need to check the format it's in.
Also state what model it is so won't hafta mess around with guessing about drivers.
Litle modification of source code for compatiblity with OpenTrack.
Works fine for me on Ubuntu 14.04 686 QT GCC 5.3.1
PS:sourceforgge email updated...
When the firmware's up to quality standards and known to be compatible with Furax's code, both firmware and hatire go into opentrack tree.
ftnoir_tracker_hat.cpp:400 is weird. I understand though that the logic's correct, as new_frame's reset to false at the end in OPENTRACK_API case.
Already got avr-gcc installed, will wait on Sebastian to get the board connected to a networked PC and then can get hacking.