Crazyflie入门教程-控制-自主无人机
纠错,疑问,交流: 请进入讨论区或 请点击进入页面,扫码加入微信群或Q群进行交流
获取最新文章: 扫一扫加入“创客智造”公众号
说明:
- 介绍将如何设置系统并进行首次自主飞行
相关设备:
- crazyflie套件:采购地址
所需硬件:
- 1 x Crazyflie 2.X套件
- 1 x Crazyradio PA
- 1 x 流动甲板
步骤:
- 安装Python和cflib
- 用于控制Crazyflie 2.X的后端库称为cflib,是用python 3编写的。要使用它,您必须在计算机上安装Pyhton 3,[点击下载][2]
- 使用标准设置安装python,为方便起见,勾选Add to PATH复选框

- 安装python 3后,打开命令提示符并使用pip安装cflib。
pip3 install cflib

-
当一切设置完成并安装完毕后,启动Python编辑器IDLE3
-
选择“文件”->“新建”,然后将以下脚本复制/粘贴到新脚本中。用合适的名称保存脚本。
"""
This script shows a simple scripted flight path using the MotionCommander class.
Simple example that connects to the crazyflie at URI and runs a sequence. Change the URI variable to your Crazyflie configuration.
"""
import logging
import time
import cflib.crtp
from cflib.crazyflie.syncCrazyflie import SyncCrazyflie
from cflib.positioning.motion_commander import MotionCommander
URI = 'radio://0/80/250K'
# Only output errors from the logging framework
logging.basicConfig(level=logging.ERROR)
if __name__ == '__main__':
# Initialize the low-level drivers (don't list the debug drivers)
cflib.crtp.init_drivers(enable_debug_driver=False)
with SyncCrazyflie(URI) as scf:
# We take off when the commander is created
with MotionCommander(scf) as mc:
print('Taking off!')
time.sleep(1)
# There is a set of functions that move a specific distance
# We can move in all directions
print('Moving forward 0.5m')
mc.forward(0.5)
# Wait a bit
time.sleep(1)
print('Moving up 0.2m')
mc.up(0.2)
# Wait a bit
time.sleep(1)
print('Doing a 270deg circle');
mc.circle_right(0.5, velocity=0.5, angle_degrees=270)
print('Moving down 0.2m')
mc.down(0.2)
# Wait a bit
time.sleep(1)
print('Rolling left 0.2m at 0.6m/s')
mc.left(0.2, velocity=0.6)
# Wait a bit
time.sleep(1)
print('Moving forward 0.5m')
mc.forward(0.5)
# We land when the MotionCommander goes out of scope
print('Landing!')
-
通过按F5运行脚本
-
注意:如果您打开了python客户端,请确保Crazyflie已从其断开连接。Crazyradio不支持同时来自多个程序的连接,如果Crazyflie仍连接到python客户端,则脚本将不起作用。
-
输出应与此类似:
Connecting to radio://0/80/250K
Connected to radio://0/80/250K
Taking off!
Moving forward 0.5m
Moving up 0.2m
Doing a 270deg circle
Moving down 0.2m
Rolling left 0.2m at 0.6m/s
Moving forward 0.5m
Landing!
<iframe width=100% height="498" src="https://www.youtube.com/embed/qKGjWWvjRt0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
纠错,疑问,交流: 请进入讨论区或 请点击进入页面,扫码加入微信群或Q群进行交流
获取最新文章: 扫一扫加入“创客智造”公众号


















