一个非常吸引人的想法是拥有在线模拟器,(或更可取的是)离线独立模拟器,我们可以使用它构建和编程简单的机器人。也许只不过是将组件拖动在一起,然后对这些组件之间的交互进行编程。
存在哪些解决方案,我可能可以在我们的推广中使用?
#1 楼
Stage和Gazebo分别是开源2D和3D模拟器。它们是由Player项目创建和维护的。它们非常易于使用,并且具有许多预先构建的地图和机器人。根据听众的经验,您可能需要做一些繁重的工作(即构建配置文件和主类)。它们还具有其他一些好处。首先,只要您将主控制代码创建为播放器插件,那么它们就可以轻松地适应真实的机器人。其次,已经构建了大量可与实际硬件一起使用的插件。第三,他们与ROS合作。
#2 楼
可能有点贵(75瑞士法郎),但我还是建议Colobot。这是一个很好的,几乎像游戏一样的环境,机器人需要帮助人类使太空基地变得可居住。机器人由孩子编程,同时执行越来越复杂的任务。该程序以一种面向目标,有趣的方式教授编程的基础知识。#3 楼
Microsoft机器人技术是免费的,并包含一个模拟器。它并不是世界上最简单的环境,但是它强大且适合于实际的机器人技术。我认为在老师的事先参与下进行设置可能会有用。有一个用于LEGO,Neato和其他一些机器人的模拟器“包”,它们可以用C#或可视化拖放语言编程。再说一次,我认为需要进行一些准备才能使年轻人易于使用,但这并不难,考虑到您的要求,这就是我的方法。我要说的是,就复杂性而言,与带有Gazebo / ROS的Linux环境(Windows环境)相比,Windows环境的复杂度要略低一些,尽管其中大部分希望在准备工作中被隐藏。
#4 楼
RobotC有一个可用的模拟器,尽管两者都是某些产品,但要花一些钱。但是,它们非常适合年轻的学生和教育。如果成本不是阻碍因素,这将是最简单,最合适的途径(单用户两个许可证的价格约为\ $ 100,6个用户的价格为\ $ 300,30个用户的价格为\ $ 600)。如果您购买LEGO MINDSTORMS NXT的学生版ROBOTC,则价格为每张49 \ $或40 $(超过20个许可)
#5 楼
V-Rep(虚拟机器人实验平台)在它可以进行的各种模拟中似乎非常广泛。它是免费的,用于教育目的,并带有多种工具。您可以观看此YouTube视频进行演示。#6 楼
也许不是完整的机器人模拟器,但我们使用3D CAD,Autodesk Inventor进行大量模拟。通常,我们会为CAD创建一个类似于我们希望用于硬件的接口。这样,我们就可以将CAD模型用作虚拟原型,从而:尽早发现设计错误。碰撞,行程不足等。
它对于找到诸如对准误差之类的误差的补偿也很有用。使用CAD,我们可以一个一个地建模不同的误差并测试我们的补偿。可以方便地引入带有已知符号的大错误。
CAD还提供有关惯性矩之类的答案。
我们还使用CAD模型生成设备程序。
/>
评论
$ \ begingroup $
如果我错了,请纠正我,但CAD非常注重正确地对硬件和物理建模,而不是针对机器人编程。 OP对教学编程而不是工程学感兴趣,所以我认为CAD系统无法解决他的问题
$ \ endgroup $
– ThomasH
13年1月22日在16:27
$ \ begingroup $
@ThomasH我们已经成功地对CAD的api进行了编程,并且这种方式能够进行很多开发。我应该删除吗?
$ \ endgroup $
–约翰·拉森(Johan Larsson)
13年1月22日在16:31
$ \ begingroup $
无需删除。这不是一个不好的答案,只是因为我认为这不是OP的最佳选择。无论如何,投票通常都会推动最合适的答案,而OP会接受最有帮助的答案。但是,与此问题类似的人可能仍然会对您感兴趣
$ \ endgroup $
– ThomasH
2013年1月23日在1:29
#7 楼
您可能要签出“ MindRover”。由于原始网站已经解散,因此现在已经较旧且很难找到,但仍可以在Ebay或Amazon上找到。尽管是面向游戏/任务的,但它涉及从一组机器人组件中进行拾取,将它们放在机箱上,然后将它们连接在一起。这款游戏确实做得很好,可以用来探索简单到半高级的概念。此处的一些屏幕截图:http://images.google.com/images?q=mindrover。如果您正在使用现实世界的功能寻找更严肃的东西,您可能想看看FlowStone用于教育。我没有使用过它,但是我认为它是非常适合机器人类型工作的可视化编程环境。
最后,尽管不是软件或仿真,我最近遇到了phblj关于reddit的评论,引入编程的技术,我认为它真的很好(尤其适用于机器人编程)。 Quote:
我跟孩子们一起做计算机的一个很好的例子:一个孩子成为了“程序”,并给出了如何制作花生酱的说明。 />果冻三明治,但他们看不到我的举动。我是
计算机,完全按照说明进行操作。
(没有从花生棒上取下盖子,没有从我有面包的盒子里拿出面包
)。一分钟后,另一个孩子站起来尝试。他们还有一点
,但仍然挣扎。 “把花生酱放在面包上”
把罐子放在面包上,等等。它花了几个孩子,
但最终我们得到了它。如果您有助理,请让他们按照他们的说明写
说明,创建“程序”。
然后您可以进行解释,但实际上被困
的是,孩子们每个人都“比计算机聪明”。但是,
计算机确实非常快地遵循了说明。所以他们
需要使用他们的智能和计算机速度,以及...
编程!
评论
以我的经验,在模拟器中,不工作且外观一般的机器人(作为机器人)比成熟的外观酷似机器人的注意力更多。只要它不是真实的,它可能全是计算机游戏或所有孩子都喜欢看的动画片。我们需要一个模拟器,以便女孩们可以实际学习编程概念并将其投入使用。模拟器不需要很漂亮-可能只不过是粗略的几何形状。代码很重要。