Hi, this is my launch file (working). Remember to calibrate the drone's camera:
<launch>
<!-- IPv4 address of your drone -->
<arg name="ip" default="192.168.1.1"/>
<!-- Ultrasound frequency (7 or 8). -->
<arg name="freq" default="8"/>
<node name="ardrone_driver" pkg="ardrone_autonomy" type="ardrone_driver" output="screen" clear_params="true" args="-ip $(arg ip)">
<param name="outdoor" value="0"/>
<param name="max_bitrate" value="1000"/>
<param name="bitrate" value="1000"/>
<param name="navdata_demo" value="0"/>
<param name="flight_without_shell" value="0"/>
<param name="altitude_max" value="4000"/>
<param name="altitude_min" value="50"/>
<param name="euler_angle_max" value="0.21"/>
<param name="control_vz_max" value="700"/>
<param name="control_yaw" value="1.75"/>
<param name="detect_type" value="10"/>
<param name="enemy_colors" value="3"/>
<param name="detections_select_h" value="32"/>
<param name="detections_select_v_hsync" value="128"/>
<param name="enemy_without_shell" value="0"/>
<param name="ultrasound_freq" value="$(arg freq)"/>
<param name="realtime_navdata" value="true"/>
<param name="realtime_video" value="true"/>
<!-- Covariance Values (3x3 matrices reshaped to 1x9)-->
<rosparam param="cov/imu_la">[0.1, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.1]</rosparam>
<rosparam param="cov/imu_av">[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]</rosparam>
<rosparam param="cov/imu_or">[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 100000.0]</rosparam>
<!-- Remapping for perceiving markers -->
<remap from="ardrone/image_raw" to="/camera/image_raw" />
<remap from="ardrone/camera_info" to="/camera/camera_info" />
</node>
<!-- Launch the static transform publisher for world to camera -->
<!--<node pkg="tf" type="static_transform_publisher" name="cam_to_drone" args="1 0 0 0 0 0 world ardrone_base_frontcam 10"/>-->
<!--<node pkg="tf" type="static_transform_publisher" name="world_to_cam" args="1 0 0.5 -1.57 0 -1.57 camera ardrone_base_frontcam 10"/>-->
<!-- Launch the image rectification node -->
<!--<node ns="camera" pkg="image_proc" type="image_proc" name="image_proc"/>-->
<!-- Start the GSCAM node -->
<!-- devide=/dev/video0 for webcam, /dev/video1 for usbcamera -->
<!--<env name="GSCAM_CONFIG" value="v4l2src device=/dev/video0 ! video/x-raw-yuv,framerate=30/1,width=640,height=480 ! ffmpegcolorspace "/>
<node pkg="gscam" type="gscam" name="gscam" output="screen">
<param name="width" type="int" value="640"/>
<param name="height" type="int" value="480"/>
<param name="fps" type="int" value="30"/>
<param name="frame_id" type="string" value="ardrone_base_frontcam"/>
<param name="camera_info_url" type="string" value="file://$(find gscam)/camera_calibration.yaml"/>
</node>-->
<node name="ar_pose" pkg="ar_pose" type="ar_single" respawn="false" output="screen">
<param name="marker_pattern" type="string" value="$(find ar_pose)/data/4x4/4x4_1.patt"/>
<param name="marker_width" type="double" value="152.4"/>
<param name="marker_center_x" type="double" value="0.0"/>
<param name="marker_center_y" type="double" value="0.0"/>
<param name="threshold" type="int" value="100"/>
<param name="use_history" type="bool" value="true"/>
<!--<param name="camera_image_topic" type="string" value="/ardrone/front/image_raw"/>
<param name="camera_info_topic" type="string" value="/ardrone/front/camera_info"/>-->
</node>
<!-- Launch RVIZ as visualizer -->
<!--<node pkg="rviz" type="rviz" name="rviz" args="-d $(find ar_pose)/launch/live_single.rviz"/>-->
</launch>