individualMarkersNoKinect find tag pose fail

Hi, when I use the simulate camera in gazebo to track the ar tag , the visual marker pose is not correct.As you can see, the tag is front of robot mira, not in the above of it. And sometimes the id is also wrong. I use id 1 but the node publish 255.I am so confused about that , help !!!

My launch code:

<node name="ar_track_alvar" pkg="ar_track_alvar" type="individualMarkersNoKinect" respawn="false" output="screen">
    <param name="marker_size"           type="double" value="40" />
    <param name="max_new_marker_error"  type="double" value="0.1" />
    <param name="max_track_error"       type="double" value="0.2" />
    <param name="output_frame"          type="string" value="camera_optical_link"/>
    <remap from="camera_image"  to="/mira/camera1/image_raw"/>
    <remap from="camera_info"   to="/mira/camera1/camera_info"/>

And the camera_optical_link is a frame whose z_axis align with camera optical axis.