我想知道我是否可以对直升机进行编程以响应我的Xbox控制器。我当时打算使用笔记本电脑的蓝牙连接与直升机通话。连接到计算机的Xbox控制器将用于控制直升机。所以我的问题是,如何对控制器进行精确编程?我该如何使所有这些成为可能?
我知道这个问题确实很模糊,而且选择太多了,但是我确实需要帮助弄清楚这个问题。
#1 楼
是的,总的来说,这个想法是完全合理的。但是,该方法将特定于您的设置。即您在控制计算机上使用的操作系统以及所使用的板载控制器。在我们的实验室中,我们将Ardupilot Mega用作某些四旋翼飞机的板载控制器。为了解决此问题,我使用Linux游戏杆API从Xbox控制器(或与此相关的PS3控制器)获取数据。然后,我可以将该数据发送到用于替换RC接收器的Arduino,也可以使用Mavlink协议通过Xbee将其直接发送到Ardupilot。如果您可以提供有关设置的更多详细信息,那么我也许可以提供更详细的回复。#2 楼
(ROS + Joy程序包)-http://www.ros.org
XBee(由@DaemonMaker提及)
一个简单的程序,用于获取joy_node发布并将其通过XBee发送出去。这可能像
rostopic echo /joy >> /dev/ttyS0
一样简单,这取决于您对接收端的控制程度。注意:我们在所有机器人上都使用Playstation控制器。强烈推荐。
#3 楼
Xbox和PS3控制器用途非常广泛,这是事实,但是请不要忘记范围。蓝牙仅适用于2类设备(xbox和ps3控制器具有2类发送器)和10m(330ft)用于1类设备的短距离操作。飞行设备肯定会很快超过此范围,您将有失控的风险。
使用RC收音机最好。即使它们使用RF频谱的相同部分(2.4GHz),RC无线电通常也具有更大的功率,并且在天气良好的情况下也可以行驶几英里。您可以获得具有8个通道或更多通道的RC控制器,从而提供了更多受控设备数量的灵活性。
评论
我们使用Playstation控制器来控制所有笔记本电脑。这是完全合理的。蓝牙范围是这里的主要限制因素。