<?xml version="1.0"?> <robot name="sensor_camera" xmlns:xacro="http://ros.org/wiki/xacro" xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller" xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"> <xacro:property name="camera" value="0.1"/> <xacro:macro name="sensor_camera" params="name parent *origin"> <joint name="${name}_joint" type="fixed"> <xacro:insert_block name="origin"/> <axis xyz="0 1 0"/> <parent link="${parent}"/> <child link="${name}_link"/> </joint> <link name="${name}_link"> <visual> <origin xyz="0 0 0" rpy="0 0 0"/> <geometry> <sphere radius="0.015"/> </geometry> </visual> <collision> <origin xyz="0 0 0" rpy="0 0 0"/> <geometry> <sphere radius="0.015"/> </geometry> </collision> </link> <gazebo reference="${name}_link"> <sensor type="wideanglecamera" name="cv_camera"> <update_rate>30.0</update_rate> <camera> <pose>0 0 0 0 ${PI/2} 0</pose> <horizontal_fov>3.1415</horizontal_fov> <image> <format>R8G8B8</format> <width>800</width> <height>800</height> </image> <clip> <near>0.01</near> <far>100</far> </clip> <lens> <type>stereographic</type> <scale_to_hfov>1</scale_to_hfov> <cutoff_angle>1.5707</cutoff_angle> <env_texture_size>512</env_texture_size> </lens> </camera> <plugin name="camera_controller" filename="libgazebo_ros_camera.so"> <alwaysOn>true</alwaysOn> <updateRate>0.0</updateRate> <cameraName>cv_camera</cameraName> <imageTopicName>image_raw</imageTopicName> <cameraInfoTopicName>camera_info</cameraInfoTopicName> <frameName>camera_link</frameName> <hackBaseline>0.0</hackBaseline> <distortionK1>0.0</distortionK1> <distortionK2>0.0</distortionK2> <distortionK3>0.0</distortionK3> <distortionT1>0.0</distortionT1> <distortionT2>0.0</distortionT2> </plugin> </sensor> <material>Gazebo/DarkGray</material> </gazebo> </xacro:macro> </robot>