0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用神经网络教机器人走路?

pmkA_arm_china 2018-02-28 19:12 次阅读

说起乐高积木,大多数人一定都想的是小孩子的玩具吧?但如果再加上Cortex-M4处理器,一两个马达和一些电线绑带,你能把它玩得有“技术含量”吗?当然,“技术流”玩家还是有的,Sebastian Förster,这位来自德国的嵌入式系统开发者,便用这些东西搭建了一个四足机器人,并且用神经网络教会它走路。这个被命名为“Scratchy”小怪物的机器人,一共有四个伺服电机控制四条腿,使用超声波探测距离,主控则用的是STM32F407探索开发板。

对此,Arm深度学习技术总监Mark Connor专程和Sebstian见面并对他进行了采访,请他谈了一下为什么要做这个“小怪物”以及他的心得体会,让我们一起来围观下吧。

能否谈谈你怎么想到要去做这个“小怪物”的吗?

我目前硕士学位论文的题目就是有关如何在更小的Cortex-M处理器上实现机器学习,通过一个神经网络的实例来做性能测试。而作为测试的一部分,我把FANN神经网络库移植到了Cortex-M4上,并且我不想做太学术太死板的东西,而希望是有型的东西,于是我选择做个机器人。如你所见,其实我没做的很复杂,就先把一些乐高积木连到电机上,然后再连到一块有足够Flash和SRAM的STM32F4开发板上。

“小怪物”的成功也证明了我论文的结论——在小型的基于Cortex-M设备上运行机器学习算法是完全可能的。

你有没有试图自己对腿部动作进行编程

当然没有,这显然应该是让AI去干的!“小怪物”的结构允许我可以独立地训练向前和向后的步法,让我大吃一惊的是,虽然它没有膝关节,但是也能工作。因为Deep Mind在 Atari Q-Learner上取得了很大的成功,所以我也决定使用Q-Learning,并且我可以在他们的基础之上编写Q-learning的代理。 FANN库其实是由其他人开发并在LGPL许可下开源的,我只是单纯移植到了Cortex-M4上。

你是如何决定网络拓扑的?

SRAM的大小限制了拓补结构,神经网络可以做的更大,但使用额外的变量会消耗非常多的存储器空间,而我更想直接在Cortex-M4上直接进行训练。在我看来,使用两个或三个前馈层并没有太大区别,尽管我没有直接比较它们,而我想压榨一下处理器!

如何利用神经网络教机器人走路?

微控制器进行当前的神经网络研究是否容易?

其实裸C(非CUDA)框架完全可以适用于512Kb闪存和256Kb SRAM,我很幸运地找到FANN,但是我需要编写一个小文件系统,以便库可以直接从闪存加载保存的网络权重。”

你对那些有兴趣构建和培训自己的机器人的开发者,有什么建议吗?

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    211

    文章

    28420

    浏览量

    207111
  • 神经网络
    +关注

    关注

    42

    文章

    4771

    浏览量

    100773

原文标题:如何利用神经网络教会“小怪物”走路?

