universal link校验(universal grammar)

据雷锋网AI科技评论,本文转载自微信官方账号Nao,作者为邱强。AI科技评论已获授权。

universal link校验(universal grammar)

我在Github上推出了一个开源的机器人自学指南,地址是:https://github.com/qqfly/how-to-learn-robotics.

第一版在微信官方账号发出:

目录

零。前言

一.导言

二。必备知识

三。入门指南

四。实践

4.1开始

4.2宾夕法尼亚大学机器人专业

4.3区域办事处

动词 (verb的缩写)先进的

5.1数学

5.2现代机器人技术

5.3控制

5.4体育规划

5.5机器学习

5.6加强学习

5.7最新论文

6.勇者斗恶龙。

七。参考

零。前言

文中有很多公式,为了编辑方便,都是用Latex格式写的。但是,Github Markdown不支持Latex。为了方便阅读,建议采用Chrome浏览器,安装插件TeX所有的东西。安装后,网页上的乳胶配方可以转换成大多数人都能理解的形式。

一些复杂的公式将被转换成图片插入在线乳胶公式编辑器。

这本教材编写时间很短,肯定有疏漏。所以作为一个开源项目,你可以随时修改并提交pullrequest如果你有任何问题,你也可以问问题。

一.导言

RVBUST INC成立半年多了。采访了很多从事机器人研究的朋友后,我发现了一个问题:绝大多数大陆毕业生看起来都不像是“训练有素”的。

当然,如果只看他们的工作和教育经历——他们大多毕业于机电工程、计算机科学,甚至是研究机器人的实验室,并在机器人公司工作过——这些人应该都算是“职业选手”。

但从面试情况来看,绝大多数人并没有完整的机器人学知识体系:画电路板的朋友不知道怎么做机器人工作空分析;设计伙伴不知道如何使用动态控制;做控制算法的小伙伴不知道配置空空间是什么;做运动策划的小伙伴不知道Q-learning是什么;做深度强化学习的小伙伴不知道如何用学习到的控制指令让实际的机器人移动。

从我这几年的学习经历来看,我可以理解这种现象。刚开始读博的时候,我接手了大师兄的SmartPal机器人。靠着师兄的“祖传守则”,我也在外宾面前做过一些示范:

然而,当我后来真正开始阅读这些“祖先代码”时,我发现只有少数几个关节位置是真正发送给机器人的。

“PID在哪里???」

这是我当时最大的疑问。这种代码逻辑与四旋翼、智能车等完全不同。那个我本科玩的!

于是,抱着这个疑问,我在实验室里四处打听,也没有得到答案。甚至后来我还修了几门机器人相关的研究生课程。经过一年的研究,我仍然没有得到答案。

是的,作为国内最早开展机器人研究的院校之一,这里的机器人学研究生课程只教我们如何建立DH坐标系,动力学简单算一个平面三连杆机构。完全不涉及控制和轨迹规划,甚至运动学逆解都不需要大家计算。

据我所知,其他很多研究机构也是如此。机器人学尚未形成完整的教学体系。所以基本上学生没有接受过完整系统的机器人学教育,只是通过自学学习项目要求的内容。这就造就了一大批没有计算过机器人运动学逆解的博士、硕士研究生。

当然,并不是说逆运动学和轨迹插补很难学。我想强调的是,在mainland China,一个学生仅仅通过上课是无法掌握甚至接触到非常基础的机器人知识的。

当然,这种情况在mainland China相当普遍,但外国或港台大学毕业的学生基本上没有这个问题。或者说国外港台高校的机器人学教学体系比较完善。基本上大部分作业都会涉及到主要知识点,大部分都需要编程。

虽然我的大部分朋友都是“非专业人士”,但根据我的经验,大陆学生还是很聪明的,只要得到一些简单正确的指导,就可以通过自学很快掌握这些知识。那么,我们来看看“非毕业生”是如何学习机器人技术的。

二。必备知识

当然,前提知识会随着研究的深入而变化,尤其是数学,就像sharingan。看同一块石碑,不同等级的“sharingan”会看到完全不同的内容。

但是由于机器人学涉及的领域很广,不同方向需要的基础知识是完全不同的。如果一开始就陷入“预知”的泥潭,可能就得不偿失了。

