DroneKit教程(四):属性和参数的读取与设置
来源:互联网 发布:河南省农产品出口数据 编辑:程序博客网 时间:2024/05/18 20:09
DroneKit教程(四):属性和参数的读取与设置
DroneKit内置了无人机的属性和参数,使用简单的Python代码即可进行读取和修改。
此教程的例子均使用在本地编译完成的SITL进行测试。如何启动SITL和MAVProxy请参见使用从源码编译的SITL测试DroneKit代码。在测试时,请保持SITL和MAVProxy正常运行。
读取属性
属性变量描述了无人机当前的系统状态。connect函数返回的Vehicle对象中包含了许多属性变量,可以直接读取和调用。
from dronekit import connectvehicle = connect('127.0.0.1:14551', wait_ready = True)# 飞控软件版本print "Autopilot Firmware version: %s" % vehicle.version# 全球定位信息(经纬度,高度相对于平均海平面)print "Global Location: %s" % vehicle.location.global_frame# 全球定位信息(经纬度,高度相对于home点)print "Global Location (relative altitude): %s" % vehicle.location.global_relative_frame# 相对home点的位置信息(向北、向东、向下);解锁之前返回Noneprint "Local Location: %s" % vehicle.location.local_frame# 无人机朝向(欧拉角:roll,pitch,yaw,单位为rad,范围-π到+π)print "Attitude: %s" % vehicle.attitude# 三维速度(m/s)print "Velocity: %s" % vehicle.velocity# GPS信息print "GPS: %s" % vehicle.gps_0# 地速(m/s)print "Groundspeed: %s" % vehicle.groundspeed# 空速(m/s)print "Airspeed: %s" % vehicle.airspeed# 云台信息(得到的为当前目标的roll, pitch, yaw,而非测量值。单位为度)print "Gimbal status: %s" % vehicle.gimbal# 电池信息print "Battery: %s" % vehicle.battery# EKF(拓展卡曼滤波器)状态print "EKF OK?: %s" % vehicle.ekf_ok# 超声波或激光雷达传感器状态print "Rangefinder: %s" % vehicle.rangefinder# 无人机朝向(度)print "Heading: %s" % vehicle.heading# 是否可以解锁print "Is Armable?: %s" % vehicle.is_armable# 系统状态print "System status: %s" % vehicle.system_status.state# 当前飞行模式print "Mode: %s" % vehicle.mode.name# 解锁状态print "Armed: %s" % vehicle.armed
设置属性
少数的属性变量可以被设置,通过设置这些属性变量,我们可以控制无人机的运行状态。
锁定无人机:
vehicle.disarmed = False
切换到GUIDED模式:
vehicle.mode = VehicleMode("GUIDED")
设置航点模式下,无人机飞行的地速为3.2m/s(注意:读、写groundspeed的意义不同)
vehicle.groundspeed = 3.2
读取参数
参数以字典(dictionary)的形式,存储在vehicle.parameters
变量中。具体参数的名称即为相应的键值(key)。
例如,在屏幕上显示THR_MIN参数(THR_MIN代表油门处于最低时的电机带速,以PWM值表示):
print "Param: %s" % vehicle.parameters['THR_MIN']
显示全部参数:
print "\nPrint all parameters (iterate `vehicle.parameters`):"for key, value in vehicle.parameters.iteritems(): print " Key:%s Value:%s" % (key,value)
设置参数
使用读取参数类似的方法,即可设置参数:
vehicle.parameters['THR_MIN']=100
版本信息
1.0 20170914 initial commit
本作品采用知识共享署名-相同方式共享 3.0 未本地化版本许可协议进行许可。
阅读全文
0 0
- DroneKit教程(四):属性和参数的读取与设置
- DroneKit教程(一):安装DroneKit和测试工具
- DroneKit示例分析1---状态的获取与设置
- DroneKit教程(六):继承和自定义Vehicle类
- DroneKit教程(二):控制Pixhawk示例
- DroneKit教程(三):连接Pixhawk飞控
- DroneKit教程(七):遥控信道覆盖
- java读取和设置配置文件中的属性参数
- 属性设置和读取
- DroneKit教程(五):使用自定义MAVLink指令
- javaScript读取和设置文档元素的样式属性
- C#反射技术之一读取和设置类的属性
- C#反射技术之一读取和设置类的属性
- C#反射技术之一读取和设置类的属性
- C#反射读取和设置类的属性
- 在javascript中使用(读取、设置)Asp.net服务器的属性、方法和事件
- Spring XML设置bean的构造参数和属性方法
- pdo设置和读取数据库连接属性
- IDEA+Maven+SSH整合小结
- 震撼大气航拍尼亚加拉大瀑布视频素材4K航拍视频素材
- 【linux下 scrapy 安装】Python.h: No such file or directory
- 1065. A+B and C (64bit) (20)
- Twenty Questions UVA
- DroneKit教程(四):属性和参数的读取与设置
- 顺序表
- iOS 长按手势执行两次解决办法
- SpringMvc项目新建的详解配置
- Class 'org.springframework.orm.hibernate5.LocalSessionFactoryBean' not found
- 在pycharm中使用git版本管理以及同步github
- Android新特性介绍,ConstraintLayout完全解析
- 小工具-javascript实现进度条功能
- DroneKit教程(五):使用自定义MAVLink指令