<commit_before><?xml version="1.0"?>
<robot name="summit_xl" xmlns:xacro="http://www.ros.org/wiki/xacro"> 


	<!-- ***************** -->
	<!-- Imported elements -->
	<!-- ***************** -->
	
	<!-- First we import all posible elements defined in the urdf.xacro files. All these elements are defined as macro:xacros -->

	<!-- Import summit XL base elements -->
	<xacro:include filename="$(find summit_xl_description)/urdf/bases/summit_xl_base.urdf.xacro" />
  
	<!-- Import summit XL wheels -->
	<xacro:include filename="$(find summit_xl_description)/urdf/wheels/rubber_wheel.urdf.xacro" />
    
	<!-- Import all available sensors -->
	<xacro:include filename="$(find robotnik_sensors)/urdf/all_sensors.urdf.xacro" />
  
  
  
	<!-- ***************** -->
	<!-- Global parameters -->
	<!-- ***************** -->
  
	<xacro:property name="PI" value="3.1415926535897931"/>
  
	<!-- Wheel parameters -->
	<xacro:property name="wheel_offset_x" value="0.229" />    <!-- x,y,z in translation from base_link to the center of the wheel -->
	<xacro:property name="wheel_offset_y" value="0.234" />    
	<xacro:property name="wheel_offset_z" value="0.0" />

	<!-- Flag to select the high or low quality model -->
	<xacro:property name="hq" value="true" />



	<!-- *************** -->
	<!-- Robots Elements -->
	<!-- *************** -->

	<!-- Here we create the robot elements using the xacro:macros imported at the beggining of this file -->

	<!-- Summit XL base -->
	<xacro:summit_xl_base name="summit_xl" publish_bf="true" hq="${hq}" />
  
	<!-- Gazebo ros control pluggins -->
	<xacro:ros_control/>
	
	<!-- Gazebo skid steering pluggins -->
	<!-- xacro:ros_force_based_move broadcastOdomTF="1"/ -->
	<xacro:skid_steering broadcastOdomTF="1"/>
	
  
  
	<!-- WHEELS -->

	<xacro:rubber_wheel name="front_right" parent="base_link" reflect="false" hq="${hq}">
		<origin xyz="${wheel_offset_x} -${wheel_offset_y} ${wheel_offset_z}" rpy="0 0 0"/>
	</xacro:rubber_wheel>
  
	<xacro:rubber_wheel name="front_left" parent="base_link" reflect="true" hq="${hq}">
		<origin xyz="${wheel_offset_x} ${wheel_offset_y} ${wheel_offset_z}" rpy="0 0 0"/>
	</xacro:rubber_wheel>
  
	<xacro:rubber_wheel name="back_left" parent="base_link" reflect="true" hq="${hq}">
		<origin xyz="-${wheel_offset_x} ${wheel_offset_y} ${wheel_offset_z}" rpy="0 0 0"/>
	</xacro:rubber_wheel>
  
	<xacro:rubber_wheel name="back_right" parent="base_link" reflect="false" hq="${hq}">
		<origin xyz="-${wheel_offset_x} -${wheel_offset_y} ${wheel_offset_z}" rpy="0 0 0"/>
	</xacro:rubber_wheel>



	<!-- SENSORS -->

  <!-- Hokuyo laser sensors can be parametized with min_angle and max_angle e.g: -->
  <!--xacro:sensor_hokuyo_utm30lx name="hokuyo_base" parent="base_link" min_angle="2.35" max_angle="-2.35"-->
    
	<xacro:sensor_hokuyo_utm30lx name="hokuyo_base" parent="base_link">
		<origin xyz="0.0 0.0 0.33" rpy="0 0 0"/>
	</xacro:sensor_hokuyo_utm30lx>
  
<!--
	<xacro:sensor_hokuyo_urg04lx name="hokuyo1" parent="base_link">
		<origin xyz="-0.1 0.0 0.33" rpy="0 0 0"/>
	</xacro:sensor_hokuyo_urg04lx>
-->

<!--
  <xacro:sensor_hokuyo_ust10lx name="hokuyo_base" parent="base_link">
		<origin xyz="0.0 0.0 0.33" rpy="0 0 0"/>
	</xacro:sensor_hokuyo_ust10lx>
-->
    
	<xacro:sensor_axis name="camera" parent="base_link">
		<origin xyz="0.19 0 0.17" rpy="0 ${15*PI/180} 0"/>
	</xacro:sensor_axis>
  
	<xacro:sensor_imu name="imu" parent="base_link">
		<origin xyz="-0.18 0.0 0.170" rpy="0 0 0"/>
	</xacro:sensor_imu>
  
	<xacro:sensor_gps name="gps" parent="base_link">
		<origin xyz="-0.22 0 0.275" rpy="0 0 0"/>
	</xacro:sensor_gps>
	
<!--
	<xacro:sensor_asus_xtion_pro name="xtion_pro" parent="base_link">
		<origin xyz="0.3 0.0 0.3" rpy="0 0 0"/> 
	</xacro:sensor_asus_xtion_pro>  
-->
    