所以,在我看来,可以先列出一些我们真正要掌握的必备知识,其他的可以在后续的相应部分提到:

1.基础英语:目前基本没有非常适合机器人的中文教材推荐。用简单术语写的教材都是国外的,所以大家一定要学会读英国文学。这个过程一开始肯定很痛苦,但基本上一个月后你就会习惯了。

2.学会使用VPN。同理,基本上所有有用的素材都需要通过Goolge或者Youtube获取。

3.线性代数:所有空与机器人相关的计算之间的转换都依赖于线性代数,甚至需要一些基本的“线性空”思维。对于线性代数,我首先推广的是Gilbert Strang教授的线性代数,视频可以在Youtube和网易公开课上找到。这门课一开始就引导我们从空的角度看问题,不像国内大学只强调如何计算。而且网易公开课有中文字幕,对初学者比较友好。

4.微积分:在机器人中,凡是涉及到导数、积分、最优化的地方,都会有微积分的影子。所以这门数学课也是一开始就离不开的。我没有好的视频推荐。你为什么不看看吉尔伯特·斯特兰奇的微积分要点?

5.理论力学:机器人每天都在和力打交道。而空变换、虚功原理、拉格朗日等力学理论在一般的机器人教材中推导得并不细致,这些东西也比较抽象,所以很多初学者的自学过程都被截取在动力学一章中。当然这部分我也没有什么好的推荐材料。学校网上有清华高云峰的理论力学公开课,你也可以参考一下。但至少我在他的课上总是犯困。

6.Matlab或Python:这两种是非常易于使用和非常方便的数据可视化编程语言。在学习机器人的过程中,你可以通过这种脚本语言轻松实现一些算法,从而验证你的推导结果。当然,这两部分只需要掌握基本的矩阵运算和可视化运算即可。其他更高级的用法可以以后再学。在Coursera上很容易找到这两种语言的入门课程Matlab和Python。

7.控制理论:机器人技术离不开控制,但机器人教科书一般不会过多介绍这一点。当然,目前大部分工业机器人还是采用比较简单的算法,但是作为研究人员,了解一些基本的控制理论是很有必要的,比如PID,状态方程,可观性,可控性,李亚普诺夫,最优控制,一点非线性控制,一点智能控制。我基本都是在学校上课,公开课我也没有什么好的推荐。我可以先试试学校的网络课程。

8.数字电路和模拟电路:机器人是一门实用科学。只有当你把自己推导出的公式写成代码,最终让实际的机器人按照你的想法移动,才说明你掌握了相关的知识。数模电的知识可以让你对逻辑电路有一个基本的了解,让你甚至不知道为什么要在电机前面加一个驱动器。同时,在周围没有实际机器人的情况下,搭建一个小电路做一些控制实验也是非常方便的。这方面的知识在任何教科书中都可以找到。比如我去了唐庆宇的教材。

9.一点MCU:如果你想做一个简单的实验控制电路,只有数字和模拟电学的知识是不够的,还要能够将这些知识转化为实际的电路并运行代码,那么你就需要了解MCU。对于单片机,可以在网上买一些带伺服电机控制教程的最小系统板,学习Arduino或者STM32。当然,如果能参加一个RoboMaster或者飞思卡尔智能汽车大赛什么的,能对各个嵌入式模块有个基本的了解就最好了。

10.Linux和C语言:现在有了电路部分,就需要把公式代码变成电路指令,这涉及到嵌入式编程。这一块建议学一点C语言。其实嵌入式C的要求并不高。学点语法就行了,比如C语言入门。但是,如果以后想做一些更高层次的工作,最好从一开始就把C学好。对于编程来说,Linux是一个不错的选择,所以这个时候你可以尝试按照一个Linux系统来学习C语言。

11.基础3D设计:在做实验平台的时候,经常会遇到需要加工设计小零件的情况。这个时候,掌握一个3D设计软件,可以大大提高开发速度。比如SolidWorks就是个不错的选择。借助3D打印机等工具,您可以尝试快速原型制作。(即使你没有3D打印机,你也可以很容易地在网上找到3D打印服务。只需发送你设计的3D文件)。

以上知识基本上是一个自动化或机电一体化专业大三学生应该达到的水平。如果对以上部分有了基本的了解,就可以开始看机器人学的知识了。

三。入门指南

