导航:首页 > 编程语言 > 机器人编程

机器人编程

发布时间:2022-01-11 23:05:55

⑴ 机器人编程怎么入门

机器人编程入门要选择合适的编程语言,避免难度太高打消孩子学编程的机器人,泊思地乐高EV3机器人可以作为编程入门课程,模块化编程,通过鼠标拖拽指令完成,图形化的编程还能增加学习编程的趣味性。学少儿编程可以提高孩子逻辑思维、专注力

先学习C语言,这是基础,然后学习单片机,然后就是实验步进电机的控制,译码器的工作原理和编程等等,这些是入门,有基础之后可以学点Arino之类的,了解当前机器人最前沿的的系统,学会应用控制器,不同的机器人需要不同的控制器,,机器人越复杂需要用的控制器越多,所以如果想在机器人这方面深挖的话,学会应用不同的控制器也很重要。机器人编程是机器人运动和控制问题的结合点,也是机器人系统最关键的问题之一。当前实用的工业机器人常为离线编程或示教,在调试阶段可以通过示教控制盒对编译好的程序一步一步地进行,调试成功后可投入正式运行。

关于更多的编程学习问题可以到童程童美咨询一下。童程童美专注于中国3-18岁青少儿编程教育,经过多年,研发出针对中国儿童的编程教育体系。凝聚美国纳斯达克上市公司18年少儿编程课程培训经验,形成了以人工智能编程、智能机器人编程、信息学奥赛、创意启蒙课等课程体系为核心,集国内外大型赛事、国际国内游学、冬夏令营等为一体的中国青少年STEAM创客教育平台。。目前童程童美有少儿编程体验课,点击可免费报名试听

⑵ 机器人编程是什么

机器人编程课程是让学生学会组装、搭建和编写程序运行机器人,激发学生的学习兴趣,培养学生综合能力的一种教育方式。

课程的内容由编程知识和硬件知识两部分组成,往往硬件知识的比重会多于编程知识。硬件知识主要是物理学当中的简单机械原理、电机方面和电子电路的知识。机器人编程课程是在编程的基础上将软硬件结合应用,更偏向物理、偏向硬件的一个方面,更多培养的是孩子的动手能力。机器人编程是以调用编程模块指令让机器动起来为目的。通常需要编程的模块是已经写好存储在模块里的,小朋友做的只是将模块以不同的方式拼接起来。机器人物理硬件的连接强调动手能力,一个6岁的孩子经过反复练习,可以很熟练的拼装机器人,主要培养动手能力、空间建构能力以及多学科融合能力等;少儿编程学习涉及更广泛的逻辑思维,对英语、数学、物理等K12学科的应用更加深入,对思维的逻辑会有相对更高一点的要求。【学少儿编程可以提高孩子逻辑思维、专注力!】

想了解更多关于机器人编程课程的信息,推荐咨询童程童美。2017年至今,童程童美响应国务院“鼓励社会力量参与寓教于乐的编程教学软件、游戏的开发和推广”号召,将编程公开课带到全国各地的中小学校,让更多的学生接触编程,爱上编程。【童程童美少儿编程体验课,点击可免费报名试听】

⑶ 编程机器人

编程机器人是一个充满逻辑思维,数学运算,设想推理的游戏。它的所有运作需要根据你给出的命令来执行,你需要让机器人点亮每个关卡中的地板。
推荐了解童心制物的mBot入门级编程机器人套件。
作为入门级的STEAM教育机器人,mBot让机器人编程学习和教学变得简单有趣。只需一把螺丝刀,一份入门指南,一节课的时间,孩子就能从零开始,体验动手创造的乐趣,认识各种机器人机械和电子零件,入门学习积木式编程,并锻炼逻辑和设计思维。

⑷ 机器人编程

#include <stdlib.h>
#include <stdio.h>

void Merge(int sourceArr[],int tempArr[], int startIndex, int midIndex, int endIndex)
{
int i = startIndex, j=midIndex+1, k = startIndex;
while(i!=midIndex+1 && j!=endIndex+1)
{
if(sourceArr[i] >= sourceArr[j])
tempArr[k++] = sourceArr[j++];
else
tempArr[k++] = sourceArr[i++];
}
while(i != midIndex+1)
tempArr[k++] = sourceArr[i++];
while(j != endIndex+1)
tempArr[k++] = sourceArr[j++];
for(i=startIndex; i<=endIndex; i++)
sourceArr[i] = tempArr[i];
}

