Crazyflie入门教程-控制-crazyflie_ros功能包
说明:
crazyflie_ros支持Crazyflie 1.0和Crazyflie 2.0(使用库存固件)
crazyflie_ros以ROS标准消息格式发布板载传感器
crazyflie_ros支持ROS参数以重新配置crazyflie参数
crazyflie_ros支持将多个Crazyflies与单个Crazyradio一起使用
crazyflie_ros包括用于航点导航的外部控制器(如果有运动捕捉系统)
不依赖于Bitcraze SDK(使用C ++编写的驱动程序和控制器)
相关设备:
- crazyflie套件:采购地址
步骤:
- 将crazyflie_ros功能包下载到catkin工作区
git clone https://github.com/whoenig/crazyflie_ros.git
cd crazyflie_ros
git submodule init
git submodule update
catkin_make
crazyflie_ros包括六个软件包:crazyflie_cpp,crazyflie_driver,crazyflie_tools,crazyflie_description,crazyflie_controller和crazyflie_demo
Crazyflie_Cpp
该软件包包含一个用于Crazyradio和Crazyflie的cpp库。它可以独立于ROS使用Crazyflie_driver
该软件包包含驱动程序。为了通过单个Crazyradio支持多个Crazyflies,有crazyflie_server(与所有Crazyflies通信)和crazyflie_add动态添加Crazyflies。服务器最初不与任何Crazyflie通信,因此需要使用crazyflie_addCrazyflie_tools
该软件包包含有用的工具,但对于正常操作不是必需的。到目前为止,它仅支持一种用于扫描Crazyflie的工具。连接的Crazyflies:
rosrun crazyflie_tools scan
Crazyflie_description
该软件包包含Crazyflie(1.0)的3D模型。这是为了在rviz中实现可视化目的。Crazyflie_controller
该软件包包含一个简单的PID控制器,用于悬停或航点导航。它可以与外部运动捕捉系统一起使用,例如VICON。Crazyflie_demo
该软件包包含丰富的示例集,可帮助您快速入门Crazyflie。
使用操纵杆进行遥控操作
roslaunch crazyflie_demo teleop_xbox360.launch uri:=radio://0/100/2M
uri指定您的Crazyflie的uri。您可以使用crazyflie_tools软件包中的scan命令找到有效的uri。
要使用VICON悬停在(0,0,1),请使用:
roslaunch crazyflie_demo hover_vicon.launch uri:=radio://0/100/2M frame:=/vicon/crazyflie/crazyflie x:=0 y:=0 z:=1
其中uri指定您的Crazyflie的uri并构筑tf帧。启动文件将自动运行vicon_bridge。
对于多个Crazyflies,请确保所有Crazyflies具有不同的地址。共享加密狗的疯子应该使用相同的通道和数据速率以获得最佳性能。由于带宽限制,每个加密狗的Crazyflies数量会降低性能,但是已成功测试每个Crazyradio使用3个CF
roslaunch crazyflie_demo multi_teleop_xbox360.launch uri1:=radio://0/100/2M/E7E7E7E7E7 uri2:=radio://0/100/2M/E7E7E7E705
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号