码迷,mamicode.com
首页 > 其他好文 > 详细

[顶会论文]:ICRA2020机器人学习相关论文汇总

时间:2020-12-16 11:54:59      阅读:2      评论:0      收藏:0      [点我收藏+]

标签:learn   快速   复制   contex   lis   obs   sim   实施   部分   

  • [1]. Benchmark for Skill Learning from Demonstration: Impact of User Experience, Task Complexity, and Start Configuration on Performance

  • 作者:M. Asif RanaDaphne ChenS. Reza AhmadzadehJacob WilliamsVivian ChuSonia Chernova
  • 简介:在这项工作中,我们贡献了一项大规模研究,该研究以演示方法为基准,对基于多个运动的学习的性能进行了基准测试。考虑到现有方法的数量和多样性,进行全面的实证研究以比较这些学习技术的相对优势至关重要。特别是,我们根据最终用户可能希望在现实世界中执行任务的属性来评估四种不同的方法。为了执行此评估,我们从九名参与者收集了数据,这些数据涉及四个具有不同起始条件的不同操作任务。产生的演示用于训练180个任务模型,并在物理机器人上对720个任务复制品进行了评估。我们的结果详细说明了i)任务的复杂性,ii)演示人员的专业知识以及iii)机器人的启动配置如何影响任务性能。收集的演示,机器人执行和评估数据集将公开提供。还提供了研究见解和指南,以指导有关这些方法的未来研究和部署选择。
  • [2]. MPC-Net: A First Principles Guided Policy Search

  • 作者:Jan CariusFarbod FarshidianMarco Hutter
  • 简介:我们提出一种采用已知模型的动力系统控制模仿学习方法。我们的政策搜索方法以MPC的解决方案为指导。这种典型的策略搜索方法会最小化指导演示和学习到的策略之间的距离度量。但是,我们的损失函数对应于控制哈密顿量的最小化,这是从最优原理得出的。因此,我们的算法直接尝试通过参数化的控制律类来求解最优性条件。此外,提出的损失函数明确地编码了最优控制问题的约束条件,并且我们提供了数值证据,表明其最小化可以提高约束条件的满意度。我们训练了用于控制四足机器人的专家混合神经网络体系结构,并显示了该策略结构非常适合此类多模式系统。所学习的策略可以通过不到10分钟的演示数据成功地稳定实际步行机器人上的各种步态。
  • [3]. Robot Programming without Coding

  • 作者:G. Lentini, G. Grioli, M. G. Catalano, A. Bicchi
  • 作者主页:https://www.iit.it/people/gianluca-lentini
  • 简介:直观而轻松的机器人编程的一种方法是通过演示将技能从人转移到机器。关于从多个示威中学习,存在大量文献。另一方面,本文通过一个演示来解决提供所有信息以执行某项任务的问题-因此,这是一个更接近于编程而不是学习的问题。我们使用可穿戴的消费类设备(但不使用键盘或编码)作为编程工具,以使程序员可以对机器人进行远程操作,该机器人又可以记录来自物体,环境,机器人和人类的最显着的特征和能力。为了实现这一目标,我们将现成的软关节机器人组件与动态运动基元框架相结合,这有助于我们扩展人类轨迹和阻抗调节技能。该框架可以快速,直观地教授机器人,而无需编写代码。实验测试是在由两个配备拟人化末端执行器的7个自由度协作机器人组成的双臂系统上进行的。实验显示了该框架的功能并验证了阻抗扩展的有效性。
  • 视频地址:https://www.bilibili.com/video/BV1Qy4y1S7PN/
  • [4]. Learning Robust Task Priorities and Gains for Control of Redundant Robots

  • 作者:Luigi PencoEnrico Mingo HoffmanValerio Modugno
  • 简介:在冗余机器人(例如人形机器人)中生成复杂运动通常是通过基于二次编程的多任务控制器来完成的,其中,根据严格或软优先级来组织大量任务。 需要耗时的调整和专业知识来选择合适的任务优先级并优化其收益。 在这里,我们会自动学习控制器配置(软,严格的任务优先级和收敛增益),寻找可在保持机器人平衡的同时有效跟踪各种所需任务轨迹的解决方案。 我们使用多目标优化来比较和选择代表性能和鲁棒性的帕累托最优解决方案,并且可以将其转移到实际机器人上。 我们通过学习iCub人形机器人的控制配置来执行各种全身任务(例如,捡起物体,到达和打开门),通过实验验证了我们的方法。
  • [5]. Planning with Uncertain Specifications (PUnS)

  • 作者:Ankit ShahShen LiJulie Shah
  • 简介:奖励工程对于强化学习系统中的高性能至关重要。先前关于奖励设计的研究主要集中在代表奖励的马尔可夫函数上。虽然已经有研究将非马氏奖赏表示为线性时间逻辑(LTL)公式,但是这一直集中在用户直接定义的任务规范上。但是,在许多实际应用中,任务规范是模棱两可的,只能表示为对LTL公式的信任。在这篇文章中,我们介绍了具有不确定性规格(PUnS)的计划,这是一种新颖的表达方式,旨在解决非马尔可夫规格对以LTL公式表示的信念所带来的挑战。我们提出了四个标准,这些标准捕获了满足对不同应用规范的信念的语义,并分析了这些标准在合成域中的定性含义。我们演示了存在任何PUnS实例的等效Markov决策过程(MDP)。最后,我们演示了在现实世界中使用机器人自动设置餐桌的任务的方法,该机器人可以从人类演示中推断出任务规格。
  • [6]. Predictive Modeling of Periodic Behavior for Human-Robot Symbiotic Walking

  • 作者:Geoffrey ClarkJoseph CampbellSeyed Mostafa Rezayat SorkhabadiWenlong ZhangHeni Ben Amor
  • 简介:我们在本文中提出“周期性交互基元”-一种概率框架,可用于学习周期行为的紧凑模型。我们的方法将现有的交互基元表述扩展到周期性运动状态,即步行。我们表明,该模型特别适合于学习数据驱动的,人类步行的定制模型,然后可以将其用于生成对未来状态的预测或推断潜在的生物力学变量。我们还演示了如何使用模仿学习方法使用相同的框架来学习机器人假体的控制器。与人类参与者进行的实验结果表明,“周期性交互基元”有效地生成了机器人假肢脚踝的预测和脚踝角度控制信号,MAE为2.21度,每次推断为0.0008s。在存在噪声或传感器掉线的情况下,性能会优雅下降。与替代方法相比,该算法在测试对象上的运行速度提高了20倍,执行精度提高了4.5倍。
  • [7]. Adaptive Curriculum Generation from Demonstrations for Sim-To-Real Visuomotor Control

  • 作者:Lukas Hermann? , Max Argus? , Andreas Eitel, Artemij Amiranashvili, Wolfram Burgard, Thomas Brox
  • 简介:我们建议在有稀疏奖励的情况下,通过示范自适应学习课程(ACGD)进行强化学习。 ACGD不是设计形状的奖励函数,而是通过控制从演示轨迹进行采样的位置以及使用哪组模拟参数来自适应地为学习者设置适当的任务难度。 我们表明,在模拟中训练基于视觉的控制策略,同时通过ACGD逐渐增加任务的难度,可以改善策略向现实世界的转移。 通过任务难度,域随机化程度也逐渐提高。 我们演示了两个实际操作任务的零击转移:拾取和存放以及块堆叠。 可以在https://lmb.informatik.uni-freiburg.de/projects/curriculum/中找到显示结果的视频。
  • 项目地址:https://lmb.informatik.uni-freiburg.de/projects/curriculum/
  • [8]. Accept Synthetic Objects As Real: End-To-End Training of Attentive Deep Visuomotor Policies for Manipulation in Clutter

  • 作者:Pooya Abolghasemi, Ladislau Bol¨ oni 
  • 简介:最近的研究表明,采用示威学习(LfD)和强化学习(RL)的变体对机器人操纵进行端到端训练多任务深度视觉运动策略是可行的。在本文中,我们将端到端LfD架构的功能扩展到混乱中的对象操作。我们首先介绍一个称为“接受合成对象为实数”(ASOR)的数据增强过程。使用ASOR,我们开发了两种网络体系结构:隐式注意ASOR-IA和显式注意ASOR-EA。两种体系结构都使用与以前的方法相同的训练数据(在整洁的环境中进行演示)。实验结果表明,在杂乱无章的环境中,ASOR-IA和ASOR-EA在相当多的试验中都取得了成功,而以前的方法从未成功。此外,我们发现,即使在整洁的环境中,ASOR-IA和ASOR-EA的性能也比以前的方法好,即使在整洁的环境中,ASOR-EA的性能也比以前的最佳基准要好。
  • [9]. A Probabilistic Framework for Imitating Human Race Driver Behavior

  • 作者:Stefan Lockel , Jan Peters , and Peter van Vliet
  • 简介:了解和模拟驾驶员行为对于高级车辆开发至关重要。但是,独特的驾驶风格,不一致的行为以及复杂的决策过程使其成为一项具有挑战性的任务,并且现有方法通常缺乏可变性或鲁棒性。为了解决此问题,我们提出了驾驶员行为概率建模(ProMoD),这是一个将驾驶员行为建模任务划分为多个模块的模块化框架。使用概率运动基元学习全局目标轨迹分布,回旋曲线用于生成局部路径,并且通过神经网络执行相应的动作选择。与其他模仿学习算法相比,在模拟赛车环境中进行的实验显示出在模仿准确性和鲁棒性方面的显着优势。所提出的框架的模块化体系结构有利于在驱动线适应和多个运动基元的排序中进行直接的扩展,以供将来研究。
  • [10]. Learning of Exception Strategies in Assembly Tasks

  • 作者:Bojan Nemec
  • 简介:无论我们认真学习并优化了装配策略,使用机器人执行的装配任务通常都会因无法预料的情况而失败。 在无法预测可能导致给定任务失败的所有因素的非结构化环境中工作的类人机器人中,这个问题甚至更为严重。 在这项工作中,我们提出了一个并发的LfD框架,该框架将演示的异常策略与给定的上下文相关联。 每当发生故障时,提出的算法都会总结有关当前上下文的过去经验,并生成解决装配问题的适当策略。 为此,我们在力/扭矩数据上应用了PCA,它会生成当前上下文的低维描述符。 使用Franka-Emika Panda机器人在“钉入孔”(PiH)任务中验证了所提出的框架。
  • [11]. A Framework for Learning from Demonstration with Minimal Human Effort

  • 作者:Marc Rigter
  • 简介:我们在共享自主权的背景下考虑机器人学习,在这种情况下,系统的控制可以在人工遥控和自动控制之间切换。在这种情况下,我们要进行强化学习和向示范学习,因为这需要花费大量的人工时间。该成本表示远程操作机器人或使机器人从故障中恢复所需的人工时间。对于每个情节,代理必须在请求人工操作或使用其自主控制器之一之间进行选择。在我们的方法中,我们根据给定情节的初始状态来学习预测每个控制器的成功概率。在上下文多臂强盗算法中使用它来选择情节的控制器。可通过演示和强化学习在线学习控制器,从而提高自主性能,并且系统将不再依赖具有更多经验的远程操作员。我们证明了我们选择控制器的方法减少了执行两个模拟任务和一个实际任务的人力成本。
  • [12]. Learning Constraints from Locally-Optimal Demonstrations under Cost Function Uncertainty

  • 作者:Glen ChouNecmiye OzayDmitry Berenson
  • 简介:我们提出了一种用于从局部最优演示中学习参数约束的算法,其中优化的成本函数对于学习者来说是不确定的。我们的方法在混合整数线性程序(MILP)中使用演示的Karush-Kuhn-Tucker(KKT)最优性条件,通过使用已知的约束参数化或增量地学习与演示的局部最优性一致的约束。扩展与演示一致的参数设置。我们为所恢复的安全/不安全集合的保守性提供了理论保证,并在使用局部最优演示时分析了约束学习的限制。通过学习7自由度臂和四旋翼示例的约束条件,我们在高维约束条件和系统上评估了我们的方法,表明该方法优于竞争性约束条件学习方法,并且可以有效地用于计划环境中的新的满足约束条件的轨迹。
  • [13]. Gershgorin Loss Stabilizes the Recurrent Neural Network Compartment of an End-To-End Robot Learning Scheme

  • 作者:Mathias Lechner
  • 简介:传统的机器人控制服需要深入的任务特定知识来设计,构建和测试控制软件。深度学习的兴起使得端到端解决方案可以完全从数据中学习,而对应用程序领域的了解却很少。我们设计了一种学习方案,通过模仿学习机器人领域中的梯度下降来训练端到端线性动力系统(LDS)。通过将LDS的内部状态更新的特征值强制为负实数,我们引入了新的正则化损失分量以及一种学习算法,从而提高了学习的自治系统的稳定性。与线性和非线性递归神经网络(RNN)架构相比,我们在一系列现实生活和模拟机器人实验中评估了我们的方法。我们的结果表明,我们的稳定方法可以显着提高LDS的测试性能,从而使此类线性模型能够与当代非线性RNN架构的性能相匹配。可以在https://youtu.be/mhEsCoNao5E上观看与其他方法相比在看不见的环境中我们的方法在移动机器人上的避障性能的视频。
  • [14]. Mini-Batched Online Incremental Learning through Supervisory Teleoperation with Kinesthetic Coupling

  • 作者:Hiba Latifee; Affan PervezJee-Hwan RyuDongheui Lee
  • 简介:我们提出了一种通过远程操作的在线增量学习方法,该方法允许操作员在任务执行过程中在必要时部分修改学习的模型。 与传统的增量学习方法相比,该方法适用于基于远程操作的教学,只需要部分演示,而无需阻碍任务执行。 运营商与代理之间的动态权限分配和动觉耦合可帮助运营商正确感知需要使用局部轨迹在线声明代理行为的确切实例。 为此,我们提出了期望最大化算法的一种变体,可以通过微型批次的经修改的局部轨迹来更新原始模型。 所提出的方法减少了有节奏的孔内遥测作业的人工工作量和等待时间,在作业过程中需要在线部分修改。
  • 视频地址:https://www.youtube.com/watch?v=FUp-T-3yqYA
  • [15]. Recurrent Neural Network Control of a Hybrid Dynamical Transfemoral Prosthesis with EdgeDRNN Accelerator

  • 作者:Chang GaoRachel GehlharAaron D. AmesShih-Chii LiuTobi Delbruck
  • 简介:小腿假肢可通过增加舒适度和减少运动能量来改善截肢者的生活质量,但目前的控制方法在根据人类经验调节行为方面受到限制。本文介绍了学习动态机器人辅助设备的复杂控制器的第一步。我们提供了行为克隆的第一个示例,该行为克隆是使用基于门控循环单元(GRU)的循环神经网络(RNN)在自定义硬件加速器上运行的,该循环在利用时间稀疏性的硬件加速器上进行控制。对RNN进行了从原始假体控制器收集的数据的培训。 RNN推断是通过新型EdgeDRNN加速器实时实现的。实验结果表明,RNN可以代替标称PD控制器,从而实现对AMPRO3假肢在平坦地面和不可预见的斜坡上行走的端到端控制,并具有可比的跟踪精度。 EdgeDRNN计算RNN的速度大约是实时速度的240倍,这为将来运行更复杂的任务的大型网络提供了可能性。在具有影响的实时动力系统上实施RNN,为将人工假体系统的其他学习要素纳入假体控制中奠定了基础。
  • [16]. Cross-Context Visual Imitation Learning from Demonstrations

  • 作者:Shuo Yang; Wei ZhangWeizhi LuHesheng WangYibin Li
  • 简介:模仿学习使机器人可以通过简单地观看任务的演示来学习任务。当前的模仿学习方法通??常要求学习者和演示者出现在相同的上下文中。这限制了它们在实际应用中的可扩展性。在本文中,我们提出了一种更通用的模仿学习方法,该方法允许学习者和演示者来自不同的上下文,例如不同的观点,背景以及对象的位置和外观。具体来说,我们设计了一个由三个模型组成的机器人系统:上下文翻译模型,深度预测模型和多模式逆动力学模型。首先,上下文转换模型将演示从不同的上下文转换为学习者的上下文。然后,将颜色观测值和深度观测值作为输入进行组合,逆模型将多模式观测值映射为动作以重现演示,其中深度观测值由深度预测模型提供。通过在仿真和现实世界中执行块堆叠任务,我们证明了所提出的机器人系统相对于其他系统的跨上下文学习优势。
  • [17]. Improving Generalisation in Learning Assistance by Demonstration for Smart Wheelchairs

  • 作者:Vinicius Schettino; Yiannis Demiris
  • 简介:示范学习协助(LAD)涉及使用人类特工的演示来教机器人如何协助另一个人。该概念以前已与智能轮椅一起使用,以为驾驶困难的人提供定制的帮助。这种技术的基本前提是,学习到的辅助政策应该能够推广到与培训所用环境不同的环境。但这尚未经过测试。在这项工作中,我们使用定制的智能轮椅远程学习系统,评估了LAD的辅助功能和一般化能力,同时尝试通过对降维技术和机器学习模型的不同组合进行试验来改善LAD的辅助功能和泛化能力。使用自动编码器减小激光扫描数据的尺寸,并使用高斯过程作为学习模型,相对于该领域最新工作所使用的组合,我们的预测性能提高了23%。使用该模型来协助处于模拟残疾中的驾驶员,与无助驾驶相比,我们观察到了轨道完成时间减少了9.8%。
  • [18]. Analyzing the Suitability of Cost Functions for Explaining and Imitating Human Driving Behavior Based on Inverse Reinforcement Learning

  • 作者:Maximilian Naumann; Liting SunWei ZhanMasayoshi Tomizuka
  • 简介:自动驾驶汽车正在与驾驶员共享道路。为了促进在拥挤的交通中的交互驾驶和协作行为,必须全面了解和表示其他交通参与者的行为。成本函数(或报酬函数)已被广泛用于描述人类驾驶员的行为,因为它们不仅可以明确地纳入人类驾驶员的理性和心智理论(TOM),而且与自动驾驶的运动计划问题具有相似之处车辆。因此,可以生成更多类似人的驾驶行为和可理解的轨迹,以实现更安全的交互和合作。但是,在不同驾驶场景中选择成本函数并非易事,并且没有针对成本函数选择和从各种驾驶场景中学习的系统总结和分析。在这项工作中,我们旨在研究成本函数在多大程度上适合于解释和模仿人的驾驶行为。此外,我们关注成本函数在不同驾驶场景中的区别。为了实现这一目标,我们首先全面回顾文献中现有的成本函数结构。在此基础上,我们指出了进行反强化学习(IRL)的示范条件。最后,我们使用IRL来探索合适的功能并在三种不同的情况下从人类驱动的轨迹中学习成本函数权重。
  • [19]. A Linearly Constrained Nonparametric Framework for Imitation Learning

  • 作者:Yanlong HuangDarwin G. Caldwell
  • 简介:近年来,在模仿学习社区中已经报道了无数先进的结果,从参数化到非参数化,从概率论到非概率论以及从贝叶斯主义到频繁论者的方法。同时,大量的应用(例如,掌握任务和人机协作)进一步显示了模仿学习在广泛领域中的适用性。尽管许多文献致力于在不受限制的环境中学习人类技能,但是学习受限制的运动技能的问题尚未受到同等重视。实际上,受约束的技能广泛存在于机器人系统中。例如,当要求机器人在板上写字母时,其末端执行器的轨迹必须符合板上的平面约束。在本文中,我们旨在解决具有线性约束的模仿学习问题。具体而言,我们建议利用多个演示的概率性质,然后将它们合并到线性约束的优化问题中,最终导致非参数解。此外,还提供了我们的框架与经典模型预测控制之间的联系。提出了一些示例,包括模拟写作和移动任务,以展示我们框架的有效性。
  • [20]. An Energy-Based Approach to Ensure the Stability of Learned Dynamical Systems

  • 作者:Matteo Saveriano
  • 简介:非线性动力学系统代表了一种紧凑,灵活且强大的工具,用于产生反作用力运动。动力系统的有效性取决于其准确表示稳定运动的能力。已经提出了几种方法来从演示中学习稳定和准确的运动。一些方法通过将准确性和稳定性分为两个学习问题来工作,这增加了开放参数的数量和总体培训时间。替代解决方案采用单步学习,但将适用性限制为一种回归技术。本文提出了一种单步方法来学习可与任何回归技术一起工作的稳定且准确的运动。该方法对学习到的动力学进行能量考虑,以在运行时稳定系统,同时引入与演示运动的微小偏差。由于注入系统的能量的初始值会影响再现精度,因此可以使用有效的过程根据训练数据进行估算。在真实机器人上进行的实验以及在公共基准上进行的比较证明了该方法的有效性。
  • [21]. IRIS: Implicit Reinforcement without Interaction at Scale for Learning Control from Offline Robot Manipulation Data

  • 作者:Ajay MandlekarFabio RamosByron BootsSilvio SavareseLi Fei-FeiAnimesh GargDieter Fox
  • 简介:从离线任务演示中学习是机器人技术的一个重要问题。对于在任务实例中有少量变化的简单的短水平操纵任务,从少量演示中脱机学习可以产生成功解决任务的控制器。但是,对于较大的数据集和具有较大变化的较长时间的任务,利用固定的一批数据可能会出现问题。数据可能表现出很大的多样性,并且由次优解决方案方法组成。在本文中,我们提出了不进行大规模交互作用的隐式加固(IRIS),这是一种用于从大规模演示数据集中学习的新颖框架。 IRIS将控制问题分解为一个目标条件低的控制器,该控制器模仿了简短的演示序列,而一个高层的目标选择机制为该目标设置了目标,并选择性地组合了次优解决方案的一部分,从而成功完成了任务。我们评估了三个数据集(包括人类通过众包收集的RoboTurk Cans数据集)中的IRIS,并表明可以从纯粹的离线学习中学习绩效策略。
  • 项目地址:https://sites.google.com/stanford.edu/iris/
  • [22]. Geometry-Aware Dynamic Movement Primitives

  • 作者:Fares J. Abu-DakkaVille Kyrki
  • 简介:在许多机器人控制问题中,诸如刚度和阻尼矩阵以及可操纵性椭球之类的因素自然被表示为对称正定(SPD)矩阵,该矩阵捕获了这些因素的特定几何特征。 但是,无法将典型的学习技能模型(例如动态运动原语(DMP))直接用于表示为SPD矩阵的数量,因为它们仅限于欧氏空间中的数据。 在本文中,我们提出了一种新颖的数学原理框架,该框架使用黎曼度量标准来重新构造DMP,以使生成的公式可以与SPD歧管中的SPD数据一起使用。 该方法的评估表明,DMP的有益特性(例如操作过程中目标的改变)也适用于建议的配方。
  • [23]. Learning a Pile Loading Controller from Demonstrations

  • 作者:Wenyan Yan; Nataliya StrokinaNikolay SerbenyukReza GhabchelooJoni K?m?r?inen
  • 简介:这项工作介绍了一种用于自动机器人轮式装载机的基于学习的桩式装载控制器。 可以从少量的演示中学到控制器参数,并记录下低电平传感器(动臂角度,铲斗角度和静液压驱动压力),以自我为中心的视频帧和控制信号。 通过使用暹罗网络体系结构以及交叉熵和对比损失的结合,可以从演示中学到特定于应用程序的深度视觉功能。 该控制器基于随机森林(RF)回归器,可针对现场条件(装载距离,土壤类型,天气和光照)变化提供鲁棒性。 该控制器已部署到真正的自主式机器人轮式装载机上,并且以明显的优势优于现有技术。
  • [24].Learning Navigation Costs from Demonstration in Partially Observable Environments
  • 作者:Tianyu WangVikas DhimanNikolay Atanasov
  • 简介:本文着重于逆强化学习(IRL),以在未知的部分可观察环境中实现安全有效的自主导航。目的是推断一个成本函数,该函数解释专家演示的导航行为,同时仅依赖于专家使用的观察和状态控制轨迹。我们开发了一个由两部分组成的成本函数表示形式:一个概率性占用编码器,其循环依赖于观测序列;以及一个成本编码器,在占用特征上进行定义。通过区分演示控件和从成本编码器计算出的控件策略之间的误差来优化表示参数。这种差异通常是通过在整个状态空间上通过值函数进行动态编程来计算的。我们观察到,这在部分可观察的大型环境中效率不高,因为大多数状态尚未开发。取而代之的是,我们依靠有效的运动计划算法(例如A *或RRT)仅在有希望的状态的子集上获得的待实现成本的闭式次梯度。我们的实验表明,我们的模型在机器人导航任务中超出了基线IRL算法的准确性,同时大大提高了训练和测试时间推断的效率。

[顶会论文]:ICRA2020机器人学习相关论文汇总

标签:learn   快速   复制   contex   lis   obs   sim   实施   部分   

原文地址:https://www.cnblogs.com/feifanrensheng/p/14117734.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!