对于入门部分,其实就是知道如何让一个工业机器人动起来。其实这方面的研究已经很成熟了。你可以看看上个世纪的教科书。我个人推荐约翰·克雷格的教科书《机器人学导论:力学与控制》[1]。你可以在Youtube和网易公开课上找到斯坦福·乌萨马·哈提卜神的视频,基本上和克雷格的课本内容吻合。

建议看克雷格教材的英文版。谷歌一下,很容易找到PDF版本。作为入门教材,克雷格的教材相当简单。通过哈提卜的视频,你可以快速掌握机器人的基础知识。

我经常对刚入学的弟弟妹妹们说:“如果你掌握了这本书的内容,你就已经超越了实验室里的绝大多数兄弟姐妹。」

但是,被啃下来的课本并不多。

所以,我想在这里换一种说法,“如果你掌握了这本书的内容,你就可以胜任国内大部分机器人公司的开发。」

//在Github上,我大致梳理了一下克雷格这本书的内容,微信官方账号中有遗漏。

四。实践

看完克雷格的书,你应该对工业机器人的原理有个大概的了解。但是,你缺乏实践经验,不知道如何将书上的东西应用到实际的机器人上。机器人毕竟是一门实践性很强的学科,一直停留在理论上。它不仅没用,而且很无聊。

4.1开始

如果你是本科生,强烈建议参加一些比赛,比如RoboMaster,飞思卡尔智能车大赛,电子设计大赛等。也可以加入学校的一些科技组织,比如清华的田空工厂。主要是熟悉各种电子电路,培养动手能力。

但在我的观察中,很多科技竞赛大牛往往理论学习比较薄弱。这主要是因为科技竞赛强调的是系统能力,决定竞赛结果的往往是一些小动作,而不是理论知识;更何况竞争往往会给人一种虚假的成就感,每天忙忙碌碌,但可能只是重复低级的工作。这两个原因很容易导致人陷入局部极小,理论上无法走得更远。

所以,我有一个不成熟的建议。如果参加竞赛和学生科技活动,有两次完整的经历就够了。之后要迅速把重点转向理论学习。

如果你有可以玩的机器人硬件,你也可以试试玩,或者在RobotStudio里玩ABB的机器人。

4.2宾夕法尼亚大学机器人专业

之后,你不妨花几个月的时间,看看Coursera参加宾夕法尼亚大学的机器人专题课程。这个特色课程和机械臂或者工业机器人关系不大,但是因为机器人在很多方面是相通的,所以强烈建议去看一看。

空中机器人:本课程主要介绍四旋翼无人机的控制问题,其中轨迹规划、姿态描述和控制对机械手的学习很有帮助。而且这门课的作业质量也很高。提供了基于Matlab的数值仿真模块,让初学者直观的看到自己代码的控制效果。

计算运动规划:这门课的水平不如上一门,但是通过这门课,大概可以知道机器人中有运动规划的方向。同时,大作业还包括手写A*、PRM、势场等基本运动规划算法。同时大概可以知道碰撞检查的基本方法。

机动性:这部分主要介绍双足机器人的控制。通过这个课程,一方面可以对双足机器人控制的发展有一个大概的了解,这样波士顿动力的视频看起来就不会那么铺天盖地了。同时,更重要的是掌握机器人建模与控制的关系:一个简化的模型也可能对控制有很大的帮助。

观感:这个课程质量很好。基本介绍了相机模型,多视角几何等等。这些内容对未来SLAM、3D视觉和校准的研究非常有帮助。大家学习后,可以做出类似《ar原理演示》一文中的效果:https://v.qq.com/x/page/z0308y9971c.html

估计与学习:本课程从高斯分布入手,介绍机器人状态估计中一些非常有用的工具,如卡尔曼滤波器、粒子滤波器等。而且这门课的大作业会让你从零开始编写2D地图重建程序,你可以知道如何利用激光传感器信息获取下面的2D地图。

4.3区域办事处

到现在为止,你已经对机器人的基础知识有了一个完整的了解,也用Matlab实现了一些有趣的算法。但是,你发现机器人是一个非常庞大的系统。作为一个初学者,不可能从零开始一步一步的构建机器人需要的所有算法模块。这个时候,你应该开始拥抱伟大的开源世界。

可能很多人都知道有一个开源项目叫机器人操作系统,ROS)。