//内部使用递归
void MergeSort(int sourceArr[], int tempArr[], int startIndex, int endIndex)
{
int midIndex;
if(startIndex < endIndex)
{
midIndex = (startIndex + endIndex) / 2;
MergeSort(sourceArr, tempArr, startIndex, midIndex);
MergeSort(sourceArr, tempArr, midIndex+1, endIndex);
Merge(sourceArr, tempArr, startIndex, midIndex, endIndex);
}
}

int main(int argc, char * argv[])
{
int a[8] = {50, 10, 20, 30, 70, 40, 80, 60};
int i, b[8];
MergeSort(a, b, 0, 7);
for(i=0; i<8; i++)
printf("%d ", a[i]);
printf("\n");
return 0;
}

⑸ 机器人编程是学的什么

机器人编程是学示教、编辑和轨迹再现的。

机器人编程为使机器人完成某种任务而设置的动作顺序描述。机器人运动和作业的指令都是由程序进行控制,常见的编制方法有两种,示教编程方法和离线编程方法。

其中示教编程方法包括示教、编辑和轨迹再现,可以通过示教盒示教和导引式示教两种途径实现。由于示教方式实用性强,操作简便,因此大部分机器人都采用这种方式。

离线编程方法是利用计算机图形学成果,借助图形处理工具建立几何模型,通过一些规划算法来获取作业规划轨迹。与示教编程不同,离线编程不与机器人发生关系,在编程过程中机器人可以照常工作。

编程语言:

于机器人专家来说,最重要的事情是开拓你的”编程思维”,而不是精通一种特定的编程语言。从很多方面来说,从哪种编程语言开始学习真的无关紧要。

学习的每种语言提升了编程思维,拥有了这种思维,去学习一种新编程语言的时候会容易不少。机器人编程中最流行的编程语言有BASIC、Pascal、工业机器人编程语言、LISP、硬件描述语言。

以上内容参考网络—机器人编程

⑹ 机器人编程怎么入门

学机器人编程入门要选择合适的编程语言,一定避免难度太高打消孩子学编程的兴趣。建议咨询童程童美,该机构会针对不同年龄段孩子推出不同的教学方案。

机器人编程的工程专业是培养适应社会发展需要的德、智、体、美全面发展,具有道德文化素质和社会责任感,掌握工业机器人技术工作必备的知识、技术,有较强实践能力、创新精神,主要从事机器人工作站设计、装调与改造,机器人自动化生产线的设计、应用及运行管理等相关岗位工作,具有较强综合职业能力的高素质应用型专门人才。从教育机构和家长看来,少儿学习编程是一种健康有益的教育方式,对于促进儿童的思维能力有极大的好处,况且随着国家设定的未来要成为一个智能制造强国的目标,未来对高质量编程人才的需求会持续向好,所以从小学习编程,对孩子的未来选择面会更大,机会更多。【学少儿编程可以提高孩子逻辑思维、专注力!】

关于少儿编程的问题,推荐咨询童程童美。童程童美,成立于2015年,经过近6年的发展,打造出适合3-18岁中国孩子的科技素质教育解决方案,形成以创意编程启蒙、人工智能编程、机器人创新工程教育、科技美育教育等课程为核心的课程体系,帮助中国青少年打造迎接未来世界的能力和思维视野。【童程童美少儿编程体验课,点击可免费报名试听】

⑺ 机器人编程学什么

机器人编程课程主要包括两个方面:硬件搭建和软件编程
硬件搭建说得俗一点,就是用零件搭建出一个机器人。
用到的零件种类非常多,有开关、传感器、LED灯、马达等等。
在组装搭建过程中,会涉及物理、数学、机械结构、工程结构上的知识。一旦搭错一步,机器人就不会工作,非常锻炼孩子的动手能力。

软件编程呢,就是通过编写程序,让已经搭建好的机器人动起来。
在具体操作过程中,儿童需要想象机器人的行为动作,并通过编辑相应的指令来实现机器人的运行。
这个过程非常锻炼孩子的抽象逻辑思维。
在机器人编程学习课程中,编程和搭建是相辅相成的两个部分,缺一不可,学习重点就是机器人和程序的协调性。
这就让机器人编程和市面上同样火热的少儿编程有了本质区别。

