Wednesday, 24 July 2013

Application Strategy

           1.  Camera Calibration: View and Position 

           2.  Camera GPS/GIS

           3.  Building GeoLocation & Information Registration

           4.  Tracking using Planar structures

           5.  Image Registration

 

1.  Camera Calibration: View and Position 

Device orientation using built in sensor ( techbreak.com/2011 ) 

Sensors  ~ CoreMotion

Accelerometer - acceleration along a single axis detects when phones on its side ie can determine which way is down [x,y,z axis point down =1 others =0 ] Tilt and motion rotation are often used for orientation and some app controls. Measure static acceleration due to gravity can give tilt angle.
       Considerations: max swing, sensitivity, bandwidth and impedance.

Magnetometer - compass uses magnetic fields through 3 magneto-resistive sensors on 3 axis which adjust the current flow through the sensors. the magnetic force is found by applying a scale the difference between the axis can infer bearing to magnetic north. NB tilt can effect result. ( loveelectronics.co.uk/Tutorials/8 )
      Also known as e-compass (gaussmeters) consider noise and bandwidth. Provides a vector to a known location: magnetic north.

A combination of these two sensors can achieve Full Pose Tracking

A gyroscope measures either changes in orientation (regular gyro or integrating rate gyro) or changes in rotational velocity (rate gyro).

The reason these sensors are combined is because they excel at different things. For example, for orientation, a magnetometer has poor accuracy for fast movement, but pretty much zero drift over time. An integrating scheme using gyros on the other hand reacts quickly and accurately to changes, but accumulates vast error over time. It also requires to start from a known orientation, as it only reacts to changes.
Combining the inputs to these sensors allows for quick and accurate position and orientation determination with a low amount of drift over time.

techoutbreak.com has example code to recieve sensor data and loading matrix to opengl [glloadmatrix]
-Register with device that we want info from sensors
       *create a class implementing  SensorEventListener
       *SensorManager
-Resume, Pauseand on SensoryChanged process into Matrix to be loaded to opengl
       *Accelerometer & magnetometer data to RotationMatrix

A autofocus or default camera could have auto accel & mag

 

2.  Camera GPS/GIS