对于学习ROS,网上可能有很多教程。但是我感觉对于很多机电一体化及其自动化专业的学生来说,并不适合直接开始看ROS。因为他们缺乏Linux和C++的基础知识。因此,我建议按照以下步骤学习:

Linux:如果你完全没有Linux开发的经验,我建议你可以先安装Ubuntu系统,然后看UNIX初学者教程,熟悉基本的Linux使用方法。

Github:ROS的大部分项目都托管在GitHub上。所以,学会使用github,用Git管理自己的代码是非常必要的。而且你也可以对开源项目做一些改动。例如,你可以像我一样删除多余的分号。

C++基础:如果你没有系统学习过C++,建议先完成这部分,因为ROS的主要代码都是用C++实现的。在此推荐清华大学李征在校内网上推出的《C++语言程序设计基础》和《C++语言程序设计进阶》课程。当然,学习C++可以在Ubuntu下进行,安装一个Visual Studio代码是个不错的选择。

数据结构:其实以上基础足够你学习ROS了。不过为了以后的学习,可以适时学习一些数据结构的知识。数据结构方面,推荐学校在线清华邓俊辉的《数据结构(一)》和《数据结构(二)》。

现在,你可以大胆的去见ROS了。作为一个开源项目,我觉得最好的课程是官网的ROS教程。

首先,通过初级和中级,了解ROS的基本通信机制,学会使用基础工具如柳絮、roslaunch、Rviz等。

之后可以根据自己的研究兴趣看不同的模块。

有条件的话可以和一些ROS支持好的平台合作研究,可以大大提高学习速度。比如TurtleBot,Baxter,万能机器人等等。这要看每个人的情况。)

理论上,在ROS环境下,你可以做大量与实时控制无关的研究,比如SLAM、导航、运动规划等。如果你从事的是比较底层的工作,比如控制器设计,ROS目前是不能胜任的。(如果不知道为什么,复习一下实时操作系统和机器人控制的知识)。

动词 (verb的缩写)先进的

到目前为止,你是一个优秀的机器人工程师。但是如果想从事研发,就需要学习更多的专业知识。当然这部分和大家的研究方向密切相关,我就不赘述了。简单介绍一下。

另外,强烈推荐入手一本《斯普林格机器人手册》[2]。当你接触到一个新的领域时,在手册中找到相应的章节,通过它学习基本大纲,利用提供的参考资料快速补全知识。

5.1数学

这个时候你的数学基础基本不允许你再往前走了。所以,你需要补充你的数学知识。

数值计算方法:很多时候我们是用计算机来实现算法功能的,所以你一定要知道基本的数值计算方法,比如数值微分,数值积分。我没有什么好的公开课资源推荐。

凸:这个世界上很多问题都没有解析解,所以要用最优化的方法来计算。所以,你必须知道如何建立优化模型,知道如何用代码求解。这里推荐斯坦福的公开课凸优化。

群李代数:最优化方法中经常用到梯度信息,但是你发现很多时候你不知道如何定义梯度。群的李代数是一个非常经典的数学工具,可以非常方便地描述SO(3),SE(3) 空中的对象。至此,你之前关于四元数,角速度之类的问题就一扫而光了空。这部分学习资料我以后再补充。

5.2现代机器人技术

李群代数对很多工科学生来说可能一时还接受不了。这里推荐从本科生教材《现代机器人学》开始,非常简单。

你可以在网上找到所有关于它的资料,Coursera上也有相应的课程:现代机器人学。

通过这门课程,你可以掌握新的螺杆建模方法,同时你会发现机器人运动学和动力学建模变得如此简单干净。

这时,你已经接触了一点李群李代数。之后可以去找一些工科生李群李代数的教材,比如《微分几何与李群笔记,I & II》

5.3控制

这时候你可能已经尝试过搭建一些机器人平台,学过一些基本的控制理论。但是你发现实际的机器人并不理想,动力学模型可能很不准确。所以,你需要识别机器人的参数。所以,你可以去看看哈利勒的教材《机器人的建模、识别与控制》[3]。其中,你需要知道各种滤波算法(计算加速度)和各种数值优化算法。而且,如果你需要标定机器人的运动学参数,你会发现李群李代数可以很容易地定义各种相关的雅可比。