⑻ 机器人编程用什么软件

如果你去问一屋子的机器人专家,“什么是机器人学中最好编程语言?”,你永远不会得到一个直接的答案。

电气工程师会从工业机器人技术这个角度给出不同的答案。计算机视觉程序员给出的答案会跟认知机器人专家给出的不一样。而且,每个人都会对什么是最好的编程语言有自己的看法。最终,大多数人都会赞同的答案就是”这个取决于。。。“。

对于一个新入行正在试图决定要先学哪种语言的机器人学者来说,这是一个相当无用的答案。即使这是最现实的回答——因为它的确取决于你想要开发的应用程序和你在使用的系统。

对于学习机器人编程的你来说,最重要的事情是开拓你的”编程思维”,而不是精通一种特定的编程语言。从很多方面来说,从哪种编程语言开始学习真的无关紧要。你学习的每种语言提升了你的编程思维,拥有了这种思维,去学习一种新编程语言的时候会容易不少

这里有几种常用的机器人编程语言

VAL语言

一、VAL语言及特点

VAL语言是美国Unimation公司于1979年推出的一种机器人编程语言,主要配置在PUMA和UNIMATION等型机器人上,是一种专用的动作类描述语言。VAL语言是在BASIC语言的基础上发展起来的,所以与BASIC语言的结构很相似。在VAL的基础上Unimation公司推出了VALⅡ语言。

VAL语言可应用于上下两级计算机控制的机器人系统。上位机为LSI-11/23,编程在上位机中进行,上位机进行系统的管理;下位机为6503微处理器,主要控制各关节的实时运动。编程时可以VAL语言和6503汇编语言混合编程。

VAL语言命令简单、清晰易懂,描述机器人作业动作及与上位机的通信均较方便,实时功能强;可以在在线和离线两种状态下编程,适用于多种计算机控制的机器人;能够迅速地计算出不同坐标系下复杂运动的连续轨迹,能连续生成机器人的控制信号,可以与操作者交互地在线修改程序和生成程序;VAL语言包含有一些子程序库,通过调用各种不同的子程序可很快组合成复杂操作控制;能与外部存储器进行快速数据传输以保存程序和数据。

VAL语言系统包括文本编辑、系统命令和编程语言三个部分。

在文本编辑状态下可以通过键盘输入文本程序,也可通过示教盒在示教方式下输入程序。在输入过程中可修改、编辑、生成程序,最后保存到存储器中。在此状态下也可以调用已存在的程序。

系统命令包括位置定义、程序和数据列表、程序和数据存储、系统状态设置和控制、系统开关控制、系统诊断和修改。

编程语言把一条条程序语句转换执行。

二、VAL语言的指令

VAL语言包括监控指令和程序指令两种。其中监控指令有六类,分别为位置及姿态定义指令、程序编辑指令、列表指令、存储指令、控制程序执行指令和系统状态控制指令。

各类指令的具体形式及功能如下:

1.监控指令

1)位置及姿态定义指令

POINT指令:执行终端位置、姿态的齐次变换或以关节位置表示的精确点位赋值。

其格式有两种:

POINT<变量>[=<变量2>…<变量n>]

或POINT<精确点>[=<精确点2>]

例如:

POINTPICK1=PICK2

指令的功能是置变量PICK1的值等于PICK2的值。

又如:

POINT#PARK

是准备定义或修改精确点PARK。

DPOINT指令:删除包括精确点或变量在内的任意数量的位置变量。

HERE指令:此指令使变量或精确点的值等于当前机器人的位置。

例如:

HEREPLACK

是定义变量PLACK等于当前机器人的位置。

WHERE指令:该指令用来显示机器人在直角坐标空间中的当前位置和关节变量值。

BASE指令:用来设置参考坐标系,系统规定参考系原点在关节1和2轴线的交点处,方向沿固定轴的方向。

格式:

BASE[<dX>],[<dY>],[<dZ>],[<Z向旋转方向>]

例如:

BASE300,–50,30

是重新定义基准坐标系的位置,它从初始位置向X方向移300,沿Z的负方向移50,再绕Z轴旋转了30°。

TOOLI指令:此指令的功能是对工具终端相对工具支承面的位置和姿态赋值。

2)程序编辑指令

