TheLegace

stereo_generic_camera

Feb 29th, 2012
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 4.83 KB | None | 0 0
  1. <?xml version="1.0"?>
  2. <!-- XML namespaces -->
  3. <robot xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor"
  4.       xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller"
  5.       xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"
  6.       xmlns:xacro="http://ros.org/wiki/xacro">
  7.  
  8.     <xacro:macro name="stereo_camera_generic" params="parent name camera_name image_format image_topic_name
  9.                                                         camera_info_topic_name parent hfov focal_length
  10.                                                         hack_baseline image_width image_height
  11.                                                         update_rate stereo_dx stereo_dy stereo_dz
  12.                                                         stereo_rx stereo_ry stereo_rz">
  13.        
  14.         <joint name="${name}_left_frame_joint" type="fixed">
  15.             <origin xyz="${stereo_dx} ${stereo_dy} ${stereo_dz}" rpy="${stereo_rx} ${stereo_ry} ${stereo_rz}" />
  16.             <parent link="${parent}"/>
  17.             <child link="${name}_left_frame"/>
  18.         </joint>
  19.        
  20.         <link name="${name}_left_frame">
  21.             <inertial>
  22.                 <mass value="0.01" />
  23.                 <origin xyz="0 0 0" />
  24.                 <inertia ixx="0.001"  ixy="0.0"  ixz="0.0"
  25.                         iyy="0.001"  iyz="0.0"
  26.                         izz="0.001" />
  27.             </inertial>
  28.         </link>
  29.        
  30.         <joint name="${name}_right_frame_joint" type="fixed">
  31.           <origin xyz="{-stereo_dx} {-stereo_dy} {-stereo_dz}" rpy="${stereo_rx} ${stereo_ry} ${stereo_rz}" />
  32.           <parent link="${parent}"/>
  33.           <child link="${name}_right_frame"/>
  34.         </joint>
  35.        
  36.         <link name="${name}_right_frame">
  37.  
  38.           <inertial>
  39.             <mass value="0.01" />
  40.             <origin xyz="0 0 0" rpy="0 0 0"/>
  41.             <inertia ixx="0.001"  ixy="0.0"  ixz="0.0"
  42.                      iyy="0.001"  iyz="0.0"
  43.                      izz="0.001" />
  44.           </inertial>
  45.  
  46.         </link>    
  47.        
  48.         <link name="${name}_optical_frame" type="camera"/>
  49.  
  50.         <joint name="${name}_optical_frame_joint_left" type="fixed">
  51.           <origin xyz="0 0 0" rpy="${-M_PI/2} 0.0 ${-M_PI/2}" />
  52.           <parent link="${name}_left_frame" />
  53.           <child link="${name}_optical_frame"/>
  54.         </joint>
  55.        
  56.         <joint name="${name}_optical_frame_joint_right" type="fixed">
  57.           <origin xyz="0 0 0" rpy="${-M_PI/2} 0.0 ${-M_PI/2}" />
  58.           <parent link="${name}_right_frame" />
  59.           <child link="${name}_optical_frame"/>
  60.         </joint>       
  61.        
  62.         <gazebo reference="${name}_left_frame">
  63.         <sensor:camera name="${name}_left_sensor">
  64.             <imageSize>${image_width} ${image_height}</imageSize>
  65.             <imageFormat>${image_format}</imageFormat>
  66.             <hfov>${hfov}</hfov>
  67.             <nearClip>0.1</nearClip>
  68.             <farClip>100</farClip>
  69.             <updateRate>${update_rate}</updateRate>
  70.             <controller:gazebo_ros_camera name="${name}_left_controller" plugin="libgazebo_ros_camera.so">
  71.               <alwaysOn>true</alwaysOn>
  72.               <updateRate>${update_rate}</updateRate>
  73.               <cameraName>${camera_name}/left</cameraName>
  74.               <imageTopicName>${image_topic_name}</imageTopicName>
  75.               <cameraInfoTopicName>${camera_info}</cameraInfoTopicName>
  76.               <frameName>${name}_optical_frame</frameName>
  77.               <hackBaseline>${hack_baseline}</hackBaseline>
  78.               <CxPrime>${(image_width+1)/2}</CxPrime>
  79.               <Cx>${(image_width+1)/2}</Cx>
  80.               <Cy>${(image_height+1)/2}</Cy>
  81.               <focal_length>${focal_length}</focal_length>
  82.               <distortion_k1>0.0</distortion_k1>
  83.               <distortion_k2>0.0</distortion_k2>
  84.               <distortion_k3>0.0</distortion_k3>
  85.               <distortion_t1>0.0</distortion_t1>
  86.               <distortion_t2>0.0</distortion_t2>
  87.               <interface:camera name="${name}_stereo_left_iface" />
  88.             </controller:gazebo_ros_camera>
  89.           </sensor:camera>
  90.             <turnGravityOff>true</turnGravityOff>
  91.             <material>PR2/Blue</material>
  92.         </gazebo>
  93.        
  94.         <gazebo reference="${name}_right_frame">
  95.         <sensor:camera name="${name}_right_sensor">
  96.             <imageSize>${image_width} ${image_height}</imageSize>
  97.             <imageFormat>${image_format}</imageFormat>
  98.             <hfov>${hfov}</hfov>
  99.             <nearClip>0.1</nearClip>
  100.             <farClip>100</farClip>
  101.             <updateRate>${update_rate}</updateRate>
  102.             <controller:gazebo_ros_camera name="${name}_right_controller" plugin="libgazebo_ros_camera.so">
  103.               <alwaysOn>true</alwaysOn>
  104.               <updateRate>${update_rate}</updateRate>
  105.               <cameraName>${camera_name}/right</cameraName>
  106.               <imageTopicName>${image_topic_name}</imageTopicName>
  107.               <cameraInfoTopicName>${camera_info}</cameraInfoTopicName>
  108.               <frameName>${name}_optical_frame</frameName>
  109.               <hackBaseline>${hack_baseline}</hackBaseline>
  110.               <CxPrime>${(image_width+1)/2}</CxPrime>
  111.               <Cx>${(image_width+1)/2}</Cx>
  112.               <Cy>${(image_height+1)/2}</Cy>
  113.               <focal_length>${focal_length}</focal_length>
  114.               <distortion_k1>0.0</distortion_k1>
  115.               <distortion_k2>0.0</distortion_k2>
  116.               <distortion_k3>0.0</distortion_k3>
  117.               <distortion_t1>0.0</distortion_t1>
  118.               <distortion_t2>0.0</distortion_t2>
  119.               <interface:camera name="${name}_stereo_right_iface" />
  120.             </controller:gazebo_ros_camera>
  121.           </sensor:camera>
  122.             <turnGravityOff>true</turnGravityOff>
  123.             <material>PR2/Blue</material>
  124.         </gazebo>
  125.  
  126.   </xacro:macro>
  127.  
  128. </robot>
Advertisement
Add Comment
Please, Sign In to add comment