现在,你有了一个相对精确的动力学模型,但是你发现在规划机器人控制器的轨迹时,需要给出速度和加速度约束。你觉得这有问题。是的,机器人系统中实际上没有速度和加速度约束。我们所有的操作都是针对电机扭矩的。也就是说,我们只有力矩约束。

那么,问题来了:如何让机器人在力矩约束下实现最快的运动。所以你陷入了最优控制的陷阱。在这里,各种数值优化方法将非常有用。

现在你可以控制单个机器人,但是你发现一旦机器人接触到环境,仅仅使用机器人模型是不够的。你需要模拟环境。然而,环境无法精确建模。于是,你开始学习各种力控制,阻抗控制等等。据此,你就可以实现所谓合作机器人的一些功能:“听说现在合作机器人很流行,所以我做了1/7。”

5.4体育规划

现在,你可以让机器人按照你的要求移动。但是你觉得机器人还是太难用,必须手动指定通过路径点,否则机器人可能会和环境发生碰撞。你认为机器人有可能自己找到这些路径点吗?

于是,你来到了体育策划领域。

当然,一个很自然的想法是,是否可以直接构造一个目标函数,用优化的方法计算出所需的轨迹。然而,有时候世界并不是那么可爱。运动规划问题通常是非凸问题,不能直接求解。因此,有各种基于采样的机器人手臂算法。当然也有人将其近似为若干凸问题进行优化,在相对简单的场景下效果还不错。

关于运动策划的大致介绍,可以参考我之前的文章:运动策划|简介。

当然,更详细的介绍最好看课本,比如《机器人运动原理》[4]和《规划算法》[5],都是很好的课本。

另外,这部分必须用编程来完成。开放的运动规划库是一个很好的参考,相信你在学习ROS的时候也或多或少的了解过。

我相信只要你理解的足够深入,你就会明白李群李代数的作用。例如:

(1)运动规划是在构型空间中进行的,大多数常见机构的构型空间是一个李群:多关节机器人的关节空室(Torus(n))、无人机(SE(3))、机器人末端操作对象的相关约束(SE(3))。因此,只要我们定义各种李群的基本性质,就可以用统一的规划算法进行规划。可以看到Ompl中状态空间的使用。

(2)当我们的规划涉及到一些约束时,比如保持机器人末端水平(拿着一杯水)。一种方法是使用传统方法。比如OpenRave中的一个实现:constraint planning——在关节空之间随机采样一个点,然后投影到最近的任务空,再通过雅可比迭代将随机点连接到RRT树。

但是,我们可以从另一个角度来看问题。机器人的端姿是阿瑟③李群。保持终端水平可以认为是R3 空和SO(2) 空之间的半直积,也是李群。所以我们可以直接在李群或者切空间中运行一个RRT,比如切丛RRT[6]和AtlasRRT[7]。

5.5机器学习

之前的很多工作都是在做建模+识别。其实还有一种基于数据的工作,就是给出一个大概的模型,利用数据进行学习和拟合。它也被称为机器学习。

为此,我个人的学习路径如下:

Coursera去吴恩达的机器学习网站学习机器学习的基本内容。

杰弗里·辛顿(Geoffrey Hinton)的用于机器学习的神经网络,以前在Coursera上看到过,现在似乎只在Youtube上有。这门课基本上可以走完几个经典的神经网络。

各种开源平台。有了前面的基础和Matlab实现的几个经典的机器学习算法,可以尝试一些深度学习开源平台,比如TensorFlow。做机器学习的人太多了,所以资料很多。网上自学非常容易。

当然要知道,我们学习机器学习,并不是为了转向DL方向,而是为了用它为机器人研究提供工具:

智能控制:相信学过智能控制的朋友应该还记得小脑模型等网络在控制中的应用;

建模:对于一些建模不好的地方,有时候可以尝试机器学习的方法,比如用神经网络拟合摩擦力;

视觉:机器人需要和视觉结合,DL在视觉领域发展很快。有时候,有了这个工具,实验原型可以非常快地建立起来;

强化学习:这将在下一章介绍。

5.6加强学习

如果你学过强化学习,你一定会对它的极简理论印象深刻:所有的理论都是从一个贝尔曼方程推导出来的。而且强化学习符合人的直觉。所以很多人认为强化学习是机器人未来的发展方向。

