我正在按照DroneKit-Python中的入门说明在VM中设置DroneKit.为了让自己更轻松,我开始使用Vagrant设置SITL.但是,我无法弄清楚如何运行SITL并从示例脚本中与它进行对话.
我做了什么:
按照" 在Linux上设置 "中的讨论,通过执行以下操作进行测试:
param load ../Tools/autotest/copter_params.parm
param设置ARMING_CHECK 0
注意 - 在我的MAVProxy提示符中没有"STABILIZE>"提示符.这些成功(似乎是)
vagrant ssh打开我对虚拟机的提示.sudo apt-get install python-pip python-numpy python-opencv python-serial python-pyparsing python-wxgtk2.8
然后是MAVProxy
sudo pip install MAVProxy
Run Code Online (Sandbox Code Playgroud)
然后droneapi(注意,必须使用"sudo"安装)
sudo pip install droneapi
Run Code Online (Sandbox Code Playgroud)
然后从命令提示符(vagrant @ vagrant-ubuntu-trusty-32:/ vagrant/ArduCopter $)获得git clone并导航到演示:
git clone http://github.com/diydrones/droneapi-python.git
cd droneapi-python/example/small_demo
Run Code Online (Sandbox Code Playgroud)
我使用"mavproxy.py"(通过USB进行Linux VM通信的正确类型)启动了MavProxy.得到以下:
Auto-detected serial ports are:
/dev/ttyS31
/dev/ttyS30
...
/dev/ttyS1
/dev/ttyS0
Logging to mav.tlog
libdc1394 error: Failed …Run Code Online (Sandbox Code Playgroud) 我对此很陌生,并试图了解这一点。我在DroneKit-Python 站点上阅读了很多文章,试图弄清楚我究竟如何与它进行通信。
我目前使用的无人机是Iris+
我已经查看了更多,并且已经有软件提供了这一点,但我希望能够控制它以及更多。
我想设置航点,告诉它然后飞行给航点并继续前进。此外,为了能够武装自己,在示例中,并覆盖安全机制。
这是我尝试使用它的基础知识。让它在某个时间飞起来。前往航点 1、2、3、1 等。然后在 X 时间后或电池电量低时返回发射点并着陆。
我发现了很多代码可以提供我需要做的事情,尽管我不知道它是否会起作用,更重要的是我什至不知道如何为此开始编程。也许我这样做的方法错误?
我有点希望这是一个轻量级的 API,以便将来我可以在我的手机上制作一个简单的 UI 并插入一些坐标来给它点数,就是这样。我知道已经有软件可以做到这一点,但我想消除触摸无人机的需要。我希望它自动开始和结束。
如果有人可以帮助提供一些信息,我们将不胜感激。
按照DroneKit说明,我可以从他们的QuickStart指南运行hello.py代码:http://python.dronekit.io/guide/quick_start.html .
但是,当我尝试运行他们的基本任务示例时,我在标题中得到setBaudrate错误:
$ python mission_basic.py --connect=/dev/tty.usbmodem1411
Connecting to vehicle on: /dev/tty.usbmodem1411
Traceback (most recent call last):
File "mission_basic.py", line 23, in <module>
vehicle = connect(args.connect, wait_ready=True)
File "/Library/Python/2.7/site-packages/dronekit/__init__.py", line 2344, in connect
handler = MAVConnection(ip, baud=baud, source_system=source_system)
File "/Library/Python/2.7/site-packages/dronekit/mavlink.py", line 37, in __init__
self.master = mavutil.mavlink_connection(ip, baud=baud, source_system=source_system)
File "/Library/Python/2.7/site-packages/pymavlink/mavutil.py", line 1106, in mavlink_connection
return mavserial(device, baud=baud, source_system=source_system, autoreconnect=autoreconnect, use_native=use_native)
File "/Library/Python/2.7/site-packages/pymavlink/mavutil.py", line 735, in __init__
self.set_baudrate(self.baud)
File "/Library/Python/2.7/site-packages/pymavlink/mavutil.py", line 746, in set_baudrate
self.port.setBaudrate(baudrate)
AttributeError: 'Serial' object …Run Code Online (Sandbox Code Playgroud)