<!--<commit_msg>description: added orbbec camera to the frontal robot area<commit_after><?xml version="1.0"?>
<robot name="summit_xl" xmlns:xacro="http://www.ros.org/wiki/xacro"> 


	<!-- ***************** -->
	<!-- Imported elements -->
	<!-- ***************** -->
	
	<!-- First we import all posible elements defined in the urdf.xacro files. All these elements are defined as macro:xacros -->

	<!-- Import summit XL base elements -->
	<xacro:include filename="$(find summit_xl_description)/urdf/bases/summit_xl_base.urdf.xacro" />
  
	<!-- Import summit XL wheels -->
	<xacro:include filename="$(find summit_xl_description)/urdf/wheels/rubber_wheel.urdf.xacro" />
    
	<!-- Import all available sensors -->
	<xacro:include filename="$(find robotnik_sensors)/urdf/all_sensors.urdf.xacro" />
  
  
  
	<!-- ***************** -->
	<!-- Global parameters -->
	<!-- ***************** -->
  
	<xacro:property name="PI" value="3.1415926535897931"/>
  
	<!-- Wheel parameters -->
	<xacro:property name="wheel_offset_x" value="0.229" />    <!-- x,y,z in translation from base_link to the center of the wheel -->
	<xacro:property name="wheel_offset_y" value="0.234" />    
	<xacro:property name="wheel_offset_z" value="0.0" />

	<!-- Flag to select the high or low quality model -->
	<xacro:property name="hq" value="true" />



	<!-- *************** -->
	<!-- Robots Elements -->
	<!-- *************** -->

	<!-- Here we create the robot elements using the xacro:macros imported at the beggining of this file -->

	<!-- Summit XL base -->
	<xacro:summit_xl_base name="summit_xl" publish_bf="true" hq="${hq}" />
  
	<!-- Gazebo ros control pluggins -->
	<xacro:ros_control/>
	
	<!-- Gazebo skid steering pluggins -->
	<!-- xacro:ros_force_based_move broadcastOdomTF="1"/ -->
	<xacro:skid_steering broadcastOdomTF="1"/>
	
  
  
	<!-- WHEELS -->

	<xacro:rubber_wheel name="front_right" parent="base_link" reflect="false" hq="${hq}">
		<origin xyz="${wheel_offset_x} -${wheel_offset_y} ${wheel_offset_z}" rpy="0 0 0"/>
	</xacro:rubber_wheel>
  
	<xacro:rubber_wheel name="front_left" parent="base_link" reflect="true" hq="${hq}">
		<origin xyz="${wheel_offset_x} ${wheel_offset_y} ${wheel_offset_z}" rpy="0 0 0"/>
	</xacro:rubber_wheel>
  
	<xacro:rubber_wheel name="back_left" parent="base_link" reflect="true" hq="${hq}">
		<origin xyz="-${wheel_offset_x} ${wheel_offset_y} ${wheel_offset_z}" rpy="0 0 0"/>
	</xacro:rubber_wheel>
  
	<xacro:rubber_wheel name="back_right" parent="base_link" reflect="false" hq="${hq}">
		<origin xyz="-${wheel_offset_x} -${wheel_offset_y} ${wheel_offset_z}" rpy="0 0 0"/>
	</xacro:rubber_wheel>



	<!-- SENSORS -->

  <!-- Hokuyo laser sensors can be parametized with min_angle and max_angle e.g: -->
  <!--xacro:sensor_hokuyo_utm30lx name="hokuyo_base" parent="base_link" min_angle="2.35" max_angle="-2.35"-->
    
	<!--xacro:sensor_hokuyo_utm30lx name="hokuyo_base" parent="base_link">
		<origin xyz="0.0 0.0 0.33" rpy="0 0 0"/>
	</xacro:sensor_hokuyo_utm30lx-->
  
	<xacro:sensor_hokuyo_urg04lx name="hokuyo_base" parent="base_link">
		<origin xyz="-0.0 0.0 0.33" rpy="0 0 0"/>
	</xacro:sensor_hokuyo_urg04lx>

<!--
  <xacro:sensor_hokuyo_ust10lx name="hokuyo_base" parent="base_link">
		<origin xyz="0.0 0.0 0.33" rpy="0 0 0"/>
	</xacro:sensor_hokuyo_ust10lx>
-->
    
	<!--xacro:sensor_axis name="camera" parent="base_link">
		<origin xyz="0.19 0 0.17" rpy="0 ${15*PI/180} 0"/>
	</xacro:sensor_axis-->
  
	<xacro:sensor_imu name="imu" parent="base_link">
		<origin xyz="-0.18 0.0 0.170" rpy="0 0 0"/>
	</xacro:sensor_imu>
  
	<xacro:sensor_gps name="gps" parent="base_link">
		<origin xyz="-0.22 0 0.275" rpy="0 0 0"/>
	</xacro:sensor_gps>
	
	<xacro:sensor_orbbec_astra name="orbbec_astra" parent="base_link">
		<origin xyz="0.324 0.012 0.172" rpy="0 0 0"/> 
	</xacro:sensor_orbbec_astra>  
    
<!--
{'fraction_non_alphanumeric': 0.21678966789667897, 'fraction_numerical': 0.03755930416447022, 'mean_word_length': 4.208647906657515, 'pattern_counts': {'":': 0, '<': 151, '<?xml version=': 2, '>': 149, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '972661', 'n_tokens_mistral': 3292, 'n_tokens_neox': 3007, 'n_words': 550}