本文主要介绍在ar drone2四旋翼飞行器上,基于ROS,使用cv_bridge将ROS Image和OpenCV Image相互转化,编写简单的Publisher和Sublisher程序,把结果图像显示出来。
开发平台:AR drone2 ubuntu14.04 ROS indigo
ROS Image messages 和OpenCV Mat相互转化可参考
http://wiki.ros.org/cv_bridge/Tutorials/UsingCvBridgeToConvertBetweenROSImagesAndOpenCVImages
ardrone_autonomy使用手册
http://ardrone-autonomy.readthedocs.io/en/latest/index.html
image_transport example
http://wiki.ros.org/image_transport/Tutorials
Step 1:创建一个工作空间dronework,然后利用catkin_create_pkg创建dronevideo package,dronevideopackage开发包依赖于cv_bridge image_transport sensor_msgs roscpp std_msgs
mkdir -p /root/dronework/src
cd /root/dronework/src
source /opt/ros/indigo/setup.bash
catkin_create_pkg dronevideo cv_bridge image_transport sensor_msgs roscpp std_msgs
cd /root/dronework
catkin_make
在root目录下.bashrc文件中添加
source /opt/ros/indigo/setup.bash
source /root/dronework/devel/setup.bash
这样可以避免每次打开一个新的终端,需要source对应的setup.bash
Step 2:在dronevideo package的src目录下添加dronevideo_p