首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在运动控制中使用神经网络

在运动控制中使用神经网络
EN

Stack Overflow用户
提问于 2014-05-19 01:07:44
回答 2查看 968关注 0票数 5

我正在建造一个自我平衡的两轮机器人。我一直计划为平衡部分实现一个简单的算法-然后花几天时间调整算法,但现在我有了一个想法,我可以使用神经网络来代替。

作为输入,我想给它提供轮子的当前速度,陀螺仪和加速度计在与平衡相关的维度上的数据,也许还可以从遥控器输入。

作为输出,我想要每个马达的方向和推力。

错误情况包括跌倒和不能根据遥控器移动。

我遇到的麻烦是如何训练它?理想情况下,它会随着时间的推移而学习,但我不知道网络将如何学习-比方说,如果它做了什么,那么2秒后就会掉下来。

因此,我无法立即告诉网络某个输出是错误的。我的一个想法是,每当机器人倒下时,我都会“回滚”整个网络状态几秒钟。这样做的正确方法是什么?

我也想让网络尝试节约能源;使用电力是负面的,但却是必要的。

我希望能够在1Ghz的BeagleBone黑色电脑上使用libfann。

额外信息:我不会允许机器人倒下,所以如果达到一定的阈值,手动算法将接管控制-并将机器人带到中立位置,并将控制权交还给网络。

EN

回答 2

Stack Overflow用户

发布于 2014-05-23 01:02:05

为了让它学习,你需要记录所有的输入和输出,然后将数据输入到ANN中。我已经在水处理的过程控制领域做到了这一点。软件可能很贵,而且我不知道有没有开源的替代方案,但你“训练”它的方式是给它提供历史数据。例如,当你在一个输出上做x时,y在一个输入上返回。然后,您可以在记录数据的同时进行一系列实验,并将数据输入ANN。

票数 1
EN

Stack Overflow用户

发布于 2020-11-18 17:01:19

您可以从模拟器开始,以避免不得不拿起机器人或求助于使用备用控制器。您可以找到一个为T-Bot构建的here,它是由KLiK Robotics生产的自平衡机器人。在python文件夹中查找T-BotSimulator_KB_HD.py文件。该仿真器目前采用的是级联PID回路,但其结构非常简单明了,你可以很容易地用现有的控制器代替人工神经网络。依赖项是Numpy和Pygame。您还需要TBotTools,它也在Python文件夹中。祝好运。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23724625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档