How this iphone application works? - iphone

I am just looking iphone apps at apple store, and i have found this app g8, http://www.dynolicious.com/, but can you give some ideas or logic that how this app works, i mean how it is possible to measure car performance without using or communicating with any external hardware ...??? By using just hardware built into iphone, ie. accelerometer.

It works as follows. The data provided as results are actually estimates, not absolutely correct values measured attaching external hardware to the car. The estimates come from the GPS unit and the accelerometer embedded within the iPhone. Using the GPS you can estimate from the positions detected in different temporal instants the distance travelled and therefore the velocity. Then you can also estimate the acceleration using the accelerometer.

This is just a guess, but I would expect that you tell it your car make and model which will give the manufacturer's performance and fuel consumption figures. Then using the accelerometer and positional information in the phone you can calculate the speed of the car. A relatively simple equation can then be used to calculate the expected performance.

I would guess it uses the GPS to measure the 0-60 acceleration (start a stopwatch and stop when GPS says you're moving at 60 mph) and the built-in accelerometer to detect G-force. The horsepower estimate is just that - an estimate. They may have a performance table of various known cars and their 0-60 performance and horsepower. Based on that, they can give an estimate for yours.

Related

Indoor navigation hardware/software requirements for iOS

I'm developing navigation system for my university as some kind of research activity. I'm using SVGKit to display floor plans. And now I need to provide user locationing service for navigation and tracking. So here's my questions:
1) Do I need some special hardware installed in university (Cisco MSE for example, or some cheaper analogues), or I can apply some software/technologies to our current hardware for server-side user location determining? If I do, what equipment do I need for it? I mean, it would be one unit for the whole university, or one per each floor, or what?
2)
Q: Why doesn't the Redpin iPhone client conform to the iPhone SDK
Agreement? A: Apple does not provide a public API to retrieve WiFi
data. In order to get the iPhone client working we had to use a
private API, which is disallowed by the iPhone SDK Agreement.
(c) http://redpin.org/faq.html Does it mean that RedPin is unacceptable in AppStore, so I can't use it?
3)Does Navizon I.T.S. requires some specific hardware equipment except standart routers?
Thank you all, maybe you can offer me better solutions, I hope. Thanks in advance.
Indoor positioning is a very vast field and many different solutions are available which all use a different combination of hardware/software. Some need no specific hardware to work, others need a very expensive infrastructure to be put in place. In the end, it all depends on the accuracy you are trying to achieve. Here are the most common solutions used, I ordered them by the type of technology used:
Wifi: two main techniques are used here, trilateration and fingerprinting. Both do not require specific hardware if your uni already has deployed access points (APs). Trilateration converts signal strength to distance and then intersect circles (almost exactly like GPS). In general this has poorish accuracy and you need to know the exact position of APs for it to work. Fingerprinting is a pattern matching technique where you first build a wireless map of the environment and then match the measurement against this map.
Bluetooth: same techniques as above can be used with Bluetooth nodes. Of course, there's less Bluetooth nodes than Wifi so you might need to deploy some extra nodes for it to be accurate enough. Same accuracy as Wifi (roughly 5 meters)
Dead reckoning: uses an accelerometer, gyroscope and compass to calculate the speed of heading of the user. Needs to be initialized and calibrated regularly by another absolute positioning technique. Subject to drift so accuracy degrades quickly over time. Upside is its very cheap, no extra hardware or initial survey phase are needed.
UWB: very accurate techniques based on time of flight measurements. Requires expensive hardware for both transmitter and receiver. You can achieve cm accuracy with this but it's probably not what you're after
This is still an field of research so it's not that easy to find something that just works. I suggest contacting the IT department of your university, if they run a Cisco system, I know some of them provide some sort of positioning capabilities but I don't have much details.
As for your iPhone question, any app that accesses the private API to access Wifi measurements will be rejected by the App store, so you won't be able to publish anything that relies on Wifi. You can still use it for research purpose though, you'll just have to figure out the code yourself as there's no official documentation (some unofficial doc is out there though)
Good luck!

Controlling GPS sampling on iPhone

I have two questions regarding GPS sampling on iPhone:
1.Is it possible to use CLLocationManager (or any other method) for location readings based on GPS alone without WiFi or Cellular network affecting it?
2.Given a stationary device, is it possible to control the sampling rate? Can I use CLLocationManager to get nonstop location readings from GPS in nanoseconds resolution? If not, what's the best resolution I can get?
regarding number 1, apparently, you cannot directly control gps data. having said that: if you have speed > 0 AND high accuracy, then you can infer that your data has a high probability of having come from a gps reading.
as far as i know, gps fixing is not measured in nanoseconds, but rather in seconds. what you mean exactly by resolution (reading frequency?) is a bit unclear. but, if it is frequency, most navigational software (google, for example) refreshes location every second or so.
hi frequency position updating is very costly in terms of storage cost (server side), query times (server side), battery use (iphone) and heats the phone up bigtime. i would be going in the opposite direction, especially for stationary devices (sending a heartbeat every 5 minutes or so is usually more than enough).
reference on CLLocationManager

How accurate can indoor WiFi positioning be when it comes to tracking movement?

