Abstract: In order to shorten the development process of embedded car navigation system and improve the system maintenance and upgrade capabilities, the characteristics of the Android platform and the performance requirements of the car navigation system are studied. Establish a car navigation system terminal software with Android operating system and GPS technology as the core. The software analyzes the real-time path acquisition of the system platform, the error of the map matching algorithm to correct the positioning module, the display update of the map, and the navigation plan using the Dijkstra algorithm to achieve the shortest path. The experimental results show that the application software of the in-vehicle system written by the developer based on the general framework of Android is convenient for porting and upgrading between different platforms.
Keywords: Android; car navigation; global positioning system; electronic map; Dijkstra algorithm

Introduction With the rapid development of social economy in recent years, the complexity and congestion of highway transportation are increasing day by day. The existing transportation management and service means can not meet the needs of transportation, which has long plagued developing countries and developed countries. The problem. Therefore, car navigation came into being. In some developed countries, car navigation has become an aid to the public life. However, due to technology, capital and cost in China, China's car navigation market is still in the early stages of development. The car navigation system is a high-tech integrated system that focuses on automatic positioning technology, geographic information system and database technology, computer technology, and wireless communication technology. At present, the vehicle terminal technology in the domestic market is not complete enough, and the degree of marketization is low. It is rare to truly meet consumer requirements. With the further improvement of the navigation system information service capability requirements, the continuous reduction of the terminal hardware cost and the continuous upgrading of the operating system, an operating system that is easy to develop, maintain and upgrade, and compatible is selected to support the operation of the terminal hardware system. It is extremely important.
The Android operating system, consisting of embedded Linux and Java virtual machines, brings a new open system solution to embedded mobile devices. This article chooses Android as the system terminal software for car navigation among many operating systems, because Android is an open source operating system, which helps developers understand the platform framework, reduce the price of mobile terminal devices, and facilitate the development, maintenance and upgrade of software. .

1 Android operating system introduction The Android operating system released by Google in November 2007 is a mobile operating system platform built on the Linux operating system 2.6 kernel. Google defines the Android operating system in this way. It is the first open source and complete mobile platform built specifically for mobile devices, and there are no compatibility issues on different devices.
The Android platform consists of an operating system, middleware, user interface, and application software. The Linux kernel layer is used to provide the underlying services of the system, located between the hardware and other software layers, using the YAFFS2 file system. The Android runtime contains a set of core libraries and Dalvik virtual machines. Android provides rich class library support and most of them are open source code, such as the embedded database SQLite. The application framework layer provides Android developers with full access to the framework application interface, and a structured design simplifies reuse between components. At the application level, Android itself comes with some core applications that greatly simplify the development of Android applications.
Therefore, using the Android operating system as an application platform for the car navigation terminal, since the operating system and the software are free, the navigation terminal is cheaper; the same platform overcomes the format problem, and the function is more diversified; the user decides the function, which is more humanized than the personal computer. Closer to consumers.

2 system framework design This system is an embedded development board with Samsung's S3C6410 processor as the core, first develop Bootlader bootloader, then transplant Linux kernel on this basis, then make Android file system; transplant Androd operation After the system, the car navigation function is developed. The task focuses on acquiring the path through GPS in real time, using the map matching algorithm to correct the positioning error of the positioning module, using the shortest path navigation planning algorithm for navigation, guiding the path through voice prompts, and passing the electronic The map cooperates with the API interface of the Android system software. At the same time, it also has an upgraded map library, and can perform various information inquiry according to the user's needs, realizing a small size, low power consumption, low cost and friendly human-machine interface. Operating system platform. The system frame diagram is shown in Figure 1.

This article refers to the address: http://

b.JPG


Utilize the Android operating system to realize the integration of each function module of the car navigation terminal on the ARM hardware platform, complete the specified functions with the corresponding serial port driver, LCD driver, etc., such as processing the received data, calculating the longitude and latitude of the location. , altitude, speed and time, and use map matching algorithm for positioning error correction, autonomous navigation path planning using Dijkstra algorithm to achieve the shortest path navigation. GPS system has all-weather, global coverage, three-dimensional fixed speed, timing, high precision, fast, time-saving, high efficiency, wide application, multi-function, etc., so it can be widely used in land, sea and aerospace. The use of electronic maps intuitively displays rich city maps, national road maps, gas stations, convenience stores, government agencies, restaurants, hospitals, parking lots and other information on LCD LCD screens for convenient high-end and high-end Use the personnel for reference.

