最近在学习ROS下无人机的控制,选用的是crazyflie这款四轴飞行器,在网上也有许多成熟的源码。
这里主要是一个笔记,权作记录我自己的学习过程。
1.创建crazyflie包
cd ~/catkin_ws
cd src
git clone https://github.com/whoenig/crazyflie_ros.git
执行完该指令,会在~/catkin_ws/src里出现一个crazyflie功能包。
2.安装hector_quadrotor和hector_gazebo功能包。
当前目录仍然为~/catkin_ws/src
git clone https://github.com/tu-darmstadt-ros-pkg/hector_quadrotor.git
git clone https://github.com/tu-darmstadt-ros-pkg/hector_gazebo.git
这时候会在~/catkin_ws里面出现hector_quadrotor 和hector_gazebo功能包
这时候如果直接make会出现一些错误,这是因为这里还缺少一些依赖的包
我们通过以下指令补全这些包
rosdep install --from-path src --ignore-src
catkin_make
编译成功,显示与如下类似
3.测试
接下来我们便可以连接飞机进行测试了。
首先连上crazyradio PA,
执行
sudo groupadd plugdev
sudo usermod -a -G plugdev <username>
这里username为你的用户名。
接下来需要在/etc/udev/rules.d创建一个99-crazyradio.rules文件,但是需要权限,我们直接将所有权限都打开
sudo chmod 777 /etc/udev/rules.d
这时候就可以创建文件了,创建99-crazyradiio.rules文件,并写入以下代码
SUBSYSTEM=="usb",ATTRS{idVendor}=="1915", ATTRS{idProduct}=="7777",
MODE="0664",GROUP="plugdev"
接下来就可以测试了打开crazyflie2的电源,在一个terminal下运行roscore
再一个新的terminal下运行
cd ~/catkin_ws
source devel/setup.bash
rosrun crazyflie_tools scan
运行成功的话可以搜索到飞行器
这就算初步的安装步骤了。