GPS系统的前身为美军研制的一种子午仪卫星定位系统(Transit),1958年研制,64年正式投入使用。该系统用5到6颗卫星组成的星网工作,每天最多绕过地球13次,并且无法给出高度信息,在定位精度方面也不尽如人意。然而,子午仪系统使得研发部门对卫星定位取得了初步的经验,并验证了由卫星系统进行定位的可行性,为GPS系统的研制埋下了铺垫。由于卫星定位显示出在导航方面的巨大优越性及子午仪系统存在对潜艇和舰船导航方面的巨大缺陷。美国海陆空三军及民用部门都感到迫切需要一种新的卫星导航系统[13]。
1973年12月 ,美国国防部批准它的陆海空三军联合研制新的卫星导航系统: NAVSTAR/GPS。它是英文“Navigation Satellite Timing and Ranging/Global Positioning System” 的缩写词。其意为 “卫星测时测距导航/全球定位系统”,简称 GPS。这个系统向有适当接受设备的全球范围用户提供精确、 连续的三维位置和速度信息 ,并且还广播一种形式的世界协调时(U TC) 。通过遍布全球的(21+3)GPS导航卫星,向全球范围内的用户全天候提供高精度的导航、跟踪定位和授时服务。目前,GPS已在地形测量,交通管理,导航,野外勘探,空间宇宙学等诸多领域得到了广泛的应用[11]。
 目前全球共有4大GPS系统,分别是:
美国 GPS ,由美国国防部于 20 世纪 70 年代初开始设计、 研制 ,于1993 年全部建成。1994 年 ,美国宣布在 10 年内向全世界免费提供 GPS使用权 ,但美国只向外国提供低精度的卫星信号。
欧盟 “伽利略”,1999 年 欧洲提出计划 ,准备发射 30 颗卫星 ,组成 “伽利略” 卫星定位系统。
俄罗斯 “格洛纳斯”,尚未部署完毕。始于上世纪 70年代,需要至少 18 颗卫星才能确保覆盖俄罗斯全境;如要提供全球定位服务 ,则需要 24 颗卫星。
中国“北斗”2003 年我国北斗一号建成并开通运行 ,不同于 GPS, “北斗” 的指挥机和终端之间可以双向交流。四川大地震发生后 ,北京武警指挥中心和四川武警部队运用 “北斗” 进行了上百次交流。北斗二号系列卫星今年起将进入组网高峰期 ,预计在 2015 年形成由三十几颗卫星组成的覆盖全球的系统。

1.2 本课题研究的意义和方法

GPS系统是一个很庞大的系统,包含了天文,地理,计算机,电磁学,通信学,信息学等等。通过本文对GPS的学习研究,最重要的还是要学习其原理:卫星运动原理;卫星定位原理;卫星跟踪原理等等。通过基础原理的学习,一方面,可以使我们更进一步的理解卫星运动,定位的实现方法;通过仿真,进一步了解简单定位的方法及其在仿真平台上的实现途径;另一方面,也可以培养我们自学的能力,训练仿真模拟的技巧和方法。

至今,基本上完成了课题的要求,通过不断的注入既定参数,可以更加详细,直观的理解基本的定位原理和实现方法!

1.3 GPS前景

GPS导航定位以其定位精度高、观测时间短、测站间无需通视、可提供三维坐标、操作简便、全天候作业、功能多、应用广泛等特点著称。

用GPS信号可以进行海、空和陆地的导航、导弹的制导、大地测量和工程测量的精密定位、时间的传递和速度的测量等。对于测绘领域,GPS卫星定位技术已经用于建立高精度的全国性的大地测量控制网,测定全球性的地球动态参数;用于建立陆地海洋大地测量基准,进行高精度的海岛陆地联测以及海洋测绘;用于检测地球板块运动状态和地壳形变;用于工程测量,成为建立城市与工程控制网的主要手段。用于测定航空航天摄影瞬间相机位置,实现仅有少量的地面控制或无地面控制的航测快速成图,导致地理信息系统、全球环境遥感监测的技术革命[4]。