3 car positioning navigation system software design In the car navigation system software design process, the use of the Android software platform's five major functional modules, respectively, Android application layer, application framework layer, common function library Java program runtime environment and Linux kernel layer. In the application layer, a Java application for GPS and electronic maps for car navigation is developed by using various API API interfaces of Android, and other underlying drivers such as a serial port and a liquid crystal screen are provided at the kernel layer.
3.1 GPS positioning module software design Android operating system supports GPS API-LBS, can receive satellite signals through integrated GPS chip or external GPS device, obtain the coordinate data of current device through at least 3 satellites and atomic clock in GPS global positioning system . For positioning, stability is a top priority, and Android does. Android provides a number of positioning-related classes and related functions that allow developers to apply flexibly. Use the location information management class LocationManager for GPS positioning, and use the Critcria class to implement custom positioning. Of course, in the design of the navigation system, we hope that the GPS device realized can save power as much as possible, the positioning is as accurate as possible, and the speed of moving objects needs to be obtained. Therefore, the Criteria object you set is as follows:
c.JPG
The parameters of the Criteria are then passed to the LocationManager object. Then start the GPS positioning function, the LocationManager object will start to obtain the latitude and longitude and other data through its own function. The method for obtaining data is as follows:
1 For latitude and longitude, getLatitude() returns dimension data, and getLongitude() returns longitude data;
2 For the direction, hasBearing() determines whether there is direction data, and getBearing() returns its value in degrees;
3 For altitude, hasAltitude() determines whether there is altitude data, and getAltitude returns altitude data in m;
4 For speed, hasSpeed() determines if there is a speed value, while getSpeed() returns the speed value in m/s.
Finally, the data returned by the LocationManager object is updated on the electronic map in time, and as the object and time position change, the developer can use the Location Mana ger to use the location listener Location Listener to update the data according to the time and object movement distance.
3.2 Map Matching Algorithm Design Map matching takes a certain vehicle location point or a certain vehicle lane trajectory curve as the sample to be matched, and takes the location point or road curve on all roads near the point or the trajectory curve as a template, and waits Match the matching between samples or templates, and select the matching sample or template with the highest similarity as the matching result. Finally, the positioning error of the positioning module is corrected according to the matching result. When the vehicle navigation system is displayed on the electronic map in the car navigation system, the vehicle positioning should be displayed on a certain road according to the traveling direction of the vehicle. However, due to various errors (mainly errors in positioning technology), the vehicle displayed on the electronic map will deviate from the actual road and lose its navigation function; and the map matching software technology can correct the error of the positioning technology and make the vehicle position. Accurately displayed on the electronic map.
There are three main information that can be used to determine which road segment the vehicle is currently traveling on: the projection distance of the current vehicle positioning point from the candidate road segment, the angle between the current driving direction of the vehicle and the direction of the candidate road segment, and the candidate road segment and the previous matching road segment. Geometric topological relationship. In general, the smaller the projection distance and the angle of the direction, the greater the possibility that the candidate road segment becomes a matching road segment, and vice versa. In addition, the candidate road segments that are the same as or connected to the previous matching road segment have a high probability of matching the road segments, and the remaining possibilities are small. During the driving process, the GPS original positioning point is projected to each to-be-matched road segment, and the shortest distance ri (i=1, . . . , n) between the GPS original positioning point and the to-be-matched road segment can be calculated; The angle θi (i=1, . . . , n) between each of the to-be-matched road segments can also be obtained, and the matching value λi (i=1, . . . , n) of each to-be-matched road segment is calculated.
The steps of the map matching algorithm when matching are as follows:
1 Analyze and describe all the road segments to be matched by feature extraction, and extract the corresponding matching factors.
2 Calculate the shortest distance from the positioning point P to each of the to-be-matched road segments. The distance and angle are shown in Figure 2. Where r1 and r2 are the shortest distances required; a1 and a2 are the angles sought. According to the matching rule, the matching values ​​of the fixed point P to the respective to-be-matched road segments are sequentially calculated.

d.JPG