这个我不做过多评论。我只给你简单介绍一下强化学习。

首先,是读书。萨顿的《强化学习导论》[8]可以说是一本必读的圣经。

阅读萨顿的书,可以一步一步学习如何从原来的贝尔曼方程推导出动态规划、蒙特卡罗、TD学习等方法。

你知道强化学习就是通过不断的试错,学会得到一个从状态到动作的查找表。

所以,你想知道,有没有可能简化这个查找表?所以,你知道有函数逼近。如果这个近似函数是一个神经网络,那么它就是现在非常热门的深度强化学习。

当然,这些都不重要。理解马尔可夫决策过程是很重要的。你会发现它不仅可以用来解决运动规划问题(DP ≈ Dijkstra,蒙特卡罗≈ RRT),还可以用来解决任务规划问题。

5.7最新论文

至此,你已经能够阅读大部分最新的论文。因此,你应该关注相关的会议,如RSS,ICRA,IROS等。,并了解机器人领域的最新进展;通过《IJRR》和《TRO》等杂志学习最新理论。

当然,你也可以通过谷歌学术订阅相应的关键词,它会不定期地将最新的论文推送至你的邮箱。

6.勇者斗恶龙。

从此你知道了如何让一个机器人动起来,掌握了机器人研究某个领域的知识。然后,你像一个刚刚杀死了一只史莱姆的勇者一样,举着剑,准备刺穿龙的胸膛。

但是,就在这个时候,有人跑过来,把一盆水倒在你的头上:

现在任何一个公司,花点钱请人画个机器人图纸,找个工厂加工一下,买些电机、减速器之类的零件,装上万能控制器就跑了。需要什么动力学,最优控制,运动规划!

即使是四个人,DH也足够机器人建模了。最多做一些运动学标定和动力学辨识,把更多的精力放在应用集成上。需要什么样的李群李代数,凸优化,强化学习!

“这个世界上哪里有龙!」

然而我想说的是,就机器人而言,只要工农业等体力劳动没有完全自动化,龙就会存在:

当你看到大部分机器人都是按照上面的方式一点一点教出来的时候,你会有一种强烈的感觉:“这就是龙!」

当你看到世界上那么多机器人公司,各种不兼容的编程语言和教学设备,你会有一种强烈的感觉:“这就是龙!」

当你看到有很多和你同龄的人在工厂里做着重复枯燥的工作时,你会有一种强烈的感觉:“这就是龙!」

是的,在机器人领域,有很多龙龙。于是,你拿起剑,兴冲冲地上路了。

突然你发现你之前学的都是怎么杀一条“真空球形龙”,你不知道怎么杀一条真龙。

所以,你要坚持学习。多找些真正的黏液修炼者,把之前学到的剑术运用到实际战场上。

后来,你遇到了新的问题。你之前的剑没有“工业实力”:ROS崩溃,Oroscos没有处理Eigen Alignment,没有有用的3D传感器,工业机器人没有开放底层接口等等。

然后,你意识到你需要重建你真正的剑。

然而,这不是你一个人可以做到的。你需要一个团队,有人采煤,有人炼钢,有人锻造,有人磨刀…

此时,您不妨访问RVBUST。

七。参考

[1]约翰·j·克雷格机器人学导论:力学与控制[M]。1986.

[2]西西利亚诺、布鲁诺和乌萨马·哈提卜编辑。斯普林格机器人手册。斯普林格,2016。

[3] Khalil、Wisama和Etienne Dombre。机器人的建模、识别和控制。巴特沃斯-海涅曼公司,2004年。

[4] Choset,Howie M .等,《机器人运动原理:理论、算法和实现》。麻省理工学院出版社,2005年。

[5]Steven m . LaValle,规划算法。剑桥大学出版社,2006年。

[6] Kim,Beobkyoon等,“切束RRT:约束运动规划的随机算法”机器人34.1 (2016): 202-225。

[7]贾勒特、莱昂纳尔和约瑟夫·波塔。”使用基于地图集的RRT进行具有环闭合约束的路径规划.”机器人研究。施普林格,查姆,2017。345-362.

[8]萨顿、理查德s .和安德鲁g .巴尔托。强化学习导论。第135卷。剑桥:麻省理工学院出版社,1998年。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/263472.html

发表回复

登录后才能评论