BN-280 GPS Error, can't find satellite, - gps

How do i fix this?
It doesn't find any satellites, It doesn't show the time.
It does pickup some US satellites once every 5 or so minutes, but with extremely weak signal and it cant get even a 2d fix.
One time i left it running for 10 minutes and at one point it got a 3d fix somewhere in the middle of the ocean.
I think the on board time is broken?
I have it connected to serial and its outputting this:
$GNRMC,,V,,,,,,,,,,N*4D
$GNVTG,,,,,,,,,N*2E
$GNGGA,,,,,,0,00,99.99,,,,,,*56
$GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*2E
$GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*2E
$GPGSV,1,1,00*79
$GLGSV,1,1,00*65
$GNGLL,,,,,,V,N*7A
It was working fine a few days ago, then i soldered some shorter wires onto it.

Related

How to track fast moving object using ARKit?

I am trying to build an app on iOS in Swift, SwiftUi and using ARKit and RealityKit. I want the app to:
detect a soccer ball
detect a soccer goal
track the trajectory of the ball when shot at goal
detect when/if the ball hits/passes the goal
To detect the ball and goal using ARKit is working fine. However, to keep tracking the ball when in movement is very unreliable. And when its moving fast, ARKit fails to detect the ball at all.
I have tried to implement Apple Visions VNDetectTrajectoriesRequest using the following tutorial,https://developer.apple.com/documentation/vision/identifying_trajectories_in_video, which works as long as I am NOT using ARKit.
DetectTrajectory needs a CMSampleBuffer, and ARKit only returns a PixelBuffer and I wasn't able to solve this issue and get it to work smoothly (I tried converting the pixelbuffer to CMSampleBuffer, but that resulted in the app being SO slow it was useless in realtime). And even if I get this to work it wouldn't solve my issue regarding detecting when the soccer hits the goal.. For that I believe that using depth/ARkit is necessary..
Does anyone have a solution for tracking A FAST MOVING OBJECT USING ARKIT?
I am close to giving up, but I have found this guy on Youtube that is detecting a balls trajectory using ARKit, https://www.youtube.com/watch?v=B4yfp1UmM5s. I have written to him but received no reply this far. Have been trying to solve this for over a week but I can't find a solution. Please internet, help me!
I think that such a mission is impossible for iOS device in 2022.
Firstly, let's assume the average speed of a soccer ball is 12 m/s, and ARKit and Vision track it at 60 fps. Any object moving at 12 m/s is difficult to qualitatively track at that frame rate, it's obvious. Even MoCap systems use at least 120 fps for tracking of much slower movements.
Secondly, in 5 seconds the ball approximately covers a distance of 60 meters. This is a fairly large distance (for detection/recognition) at which such a small object as a soccer ball will be unrecognizable, especially since it also spins during flight.

Can't get a GPS fix on an Acer Liquid Gallant Duo

It's already a long story... I bought my phone sometime in 2013, and found that it's GPS doesn't work, just after the warranty expired. I tired everything to get it function properly without any success, and finally gave up. Up until now I could live without it, but right now I'm really in need of this functionality, and only because of that I'd have to buy a new smartphone now if it can't be fixed.
Here's the issue: I turn on GPS positioning in the OS, and open up some GPS tester application, and this is what happens: After a couple of seconds, it finds the first satellite, and in 1-2 minutes I already have 6-7 or even 8 of them. - So it seems the hardware is OK, the receiver works. But after that, I cannot get a GPS fix. I can wait 10-20-30 minutes, or even waited for an hour...Nothing happens. No position fix, GPS useless. I've tried 10+ GPS apps, the result is always the same. They see the satellites, but never establish a position fix.
What I've done so far: I read on xda-developers that this phone for some reason doesn't have a gps.conf file in system/etc which could cause the problem, so I downloaded one for my country, rooted my phone and pasted it to that folder. Nothing changed. I'm out of ideas, and there's nothing more I could find on the internet. Any ideas here? Or should I get a new phone? It's really annoying because it seems it's not a hardware issue, so it should be able to be fixed somehow...
Btw that's the content of my gps.conf file in system/etc for Austria, the country I live in:
NTP_SERVER=at.pool.ntp.org
XTRA_SERVER_1=http://xtra1.gpsonextra.net/
xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/
xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/
xtra.bin
SUPL_HOST=supl.google.com
SUPL_PORT=7276
(I have no idea what it's for.)
Unassisted GPS in a GPS module which has never been turned on, or has to find a new position solution, can actually 2-4 hours at worse. Adding to this, a single processor Android smart phone such as yours likely throttles severely, and is not likely to schedule much resource for non-essential routines.
Be sure to turn on 'Google Location Services' to enable assisted GPS for a faster position solution. If any factory setting has a toggle for location- assistance, make sure it is enabled. Be sure to move away from buildings so the sensors view of the sky is widest.

iBeacon Monitoring with Unreliable Results (didEnterRegion & didExitRegion)

I'm currently working on an iOS app that ranges and monitors an iBeacon in order to be able to do some actions and receive notifications.
Ranging is working flawlessly, but I'm having troubles with the beacon monitoring and the notifications. I've researched quite a bit about the subject and I'm aware that CoreLocation framework has usually problems like this, but I was wondering how other devs are fixing/approaching this.
Basically, I'm showing local notifications when didEnterRegion and didExitRegion methods are fired. Unfortunately, these two methods are being fired quite often (in an unreliable fashion), even when the iBeacon is right next to it, although sometimes is works perfectly, which makes it more annoying.
I've tried lowering the iBeacon advertising interval, and although it helped, it didn't fix the issue completely. Now, I'm trying with a logic filter where I ignore firing the notification if the enter or exit event happened in the last X minutes (I'm thinking of a 'magic' number between 5 and 15).
Is anyone having the same problems? Would adding a 2nd iBeacon to the situation help? (maybe monitor both of them, and filter logically the exit and enter events based on those two inputs?).
I was also thinking in adding another layer of data to show notifications, maybe based on GPS or Wifi info. Has anyone tried this?
Any other idea? I'm open to any recommendation.
Just in case, I'm using Estimote iBeacons and iOS9 (Objective-c).
Thanks for your time!
Intermittent region exit/entry events are a common problem, and are typically solved with a timer-baded software filter exactly as you suggest. The specifics of how you set up the filter (the minimum time to wait for a re-entry after an exit before processing exit logic) varies for each use case so it is good to have it under your control.
Understand that region exits are caused by iOS not detecting any Bluetooth advertisements from a beacon in the CLBeaconRegion for 30 seconds. If two detected packets are 31 seconds apart, you will get a region exit and then a region entry one second later.
This commonly happens with low signal levels. If an iOS device is on the outer edge of the beacon's transmission range, only a small percentage of packets will be received. With a beacon transmitting at 1Hz, if 30 packets in a row are missed, the iOS device will get an exit event.
There are several things you can do to reduce this problem in a specific area where you want solid coverage:
Turn your beacon transmitter power up to the maximum. This will give stronger signal levels and fewer missed packets in the area you care about.
Turn the advertising rate to the maximum. Advertising at 10 Hz gives 10x as many packets to receive as 1 Hz.
If needed add additional beacons with the same identifier to increase coverage.
Of course, there are costs to the above, including reduced battery life at high advertising rates and transmitter power levels.
Even if you do all of the above, you still need the software filter, because there will always be a point where you are on the edge if the nearest beacon's transmission radius.
You can see an example of software filter code in my answer here.
Beacons emit a pulsing signal. Ranging also performs an intermittent scan (roughly every 100 ms). This means that it is possible for your device to miss beacon for a few seconds in a row, which can cause the results you are experiencing. You can log the beacons RSSI value in this method:
- (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)iBeacons inRegion:(CLBeaconRegion *)region
I believe you will see a lot of zero values before seeing didExitRegion being called. This isn't a fault in your code, or with the beacon. This just has to do with the fact that neither the signal being emitted or the detection are constant. They are pulsing. These problems can occur while the beacon is just sitting on the same desk as your device, and can be exaggerated in a real world setting when the signals are blocked by physical objects and people.
I would use ranging to determine more accurately if your beacon is around. Note that ranging, especially in the background can have a significant battery draw.