3 The smallest road segment among the matching values ​​is used as the final matching road segment, and the point closest to the original positioning point on this road segment is used as the final matching point.
3.3 Electronic map display module design Using the Android platform to develop navigation maps, mainly using the MapView and MapActivity provided by Androld two classes. MapView is a view showing the map, which can get keyboard events to support the movement and zoom function of the map. The map can be displayed in different forms, such as street view mode, satellite mode, etc., through setSatellite(boolean), setTraffic(boolean) And the setStreetView(boolean) method also supports the use of multiple layers of Overlay. You can draw coordinates, write place names, draw pictures, etc. on the map. MapView can only be created through MapActivity, because MapView needs to use file system and network in the background. All of these threads need to be controlled during the lifecycle of the activity.
How to use the electronic map function to display the latitude and longitude information of the GPS module on the map? Any location on the earth can be expressed by latitude and longitude. In the class library of Andro id, the Point class represents the latitude and longitude of a place. The function format is: Pointment(intIatitudeE6, int longitudeE6). E6 is the degree of microdegree, that is, the degree is multiplied by 1000 000. If you want to specify a map location, you must pass a Point class to the map. Then call the setMapLocationCenter method to move the map to the appropriate location, and finally call the animateTo method of the MapCont roller object to set the coordinate position to the center point of the map. In practice, zoomTo(int) can be used to zoom to the desired level while using mapVie w. toggleSatellite() and mapView. toggle-Traffic() to get satellite maps and road maps.
3.4 Shortest navigation path planning algorithm In the algorithm for solving the shortest path problem, Dijkstra algorithm is a well-recognized algorithm at home and abroad. The algorithm has strong versatility and simple programming. It is theoretically perfect and widely used. Shortest path analysis algorithm. The Dijkstra algorithm produces the shortest path one by one in increasing order of path length.
The basic idea of ​​the Dijkstra algorithm is to set the shortest path from it to other vertices starting from vertex V0. The vertex set V in the directed graph is divided into two sets, the vertex set S of the shortest path is obtained, and the vertex set VS of the shortest path has not been determined (defined as T); the set T is successively added in the order of increasing the shortest path length The vertices in the set are added to the set S until all the vertices having a path in communication with the starting point V0 are included in the set S. Throughout the process, the shortest path length of each vertex in V0 to set S is not greater than the shortest path length from V0 to any vertex in set T.
Let the weighted directed graph G={V,E}, V={V0,V1,...,Vn-1}, denote the graph G with the weighted adjacency matrix Arcs; Arcs[i][j] denotes the arc The upper weight, S represents the set of the shortest path end points from V0 that have been obtained; each component D[i] of the vector D represents the currently obtained shortest path length from the starting point V0 to each end point Vi, The algorithm is described as follows:
1 Initialize the set S, vector D. S={V0}, D[i]=Arcs[0][i](i=0,1,...,n-1).
2 Select Vj such that D[j]=min{D[i]|Vi∈VS}, S=SU{Vi}.
3 Modify the shortest path length from V0 to any node Vk on the set VS. If D[k]>D[j]+Arcs[j][k], then D[k] is modified to D[k]=D[j]+Arcs[j][k].
4 Repeat 2, 3 operations n-1 times, you can find the shortest path length from V0 to the remaining vertices Vi.
The time complexity of the Dijkstra algorithm is O(n2). In practical applications, it is often only necessary to search for the shortest path from a certain source point to a certain or certain specific end points, and solve it with the Dijkstra algorithm. This problem is the same as the time complexity of finding the shortest path from the source point to the remaining vertices. , also O(n2).

4 Performance Test Analysis Based on the Android operating system and ARM microprocessor design, the car navigation system uses the Android universal framework and the device-independent application development platform to realize the overall architecture of the car navigation software.

a.JPG


Figure 3 shows the application window for vehicle positioning display. The range shown in the screenshot is near the Xiamen Software Park, and the arrow is where the car is located. In the implemented navigation device, performance tests are performed on the positioning accuracy of the navigation device, the electronic map display speed, and the time required for the shortest path navigation plan.
(1) Positioning accuracy test Now the navigation and positioning accuracy of domestic good domestic dumpling products is basically controlled at 5~10 m, and the equipment that is not good may reach tens of meters or even hundreds of meters. The navigation terminal designed this time has been tested and positioned. The accuracy is approximately 7 m.
(2) Electronic map display time test When the navigation device receives the GPS data, if the local electronic map is used to display the current position within 1 s; if the electronic map is downloaded, the current position is displayed within 3 s. .
(3) Shortest path navigation path planning distance test After the shortest path is planned, the shortest path from Xiamen to Fuzhou is 261 km, if it is the ordinary road priority algorithm is 292 km; then the test is the shortest from Xiamen to Beijing. The path distance is 2 106 km. If it is an ordinary road priority algorithm, the distance is 2312 km.

Conclusion The embedded system designed with the in-vehicle navigation system and combined with the characteristics of Androld system can be embedded in other terminal devices such as mobile phones, PDAs, POS machines, set-top boxes, digital TVs, home media players, etc., with good portability. And scalability. In the application of mobile navigation terminal, the integrated information management platform represented by GPS navigation will be the development trend of future mobile terminal communication and navigation products, and the application of Android system in navigation terminal will gradually mature and develop, and the product price will also be In the end, it will be close to the level of mass consumption, and navigation products will become an indispensable tool for people's leisure, entertainment and tourism adventures.

It was made by Tin,Zinc, Antimony and Copper,Have a good metal characteristics.

SZSC is an Alloy Wire with Sn-Zn-Sb-Cu,Aproper amount of improvement elements are added to the tin zinc based alloy to inhibit oxidability. Various studies show that the current speed can be reduced.improve the performance of the alloy and wire is wildly applied with high cost performance.

In past 20 years,Our company make a various of SZSC prodouct,SZSC-1,SZSC-2A,SZSC-2B,SZSC-3, SZSC-4, SZSC-5, SZSC-6, SZSC-8.Can help the customer reduce the cost one by one.It is one of the best underlayer metal spraying materials for pure aluminum film.

Our product conforms to the requirements of EU ROHS,REACH and relevant domestic laws and regulations for environmental protection.

Tin Zinc Antimony Copper Alloy Wire

Copper Alloy Wire,Beryllium Copper Wire,Brass Wire,Tinned Copper Wire

Shaoxing Tianlong Tin Materials Co.,Ltd. , https://www.tianlongspray.com