Imagine I'm standing in a large room that has a router in the corner. Now I'm holding my iPhone and I start moving around in the room.
Is there a way I can track my movement inside that room using as static reference that router?
Imagine I take one or two steps to the left. Will such a small change in location be captured accurately under such conditions?
Do I need more than one hotspots in order to find my precise location inside the room?
Can the tracking be precise since we're talking about movement inside a room and not out on the streets?
If you're interested in tracking physical movement of the phone using a single wireless router as a point of reference, no, it's not going to work. It's defiantly not going to give you a foot or two of resolution, either.
You'd be using the wireless signal strength as a position indicator. However, you'd need two signals (two static points) minimum to give any sort of triangulation. Furthermore, signal-strength triangulation is really, really imprecise - the Wikipedia article gives a network-based tracking a resolution of around 50m. Handset based tracking uses both GPS and signal strength to give a better resolution, but it's still not within a foot or two.
To get good position tracking, a signal is timed between the source and receiver, then triangulated. This gives quite good resolution - Wikipedia articles on "Trilateration", "Time-Of-Flight", and "Multilateration" would give a decent overview of that kind of system.
Long story short? No, you can't get a physical position using a single static router as a point of reference with any degree of accuracy, or precision.
I think you're misunderstanding how Wi-Fi based location tracking works. I'm not sure about the exact process but if I'm right, it involves your IP address assigned by the hotspot you're connected to. And the accuracy of Wi-Fi based location is not as accurate as the degree (a couple of feet to the left or right) you're referring to.
No matter where you are in that room, or even in the same building connected to that same hotspot, your location is going to be reported as the same place.
So to answer your question, NO, the tracking cannot be precise. If you're using you're using the GPS component of your device, that's a totally different story.

iPhone Development - Assisted GPS

What's the deal with iPhone's GPS? I never get a good reading when i'm in my office building, or in my room. What really ticks it! and what doesn't? Please help me understand the assisted GPS science.
If I'm not mistaken, the gps tries to pinpoint your position using three methods:
1. Satellite
2. Mobile network
3. Wi-fi networks
So if you don't have a good reading, then probably one or more of these methods cannot be used properly in your area. For instance, satellite will not always work that well in buildings with thick walls and ceilings.
Assisted GPS means that it may have it's location from different sources than GPS satellites, for instance known wifi hotspots, or GSM masts. However these sources are less accurate the true GPS.
Claus
For the actual GPS in your iphone to get a good position, it has to be in direct sight of the GPS satellites. It cannot do that inside a building. So if you are inside you are not going to get the best position from the iphone. It can give you a position using other methods such as the cell phone network and public wi-fi networks, but these positions aren't as accurate as the real GPS position.
Here is an article that explains the GPS system:
http://en.wikipedia.org/wiki/Gps
Depends on whose definition of Assisted GPS.
True 'assisted GPS' means the GPS receiver uses a known initial position, from the cell tower location, to bootstrap the GPS position calculations. If you know where you are it's much quicker for the position solution to lock to the signal - that's why GPS take so long to find first fix compared to updating.
Some APIs use assisted GPS as shorthand for alternate location services where if GPS is not available, is disabled, or would use too much battery power it will supply a lower grade position based on cell tower triangulation or other methods.
There are many answers I found in WWDC 2010 – Session 115 - Using Core Location in iOS 4.
Very advised.

How accurate is the triangulated GPS of the non-3G iPhone?

Does anyone have any experience with the triangulated GPS used by the non-3G iPhone? How does it compare with 3G positioning? Does the iPhone 3G use triangulation in the event that there is no GPS signal available? Is there anyway to determine the accuracy of the non 3G coordinates? Thanks.
I have done a lot of mobile software with a bunch of different devices including 3G iphones and 3G blackberry's and here is what I have found.
The blackberry and iPhone GPS is really good when you have clear line of sight and at least 9 satellites present. In some dense residential or urban areas you might only get 5-6 satellites which can take a while to converge.
If you do not have a signal, GSM phones like the iPhone will try and find your position using cell tower signal strength but it is NOT as accurate as GPS... not by a long shot.
I have heard, though this has not been confirmed that the iPhone also uses some server side machine learning when it can't find a GPS lock meaning that it takes the average all of the cell towers, plus the average of all the users who have used GPS in your area to try and find your best position. This is sometimes called AGPS or assisted GPS where the GPS information and cell tower strength are used together.
Also, the only thing I can think of for finding the accuracy of the non 3G coordinates would be to programmaticly switch providers in your code, or simply go into preferences and turn off 3G and write an application that does some tests.
The Pragmatic Programmers have a great iPhone SDK book that just added a chapter on using the Location API, so that might be a great place to start.
Hope this helps.
The CLLocation class has the properties 'horizontalAccuracy' (for latitude/longitude) and 'verticalAccuracy' (for elevation).
In addition to cell towers and GPS, locations may also determined by Skyhook Wireless, which has a database of Wi-Fi base station MAC addresses and locations.
When using only GSM towers, it's +/- 500m (it varies greatly, sometimes it's more precise).
If it finds known Wi-Fi network, then it's down to +/- 50m.