我目前正在构建一个四腿(四足),3自由度(自由度)的机器人,在这里建议我使用模拟器在计算机上进行学习,然后将算法上传到机器人。我正在为机器人使用Arduino Uno,可以使用什么软件来模拟学习,然后可以上传到Arduino开发板?

评论

您会使用现有的机器人还是自己设计和建造它?

我已经从头开始构建机器人了:)

#1 楼

凉亭是您想要做的一个很好的工具。由于您使用的是自定义机器人,因此您需要构建一个模型以供模拟器使用。他们设法使操作变得非常容易,但经过四次尝试,我可以想象会花费一些时间。

凉亭也很不错,因为它与ROS配合良好,这意味着如果您进行构建,就可以构建一个程序来控制您的机器人,并通过集成将命令发送到模拟机器人,或者通过rosserial将命令发送到真实机器人。请注意,如果您没有使用任何这些工具,那么开发解决方案将需要一些时间。

评论


$ \ begingroup $
我已经了解了一些安装此软件的步骤,这似乎是一个漫长的过程,并且我对其中的大多数程序非常陌生,而且我使用的是Mac,看起来似乎并不陌生很多支持。 +1是一个可行的解决方案,但我可能不得不继续寻找
$ \ endgroup $
–乔丹
2012-12-23 22:14

$ \ begingroup $
一种替代方法是使用OpenGL之类的东西来构建自己的模拟器。这样做的复杂性取决于机器人的运动学以及是否要模拟动力学。
$ \ endgroup $
– DaemonMaker
2012年12月25日在18:14

#2 楼

这不会涵盖机器人仿真,但是OpenCV机器学习库可能对评估学习算法和训练参数以下载到机器人非常有用。

它包括神经网络实现,它可能是对这个问题特别感兴趣。

OpenCv也是一个标准库,很可能与机器人自身的其他一些模拟器很好地集成。

评论


$ \ begingroup $
这真的有用吗? OpenCV ML库可以安装在Arduino上吗?
$ \ endgroup $
– DaemonMaker
2012年12月21日,下午1:28

$ \ begingroup $
不好,但是您可以使用它来为Arduino上的学习算法训练参数。
$ \ endgroup $
–野生甲壳动物
2012年12月21日在1:37

$ \ begingroup $
这对我来说是种复杂的方式,我只是在读高中时,就希望能找到一种更轻松,更友好的选择。也许是一个程序,它可以让我设计一个与自己的虚拟机器人相似的虚拟机器人,然后显示每条腿的位置,我可以将它们复制并(基本上)粘贴到项目代码中
$ \ endgroup $
–乔丹
2012年12月23日在8:39

$ \ begingroup $
在这种情况下,也许也可以看一下这个问题:robotics.stackexchange.com/questions/697/…机器人技术虽然很复杂,但是具有机器学习功能的机器人技术也不例外。如果您对未来的机器人技术很认真,那么学习像OpenCV这样的东西并不是一个坏主意。
$ \ endgroup $
–野生甲壳动物
2012-12-25 15:37



$ \ begingroup $
另外,不要以为只是在读高中就很难使事情变得复杂。如果遇到困难,在很多地方(包括本网站)都可以找到帮助。
$ \ endgroup $
–野生甲壳动物
2012年12月26日在1:29

#3 楼

最近开源的V-REP模拟器可以满足您的需求。我发现它比凉亭更平易近人,并且可以在Windows,OSX和Linux上运行。他们的教程相当简单。通过编程(包括ROS)有很多不同的方式与之交互。看起来甚至有一个制作六脚架的教程,如果他们还没有可用的四足动物的示例,那么您可以将其用作起点。不幸的是,我认为模拟器与UI渲染直接相关,我认为Gazebo不一定是这种情况。

因此,您的程序将不得不使用多种与V交互的方式之一-REP,然后将由V-REP中的某个传感器确定的特定步态的性能输入到机器学习算法中(也许来自@OpenCV中提到的@WildCrustacean)。然后,您必须将模拟机器人的步态描述转换成用于在Arduino上命令实际电动机的东西。

另一方面,您可以制作自己的模拟器使用现有的物理引擎,并使用图形库对其进行渲染。如果您喜欢C ++,则可以分别使用Bullet和OGRE。其他编程语言还有很多其他的语言。

我还将研究从事步态生成的研究人员如何进行仿真。可能有一个专门用于它的现有开源项目。