fix:新增例程
This commit is contained in:
41
基础编程/e11.基于MAVROS的无人机控制实验/code/Ros12OneUav.py
Normal file
41
基础编程/e11.基于MAVROS的无人机控制实验/code/Ros12OneUav.py
Normal file
@@ -0,0 +1,41 @@
|
||||
import PX4MavCtrlV4ROS as PX4MavCtrl
|
||||
import time
|
||||
|
||||
|
||||
# 创建一个ROS控制实例,针对飞机1
|
||||
mav = PX4MavCtrl.PX4MavCtrler(CopterID=1)
|
||||
time.sleep(1)
|
||||
|
||||
print('进入offboard并解锁')
|
||||
mav.initOffboard()
|
||||
time.sleep(1)
|
||||
|
||||
|
||||
# 飞机起飞到0.1米前,0.8米高
|
||||
print('发送起飞命令')
|
||||
mav.SendPosNED(0.1,0,-0.8)
|
||||
time.sleep(10)
|
||||
|
||||
print('PosE',mav.uavPosNED)
|
||||
print('VelE',mav.uavVelNED)
|
||||
print('Euler',mav.uavAngEular)
|
||||
print('Quaternion',mav.uavAngQuatern)
|
||||
print('Rate',mav.uavAngRate)
|
||||
|
||||
time.sleep(1)
|
||||
print('Start control.')
|
||||
|
||||
# 下面开始你的控制算法
|
||||
# mav.SendPosNED(x,y,z,yaw) 发送期望位置点,NED地球坐标系
|
||||
# mav.SendVelNED(vx,vy,vz,yawrate) 发送速度,NED地球坐标系
|
||||
# mav.SendVelFRD(vx,vy,vz,yawrate) 发送速度,FRD机体坐标系,通常而言,设定vx和yawrate即可,前进速度和偏航速度。
|
||||
# mav.SendPosVelNED(PosE=[0,0,0],VelE=[0,0,0],yaw,yawrate) 同时控制飞机位置和速度
|
||||
|
||||
|
||||
# 下面仅展示使用SendVelFRD控制的例子,会撞墙,为正常现象
|
||||
|
||||
print('开始速度控制')
|
||||
|
||||
# 向前0.1m/s飞,并缓慢调转方向
|
||||
mav.SendVelFRD(0.1,0,0,0.05)
|
||||
|
||||
Reference in New Issue
Block a user