Kinect Freezing After a Minute and a Half

I've been messing around with programming the old Kinect for a while, and something I've noticed is that whenever I start a program that uses the Kinect sensor, the Kinect will stop sending inputs after 1:30 minutes, no matter what program it is. For example, my game that I made will still have enemies moving around, but the player's rendered skeleton from the Kinect just freezes. I can't find anything about this anywhere online, so is it just mine? Is there a way to fix this?
This is a bug somewhere between the Microsoft SDK and using a Kinect for XBOX on Windows (didn't try the Kinect for Windows).
The Kinect stream freezes after 1 minute 28 seconds. In the Unity editor, you'll also notice once you reach this freeze, you need to quit and restart Unity to be able to play again. If not, you'll get messages like "Device not genuine", etc.
The only way to solve it that I found is to re-initialize whatever Kinect Manager you are using. For instance, Destroy()ing the gameObject holding the manager and re-Instantiate()ting it.
This will effectively halt your Kinect stream (and any gesture/joint reading) for about 4 seconds and then it will work again, so this is something the user will definitely notice.
Now, this may not work for most games, but if you're working on a casual game and you can keep it under 1:28 or you're able to show the user some sort of screen while you restart the Kinect manager every 1:20, you'll be safe.
If you never exceed the 1:28, you'll be able to stop and play in the Unity editor as many times as you want, and keep it running as many times as you want.
Now, this may not be an actual "answer", but may work for someone.
Let me know if you need any help to make this work. I hope this helps someone.
You can test the Kinect with built in programs in this link.programs to check and see if it works smoothly. If not may be something wrong with your program.
I have the same issue. At first I thought it was something related to Unity3d. But I tested with other programas and it's still happening.
Talking to the guy who developed the plugin he said: " two users complained that Kinect tracking stops after a while"
https://www.assetstore.unity3d.com/en/#!/content/7747
Also, I sent him an email and he told me that more and more people are getting this issue.

Any way to get stable/consistent FPS form kinect?

I am trying to record kinect files in .oni format, that I will later try to synchronize with other sensors. As such, it is very important that I get consistent fps, even if some frames are repeats.
From what I can see now, WaitAndUpdateAll does not guarantee that the frame rate is consistent. I will be recording for several minutes (20+), so I need to make sure there is no drift!
Does anyone know if it's possible to lock down the fps of the recording, and if not, how stable the recording fps of the kinect is? Thanks!
After some investigation of this issue, I put together the following write up on the topic:
http://denislantsman.com/?p=50
Putting it here so interested people can find it and not have to wrestle with this issue.
My guess would be to go with the PCL libary since the developers also work together with the ROS team where they also have to sync sensors a lot. But be warned I wasn't able capture XYZRGB clouds at 30 FPS on windows 7. If you only need XYZ to be captured you should be fine. Worst case you have to time stamp and sync all your data by yourself.