EDIT指令:此指令允许用户建立或修改一个指定名字的程序,可以指定被编辑程序的起始行号。其格式为

EDIT[<程序名>],[<行号>]

如果没有指定行号,则从程序的第一行开始编辑;如果没有指定程序名,则上次最后编辑的程序被响应。

用EDIT指令进入编辑状态后,可以用C、D、E、I、L、P、R、S、T等命令来进一步编辑。如:

C命令:改变编辑的程序,用一个新的程序代替。

D命令:删除从当前行算起的n行程序,n缺省时为删除当前行。

E命令:退出编辑返回监控模式。

I命令:将当前指令下移一行,以便插入一条指令。

P命令:显示从当前行往下n行的程序文本内容。

T命令:初始化关节插值程序示教模式,在该模式下,按一次示教盒上的“RECODE”按钮就将MOVE指令插到程序中。

3)列表指令

DIRECTORY指令:此指令的功能是显示存储器中的全部用户程序名。

LISTL指令:功能是显示任意个位置变量值。

LISTP指令:功能是显示任意个用户的全部程序。

4)存储指令

FORMAT指令:执行磁盘格式化。

SOREP指令:功能是在指定的磁盘文件内存储指定的程序。

STOREL指令:此指令存储用户程序中注明的全部位置变量名和变量值。

LISTF指令:指令的功能是显示软盘中当前输入的文件目录。

LOADP指令:功能是将文件中的程序送入内存。

LOADL指令:功能是将文件中指定的位置变量送入系统内存。

DELETE指令:此指令撤销磁盘中指定的文件。

COMPRESS指令:只用来压缩磁盘空间。

ERASE指令:擦除磁内容并初始化。

5)控制程序执行指令

ABORT指令:执行此指令后紧急停止(紧停)。

DO指令:执行单步指令。

EXECUTE指令:此指令执行用户指定的程序n次,n可以从–32768到32767,当n被省略时,程序执行一次。

NEXT指令:此命令控制程序在单步方式下执行。

PROCEED指令:此指令实现在某一步暂停、急停或运行错误后,自下一步起继续执行程序。

RETRY指令:指令的功能是在某一步出现运行错误后,仍自那一步重新运行程序。

SPEED指令:指令的功能是指定程序控制下机器人的运动速度,其值从0.01到327.67,一般正常速度为100。

6)系统状态控制指令

CALIB指令:此指令校准关节位置传感器。

STATUS指令:用来显示用户程序的状态。

FREE指令:用来显示当前未使用的存储容量。

ENABL指令:用于开、关系统硬件。

ZERO指令:此指令的功能是清除全部用户程序和定义的位置,重新初始化。

DONE:此指令停止监控程序,进入硬件调试状态。

2.程序指令

1)运动指令

指令包括GO、MOVE、MOVEI、MOVES、DRAW、APPRO、APPROS、DEPART、DRIVE、READY、OPEN、OPENI、CLOSE、CLOSEI、RELAX、GRASP及DELAY等。

这些指令大部分具有使机器人按照特定的方式从一个位姿运动到另一个位姿的功能,部分指令表示机器人手爪的开合。例如:

MOVE#PICK!

表示机器人由关节插值运动到精确PICK所定义的位置。“!”表示位置变量已有自己的值。

MOVET<位置>,<手开度>

功能是生成关节插值运动使机器人到达位置变量所给定的位姿,运动中若手为伺服控制,则手由闭合改变到手开度变量给定的值。

又例如:

OPEN[<手开度>]

表示使机器人手爪打开到指定的开度。

2)机器人位姿控制指令

这些指令包括RIGHTY、LEFTY、ABOVE、BELOW、FLIP及NOFLIP等。

3)赋值指令

赋值指令有SETI、TYPEI、HERE、SET、SHIFT、TOOL、INVERSE及FRAME。

4)控制指令

控制指令有GOTO、GOSUB、RETURN、IF、IFSIG、REACT、REACTI、IGNORE、SIGNAL、WAIT、PAUSE及STOP。

其中GOTO、GOSUB实现程序的无条件转移,而IF指令执行有条件转移。IF指令的格式为

IF<整型变量1><关系式><整型变量2><关系式>THEN<标识符>

该指令比较两个整型变量的值,如果关系状态为真,程序转到标识符指定的行去执行,否则接着下一行执行。关系表达式有EQ(等于)、NE(不等于)、LT(小于)、GT(大于)、LE(小于或等于)及GE(大于或等于)。

