一、crazyswarm nokov支持
1.更换libmotioncapture
crazyswarm支持nokov首先需要更换nokov专有libmotioncapture,进入路径:
$ cd crazyswarm/ros_ws/src/crazyswarm/externalDependencies
如果该目录下已存在libmotioncapture,运行以下命令备份:
$ mv libmotioncapture libmotioncapture.bak
从nokov下载libmotioncapture,
$ git clone https://github.com/NOKOV-MOCAP/libmotioncapture.git
$ cd libmotioncapture
$ git submodule init
$ git submodule update
2.增加nokov sdk
将nokov_sdk拷贝到以下路径:
crazyswarm/ros_ws/src/crazyswarm/externalDependencies/libmotioncapture/deps
3.crazyswarm编译
编译之前先把nokov支持选项打开,
$ cd crazyswarm/ros_ws
$ vi src/crazyswarm/externalDependencies/libmotioncapture/CMakeLists.txt
修改后就可进行编译
$ rm -fr build devel
$ catkin_make -DCMAKE_BUILD_TYPE=RelWithDebInfo
$ source devel/setup.bash
二、crazyflie配置
1.查看crazyflie
固件更新完毕后,取下crazyflie,并连接电池,把crazyradio接上电脑usb口,运行以下命令:
$ rosrun crazyflie_tools scan --address=0xE7E7E7E706
地址形式0xE7E7E7E7<X>,其中<X>为无人机编号的十六进制,得到crazyflie的uri如下:
5.配置文件修改
修改crazyswarm/ros_ws/src/crazyswarm/launch路径下crazyflies.yaml和allCrazyflies.yaml文件中channel和id和前面查看到的uri相匹配。
修改crazyswarm/ros_ws/src/crazyswarm/launch路径下hover_swarm.launch和mocap_helper.launch文件中motion_capture_type为“nokov”,motion_capture_host_name为“10.1.1.198”。
三、测试
启动nokov软件,并勾选SDK Enabled,
ubuntu下运行
$ roslaunch crazyswarm mocap_helper.launch
得到marker及刚体数据,如图: