RflySimSDK v3.08
RflySimSDK说明文档
载入中...
搜索中...
未找到
Ctrl类 参考
+ 类 Ctrl 继承关系图:
+ Ctrl 的协作图:

Public 成员函数

 __init__ (self, copter_id=1, ip='127.0.0.1', com='udp', port=0, simulink_dll=False)
 
 init_loop (self, ct_mode=2, offboard=False)
 
 is_full_send (self)
 
 takeoff (self, height=0, pos_x=0, pos_y=0)
 
 return_home (self, height=0)
 
 land (self, height=0)
 
 send_pos_ned (self, pos, yaw)
 
 send_pos_speed_fw (self, pos, speed)
 
 send_pos_global (self, pos, yaw)
 
 send_vel_ned (self, vel, yaw_rate)
 
 send_vel_body (self, vel, yaw_rate)
 
 send_acc (self, acc)
 
 send_att_thrust (self, att, thrust)
 
 send_att (self, att)
 
 send_cruise_speed_fw (self, speed)
 
 send_cruise_radius_fw (self, radius)
 
 get_vehicle_id (self)
 
 get_time_s (self)
 
 get_pos_ned (self)
 
 get_pos_ned_global (self)
 
 get_pos_global (self)
 
 get_home_pos (self)
 
 get_vel_ned (self)
 
 get_acc (self)
 
 get_euler (self)
 
 get_angular_rate (self)
 
 get_quaternion (self)
 
 get_actuator_speed (self)
 
 get_max_vel_xy (self)
 
 get_max_vel_z (self)
 
 get_max_acc_xy (self)
 
 get_max_acc_z (self)
 
- Public 成员函数 继承自 PX4MavCtrler
 fillList (self, data, inLen, fill=0)
 填充或裁剪一个列表
 
 sendStartMsg (self, copterID=-1)
 向无人机发送启动信号
 
 waitForStartMsg (self)
 等待来自 sendStartMsg 函数发送的启动信号
 
 initPointMassModel (self, intAlt=0, intState=[0, 0, 0])
 初始化并启动用于无人机控制
 
 EndPointMassModel (self)
 终止模型
 
 yawSat (self, yaw)
 调整偏航角在-π到π之间
 
 PointMassModelLoop (self)
 控制无人机在点质量模型下循环运行
 
 sendUE4PosNew (self, copterID=1, vehicleType=3, PosE=[0, 0, 0], AngEuler=[0, 0, 0], VelE=[0, 0, 0], PWMs=[0] *8, runnedTime=-1, windowID=-1)
 发送无人机位姿和状态到Rflysim3D
 
 InitTrueDataLoop (self)
 初始化真实数据接收机制
 
 EndTrueDataLoop (self)
 结束真实数据接收的循环
 
 SendOffAll (self, type_mask=PosTypeMask(), coordinate_frame=1, pos=[0, 0, 0], vel=[0, 0, 0], acc=[0, 0, 0], yaw=0, yawrate=0)
 设置和准备发送无人机的位置信息和控制参数
 
 SendAttAll (self, type_mask=AttTypeMask(), q=[1, 0, 0, 0], body_rate=[0, 0, 0], thrust=0)
 结束真实数据接收的循环
 
 InitMavLoop (self, UDPMode=2)
 初始化 MAVLink 通信循环,并与coptersim进行通信
 
 endMavLoop (self)
 结束通信
 
 SendVisionPosition (self, x, y, z, yaw)
 发送视觉定位数据给 MAVLink 连接
 
 SendHILGps (self, lat=40.1540302, lon=116.2593683, alt=50, vel=0, vn=0, ve=0, vd=0, cog=0, time_usec=-1, eph=0.3, epv=0.4, fix_type=3, satellites_visible=15)
 发送GPS仿真数据给 MAVLink 连接
 
 SendRedisData (self, key, buf)
 发送数据到redis
 
 SendBuf (self, buf)
 发送数据
 
 SendBufTrue (self, buf, port=None)
 发送数据
 
 sat (self, inPwm=0, thres=1)
 饱和操作的函数,确保输入值在正负阈值内
 
 SendMavCmdLong (self, command, param1=0, param2=0, param3=0, param4=0, param5=0, param6=0, param7=0)
 将 MAVLink 的长指令消息发送到 Pixhawk 系统
 
 SendQgcCmdLong (self, command, param1=0, param2=0, param3=0, param4=0, param5=0, param6=0, param7=0)
 将 MAVLink 的长指令消息发送到 QGC
 
 sendMavOffboardCmd (self, type_mask, coordinate_frame, x, y, z, vx, vy, vz, afx, afy, afz, yaw, yaw_rate)
 发送Offboard命令到PX4
 
 TypeMask (self, EnList)
 获取offboard消息的位图
 
 sendMavOffboardAPI (self, type_mask=0, coordinate_frame=0, pos=[0, 0, 0], vel=[0, 0, 0], acc=[0, 0, 0], yaw=0, yawrate=0)
 发送Offboard命令到PX4
 
 sendUDPSimpData (self, ctrlMode, ctrls)
 发送UDP简单数据
 
 sendPX4UorbRflyCtrl (self, data=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], modes=1, flags=1)
 发送UDP简单数据
 
 SendVelNED (self, vx=math.nan, vy=math.nan, vz=math.nan, yawrate=math.nan)
 北东地坐标系下操控飞机
 
 SendVelNEDNoYaw (self, vx, vy, vz)
 北东地坐标系下操控飞机
 
 SendVelFRD (self, vx=math.nan, vy=math.nan, vz=math.nan, yawrate=math.nan)
 前右下坐标系下操控飞机
 
 SendAttPX4 (self, att=[0, 0, 0, 0], thrust=0.5, CtrlFlag=0, AltFlg=0)
 前右下坐标系以目标姿态控制飞机
 
 EulerToQuat (self, Euler)
 将欧拉角转化为四元数
 
 SendAccPX4 (self, afx=math.nan, afy=math.nan, afz=math.nan, yawValue=math.nan, yawType=0, frameType=0)
 发送目标加速度给PX4
 
 SendVelNoYaw (self, vx=math.nan, vy=math.nan, vz=math.nan)
 机体前右下坐标系下控制飞机
 
 SendPosNED (self, x=math.nan, y=math.nan, z=math.nan, yaw=math.nan)
 地球北东地坐标系下控制飞机到指定位置
 
 SendVelYawAlt (self, vel=10, yaw=6.28, alt=-100)
 地球北东地坐标系下控制飞机
 
 SendPosGlobal (self, lat=0, lon=0, alt=0, yawValue=0, yawType=0)
 地球北东地坐标系下控制飞机到目标全球位置
 
 SendPosNEDNoYaw (self, x=math.nan, y=math.nan, z=math.nan)
 地球北东地坐标系下控制飞机到目标位置
 
 SendPosFRD (self, x=math.nan, y=math.nan, z=math.nan, yaw=math.nan)
 机体前右下坐标系下控制飞机到目标位置
 
 SendPosFRDNoYaw (self, x=math.nan, y=math.nan, z=math.nan)
 机体前右下坐标系下控制飞机到目标位置
 
 SendPosNEDExt (self, x=math.nan, y=math.nan, z=math.nan, mode=3, isNED=True)
 机体前右下坐标系下控制飞机到目标位置
 
 enFixedWRWTO (self)
 发送指令使飞机起飞
 
 SendCruiseSpeed (self, Speed=0)
 发送指定改变飞机的巡航速度
 
 SendCopterSpeed (self, Speed=0)
 发送设定多旋翼飞行器的最大速度
 
 SendGroundSpeed (self, Speed=0)
 发送指定改变飞机的地面速度
 
 SendCruiseRadius (self, rad=0)
 发送指定改变飞机的巡航半径
 
 sendTakeoffMode (self, alt=0)
 发送指定使飞机起飞
 
 initOffboard (self)
 发送命令进入offboard模式,消息发送频率为30HZ
 
 initOffboardAcc (self)
 发送命令进入offboard模式,消息发送频率为30HZ
 
 initOffboardAtt (self)
 发送命令进入offboard模式,消息发送频率为30HZ
 
 initOffboard2 (self)
 发送命令进入offboard模式,消息发送频率为30HZ
 
 sendMavTakeOff (self, xM=0, yM=0, zM=0, YawRad=0, PitchRad=0)
 发送命令让飞行器起飞到指定位置
 
 sendMavTakeOffLocal (self, xM=0, yM=0, zM=0, YawRad=0, PitchRad=0, AscendRate=2)
 发送指令使飞机从指定的本地位置起飞,并允许设置俯仰角、偏航角和上升速率
 
 sendMavTakeOffGPS (self, lat, lon, alt, yawDeg=0, pitchDeg=15)
 发送指令使飞机从指定的本地位置起飞,并允许设置俯仰角、偏航角和上升速率
 
 sendMavLand (self, xM, yM, zM)
 发送指令使飞机降落到指定位置
 
 sendMavLandGPS (self, lat, lon, alt)
 发送指令使飞机降落到指定全球位置
 
 endOffboard (self)
 退出offboard模式,停止消息发送
 
 sendMavSetParam (self, param_id, param_value, param_type)
 向 Pixhawk 发送命令更改其参数
 
 SendHILCtrlMsg (self, ctrls=[0] *16, idx=0, flags=1)
 发送 hil_actuator_controls 消息发送到 Pixhawk
 
 SendHILCtrlMsg1 (self)
 发送 debug_vect 消息发送到 Pixhawk
 
 SendMavArm (self, isArm=1)
 发送指令到 Pixhawk 使其上锁/解锁
 
 initRCSendLoop (self, Hz=30)
 初始化遥控器发送循环
 
 endRCSendLoop (self)
 结束遥控器发送循环
 
 RcSendLoop (self)
 循环发送遥控器信号
 
 SendRCPwms (self, Pwms)
 更新遥控器 PWM 信号
 
 SendRcOverride (self, ch1=1500, ch2=1500, ch3=1100, ch4=1500, ch5=1100, ch6=1100, ch7=1500, ch8=1500)
 通过 MAVLink 协议向 PX4 发送遥控信号覆盖命令
 
 sendMavManualCtrl (self, x=0, y=0, z=0, r=0)
 通过 MAVLink 协议向 PX4 发送手动控制信号
 
 SendSetMode (self, mainmode, cusmode=0)
 发送 MAVLink 命令到 PX4 以更改飞行模式
 
 stopRun (self)
 停止 MAVLink 的监听循环
 
 getTrueDataMsg (self)
 从30100串口监听真是数据,更新Pixhawk状态
 
 getPX4DataMsg (self)
 从40100串口监听真是数据,更新Pixhawk状态
 
 setMsgDict (self, stName)
 设置消息字典的状态
 
 netForwardData (self)
 用于网络通信的事件信号
 
 GetUDPRedisBuf (self, sock)
 从套接字或 Redis 订阅中获取数据
 
 getMavMsg (self)
 开始循环监听来自20100系列端口或COM端口的MAVLink数据,更新Pixhawk状态
 
 OffboardSendMode (self)
 循环发送MAVLink的offboard模式控制命令
 
 sendRebootPix (self, copterID, delay=-1)
 发送消息重启飞机仿真
 
 sendCustomData (self, CopterID, data=[0] *16, checksum=123456, port=50000, IP='127.0.0.1')
 发送一个16维double型数据到指定端口,本接口可用于与Simulink通信
 
 setGPSOriLLA (self, LonLatAlt)
 设置GPS的原点位置,并根据提供的GPS坐标计算位置偏差
 
 sendSILIntFloat (self, inSILInts=[0] *8, inSILFLoats=[0] *20, copterID=-1)
 

Public 属性

 rflysim_cmd
 
 UDPMode
 
 simulinkDLL
 
 truePosNED
 
 uavPosNED
 
 uavGlobalPos
 
 uavPosGPS
 
 uavPosGPSHome
 
 trueVelNED
 
 uavVelNED
 
 trueAccB
 
 uavAccB
 
 trueAngEular
 
 uavAngEular
 
 trueAngRate
 
 uavAngRate
 
 trueAngQuatern
 
 uavAngQuatern
 
 trueMotorRPMS
 
 uavMotorRPMS
 
- Public 属性 继承自 PX4MavCtrler
 isInPointMode
 
 isCom
 
 Com
 
 baud
 
 isRealFly
 
 ip
 
 isRedis
 
 CopterID
 
 port
 
 ComName
 
 redisCon
 
 redisHost
 
 redisPort
 
 redisPass
 
 pubsub
 
 redisKey
 
 f
 
 stopFlag
 
 mav0
 
 udp_socket
 
 udp_socketUDP
 
 udp_socketTrue
 
 udp_socketPX4
 
 udp_socketUE4
 
 uavTimeStmp
 
 trueTimeStmp
 
 uavAngEular
 
 trueAngEular
 
 uavAngRate
 
 trueAngRate
 
 uavPosNED
 
 truePosNED
 
 uavVelNED
 
 trueVelNED
 
 isVehicleCrash
 
 isVehicleCrashID
 
 uavPosGPS
 
 uavPosGPSHome
 
 uavGlobalPos
 
 trueAngQuatern
 
 uavAngQuatern
 
 trueMotorRPMS
 
 uavMotorRPMS
 
 trueAccB
 
 uavAccB
 
 uavGyro
 
 uavMag
 
 uavVibr
 
 out3Ddata
 
 truePosGPS
 
 trueSimulinkData
 
 useCustGPSOri
 
 trueGpsUeCenter
 
 GpsOriOffset
 
 uavThrust
 
 zInt
 
 EnList
 
 type_mask
 
 coordinate_frame
 
 pos
 
 vel
 
 acc
 
 yaw
 
 yawrate
 
 isInOffboard
 
 isArmed
 
 hasSendDisableRTLRC
 
 UDPMode
 
 startTime
 
 MaxSpeed
 
 stopFlagTrueData
 
 hasTrueDataRec
 
 isPX4Ekf3DFixed
 
 isArmerror
 
 truegyro
 
 truemag
 
 RCPWMs
 
 isRCLoop
 
 tRCHz
 
 isFailsafeEn
 
 FailsafeInfo
 
 px4ext
 
 px4extTrue
 
 offMode
 
 ctrlMode
 
 cmdVel
 
 system_status
 
 connected
 
 batInfo
 
 nId
 
 isOffBoard
 
 hasMsgDict
 
 trigMsgVect
 
 hasMsgEvent
 
 trueMsgEvent
 
 geo
 
 netEvent
 
 uavEvent
 
 uavMsg
 
 t1
 
 intAlt
 
 intStateX
 
 intStateY
 
 intStateYaw
 
 t3
 
 startTime3
 
 lastTime3
 
 trueAngRat
 
 tTrue
 
 stopFlagPX4Data
 
 tPX4
 
 the_connection
 
 lastTime
 
 t2
 
 lastTime2
 
 startTime2
 
 tRC
 