文章出处:【微信号:arm_china,微信公众号:Arm芯闻】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    协作机器人拽拖示详解

          协作机器人的拖动示是一种简化机器人编程的方法,通过人类操作员直接引导机器人进行任务执行,而无需进行复杂的编程。下面是关于协作机器人
    的头像 发表于 10-23 15:52 205次阅读

    焊接机器人模式怎么设置

    在现代制造业中,焊接机器人广泛应用于提高生产效率和焊接质量。而焊接机器人模式的正确设置,是确保自动化焊接过程精确执行的重要环节。今天创想智控焊缝跟踪系统小编带大家了解焊接机器人
    的头像 发表于 09-09 17:55 408次阅读
    焊接<b class='flag-5'>机器人</b>示<b class='flag-5'>教</b>模式怎么设置

    BP神经网络和卷积神经网络的关系

    BP神经网络(Backpropagation Neural Network)和卷积神经网络(Convolutional Neural Network,简称CNN)是两种在人工智能和机器学习领域
    的头像 发表于 07-10 15:24 1518次阅读

    BP神经网络和人工神经网络的区别

    BP神经网络和人工神经网络(Artificial Neural Networks,简称ANNs)之间的关系与区别,是神经网络领域中一个基础且重要的话题。本文将从定义、结构、算法、应用及未来发展等多个方面,详细阐述BP
    的头像 发表于 07-10 15:20 1073次阅读

    神经网络控制的优势与挑战

    神经网络控制是一种利用人工神经网络对复杂系统进行建模和控制的方法。它在许多领域得到了广泛的应用,如工业自动化、机器人技术、航空航天、生物医学工程等。 一、引言 1.1
    的头像 发表于 07-09 09:47 607次阅读

    机器人神经网络系统的特点包括

    机器人神经网络系统是一种模拟人类大脑神经网络的计算模型,具有高度的复杂性和灵活性。在本文中,我们将详细介绍机器人神经网络系统的特点,包括其结
    的头像 发表于 07-09 09:45 458次阅读

    机器人神经网络控制原理是什么

    ,虽然在某些应用场景下取得了较好的效果,但在面对复杂、不确定和动态变化的环境时,其性能往往受到限制。神经网络作为一种模拟人脑神经元网络的计算模型,具有强大的非线性映射能力和自适应学习能力,被广泛应用于机器人控制领域
    的头像 发表于 07-09 09:40 528次阅读

    如何利用Matlab进行神经网络训练

    ,使得神经网络的创建、训练和仿真变得更加便捷。本文将详细介绍如何利用Matlab进行神经网络训练,包括网络创建、数据预处理、训练过程、参数调整以及仿真预测等步骤。
    的头像 发表于 07-08 18:26 1888次阅读

    rnn是递归神经网络还是循环神经网络

    RNN(Recurrent Neural Network)是循环神经网络,而非递归神经网络。循环神经网络是一种具有时间序列特性的神经网络,能够处理序列数据,具有记忆功能。以下是关于循环
    的头像 发表于 07-05 09:52 578次阅读

    递归神经网络是循环神经网络

    递归神经网络(Recurrent Neural Network,简称RNN)和循环神经网络(Recurrent Neural Network,简称RNN)实际上是同一个概念,只是不同的翻译方式
    的头像 发表于 07-04 14:54 759次阅读

    反向传播神经网络和bp神经网络的区别

    反向传播神经网络(Backpropagation Neural Network,简称BP神经网络)是一种多层前馈神经网络,它通过反向传播算法来调整网络中的权重和偏置,以达到最小化误差的
    的头像 发表于 07-03 11:00 808次阅读

    如何使用神经网络进行建模和预测

    神经网络是一种强大的机器学习技术,可以用于建模和预测变量之间的关系。 神经网络的基本概念 神经网络是一种受人脑启发的计算模型,由大量的节点(神经
    的头像 发表于 07-03 10:23 755次阅读

    bp神经网络和卷积神经网络区别是什么

    BP神经网络(Backpropagation Neural Network)和卷积神经网络(Convolutional Neural Network,简称CNN)是两种不同类型的人工神经网络,它们在
    的头像 发表于 07-03 10:12 1186次阅读

    卷积神经网络和bp神经网络的区别

    卷积神经网络(Convolutional Neural Networks,简称CNN)和BP神经网络(Backpropagation Neural Networks,简称BPNN)是两种
    的头像 发表于 07-02 14:24 3988次阅读

    神经网络架构有哪些

    神经网络架构是机器学习领域中的核心组成部分,它们模仿了生物神经网络的运作方式,通过复杂的网络结构实现信息的处理、存储和传递。随着深度学习技术的不断发展,各种
    的头像 发表于 07-01 14:16 715次阅读