目前,GPS、GLONASS、INMARSAT等系统都具备了导航定位功能,形成了多元化的空间资源环境。这一多元化的空间资源环境,促使国际民间形成了一个共同的策略,即一方面对现有系统充分利用,一方面积极筹建民间GNSS系统,待2011年左右,GNSS纯民间系统建成,全球 将形成GPS/GLONASS/GNSS三足鼎立之势,才能从根本上摆脱对单一系统的依赖,形成国际共有、国际共享的安全资源环境。世界才可以将卫星导航作为单一导航手段的最高应用境界。国际民间的这一策略,反过来又影响和迫使美国对其GPS使用政策作出更开放的调整。多元化的空间资源环境的确立,给GPS的发发展应用创造了一个前所未有的良好的国际环境。

第二章 GPS测量原理

GPS导航系统的基本原理是测量出已知位置的卫星到用户接收机之间的距离 ,然后综合多颗卫星的数据就可知道接收机的具体位置。要达到这一目的 ,卫星的位置可以根据星载时钟所记录的时间在卫星星历中查出。而用户到卫星的距离则通过纪录卫星信号传播到用户所经历的时间 ,再将其乘以光速得到(由于大气层电离层的干扰 ,这一距离并不是用户与卫星之间的真实距离 ,而是伪距( PR) :当GPS卫星正常工作时 ,会不断地用 1 和 0 二进制码元组成的伪随机码(简称伪码)发射导航电文。GPS系统使用的伪码一共有两种 ,分别是民用的 C/ A 码和军用的 P( Y)码。C/ A 码频率 1. 023MHz ,重复周期一毫秒 ,码间距 1 微秒 ,相当于 300m; P 码频率10. 23MHz ,重复周期266. 4 天 ,码间距0. 1 微秒 ,相当于 30m。而 Y码是在 P码的基础上形成的 ,保密性能更佳。

GPS导航系统卫星部分的作用就是不断地发射导航电文。然而 ,由于用户接受机使用的时钟与卫星星载时钟不可能总是同步 ,所以除了用户的三维坐标 x、 y、 z外 ,还要引进一个Δt 即卫星与接收机之间的时间差作为未知数 ,然后用 4 个方程将这 4个未知数解出来。所以如果想知道接收机所处的位置 ,至少要能接收到 4 个卫星的信号。

2.1 伪距测量的原理

GPS定位采用的是被动式单程测距。它的信号发射书机由卫星钟确定,收到时刻是由接收机钟确定,这就在测定的卫星至接收机的距离中,不可避免地包含着两台钟不同步的误差和电离层、对流层延迟误差影响,它并不是卫星与接受机之间的实际距离,所以称之为伪距。

伪距定位法是利用全球卫星定位系统进行导航定位的最基本的方法,其基本原理是:在某一瞬间利用GPS接收机同时测定至少四颗卫星的伪距,根据已知的卫星位置和伪距观测值,采用距离交会法求出接收机的三维坐标和时钟改正数。它的优点是速度快、无多值性问题,利用增加观测时间可以提高定位精度;缺点是测量定位精度低,但足以满足部分用户的需要。

用户位置

地心位置

图5-5 用户可见的卫星分布

SatellitePosition =

1.0e+004 *

1.7746    1.7572    0.7365    0.0001

-1.2161    0.9732    2.1091    0.0001

2.2883    0.2975   -1.4132    0.0001

-2.3882   -0.8836    0.7869         0

-0.3681   -2.5255    0.7012         0

-0.1323    2.7059   -0.0000    0.0001

-1.5424    0.4273    2.1704    0.0001

1.4582    0.4926   -2.1144         0

-2.4090    0.6583    0.7365         0

1.0759    1.1599   -2.1757         0

1.3324   -1.8178    1.4392    0.0001

-1.3225    1.7688   -1.3835         0

1.2127   -0.9774    2.1091    0.0001

-1.8766    0.3838   -1.9058         0

-2.4302   -0.9295   -0.7516         0

0.4443    1.8187   -1.8463         0

-0.6718    2.4562   -0.7869         0

1.4000   -1.3073    1.9058    0.0001

-1.4992    0.4223   -2.1091         0

-0.8706   -2.0297   -1.3835         0

-1.7722   -0.6021   -1.9217         0

-0.2481   -1.5812   -2.1704         0

-0.5421    1.7915    1.9217    0.0001

1.9376   -1.5756   -0.7365    0.0001

仿真程序四:用可见卫星计算用户位置

程序见附录

多于四颗的卫星用最小二乘法逼近计算。对于前面的假设用户位置(6400,3352,5410)进行计算,结果如下:

图5-6 用户位置的计算

由图13可见,根据最小二乘法的原理,计算出来了用户在一个时刻的位置坐标,并把它表示在了这个天球坐标系当中。

calculaterecord =

1.0e+003 *

0         0         0

7.3399    3.8857    6.1388

6.3034    3.2976    5.3346

6.3914    3.3470    5.4034

6.4009    3.3525    5.4107

6.4001    3.3520    5.4101

先后经过了六次的迭代算法,吧用户的计算位置一步一步的逼近了用户的实际位置,根据部同的精度要求,我们运算的量的大小也有不同。这点,可以根据程序当中的参数Error的设定而有所出入。

图5-7 用户位置的计算

通过对用户仿真计算的进一步放大,可以很清楚地看到:在每一次迭代的过程当中,我们都实时的把每一步迭代的值也表示在了同一个坐标轴里面:目的就是很直观的反应出我们基于最小二乘法的伪距算法的主要思路。如下图所示:

图5-8 用户位置的计算

上图15当中的黑色箭头从上到下一次表示的是第一次到第六次计算出来的用户的位置,第七箭头表示的用户的实际位置(用白色的柱体表示)。

程序一(绘制卫星的轨道平面)代码

function drawsatelliteorbit

a=26560;% 卫星轨道的长半轴.

e=0.02;%e是椭圆的偏心率.

E=[0:0.1:2*pi];

x=a*(cos(E)-e);

y=a*sqrt((1-e^2))*sin(E);

z=0*E;

DtoR=2*pi/360;

A1=[32.8  92.8  152.8  212.6  272.8  332.8];%卫星星座数据.

for k=1:6

A=A1(k)*DtoR;%升交点的经度

B=55*DtoR;%轨道的倾角

C=pi/100;%近地点幅角

%总共有6个卫星轨道平面

R1=[cos(A)  -sin(A)  0;

sin(A)  cos(A)   0;

0        0       1;];

R2=[1         0       0;

0        cos(B)  -sin(B);

0        sin(B)   cos(B);];

R3=[cos(C)    -sin(C)    0;

sin(C)    cos(C)     0;

0          0        1;];

L1=length(E);

R312=R1*R2*R3;

Ans=R312*[x;y;z;];

x1=Ans(1,:);

y1=Ans(2,:);

z1=Ans(3,:);

plot3c(x1,y1,z1,k);

boxplot3(0,0,0,200,200,200,7);

hold on;

axis equal;

axis off;

end

程序二(单颗卫星不同时刻的动态仿真)代码

clear; clc;close all;

DtoR=2*pi/360;

jiaostep=360/24*DtoR;

j=0;

a=26560;% 卫星轨道的长半轴.

e=0.02;%e是椭圆的偏心率.

E=[0:0.1:2*pi];

x=a*(cos(E)-e);

y=a*sqrt((1-e^2))*sin(E);

z=0*E;

drawearth(0);

hold on;

for time=1:12

axis on;

A1=32.8 ;%卫星星座数据.

A=A1*DtoR;%升交点的经度

B=55*DtoR;%轨道的倾角

C=pi/100;%近地点幅角

R1=[cos(A)  -sin(A)  0;

sin(A)  cos(A)   0;

0        0       1;];

R2=[1         0       0;

0        cos(B)  -sin(B);

0        sin(B)   cos(B);];

R3=[cos(C)    -sin(C)    0;

sin(C)    cos(C)     0;

0          0        1;];

L1=length(E);

R312=R1*R2*R3;

Ans=R312*[x;y;z;];

x1=Ans(1,:);

y1=Ans(2,:);

z1=Ans(3,:);

plot3c(x1,y1,z1,2);

hold on;

axis equal;

axis on;

grid on;

ctable=10;

A=A1*DtoR;

B=55*DtoR;

C=ctable*DtoR+time*2*pi/24;         %近地点幅角

x=a*(cos(C)-e);

y=a*sqrt((1-e^2))*sin(C);

z=0*C;

R1=[cos(A)    -sin(A)       0;

sin(A)    cos(A)       0;

0           0       1;];

R2=[1         0        0;

0        cos(B)  -sin(B);

0        sin(B)   cos(B);];

R3=[cos(C)    -sin(C)     0;

sin(C)    cos(C)      0;

0          0        1;];

L1=length(E);

R312=R1*R2*R3;

Ans=R312*[x;y;z;];

x1=Ans(1,:);

y1=Ans(2,:);

z1=Ans(3,:);

drawsatellite(x1,y1,z1,6);

M(time)=getframe;

M(time+1) = getframe;

end

axis on;

程序三(卫星在某个时刻的全轨道平面的分布和可见卫星)代码

clear;clc;close all;

a=26560;                                          % 卫星轨道的长半轴.

e=0.02;

temp=0;%便于把卫星的指标点顺序放到矩阵指标当中。

%e是椭圆的偏心率.

E=[0:0.1:2*pi];

x=a*(cos(E)-e);

y=a*sqrt((1-e^2))*sin(E);

z=0*E;

timenow=0;%单位是小时

global SatellitePosition

global ttum

SatellitePosition=ones(24,4);

figure(1);

drawearth(0);

ttum=ones(24,4);

hold on;

DtoR=2*pi/360;

A1=[32.8  92.8  152.8  212.6  272.8  332.8];

drawsatelliteorbit;

ctable=[10 50 160 260;                                  %平均近地角

80 180 220 320;

10 130 250 340;

50 150 170 300;

100 210 310 340;

120 140 240 350;];

simple=1;

for k=1:6

A=A1(k)*DtoR;                                %升交点经度

B=55*DtoR;                                   %轨道倾角

for m=1:4

C=ctable(k,m)*DtoR+timenow*2*pi/24;         %近地点幅角

x=a*(cos(C)-e);

y=a*sqrt((1-e^2))*sin(C);

z=0*C;

R1=[cos(A)    -sin(A)       0;

sin(A)    cos(A)       0;

0           0       1;];

R2=[1         0        0;

0        cos(B)  -sin(B);

0        sin(B)   cos(B);];

R3=[cos(C)    -sin(C)     0;

sin(C)    cos(C)      0;

0          0        1;];

L1=length(E);

R312=R1*R2*R3;

Ans=R312*[x;y;z;];

x1=Ans(1,:);

y1=Ans(2,:);

z1=Ans(3,:);

drawsatellite(x1,y1,z1,k);

temp=temp+1;

SatellitePosition(temp,:)=[x1 y1 z1 1];

ttum(temp,:)=[x1 y1 z1 1];

hold on;

end

end

%用余弦定理计算地心到用户和用户到卫星证件的夹角要是两者证件的夹角小于90°,就认为改卫星是不可见的.

earthcenterpos=[0 0 0];

userposition=[6400  3352  5410];               %假设一个用户的位置

for k=1:24

temp=SatellitePosition(k,1:3)-userposition;

Dist1=temp*temp';

temp=userposition-earthcenterpos;

Dist2=temp*temp';

temp=SatellitePosition(k,1:3)-earthcenterpos;

Dist3=temp*temp';

jiajiao=acos((Dist2+Dist3-Dist1)/2/sqrt(Dist3)/sqrt(Dist2));

if(jiajiao>=pi/2)

SatellitePosition(k,4)=0;

%ttum(k,:)=SatellitePosition(k,1:3);

end

end

%  ttum

figure(2)

drawearth(0);

hold on;

drawsatelliteorbit;

j=1;

for k=1:6

for m=1:4

if(SatellitePosition(j,4)==1)

tempx=SatellitePosition(j,1);

tempy=SatellitePosition(j,2);

tempz=SatellitePosition(j,3);

drawsatellite(tempx,tempy,tempz,k);

end

j=j+1;

end

end

tempx=userposition(1);

tempy=userposition(2);

tempz=userposition(3);

cube=100;

boxplot3(tempx,tempy,tempz,cube,cube,cube,0); %标记出用户的位置

程序四(用可见卫星计算用户的位置)代码(mian3)

%用余弦定理计算地心到用户和用户到卫星证件的夹角要是两者证件的夹角小于90°,就认为该卫星是不可见的.

earthcenterpos=[0 0 0];

userposition=[6400  3352  5410];               %假设一个用户的位置

for k=1:24

SatellitePosition(k,:)=ttum(k,:);

end

for k=1:24

temp=SatellitePosition(k,1:3)-userposition;

Dist1=temp*temp';

temp=userposition-earthcenterpos;

Dist2=temp*temp';

temp=SatellitePosition(k,1:3)-earthcenterpos;

Dist3=temp*temp';

jiajiao=acos((Dist3+Dist2-Dist1)/2/sqrt(Dist3)/sqrt(Dist2));

if(jiajiao>=pi/2)

SatellitePosition(k,4)=0;

end

end

figure(1)

drawearth(0);

hold on;

drawsatelliteorbit;

tempx=userposition(1);

tempy=userposition(2);

tempz=userposition(3);

cube=55;

boxplot3(tempx,tempy,tempz,cube,cube,cube,7);

hold on; %先画出用户的位置,以便和后面的做比较

j=1;

for k=1:6

for m=1:4

if(SatellitePosition(j,4)==1)

tempx=SatellitePosition(j,1);

tempy=SatellitePosition(j,2);

tempz=SatellitePosition(j,3);

drawsatellite(tempx,tempy,tempz,k);

end

j=j+1;

end

end

tempx=userposition(1);

tempy=userposition(2);

tempz=userposition(3);

hold on;

SatellitePosition=[SatellitePosition;userposition 0];

%用变量caluserpos来记录迭代计算的结果.

caluserpos=calculateuserposition(SatellitePosition);

[m,n]=size(caluserpos);

for(k=3:m);

tempx=caluserpos(k,1);

tempy=caluserpos(k,2);

tempz=caluserpos(k,3);

cube=50;

boxplot3(tempx,tempy,tempz,cube,cube,cube,0);

hold on;

end

以下是一个和上面程序配套使用的功能函数,把它命名为calculateuserposition.m。并且要和上面的程序放在一个文件夹当中。

function caluserposition=calculateuserposition(SatellitePosition)

global SatellitePosition

%单独运行此程序时候,为调用前面程序而得的satelliteposotion结果,应该声明satelliteposotion为全局变量,即应该在satelliteposition前面加上global

r1=6400;                                                    %地球半径

c=300000;

deltat=0.00001;

satelliteposnew=ones(1,3);

vissatnum=0;

calculateok=1;

for k=1:24

if(SatellitePosition(k,4)==1)

vissatnum=vissatnum+1;

satelliteposnew=[satelliteposnew;SatellitePosition(k,1:3)];

end%if

end%for

satelliteposnew(1,:)=[];

if(vissatnum<4)

calculateok=0;

caluserposition=[0 0 0 0];

return

end

prange=ones(1,vissatnum);

userpos=SatellitePosition(25,1:3);

for n=1:vissatnum    prange(1,n)=sqrt((satelliteposnew(n,:)-userpos)*(satelliteposnew(n,:)-userpos)')+c*deltat;

end

calculaterecord=[0    0   0];

xyz0=[0 0 0];

deltat0=0;

wxyz=satelliteposnew;

Error=1000;

computertime=0;

while((Error>0.00001)&(computertime<1000))

computertime=computertime+1;

r=ones(1,vissatnum);

for n=1:vissatnum

r(1,n)=sqrt((wxyz(n,:)-xyz0)*(wxyz(n,:)-xyz0)')+deltat0*c;

end

deltap=r-prange;

A=ones(vissatnum,3);

for n=1:vissatnum

A(n,:)=(wxyz(n,:)-xyz0)./r(1,n);

end%for

H=[A ones(vissatnum,1)];

deltax=inv(H'*H)*H'*deltap';

tempdeltax=deltax(1:3)

Error=max(abs(tempdeltax));

xyz0=xyz0+deltax(1:3,:)';

if(computertime<1000)

calculaterecord=[calculaterecord;xyz0];

end

deltat0=deltax(4,1)/(-c);

end%while

calculaterecord;

if(computertime==1000)

caluserposition=[99999999999 99999999999 999999999999];

else

caluserposition=[xyz0;calculaterecord];

end

GPS卫星运动及定位matlab仿真相关推荐

  1. 卫星伪距定位matlab,GPS卫星运动及定位matlab仿真.doc

    书山有路勤为径! PAGE GPS卫星运动及定位matlab仿真 摘要 全球定位系统是具有全球性.全能性.全天候优势的导航定位.定时和测速系统,现在在全球很多领域获得了应用. GPS卫星的定位是一个比 ...

  2. 【天文】基于matlab实现GPS卫星运动仿真附matlab代码

    1 内容介绍 基于matlab实现GPS卫星运动仿真 2 部分代码 %time是个时间参数利用它可以画出一个看起来旋转的地球 function DrawEarth(time) r=6400; j1=[ ...

  3. matlab地球卫星模型,地球卫星三维运行轨道MATLAB仿真

    地球卫星三维运行轨道MATLAB仿真 1.问题的描述 3 轨道上运行的地球卫星,根据牛顿第二定律F=ma以及万有引力定律F=-GmME*r/r, 3可得a=-GME*r/r,即 x''= -GME*x ...

  4. UVW平台运动控制算法以及matlab仿真

    UVW平台运动控制算法以及matlab仿真 比奇小说网 m.biqi.org 最近公司同事因为对某视觉对位平台的运动控制算法有疑问,所以来请教我. 由于我也是第一次接触到UVW自动对位平台(也可以叫X ...

  5. 机器人学习--粒子滤波定位-MATLAB仿真1

    坐标系下,给定几个路标 landmarks,机器人行走路线是一个圆,60秒的行走时间,每秒更新一次结果,MATLAB仿真运动更新过程,以及结果的误差图显示. 代码: function [] = par ...

  6. wsn定位matlab仿真,WSN定位蒙特卡洛方法MCL的MATLAB实现源码

    WSN定位蒙特卡洛方法MCL的MATLAB实现源码 clear; clc; %初始化工作 Ns = 20; Nn = 200; Vmax = 20; Xrange = 200; Yrange = 20 ...

  7. 运动目标识别系统Matlab仿真——附上程序

    本人毕业设计做的是红外运动识别系统,通过Matlab做了仿真.其中视频资源来自优酷.毕设论文随后上传.以下是matlab代码 clear all %创建必要的视频处理对象 videofile = 'p ...

  8. gps matlab 书,《GPS基本原理及其Matlab仿真》杨俊.pdf

    本书讲述了全球定位系统(GPS)的基本原理和概念,具体包括:GPS测量原理.GPS的结构和发展历史:GPS伪距定位和载波相位定位的原理:GPS中使用的坐标系和时间系统:C/A码的实现原理及载波调制过程 ...

  9. matlab gps信号,gps信号和其干扰的matlab仿真

    gps信号和其干扰的matlab仿真 a竹技2011年第24卷第5期 Electronic Sci.&Tech./May.15.201 1 GPS信号和其干扰的Matlab仿真 马 茹 ,胡建 ...

最新文章

  1. 打造一个TB级微服务日志监控平台
  2. 水利水电工程管理与实务电子版习题_水利水电工程管理与实务复习题集.pdf
  3. 设计模式总结(Java)—— 观察者模式
  4. 当一个项目中同时存在webroot和webcontext时
  5. 【震惊】史上最牛的市场推广/营销
  6. Leaflet中使用leaflet.easyPrint插件实现打印效果
  7. clickhouse物化视图优缺点_ClickHouse 适用场景
  8. centos7 升级curl版本
  9. JS 逆向 --- 过无限debugge、hook、js混淆还原、控制流混淆
  10. java扫描指定主机的端口socket服务
  11. TensorFlow Estimator学习笔记(二)Estimator自定义模型-使用卷积神经网络解决 MNIST 问题
  12. ListNode的理解
  13. 我对大学的憧憬||每个人都有自己的罗马
  14. springboot 中的 文件、短信、邮件、token 工具类
  15. ASO优化:影响 APP权重与吸量的五大要素
  16. 家用计算机硬件升级方案,旧电脑如何升级提速,老电脑升级方案!
  17. java实现二叉树广度优先遍历_二叉树之深度优先和广度优先遍历(Java)
  18. SAP-工艺路线相关的表的关联关系
  19. jQuery——遍历DOM元素的后代元素
  20. (附源码)springboot电影选座订票app 毕业设计 011439

热门文章

  1. Xcode遇到couldn’t be opened because you don’t have permission to view it.解决方法
  2. python123九宫格输入_python制作朋友圈九宫格图片
  3. 域名被封的表现域名微信不能访问该怎样处理
  4. QQ,群,空间等API接口代码分享
  5. 文件操作——打开关闭、顺序读写、随机读写
  6. 【数据库】SQL server 评估期已过。有关如何升级的测试版软件的信息,请访问..
  7. JAVA生成九宫格图片 微信群头像(不限制张数)拿走即可用
  8. Action Chains类 使用鼠标操作使用方法
  9. selenium源码通读·5 |webdriver/common/action_chains.py-ActionChains类分析
  10. Vue生命周期中mounted和created的区别