Home » Crazyflie入门教程 » Crazyflie入门教程-控制-crazyflie_ros功能包

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_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_add

  • Crazyflie_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

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: none