5)开关量赋值指令

指令包括SPEED、COARSE、FINE、NONULL、NULL、INTOFF及INTON。

6)其他指令

其他指令包括REMARK及TYPE。

SIGLA语言

SIGLA是一种仅用于直角坐标式SIGMA装配型机器人运动控制时的一种编程语言,是20世纪70年代后期由意大利Olivetti公司研制的一种简单的非文本语言。

这种语言主要用于装配任务的控制,它可以把装配任务划分为一些装配子任务,如取旋具,在螺钉上料器上取螺钉A,搬运螺钉A,定位螺钉A,装入螺钉A,紧固螺钉等。编程时预先编制子程序,然后用子程序调用的方式来完成。

IML语言

IML也是一种着眼于末端执行器的动作级语言,由日本九州大学开发而成。IML语言的特点是编程简单,能人机对话,适合于现场操作,许多复杂动作可由简单的指令来实现,易被操作者掌握。

IML用直角坐标系描述机器人和目标物的位置和姿态。坐标系分两种,一种是机座坐标系,一种是固连在机器人作业空间上的工作坐标系。语言以指令形式编程,可以表示机器人的工作点、运动轨迹、目标物的位置及姿态等信息,从而可以直接编程。往返作业可不用循环语句描述,示教的轨迹能定义成指令插到语句中,还能完成某些力的施加。

IML语言的主要指令有:运动指令MOVE、速度指令SPEED、停止指令STOP、手指开合指令OPEN及CLOSE、坐标系定义指令COORD、轨迹定义命令TRAJ、位置定义命令HERE、程序控制指令IF…THEN、FOREACH语句、CASE语句及DEFINE等。

AL语言

一、AL语言概述

AL语言是20世纪70年代中期美国斯坦福大学人工智能研究所开发研制的一种机器人语言,它是在WAVE的基础上开发出来的,也是一种动作级编程语言,但兼有对象级编程语言的某些特征,使用于装配作业。它的结构及特点类似于PASCAL语言,可以编译成机器语言在实时控制机上运行,具有实时编译语言的结构和特征,如可以同步操作、条件操作等。AL语言设计的原始目的是用于具有传感器信息反馈的多台机器人或机械手的并行或协调控制编程。

运行VA语言的系统硬件环境包括主、从两级计算机控制,如图所示。主机为PDP-10,主机内的管理器负责管理协调各部分的工作,编译器负责对AL语言的指令进行编译并检查程序,实时接口负责主、从机之间的接口连接,装载器负责分配程序。从机为PDP-11/45。

主机的功能是对AL语言进行编译,对机器人的动作进行规划;从机接受主机发出的动作规划命令,进行轨迹及关节参数的实时计算,最后对机器人发出具体的动作指令。

二、AL语言的编程格式

(1)程序BEGIN开始,由END结束。

(2)语句与语句之间用分号隔开。

(3)变量先定义说明其类型,后使用。变量名以英文字母开头,由字母、数字和下画线组成,字母大、小写不分。

(4)程序的注释用大括号括起来。

(5)变量赋值语句中如所赋的内容为表达式,则先计算表达式的值,再把该值赋给等式左边的变量。

三、AL语言中数据的类型

(1)标量(scalar)——可以是时间、距离、角度及力等,可以进行加、减、乘、除和指数运算,也可以进行三角函数、自然对数和指数换算。

(2)向量(vector)——与数学中的向量类似,可以由若干个量纲相同的标量来构造一个向量。

(3)旋转(rot)——用来描述一个轴的旋转或绕某个轴的旋转以表示姿态。用ROT变量表示旋转变量时带有两个参数,一个代表旋转轴的简单矢量,另一个表示旋转角度。

(4)坐标系(frame)——用来建立坐标系,变量的值表示物体固连坐标系与空间作业的参考坐标系之间的相对位置与姿态。

(5)变换(trans)——用来进行坐标变换,具有旋转和向量两个参数,执行时先旋转再平移。

四、AL语言的语句介绍

1.MOVE语句

用来描述机器人手爪的运动,如手爪从一个位置运动到另一个位置。MOVE语句的格式为

MOVE<HAND>TO<目的地>

2.手爪控制语句

OPEN:手爪打开语句。