额外继承的成员函数

- Protected 属性 继承自 PX4MavCtrler
 _active
 

构造及析构函数说明

◆ __init__()

__init__ ( self,
copter_id = 1,
ip = '127.0.0.1',
com = 'udp',
port = 0,
simulink_dll = False )

重载 PX4MavCtrler .

成员函数说明

◆ get_acc()

get_acc ( self)
目前仅综合模型支持返回加速度
:return: 载体坐标系中加速度

◆ get_actuator_speed()

get_actuator_speed ( self)
:return: 电机转速,转/min

◆ get_home_pos()

get_home_pos ( self)
:return: WGS84坐标系下Home点位置,纬经高

◆ get_max_acc_xy()

get_max_acc_xy ( self)
:return: 最大水平加速度,m/s2

◆ get_max_acc_z()

get_max_acc_z ( self)
:return: 最大竖直,m/s2

◆ get_max_vel_xy()

get_max_vel_xy ( self)
:return: 最大水平速度,m/s

◆ get_max_vel_z()

get_max_vel_z ( self)
:return: 最大竖直速度,m/s

◆ get_pos_global()

get_pos_global ( self)
:return: WGS84坐标系下位置,纬经高

◆ get_pos_ned()

get_pos_ned ( self)
:return: PX4返回局部NED坐标系下的位置,每一架飞机都以起飞点为原点;综合模型返回全局NED(相对UE中心) TRUEpos

◆ get_pos_ned_global()

get_pos_ned_global ( self)
:return: 返回全局NED(相对UE中心)位置

◆ get_quaternion()

get_quaternion ( self)
目前仅综合模型支持返回四元数
:return: 四元数描述的姿态

◆ get_vehicle_id()

get_vehicle_id ( self)
:return: 返回载具ID,默认从1开始编号

◆ land()

land ( self,
height = 0 )
高度降落到home点高度

◆ return_home()

return_home ( self,
height = 0 )
水平位置到达home点,高度保持不变

◆ send_acc()

send_acc ( self,
acc )
仅适用于旋翼无人机
:param acc: NED坐标系下期望加速度,x, y方向响应非常灵敏,z方向为了定高响应缓慢

◆ send_att()

send_att ( self,
att )
:param att: 欧拉角[滚转角、俯仰角、偏航角]

◆ send_att_thrust()

send_att_thrust ( self,
att,
thrust )
:param att: 欧拉角[滚转角、俯仰角、偏航角]
:param thrust: 油门

◆ send_cruise_radius_fw()

send_cruise_radius_fw ( self,
radius )
仅支持固定翼,对应QGC中NAV_LOITER_RAD
:param radius:盘旋半径,25m-1000m,正常误差可达10-20m,设置超出范围的值在QGC中会显示修改,但实际不会超过范围
+ 函数调用图:

◆ send_cruise_speed_fw()

send_cruise_speed_fw ( self,
speed )
仅支持固定翼,对应QGC中FW_AIRSPD_TRIM
速度限制10-20m/s,默认15m/s
速度限制定义在src/modules/fw_pos_control_l1/fw_pos_control_l1_params.c
:param speed: 水平速度
+ 函数调用图:

◆ send_pos_ned()

send_pos_ned ( self,
pos,
yaw )
PX4版本时每架飞机相对于起飞点,综合模型时相对UE中心
出现这种差异是综合模型使用True pos控制,而PX4使用滤波后位置控制
:param pos: NED坐标系下x,y,z方向位置,单位m
:param yaw: 偏航角,单位rad
+ 函数调用图:

◆ send_pos_speed_fw()

send_pos_speed_fw ( self,
pos,
speed )
固定翼综合模型同时支持位置和速度控制
+ 函数调用图:

◆ takeoff()

takeoff ( self,
height = 0,
pos_x = 0,
pos_y = 0 )
该高度为NED坐标系下的高度,PX4版本的固定翼支持指定起飞后位置,综合模型只支持指定高度
+ 函数调用图:

该类的文档由以下文件生成: