我想知道是否可以使用一种小型芯片,可以接收蓝牙/ IR / wifi命令来移动电机,然后基于诸如加速计之类的传感器发送回反馈(以检测撞击)。
我可能可以实现一些目标用PiCy像这样
但是,这比我想要的略大(由于Pi的大小),我不确定Pi会持续受到持续的冲击。
因此,我想尝试将大脑(Pi)偏移到竞技场的一侧,并仅使用一个小芯片来接收移动命令,然后发送回去来自加速度计的数据。
您对这种芯片有什么建议吗? Wifi是我的选择,但是如果影响尺寸,我可以尝试BT
编辑:经过进一步研究,似乎带有WiFi RedBack防护罩的Arduino nano可能会完成这项工作,并且为电动机提供类似的功能:http://www.gravitech.us/2mwfecoadfor.html
#1 楼
您可能会发现rPI板比您预期的更耐用。它们没有太大的质量,因此,少量的橡胶或泡沫填充物(以减少晃动)应足以保护它们-前提是您的机器人没有以足够的力扑打,以使周围的塑料外壳破裂将处理过程卸载到远程(可能功能更强大)的系统上将为您带来一些好处,例如您所提到的那些优点-重量更轻,断裂更少,电池消耗更少移动东西。
缺点是带宽限制和延迟。一旦引入了无线传输的延迟,您就可以从每秒处理数千次迭代的基于硬件的循环转变为每秒只能处理数十次迭代的基于网络的循环。
为获得最佳结果,您的设计应在本地硬件上进行尽可能多的控制处理,并将远程连接用于更高级别的规划决策,而该决策仅需每秒接收几次。
#2 楼
有两种方法可以构建您描述的机器人。,如您所建议的,第一种方法是将处理能力与其他装有传感器和执行器的机器人分开。为此,您需要在处理单元(PC / RPi /其他微控制器)和机器人之间进行一些通信。一种低成本的解决方案是使用便宜的蓝牙模块(在eBay上搜索“串行蓝牙模块”,价格不应超过5美元)。在机器人方面,您还将需要一个微控制器,因为您需要从蓝牙接收数据,对其进行处理并将其转换为电机的控制信号。此外,同一个微控制器将负责读取传感器并将数据传输回远程处理单元。第二种方法是在机器人上具有单个处理单元。同一控制器将读取传感器,提供智能并控制电动机。因为您描述的机器人很简单,所以该控制器可以在简单的微控制器上实现。您可以创建自己的控制器(使用PIC / AVR / ARM),也可以使用现成的解决方案,如Arduino,BasicStamp等。(可选)您可以与PC进行蓝牙连接以进行遥测(观察传感器值和/或手动控制传感器机器人)。
对于您的项目,第二种方法似乎更具吸引力。由于处理直接在机器人上完成,因此成本将大大降低,机器人的反应速度也会更快。同样,由于第一种方法也需要机器人上的处理单元,因此使用第二个单元进行处理似乎是过大的选择。另一方面,第一种方法允许您在更高级别的系统(PC / RPi)中开发机器人控制器,这取决于您的经验,可能是一个更舒适的环境。
评论
$ \ begingroup $
不是在机器人上放置大型控制器的主要原因是为了避免撞击后造成损坏。如果我采用远程控制方法,那么我只需要一个用于多个机器人的主控制器即可(为每个机器人标识命令/反馈并具有唯一的ID)。我也许可以使用Adriuno nano实现“机器人上的大脑”解决方案,该解决方案看起来很小,带有Wifi防护罩(用于发送和接收套接字通讯,以进行远程服务器的控制和反馈)。
$ \ endgroup $
–泰坦
13年12月18日在9:10
$ \ begingroup $
你到底在暗示什么?要在机器人上配备带WiFi的arduino nano和附加的远程处理单元?哪个单位进行控制计算?
$ \ endgroup $
–德米特
2013年12月18日上午10:19
$ \ begingroup $
好吧,我仍然不确定哈哈。我猜纳米可以做到!
$ \ endgroup $
–泰坦
13年12月18日在12:09
$ \ begingroup $
是的,对于您的项目而言,单个车载处理单元似乎是更好的选择!正如我在答案中提到的那样,如果您确实需要与机器人进行某种通信,则可以通过廉价的蓝牙模块进行通信。另外,如果您需要建立网络,则可以使用nrf24l01 +模块(甚至更便宜!),因为您有多个机器人。
$ \ endgroup $
–德米特
13年12月18日在12:53
#3 楼
我想我可能已经找到了适合该项目的理想控制器:http://www.robotshop.com/en/dagu-micro-magician-robot-controller.html
Micro Magician可以让我控制2个简单的DC电动机,使用加速度计检测撞击和碰撞,并从IR接收器接收移动命令!大小很棒。
难题中唯一剩下的就是将数据发送回遥控器(加速度计数据)。我不确定是否可以连接红外发射器或BT / Wifi?
编辑:看起来可以完成任务! http://www.dawnrobotics.co.uk/dagu-arduino-bluetooth-module/
现在可以找到小型电机了...
评论
$ \ begingroup $
Synapse RF266PC1是有趣的设备。它们很小,易于编程,并且基于python。它们上的ADC并不是很好,但是与ATmega328(在Arduino UNO中使用的芯片)结合使用,您可能会获得足够的处理能力来回发送数据。我也使用过Wixels,但是它们的rx / tx距离还有很多不足之处。这些RF266PC1可以开箱即用地进行网状网络,而Wixels根本无法做到。
$ \ endgroup $
–丹尼尔F
2013年12月25日16:07
评论
$ \ begingroup $
无论如何,您都可以通过互联网上的网络摄像头进行控制,因此预计会稍有延迟。
$ \ endgroup $
–泰坦
13年12月18日在16:39