CLOSE:手爪闭合语句。

语句的格式为

OPEN<HAND>TO<SVAL>

CLOSE<HAND>TO<SVAL>

其中SVAL为开度距离值,在程序中已预先指定。

3.控制语句

与PASCAL语言类似,控制语句有下面几种:

IF<条件>THEN<语句>ELSE<语句>

WHILE<条件>DO<语句>

CASE<语句>

DO<语句>UNTIL<条件>

FOR…STEP…UNTIL…

4.AFFIX和UNFIX语句

在装配过程中经常出现将一个物体粘到另一个物体上或一个物体从另一个物体上剥离的操作。语句AFFIX为两物体结合的操作,语句AFFIX为两物体分离的操作。

例如:BEAM_BORE和BEAM分别为两个坐标系,执行语句

AFFIXBEAM_BORETOBEAM

后两个坐标系就附着在一起了,即一个坐标系的运动也将引起另一个坐标系的同样运动。然后执行下面的语句

UNFIXBEAM_BOREFROMBEAM

两坐标系的附着关系被解除。

5.力觉的处理

在MOVE语句中使用条件监控子语句可实现使用传感器信息来完成一定的动作。

监控子语句如:

ON<条件>DO<动作>

例如:

MOVEBARMTO⊕-0.1*INCHESONFORCE(Z)>10*OUNCESDOSTOP

表示在当前位置沿Z轴向下移动0.1英寸,如果感觉Z轴方向的力超过10盎司,则立即命令机械手停止运动。

一般用户接触到的语言都是机器人公司自己开发的针对用户的语言平台,通俗易懂,在这一层次,每一个机器人公司都有自己语法规则和语言形式,这些都不重要,因为这层是给用户示教编程使用的。

这个语言平台之后是一种基于硬件相关的高级语言平台,如c语言、C++语言、基于IEC61131标准语言等,这些语言是机器人公司做机器人系统开发时所使用的语言平台,这一层次的语言平台可以编写翻译解释程序,针对用户示教的语言平台编写的程序进行翻译解释成该层语言所能理解的指令,该层语言平台主要进行运动学和控制方面的编程,再底层就是硬件语言,如基于Intel硬件的汇编指令等。

各家工业机器人公司的机器人编程语言都不相同,各家有各家自己的编程语言。但是,不论变化多大,其关键特性都很相似。比如Staubli 机器人的编程语言叫VAL3,风格和Basic相似;ABB的叫做RAPID,风格和C相似;还有Adept Robotics 的V+,Fanuc,KUKA,MOTOMAN都有专用的编程语言,但是大都是相似.而由于机器人的发明公司Unimation公司最开始的语言就是VAL,所以这些语言结构都有所相似。

⑼ 什么是机器人编程

所谓的机器人编程不就是为了让机器人做一件事情的时候设置的动作顺序描述,在一般情况下,机器人做的动作还有作业的指令主要经由程序实现控制的,就编程方法而言有2种,分别是示教编程方法和离线编程方法。其中示教编程方法包括示教、编辑和轨迹再现,可以通过示教盒示教和导引式示教两种途径实现。由于示教方式实用性强,操作简便,因此大部分机器人都采用这种方式。离线编程方法是利用计算机图形学成果,借助图形处理工具建立几何模型,通过一些规划算法来获取作业规划轨迹。与示教编程不同,离线编程不与机器人发生关系,在编程过程中机器人可以照常工作。

阅读全文

与机器人编程相关的资料

热点内容
程序员留学移民 浏览:47
梁中间部位箍筋加密区 浏览:117
频谱分析pdf 浏览:750
乐2怎么升级安卓70 浏览:172
java中获取日期 浏览:506
单片机74hc245 浏览:272
美国历史上的总统pdf 浏览:751
程序员脱单实验室靠不靠谱 浏览:458
php中间四位手机号 浏览:869
永旺app怎么样了 浏览:516
压缩空气流量计算软件 浏览:649
智慧聊天app怎么激活 浏览:924
一加换机备份到哪个文件夹 浏览:735
支撑pdf 浏览:417
java空文件夹删除 浏览:587
安卓9跟81有什么区别 浏览:912
n1蓝宝书pdf 浏览:244
为什么安卓机拍照那么丑 浏览:695
服务器绑定云产品实例 浏览:314
程序员认真工作被开除 浏览:454