Global Positioning System a satellite service (http://www.compass-project.org/overview.html).

GPS Location: GPS can use Google API's
                             Geo-Coordinate Watcher is a Class

The location APIs make it easy for you to build location-aware applications, without needing to focus on the details of the underlying location technology. They also let you minimize power consumption by using all of the capabilities of the device hardware.
             The Fused Location Provider intelligently manages the underlying location technology and gives the best location according to your needs. There is a versatility that meets a wide range of needs from foreground uses that need highly accurate location to background uses that need periodic location updates with negligible power impact.
               It also provides activity recognition, accommodating what the user is doing so as to surface the right content. The activity recognition API makes it easy to check the users current activity - still, walking, cycling, in a vehicle.

Developing a location Aware application for Android, you can utilize GPS and Androids Network location Providers.
                              GPS accurate only works outdoors; battery power, not to quick
                              Location provider uses wiFi signals and cell towers; fast and less power

Errors from - Multitude of location sources. The above can all provide clues but which one to trust must be a trade on accuracy, speed and power.

User movement means re-estimating user location every so often and location estimates from each source are not consistent in accuracy.


A-GPS is GPS with improved startup time [MS-assited - MS Assisted - The handset is connected to the network, uses GPS signals and a location signal, then relays its 'fix' to the server.]
 - it can be combined with wiFi Positioning systems and cell tower signals

A-GPS 

is an acronym for Assisted Global Positioning System. It addresses signal and network problems by using assistance from other services. A-GPS takes assistance from GPRS and at times, the service provider network information, to pin-point the current location accurately. Moreover the amount of CPU and programming required for a GPS phone is reduced by diverting most of the work to the assistance server instead. 
         A typical A-GPS enabled Cell phone uses a GPRS or other such Internet based data connection to build a contact with the assistance server for A-GPS. This exercise usually is a bit slow if you are connecting with the server for the first time. As this technique does not take into account the cell phone service provider network completely, you only pay the GPRS usage charges and nothing else. The only down-side to this technology is that an A-GPS server cannot utilize any of the three standby satellites available for GPS connections.

GPS VS A-GPS [http://www.wpcentral.com/gps-vs-agps-quick-tutorial]

When you use a GPS system and you turn it on, it needs to find orbit and clock data for the relevant satellites, this in turn results in what is called TTFF, or Time To First Fix how long before you get your location pinpointed. This initial TTFF is often called a cold start and on SiRF III systems (the latest GPS systems available), it can take anywhere from 30 seconds to a couple of minutes to acquire a signal. That time is dependent on your location, amount of interference and horizon information: open fields are faster than canyons or urban environments where buildings can interfere with the satellite-receiver line of site.
              But when you use assisted GPS this whole process is much faster. Very often cellular network towers have GPS receivers (or a base station nearby) and those receivers are constantly pulling down satellite information and computing the data. This data is then passed on to the cellular phone (when requested) and acts like a cheat since the relevant satellites to your location are already identified and all that GPS computations is handled by 3rd party computers. This is the result of such a system, to you the end user:
  • Faster location acquisition
  • Less processing power is required by the device
  • Saves battery life
  • Location acquisition indoors or in non-optimal environmental settings

How aGPS is actually implemented on the device appears to be up to the device OEM/cellular carriers.
These four options are:
  • Standalone - Your handset has no connection to the network, and uses only the GPS satellite signals it can currently receive to try and establish a location.
  • MS Based - Your handset is connected to the network, and uses the GPS signals + a location signal from the network.
  • MS Assisted - Your handset is connected to the network, uses GPS signals + a location signal then relays its 'fix' to the server, which then uses the signal strength from your phone to the network towers to further plot your position. You can still maintain voice communication in this scenario, but not 'Internet/Network service' ie Web Browser, IM, streaming TV etc..
  • MS Assisted/Hybrid - Same as above, but network functionality remains. Normally only in areas with exceptional coverage.
 Also,  it is up to the carriers ultimately do decide on whether certain devices have:
That last option, for whatever reason, is currently the most common but it at least appears that the carriers (except for maybe Verizon who is truly draconian) are moving towards the more open system.

?Q? 

GeoFencing is a virtual perimeter for a real-world geographical area dynamically generated as a radius arpund a location point. When location aware device of a location -based service enters or exits a geo-fence the device recieves a generated noticfication. Also known as Region Monitoring. However there is a low prectical limit to number of regions adn the minimum radius is 100m.

Geofencing has an expiration but by specifying longitudes and latitudes and adjusting proximity?? 

 

3.  Building Location and Info registration.

Geolocation can be obtained by IP address, Media Access Control address, RFID, WiFi and GPS co-ordinates

myGeoPosition.com gives exact long&lat for a placed marker the information is provided in many forms for integration:
              *Add the following Geotags/Metatags to the HEAD-section of your website or weblog. By doing so, you will geo-tag your website and search-engines will recognize it's global position. You will probably get better rankings for localized search requests.
              *A KML file defines a placemark in the Google Earth Software. Just take the following code and create a textfile from it, change it's extension from "txt" to "kml"
              *GPX eXchange format - http://en.wikipedia.org/wiki/GPS_eXchange_Format [ GPX, or GPS eXchange Format is an XML schema designed as a common GPS data format for software applications. It can be used to describe waypoints, tracks, and routes. The format is open and can be used without the need to pay license fees. Its tags store location, elevation, and time and can in this way be used to interchange data between GPS devices and software packages.]
              *Integrate MyGeoPosition.com into your website and let visitors easily enter geographical data into your forms. Our GeoPicker is integrated within two minutes, easily configurable and completely free of cost. An extensive documentation and many examples can be found at http://api.mygeoposition.com.
 
An Post's geodirectory holds address details for 1.7million buildings (geodirectory.ie)
       The geodirectory data is currently available in four data formats oracle, access2k and xml.

OpenStreetMap or OpenPostCode Ireland:

OpenPostCode provides geolocationCode - checksum characters for Code, it also provides GPS and ITM (Irish Transverse Mercator (ITM), is the geographic coordinate system for Ireland. It was implemented jointly by the Ordnance Survey Ireland (OSI) and the Ordnance Survey of Northern Ireland (OSNI) in 2001. The name is derived from the Transverse Mercator projection it uses and the fact that it is optimized for the island of Ireland.)
               All the calculations coding is in the page and linked Javascript iwth no database and no external programme. It is OpenSource extensible and logical.
                    The code and technical description of code are available on the openPostCode Documentation pages : An example interactive map is at opcie.org. The main javascript functions are available here, and all scripts are available as part of the part source or linked files. Email openpostcodeireland at gmail dot com for help.

 

 

?Q? - change the phones gps to a code and get reference or use long&lat to get differences.

Could i extract location information from the fragmented map data provided by google map android API's


~Proximity can be calculated using longitude and latitude, by the difference in geolocations.
  Proximity marketing uses wiFi and bluetooth as content can be broadcast without the need for     download, or creation of a native app (the GPS enables target marketing)

  

4.  Tracking using Planar structures 

?Q? Using sensor info to create a tracking system, can use the planar structures of a city (rectangles) as marker and Attach info that ususally attach to markers to the GeoAddress.

Use planar for image positioning? (Slam on the fly knowledge and edge or corner algorithms)

Q: 3d co-ordiantes to 2D co-ordiantes on screen x-y positioning of images 


http://mobile.tutsplus.com/tutorials/android/android_augmented-reality/













No comments:

Post a Comment