vehicle.mode = VehicleMode("LOITER") print vehicle.mode
这部分不起作用,因为车辆需要一点改变模式然后确认模式改变。
它与mavlink没有识别rc in有关,所以尝试在mavlink输入rc 3 1500一旦它显示从sitl稳定的模式。然后它会工作你有一个rc故障安全存在,如果你输入值会消失。
知道模式何时真正改变它的最好方法是拥有一个'观察者'(属性监听器)。您可以在“车辆”设置回调中处理事件。因此,只需在“模式”属性中添加一个观察者,这样就可以了解模式何时实际更改。像这样的东西:
class Solo(Vehicle): """ Solo class that inherit from dronekit.Vehicle """ def __init__(self, *args): super(Solo, self).__init__(*args) # Observers self.add_attribute_listener('mode', self.mode_callback) def mode_callback(self, *args): # Do whatever you need when the mode changed here Printer.message("MODE changed to %s" % self.mode.name)