From e8db20a4eb7699ca7784dec5e658b0630728251e Mon Sep 17 00:00:00 2001 From: thirgy4 <thirgy4@googlemail.com> Date: Wed, 24 Nov 2021 13:36:29 +0000 Subject: [PATCH] still not working? --- .../urdf/spot_micro_camera.urdf.xacro | 29 +++ .../urdf/spot_micro_gazebo.launch | 59 +++++ .../urdf/turtlebot3_burger.gazebo.xacro | 135 +++++++++++ .../urdf/turtlebot3_burger.urdf.xacro | 166 +++++++++++++ .../urdf/turtlebot3_waffle_pi.urdf.xacro | 218 ++++++++++++++++++ .../urdf/turtlebot3_waffle_pi.urdf.xacro~ | 217 +++++++++++++++++ RWR/src/spot_micro_gazebo.launch | 15 +- RWR/src/urdf/spot_micro_camera.urdf.xacro | 72 +----- RWR/src/urdf/turtlebot3_waffle_pi.urdf.xacro | 218 ++++++++++++++++++ RWR/src/urdf/turtlebot3_waffle_pi.urdf.xacro~ | 217 +++++++++++++++++ 10 files changed, 1281 insertions(+), 65 deletions(-) create mode 100755 RWR/src/gazebo_dvs_plugin/urdf/spot_micro_camera.urdf.xacro create mode 100755 RWR/src/gazebo_dvs_plugin/urdf/spot_micro_gazebo.launch create mode 100644 RWR/src/gazebo_dvs_plugin/urdf/turtlebot3_burger.gazebo.xacro create mode 100644 RWR/src/gazebo_dvs_plugin/urdf/turtlebot3_burger.urdf.xacro create mode 100644 RWR/src/gazebo_dvs_plugin/urdf/turtlebot3_waffle_pi.urdf.xacro create mode 100644 RWR/src/gazebo_dvs_plugin/urdf/urdf/turtlebot3_waffle_pi.urdf.xacro~ create mode 100644 RWR/src/urdf/turtlebot3_waffle_pi.urdf.xacro create mode 100644 RWR/src/urdf/turtlebot3_waffle_pi.urdf.xacro~ diff --git a/RWR/src/gazebo_dvs_plugin/urdf/spot_micro_camera.urdf.xacro b/RWR/src/gazebo_dvs_plugin/urdf/spot_micro_camera.urdf.xacro new file mode 100755 index 0000000..2246ee4 --- /dev/null +++ b/RWR/src/gazebo_dvs_plugin/urdf/spot_micro_camera.urdf.xacro @@ -0,0 +1,29 @@ +<?xml version="1.0"?> +<robot name="turtlebot3_event_cam" xmlns:xacro="http://ros.org/wiki/xacro"> + <gazebo reference="camera_rgb_frame"> + <material>Gazebo/Green</material> + <sensor name="camera" type="camera"> + <camera name="__default__"> + <horizontal_fov>1.8</horizontal_fov> + <image> + <width>128</width> + <height>128</height> + </image> + <clip> + <near>0.1</near> + <far>100</far> + </clip> + </camera> + <always_on>1</always_on> + <update_rate>60</update_rate> + <visualize>1</visualize> + <plugin name="camera_controller" filename="libgazebo_dvs_plugin.so"> + <cameraName>camera_front</cameraName> + <robotNamespace>AADC_AudiTT</robotNamespace> + <eventThreshold>10</eventThreshold> + <cameraInfoTopicName>camera_info</cameraInfoTopicName> + <!-- <eventsTopicName>events</eventsTopicName> --> + </plugin> + </sensor> + </gazebo> +</robot> \ No newline at end of file diff --git a/RWR/src/gazebo_dvs_plugin/urdf/spot_micro_gazebo.launch b/RWR/src/gazebo_dvs_plugin/urdf/spot_micro_gazebo.launch new file mode 100755 index 0000000..de35e6a --- /dev/null +++ b/RWR/src/gazebo_dvs_plugin/urdf/spot_micro_gazebo.launch @@ -0,0 +1,59 @@ +<launch> + <arg name="model" default="$(env TURTLEBOT3_MODEL)" doc="model type [burger, waffle, waffle_pi]"/> + <arg name="x_pos" default="-2.0"/> + <arg name="y_pos" default="-0.5"/> + <arg name="z_pos" default="0.0"/> + <arg name="gpu" default="false"/> + + <arg name="second_tb3_x_pos" default="7.0"/> + <arg name="second_tb3_y_pos" default="-1.0"/> + <arg name="second_tb3_z_pos" default="0.0"/> + <arg name="second_tb3_yaw" default="0.0"/> + +<!-- + <arg name="world_file" default="$(find lab5)/worlds/ex2.world"/> + <arg name="map_file" default="$(find lab5)/maps/ex2_map.yaml"/> + <arg name="amcl" default="$(find lab5)/amcl.launch"/> + <arg name="open_rviz" default="true"/> + <arg name="state_pub" default="true"/> +--> + <!--arg name="map_file" default="/home/chris/3rdYear/RWR/Robot-With-Reflexes/RWR/src/maps/ex2_map.yaml"/ --> + + <include file="$(find gazebo_ros)/launch/empty_world.launch"> + <arg name="world_name" value="/$(find turtlebot3_gazebo)/worlds/turtlebot3_house.world"/> + + <arg name="paused" value="false"/> + <arg name="use_sim_time" value="true"/> + <arg name="gui" value="true"/> + <arg name="headless" value="false"/> + <arg name="debug" value="false"/> + </include> + + + +<!-- + <include file="$(find turtlebot3_navigation)/launch/move_base.launch"> + <arg name="model" value="$(arg model)" /> + </include> +--> + <!-- + <include file="$(find lab5)/amcl.launch"/> +--> + <!--include file="$(find turtlebot3_navigation)/launch/move_base.launch"> + <arg name="model" value="$(arg model)" /> + </include --> + + <param name="robot_description" command="$(find xacro)/xacro --inorder /home/chris/3rdYear/RWR/Robot-With-Reflexes/RWR/src/urdf/turtlebot3_waffle_pi.urdf.xacro gpu:=$(arg gpu)"/> + <!-- node pkg="map_server" name="map_server" type="map_server" args="$(arg map_file)"/ --> + + <node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-urdf -model turtlebot3 -x $(arg x_pos) -y $(arg y_pos) -z $(arg z_pos) -param robot_description" /> + + <node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher"> + <param name="publish_frequency" type="double" value="30.0" /> + </node> + + <node name="dvs_renderer" pkg="dvs_renderer" type="dvs_renderer" output="screen" clear_params="true"> + <remap from="/events" to="/AADC_AudiTT/camera_front/events"/> + </node> + +</launch> \ No newline at end of file diff --git a/RWR/src/gazebo_dvs_plugin/urdf/turtlebot3_burger.gazebo.xacro b/RWR/src/gazebo_dvs_plugin/urdf/turtlebot3_burger.gazebo.xacro new file mode 100644 index 0000000..3e98e94 --- /dev/null +++ b/RWR/src/gazebo_dvs_plugin/urdf/turtlebot3_burger.gazebo.xacro @@ -0,0 +1,135 @@ +<?xml version="1.0"?> +<robot name="turtlebot3_burger_sim" xmlns:xacro="http://ros.org/wiki/xacro"> + <xacro:arg name="laser_visual" default="false"/> + <xacro:arg name="imu_visual" default="false"/> + + <gazebo reference="base_link"> + <material>Gazebo/DarkGrey</material> + </gazebo> + + <gazebo reference="wheel_left_link"> + <mu1>0.1</mu1> + <mu2>0.1</mu2> + <kp>500000.0</kp> + <kd>10.0</kd> + <minDepth>0.001</minDepth> + <maxVel>0.1</maxVel> + <fdir1>1 0 0</fdir1> + <material>Gazebo/FlatBlack</material> + </gazebo> + + <gazebo reference="wheel_right_link"> + <mu1>0.1</mu1> + <mu2>0.1</mu2> + <kp>500000.0</kp> + <kd>10.0</kd> + <minDepth>0.001</minDepth> + <maxVel>0.1</maxVel> + <fdir1>1 0 0</fdir1> + <material>Gazebo/FlatBlack</material> + </gazebo> + + <gazebo reference="caster_back_link"> + <mu1>0.1</mu1> + <mu2>0.1</mu2> + <kp>1000000.0</kp> + <kd>100.0</kd> + <minDepth>0.001</minDepth> + <maxVel>1.0</maxVel> + <material>Gazebo/FlatBlack</material> + </gazebo> + + <gazebo reference="imu_link"> + <sensor type="imu" name="imu"> + <always_on>true</always_on> + <visualize>$(arg imu_visual)</visualize> + </sensor> + <material>Gazebo/FlatBlack</material> + </gazebo> + + <gazebo> + <plugin name="turtlebot3_burger_controller" filename="libgazebo_ros_diff_drive.so"> + <commandTopic>cmd_vel</commandTopic> + <odometryTopic>odom</odometryTopic> + <odometryFrame>odom</odometryFrame> + <odometrySource>world</odometrySource> + <publishOdomTF>true</publishOdomTF> + <robotBaseFrame>base_footprint</robotBaseFrame> + <publishWheelTF>false</publishWheelTF> + <publishTf>true</publishTf> + <publishWheelJointState>true</publishWheelJointState> + <legacyMode>false</legacyMode> + <updateRate>30</updateRate> + <leftJoint>wheel_left_joint</leftJoint> + <rightJoint>wheel_right_joint</rightJoint> + <wheelSeparation>0.160</wheelSeparation> + <wheelDiameter>0.066</wheelDiameter> + <wheelAcceleration>1</wheelAcceleration> + <wheelTorque>10</wheelTorque> + <rosDebugLevel>na</rosDebugLevel> + </plugin> + </gazebo> + + <gazebo> + <plugin name="imu_plugin" filename="libgazebo_ros_imu.so"> + <alwaysOn>true</alwaysOn> + <bodyName>imu_link</bodyName> + <frameName>imu_link</frameName> + <topicName>imu</topicName> + <serviceName>imu_service</serviceName> + <gaussianNoise>0.0</gaussianNoise> + <updateRate>0</updateRate> + <imu> + <noise> + <type>gaussian</type> + <rate> + <mean>0.0</mean> + <stddev>2e-4</stddev> + <bias_mean>0.0000075</bias_mean> + <bias_stddev>0.0000008</bias_stddev> + </rate> + <accel> + <mean>0.0</mean> + <stddev>1.7e-2</stddev> + <bias_mean>0.1</bias_mean> + <bias_stddev>0.001</bias_stddev> + </accel> + </noise> + </imu> + </plugin> + </gazebo> + + <gazebo reference="base_scan"> + <material>Gazebo/FlatBlack</material> + <sensor type="ray" name="lds_lfcd_sensor"> + <pose>0 0 0 0 0 0</pose> + <visualize>$(arg laser_visual)</visualize> + <update_rate>5</update_rate> + <ray> + <scan> + <horizontal> + <samples>360</samples> + <resolution>1</resolution> + <min_angle>0.0</min_angle> + <max_angle>6.28319</max_angle> + </horizontal> + </scan> + <range> + <min>0.120</min> + <max>3.5</max> + <resolution>0.015</resolution> + </range> + <noise> + <type>gaussian</type> + <mean>0.0</mean> + <stddev>0.01</stddev> + </noise> + </ray> + <plugin name="gazebo_ros_lds_lfcd_controller" filename="libgazebo_ros_laser.so"> + <topicName>scan</topicName> + <frameName>base_scan</frameName> + </plugin> + </sensor> + </gazebo> + +</robot> diff --git a/RWR/src/gazebo_dvs_plugin/urdf/turtlebot3_burger.urdf.xacro b/RWR/src/gazebo_dvs_plugin/urdf/turtlebot3_burger.urdf.xacro new file mode 100644 index 0000000..53ff68d --- /dev/null +++ b/RWR/src/gazebo_dvs_plugin/urdf/turtlebot3_burger.urdf.xacro @@ -0,0 +1,166 @@ +<?xml version="1.0" ?> +<robot name="turtlebot3_burger" xmlns:xacro="http://ros.org/wiki/xacro"> + <xacro:include filename="$(find turtlebot3_description)/urdf/common_properties.xacro"/> + <xacro:include filename="/home/chris/3rdYear/RWR/Robot-With-Reflexes/RWR/src/urdf/turtlebot3_burger.gazebo.xacro"/> + <xacro:include filename="/home/chris/3rdYear/RWR/Robot-With-Reflexes/RWR/src/urdf/spot_micro_camera.urdf.xacro"/> + + <link name="base_footprint"/> + + <joint name="base_joint" type="fixed"> + <parent link="base_footprint"/> + <child link="base_link"/> + <origin xyz="0.0 0.0 0.010" rpy="0 0 0"/> + </joint> + + <link name="base_link"> + <visual> + <origin xyz="-0.032 0 0.0" rpy="0 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/bases/burger_base.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="light_black"/> + </visual> + + <collision> + <origin xyz="-0.032 0 0.070" rpy="0 0 0"/> + <geometry> + <box size="0.140 0.140 0.143"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" rpy="0 0 0"/> + <mass value="8.2573504e-01"/> + <inertia ixx="2.2124416e-03" ixy="-1.2294101e-05" ixz="3.4938785e-05" + iyy="2.1193702e-03" iyz="-5.0120904e-06" + izz="2.0064271e-03" /> + </inertial> + </link> + + <joint name="wheel_left_joint" type="continuous"> + <parent link="base_link"/> + <child link="wheel_left_link"/> + <origin xyz="0.0 0.08 0.023" rpy="-1.57 0 0"/> + <axis xyz="0 0 1"/> + </joint> + + <link name="wheel_left_link"> + <visual> + <origin xyz="0 0 0" rpy="1.57 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/wheels/left_tire.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="dark"/> + </visual> + + <collision> + <origin xyz="0 0 0" rpy="0 0 0"/> + <geometry> + <cylinder length="0.018" radius="0.033"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" /> + <mass value="2.8498940e-02" /> + <inertia ixx="1.1175580e-05" ixy="-4.2369783e-11" ixz="-5.9381719e-09" + iyy="1.1192413e-05" iyz="-1.4400107e-11" + izz="2.0712558e-05" /> + </inertial> + </link> + + <joint name="wheel_right_joint" type="continuous"> + <parent link="base_link"/> + <child link="wheel_right_link"/> + <origin xyz="0.0 -0.080 0.023" rpy="-1.57 0 0"/> + <axis xyz="0 0 1"/> + </joint> + + <link name="wheel_right_link"> + <visual> + <origin xyz="0 0 0" rpy="1.57 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/wheels/right_tire.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="dark"/> + </visual> + + <collision> + <origin xyz="0 0 0" rpy="0 0 0"/> + <geometry> + <cylinder length="0.018" radius="0.033"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" /> + <mass value="2.8498940e-02" /> + <inertia ixx="1.1175580e-05" ixy="-4.2369783e-11" ixz="-5.9381719e-09" + iyy="1.1192413e-05" iyz="-1.4400107e-11" + izz="2.0712558e-05" /> + </inertial> + </link> + + <joint name="caster_back_joint" type="fixed"> + <parent link="base_link"/> + <child link="caster_back_link"/> + <origin xyz="-0.081 0 -0.004" rpy="-1.57 0 0"/> + </joint> + + <link name="caster_back_link"> + <collision> + <origin xyz="0 0.001 0" rpy="0 0 0"/> + <geometry> + <box size="0.030 0.009 0.020"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" /> + <mass value="0.005" /> + <inertia ixx="0.001" ixy="0.0" ixz="0.0" + iyy="0.001" iyz="0.0" + izz="0.001" /> + </inertial> + </link> + + <joint name="imu_joint" type="fixed"> + <parent link="base_link"/> + <child link="imu_link"/> + <origin xyz="-0.032 0 0.068" rpy="0 0 0"/> + </joint> + + <link name="imu_link"/> + + <joint name="scan_joint" type="fixed"> + <parent link="base_link"/> + <child link="base_scan"/> + <origin xyz="-0.032 0 0.172" rpy="0 0 0"/> + </joint> + + <link name="base_scan"> + <visual> + <origin xyz="0 0 0.0" rpy="0 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/sensors/lds.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="dark"/> + </visual> + + <collision> + <origin xyz="0.015 0 -0.0065" rpy="0 0 0"/> + <geometry> + <cylinder length="0.0315" radius="0.055"/> + </geometry> + </collision> + + <inertial> + <mass value="0.114" /> + <origin xyz="0 0 0" /> + <inertia ixx="0.001" ixy="0.0" ixz="0.0" + iyy="0.001" iyz="0.0" + izz="0.001" /> + </inertial> + </link> + +</robot> diff --git a/RWR/src/gazebo_dvs_plugin/urdf/turtlebot3_waffle_pi.urdf.xacro b/RWR/src/gazebo_dvs_plugin/urdf/turtlebot3_waffle_pi.urdf.xacro new file mode 100644 index 0000000..9567270 --- /dev/null +++ b/RWR/src/gazebo_dvs_plugin/urdf/turtlebot3_waffle_pi.urdf.xacro @@ -0,0 +1,218 @@ +<?xml version="1.0" ?> +<robot name="turtlebot3_waffle_pi" xmlns:xacro="http://ros.org/wiki/xacro"> + <xacro:include filename="$(find turtlebot3_description)/urdf/common_properties.xacro"/> + <xacro:include filename="$(find turtlebot3_description)/urdf/turtlebot3_waffle_pi.gazebo.xacro"/> + <xacro:include filename="$(find gazebo_dvs_plugin)/urdf/spot_micro_camera.urdf.xacro"/> + + <link name="base_footprint"/> + + <joint name="base_joint" type="fixed"> + <parent link="base_footprint"/> + <child link="base_link" /> + <origin xyz="0 0 0.010" rpy="0 0 0"/> + </joint> + + <link name="base_link"> + <visual> + <origin xyz="-0.064 0 0.0" rpy="0 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/bases/waffle_pi_base.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="light_black"/> + </visual> + + <collision> + <origin xyz="-0.064 0 0.047" rpy="0 0 0"/> + <geometry> + <box size="0.266 0.266 0.094"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" rpy="0 0 0"/> + <mass value="1.3729096e+00"/> + <inertia ixx="8.7002718e-03" ixy="-4.7576583e-05" ixz="1.1160499e-04" + iyy="8.6195418e-03" iyz="-3.5422299e-06" + izz="1.4612727e-02" /> + </inertial> + </link> + + <joint name="wheel_left_joint" type="continuous"> + <parent link="base_link"/> + <child link="wheel_left_link"/> + <origin xyz="0.0 0.144 0.023" rpy="-1.57 0 0"/> + <axis xyz="0 0 1"/> + </joint> + + <link name="wheel_left_link"> + <visual> + <origin xyz="0 0 0" rpy="1.57 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/wheels/left_tire.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="dark"/> + </visual> + + <collision> + <origin xyz="0 0 0" rpy="0 0 0"/> + <geometry> + <cylinder length="0.018" radius="0.033"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" /> + <mass value="2.8498940e-02" /> + <inertia ixx="1.1175580e-05" ixy="-4.2369783e-11" ixz="-5.9381719e-09" + iyy="1.1192413e-05" iyz="-1.4400107e-11" + izz="2.0712558e-05" /> + </inertial> + </link> + + <joint name="wheel_right_joint" type="continuous"> + <parent link="base_link"/> + <child link="wheel_right_link"/> + <origin xyz="0.0 -0.144 0.023" rpy="-1.57 0 0"/> + <axis xyz="0 0 1"/> + </joint> + + <link name="wheel_right_link"> + <visual> + <origin xyz="0 0 0" rpy="1.57 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/wheels/right_tire.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="dark"/> + </visual> + + <collision> + <origin xyz="0 0 0" rpy="0 0 0"/> + <geometry> + <cylinder length="0.018" radius="0.033"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" /> + <mass value="2.8498940e-02" /> + <inertia ixx="1.1175580e-05" ixy="-4.2369783e-11" ixz="-5.9381719e-09" + iyy="1.1192413e-05" iyz="-1.4400107e-11" + izz="2.0712558e-05" /> + </inertial> + </link> + + <joint name="caster_back_right_joint" type="fixed"> + <parent link="base_link"/> + <child link="caster_back_right_link"/> + <origin xyz="-0.177 -0.064 -0.004" rpy="-1.57 0 0"/> + </joint> + + <link name="caster_back_right_link"> + <collision> + <origin xyz="0 0.001 0" rpy="0 0 0"/> + <geometry> + <box size="0.030 0.009 0.020"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" /> + <mass value="0.005" /> + <inertia ixx="0.001" ixy="0.0" ixz="0.0" + iyy="0.001" iyz="0.0" + izz="0.001" /> + </inertial> + </link> + + <joint name="caster_back_left_joint" type="fixed"> + <parent link="base_link"/> + <child link="caster_back_left_link"/> + <origin xyz="-0.177 0.064 -0.004" rpy="-1.57 0 0"/> + </joint> + + <link name="caster_back_left_link"> + <collision> + <origin xyz="0 0.001 0" rpy="0 0 0"/> + <geometry> + <box size="0.030 0.009 0.020"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" /> + <mass value="0.005" /> + <inertia ixx="0.001" ixy="0.0" ixz="0.0" + iyy="0.001" iyz="0.0" + izz="0.001" /> + </inertial> + </link> + + <joint name="imu_joint" type="fixed"> + <parent link="base_link"/> + <child link="imu_link"/> + <origin xyz="0.0 0 0.068" rpy="0 0 0"/> + </joint> + + <link name="imu_link"/> + + <joint name="scan_joint" type="fixed"> + <parent link="base_link"/> + <child link="base_scan"/> + <origin xyz="-0.064 0 0.122" rpy="0 0 0"/> + </joint> + + <link name="base_scan"> + <visual> + <origin xyz="0 0 0.0" rpy="0 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/sensors/lds.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="dark"/> + </visual> + + <collision> + <origin xyz="0.015 0 -0.0065" rpy="0 0 0"/> + <geometry> + <cylinder length="0.0315" radius="0.055"/> + </geometry> + </collision> + + <inertial> + <mass value="0.114" /> + <origin xyz="0 0 0" /> + <inertia ixx="0.001" ixy="0.0" ixz="0.0" + iyy="0.001" iyz="0.0" + izz="0.001" /> + </inertial> + </link> + + <joint name="camera_joint" type="fixed"> + <origin xyz="0.073 -0.011 0.084" rpy="0 0 0"/> + <parent link="base_link"/> + <child link="camera_link"/> + </joint> + + <link name="camera_link"> + <collision> + <origin xyz="0.005 0.011 0.013" rpy="0 0 0"/> + <geometry> + <box size="0.015 0.030 0.027"/> + </geometry> + </collision> + </link> + + <joint name="camera_rgb_joint" type="fixed"> + <origin xyz="0.003 0.011 0.009" rpy="0 0 0"/> + <parent link="camera_link"/> + <child link="camera_rgb_frame"/> + </joint> + <link name="camera_rgb_frame"/> + + <joint name="camera_rgb_optical_joint" type="fixed"> + <origin xyz="0 0 0" rpy="-1.57 0 -1.57"/> + <parent link="camera_rgb_frame"/> + <child link="camera_rgb_optical_frame"/> + </joint> + <link name="camera_rgb_optical_frame"/> + +</robot> diff --git a/RWR/src/gazebo_dvs_plugin/urdf/urdf/turtlebot3_waffle_pi.urdf.xacro~ b/RWR/src/gazebo_dvs_plugin/urdf/urdf/turtlebot3_waffle_pi.urdf.xacro~ new file mode 100644 index 0000000..46cf4a9 --- /dev/null +++ b/RWR/src/gazebo_dvs_plugin/urdf/urdf/turtlebot3_waffle_pi.urdf.xacro~ @@ -0,0 +1,217 @@ +<?xml version="1.0" ?> +<robot name="turtlebot3_waffle_pi" xmlns:xacro="http://ros.org/wiki/xacro"> + <xacro:include filename="$(find turtlebot3_description)/urdf/common_properties.xacro"/> + <xacro:include filename="$(find turtlebot3_description)/urdf/turtlebot3_waffle_pi.gazebo.xacro"/> + + <link name="base_footprint"/> + + <joint name="base_joint" type="fixed"> + <parent link="base_footprint"/> + <child link="base_link" /> + <origin xyz="0 0 0.010" rpy="0 0 0"/> + </joint> + + <link name="base_link"> + <visual> + <origin xyz="-0.064 0 0.0" rpy="0 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/bases/waffle_pi_base.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="light_black"/> + </visual> + + <collision> + <origin xyz="-0.064 0 0.047" rpy="0 0 0"/> + <geometry> + <box size="0.266 0.266 0.094"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" rpy="0 0 0"/> + <mass value="1.3729096e+00"/> + <inertia ixx="8.7002718e-03" ixy="-4.7576583e-05" ixz="1.1160499e-04" + iyy="8.6195418e-03" iyz="-3.5422299e-06" + izz="1.4612727e-02" /> + </inertial> + </link> + + <joint name="wheel_left_joint" type="continuous"> + <parent link="base_link"/> + <child link="wheel_left_link"/> + <origin xyz="0.0 0.144 0.023" rpy="-1.57 0 0"/> + <axis xyz="0 0 1"/> + </joint> + + <link name="wheel_left_link"> + <visual> + <origin xyz="0 0 0" rpy="1.57 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/wheels/left_tire.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="dark"/> + </visual> + + <collision> + <origin xyz="0 0 0" rpy="0 0 0"/> + <geometry> + <cylinder length="0.018" radius="0.033"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" /> + <mass value="2.8498940e-02" /> + <inertia ixx="1.1175580e-05" ixy="-4.2369783e-11" ixz="-5.9381719e-09" + iyy="1.1192413e-05" iyz="-1.4400107e-11" + izz="2.0712558e-05" /> + </inertial> + </link> + + <joint name="wheel_right_joint" type="continuous"> + <parent link="base_link"/> + <child link="wheel_right_link"/> + <origin xyz="0.0 -0.144 0.023" rpy="-1.57 0 0"/> + <axis xyz="0 0 1"/> + </joint> + + <link name="wheel_right_link"> + <visual> + <origin xyz="0 0 0" rpy="1.57 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/wheels/right_tire.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="dark"/> + </visual> + + <collision> + <origin xyz="0 0 0" rpy="0 0 0"/> + <geometry> + <cylinder length="0.018" radius="0.033"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" /> + <mass value="2.8498940e-02" /> + <inertia ixx="1.1175580e-05" ixy="-4.2369783e-11" ixz="-5.9381719e-09" + iyy="1.1192413e-05" iyz="-1.4400107e-11" + izz="2.0712558e-05" /> + </inertial> + </link> + + <joint name="caster_back_right_joint" type="fixed"> + <parent link="base_link"/> + <child link="caster_back_right_link"/> + <origin xyz="-0.177 -0.064 -0.004" rpy="-1.57 0 0"/> + </joint> + + <link name="caster_back_right_link"> + <collision> + <origin xyz="0 0.001 0" rpy="0 0 0"/> + <geometry> + <box size="0.030 0.009 0.020"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" /> + <mass value="0.005" /> + <inertia ixx="0.001" ixy="0.0" ixz="0.0" + iyy="0.001" iyz="0.0" + izz="0.001" /> + </inertial> + </link> + + <joint name="caster_back_left_joint" type="fixed"> + <parent link="base_link"/> + <child link="caster_back_left_link"/> + <origin xyz="-0.177 0.064 -0.004" rpy="-1.57 0 0"/> + </joint> + + <link name="caster_back_left_link"> + <collision> + <origin xyz="0 0.001 0" rpy="0 0 0"/> + <geometry> + <box size="0.030 0.009 0.020"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" /> + <mass value="0.005" /> + <inertia ixx="0.001" ixy="0.0" ixz="0.0" + iyy="0.001" iyz="0.0" + izz="0.001" /> + </inertial> + </link> + + <joint name="imu_joint" type="fixed"> + <parent link="base_link"/> + <child link="imu_link"/> + <origin xyz="0.0 0 0.068" rpy="0 0 0"/> + </joint> + + <link name="imu_link"/> + + <joint name="scan_joint" type="fixed"> + <parent link="base_link"/> + <child link="base_scan"/> + <origin xyz="-0.064 0 0.122" rpy="0 0 0"/> + </joint> + + <link name="base_scan"> + <visual> + <origin xyz="0 0 0.0" rpy="0 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/sensors/lds.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="dark"/> + </visual> + + <collision> + <origin xyz="0.015 0 -0.0065" rpy="0 0 0"/> + <geometry> + <cylinder length="0.0315" radius="0.055"/> + </geometry> + </collision> + + <inertial> + <mass value="0.114" /> + <origin xyz="0 0 0" /> + <inertia ixx="0.001" ixy="0.0" ixz="0.0" + iyy="0.001" iyz="0.0" + izz="0.001" /> + </inertial> + </link> + + <joint name="camera_joint" type="fixed"> + <origin xyz="0.073 -0.011 0.084" rpy="0 0 0"/> + <parent link="base_link"/> + <child link="camera_link"/> + </joint> + + <link name="camera_link"> + <collision> + <origin xyz="0.005 0.011 0.013" rpy="0 0 0"/> + <geometry> + <box size="0.015 0.030 0.027"/> + </geometry> + </collision> + </link> + + <joint name="camera_rgb_joint" type="fixed"> + <origin xyz="0.003 0.011 0.009" rpy="0 0 0"/> + <parent link="camera_link"/> + <child link="camera_rgb_frame"/> + </joint> + <link name="camera_rgb_frame"/> + + <joint name="camera_rgb_optical_joint" type="fixed"> + <origin xyz="0 0 0" rpy="-1.57 0 -1.57"/> + <parent link="camera_rgb_frame"/> + <child link="camera_rgb_optical_frame"/> + </joint> + <link name="camera_rgb_optical_frame"/> + +</robot> diff --git a/RWR/src/spot_micro_gazebo.launch b/RWR/src/spot_micro_gazebo.launch index debbca0..8779ddd 100755 --- a/RWR/src/spot_micro_gazebo.launch +++ b/RWR/src/spot_micro_gazebo.launch @@ -29,6 +29,8 @@ <arg name="debug" value="false"/> </include> + + <!-- <include file="$(find turtlebot3_navigation)/launch/move_base.launch"> <arg name="model" value="$(arg model)" /> @@ -37,18 +39,21 @@ <!-- <include file="$(find lab5)/amcl.launch"/> --> - <include file="$(find turtlebot3_navigation)/launch/move_base.launch"> + <!--include file="$(find turtlebot3_navigation)/launch/move_base.launch"> <arg name="model" value="$(arg model)" /> - </include> + </include --> - <param name="robot_description" command="$(find xacro)/xacro --inorder $(find turtlebot3_description)/urdf/turtlebot3_waffle_pi.urdf.xacro gpu:=$(arg gpu)" /> - + <param name="robot_description" command="$(find xacro)/xacro --inorder $(find turtlebot3_description)/urdf/turtlebot3_$(env TURTLEBOT3_MODEL).urdf.xacro gpu:=$(arg gpu)"/> <!-- node pkg="map_server" name="map_server" type="map_server" args="$(arg map_file)"/ --> - <node pkg="gazebo_ros" type="spawn_model" name="spawn_urdf" args="-urdf -model turtlebot3 -x $(arg x_pos) -y $(arg y_pos) -z $(arg z_pos) -param robot_description" /> + <node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-urdf -model turtlebot3 -x $(arg x_pos) -y $(arg y_pos) -z $(arg z_pos) -param robot_description" /> <node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher"> <param name="publish_frequency" type="double" value="30.0" /> </node> + <node name="dvs_renderer" pkg="dvs_renderer" type="dvs_renderer" output="screen" clear_params="true"> + <remap from="/events" to="/AADC_AudiTT/camera_front/events"/> + </node> + </launch> \ No newline at end of file diff --git a/RWR/src/urdf/spot_micro_camera.urdf.xacro b/RWR/src/urdf/spot_micro_camera.urdf.xacro index 1be3dba..2246ee4 100755 --- a/RWR/src/urdf/spot_micro_camera.urdf.xacro +++ b/RWR/src/urdf/spot_micro_camera.urdf.xacro @@ -1,44 +1,9 @@ -<!--?xml version="1.0"?--> -<!--robot name="turtlebot3_burger_cam" xmlns:xacro="http://ros.org/wiki/xacro" --> - <!--<xacro:property name="camera_link" value="0.01" /> --> <!-- Size of square 'camera' box --> -<!-- - <joint name="camera_joint" type="fixed"> - <axis xyz="0 1 0" /> - <origin xyz="0.0 0.0 0.005" rpy="0 0 0"/> - <parent link="base_scan"/> - <child link="camera_link"/> - </joint> ---> - <!-- Camera --> - <!-- - <link name="camera_link"> - <collision> - <origin xyz="0 0 0" rpy="0 0 0"/> - <geometry> - <box size="${camera_link} ${camera_link} ${camera_link}"/> - </geometry> - </collision> - - <visual> - <origin xyz="0 0 0" rpy="0 0 0"/> - <geometry> - <box size="${camera_link} ${camera_link} ${camera_link}"/> - </geometry> - <material name="red"/> - </visual> - - <inertial> - <mass value="1e-5" /> - <origin xyz="0 0 0" rpy="0 0 0"/> - <inertia ixx="1e-6" ixy="0" ixz="0" iyy="1e-6" iyz="0" izz="1e-6" /> - </inertial> - </link> ---> - <!-- camera --> +<?xml version="1.0"?> +<robot name="turtlebot3_event_cam" xmlns:xacro="http://ros.org/wiki/xacro"> <gazebo reference="camera_rgb_frame"> - <sensor type="camera" name="camera1"> - - <camera name='__default__'> + <material>Gazebo/Green</material> + <sensor name="camera" type="camera"> + <camera name="__default__"> <horizontal_fov>1.8</horizontal_fov> <image> <width>128</width> @@ -48,30 +13,17 @@ <near>0.1</near> <far>100</far> </clip> - - <!-- noise stuff--> - </camera> + <always_on>1</always_on> <update_rate>60</update_rate> - <alwaysOn>1</alwaysOn> - <visualize>0</visualize> - <plugin name="camera_controller" file="/home/chris/3rdYear/RWR/Robot-With-Reflexes/RWR/devel/lib/libgazebo_dvs_plugin.so"> - + <visualize>1</visualize> + <plugin name="camera_controller" filename="libgazebo_dvs_plugin.so"> + <cameraName>camera_front</cameraName> + <robotNamespace>AADC_AudiTT</robotNamespace> <eventThreshold>10</eventThreshold> - <cameraName>rrbot/camera1</cameraName> - <robotNamespace>/</robotNamespace> - <!-- <imageTopicName>image_raw</imageTopicName> --> - <eventTopicName>events</eventTopicName> <cameraInfoTopicName>camera_info</cameraInfoTopicName> -<!-- - <hackBaseline>0.07</hackBaseline> - <distortionK1>0.0</distortionK1> - <distortionK2>0.0</distortionK2> - <distortionK3>0.0</distortionK3> - <distortionT1>0.0</distortionT1> - <distortionT2>0.0</distortionT2> ---> + <!-- <eventsTopicName>events</eventsTopicName> --> </plugin> </sensor> </gazebo> -<!--/robot--> \ No newline at end of file +</robot> \ No newline at end of file diff --git a/RWR/src/urdf/turtlebot3_waffle_pi.urdf.xacro b/RWR/src/urdf/turtlebot3_waffle_pi.urdf.xacro new file mode 100644 index 0000000..1f4841f --- /dev/null +++ b/RWR/src/urdf/turtlebot3_waffle_pi.urdf.xacro @@ -0,0 +1,218 @@ +<?xml version="1.0" ?> +<robot name="turtlebot3_waffle_pi" xmlns:xacro="http://ros.org/wiki/xacro"> + <xacro:include filename="$(find turtlebot3_description)/urdf/common_properties.xacro"/> + <xacro:include filename="$(find turtlebot3_description)/urdf/turtlebot3_waffle_pi.gazebo.xacro"/> + <xacro:include filename="/home/chris/3rdYear/RWR/Robot-With-Reflexes/RWR/src/urdf/spot_micro_camera.urdf.xacro"/> + + <link name="base_footprint"/> + + <joint name="base_joint" type="fixed"> + <parent link="base_footprint"/> + <child link="base_link" /> + <origin xyz="0 0 0.010" rpy="0 0 0"/> + </joint> + + <link name="base_link"> + <visual> + <origin xyz="-0.064 0 0.0" rpy="0 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/bases/waffle_pi_base.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="light_black"/> + </visual> + + <collision> + <origin xyz="-0.064 0 0.047" rpy="0 0 0"/> + <geometry> + <box size="0.266 0.266 0.094"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" rpy="0 0 0"/> + <mass value="1.3729096e+00"/> + <inertia ixx="8.7002718e-03" ixy="-4.7576583e-05" ixz="1.1160499e-04" + iyy="8.6195418e-03" iyz="-3.5422299e-06" + izz="1.4612727e-02" /> + </inertial> + </link> + + <joint name="wheel_left_joint" type="continuous"> + <parent link="base_link"/> + <child link="wheel_left_link"/> + <origin xyz="0.0 0.144 0.023" rpy="-1.57 0 0"/> + <axis xyz="0 0 1"/> + </joint> + + <link name="wheel_left_link"> + <visual> + <origin xyz="0 0 0" rpy="1.57 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/wheels/left_tire.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="dark"/> + </visual> + + <collision> + <origin xyz="0 0 0" rpy="0 0 0"/> + <geometry> + <cylinder length="0.018" radius="0.033"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" /> + <mass value="2.8498940e-02" /> + <inertia ixx="1.1175580e-05" ixy="-4.2369783e-11" ixz="-5.9381719e-09" + iyy="1.1192413e-05" iyz="-1.4400107e-11" + izz="2.0712558e-05" /> + </inertial> + </link> + + <joint name="wheel_right_joint" type="continuous"> + <parent link="base_link"/> + <child link="wheel_right_link"/> + <origin xyz="0.0 -0.144 0.023" rpy="-1.57 0 0"/> + <axis xyz="0 0 1"/> + </joint> + + <link name="wheel_right_link"> + <visual> + <origin xyz="0 0 0" rpy="1.57 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/wheels/right_tire.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="dark"/> + </visual> + + <collision> + <origin xyz="0 0 0" rpy="0 0 0"/> + <geometry> + <cylinder length="0.018" radius="0.033"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" /> + <mass value="2.8498940e-02" /> + <inertia ixx="1.1175580e-05" ixy="-4.2369783e-11" ixz="-5.9381719e-09" + iyy="1.1192413e-05" iyz="-1.4400107e-11" + izz="2.0712558e-05" /> + </inertial> + </link> + + <joint name="caster_back_right_joint" type="fixed"> + <parent link="base_link"/> + <child link="caster_back_right_link"/> + <origin xyz="-0.177 -0.064 -0.004" rpy="-1.57 0 0"/> + </joint> + + <link name="caster_back_right_link"> + <collision> + <origin xyz="0 0.001 0" rpy="0 0 0"/> + <geometry> + <box size="0.030 0.009 0.020"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" /> + <mass value="0.005" /> + <inertia ixx="0.001" ixy="0.0" ixz="0.0" + iyy="0.001" iyz="0.0" + izz="0.001" /> + </inertial> + </link> + + <joint name="caster_back_left_joint" type="fixed"> + <parent link="base_link"/> + <child link="caster_back_left_link"/> + <origin xyz="-0.177 0.064 -0.004" rpy="-1.57 0 0"/> + </joint> + + <link name="caster_back_left_link"> + <collision> + <origin xyz="0 0.001 0" rpy="0 0 0"/> + <geometry> + <box size="0.030 0.009 0.020"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" /> + <mass value="0.005" /> + <inertia ixx="0.001" ixy="0.0" ixz="0.0" + iyy="0.001" iyz="0.0" + izz="0.001" /> + </inertial> + </link> + + <joint name="imu_joint" type="fixed"> + <parent link="base_link"/> + <child link="imu_link"/> + <origin xyz="0.0 0 0.068" rpy="0 0 0"/> + </joint> + + <link name="imu_link"/> + + <joint name="scan_joint" type="fixed"> + <parent link="base_link"/> + <child link="base_scan"/> + <origin xyz="-0.064 0 0.122" rpy="0 0 0"/> + </joint> + + <link name="base_scan"> + <visual> + <origin xyz="0 0 0.0" rpy="0 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/sensors/lds.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="dark"/> + </visual> + + <collision> + <origin xyz="0.015 0 -0.0065" rpy="0 0 0"/> + <geometry> + <cylinder length="0.0315" radius="0.055"/> + </geometry> + </collision> + + <inertial> + <mass value="0.114" /> + <origin xyz="0 0 0" /> + <inertia ixx="0.001" ixy="0.0" ixz="0.0" + iyy="0.001" iyz="0.0" + izz="0.001" /> + </inertial> + </link> + + <joint name="camera_joint" type="fixed"> + <origin xyz="0.073 -0.011 0.084" rpy="0 0 0"/> + <parent link="base_link"/> + <child link="camera_link"/> + </joint> + + <link name="camera_link"> + <collision> + <origin xyz="0.005 0.011 0.013" rpy="0 0 0"/> + <geometry> + <box size="0.015 0.030 0.027"/> + </geometry> + </collision> + </link> + + <joint name="camera_rgb_joint" type="fixed"> + <origin xyz="0.003 0.011 0.009" rpy="0 0 0"/> + <parent link="camera_link"/> + <child link="camera_rgb_frame"/> + </joint> + <link name="camera_rgb_frame"/> + + <joint name="camera_rgb_optical_joint" type="fixed"> + <origin xyz="0 0 0" rpy="-1.57 0 -1.57"/> + <parent link="camera_rgb_frame"/> + <child link="camera_rgb_optical_frame"/> + </joint> + <link name="camera_rgb_optical_frame"/> + +</robot> diff --git a/RWR/src/urdf/turtlebot3_waffle_pi.urdf.xacro~ b/RWR/src/urdf/turtlebot3_waffle_pi.urdf.xacro~ new file mode 100644 index 0000000..46cf4a9 --- /dev/null +++ b/RWR/src/urdf/turtlebot3_waffle_pi.urdf.xacro~ @@ -0,0 +1,217 @@ +<?xml version="1.0" ?> +<robot name="turtlebot3_waffle_pi" xmlns:xacro="http://ros.org/wiki/xacro"> + <xacro:include filename="$(find turtlebot3_description)/urdf/common_properties.xacro"/> + <xacro:include filename="$(find turtlebot3_description)/urdf/turtlebot3_waffle_pi.gazebo.xacro"/> + + <link name="base_footprint"/> + + <joint name="base_joint" type="fixed"> + <parent link="base_footprint"/> + <child link="base_link" /> + <origin xyz="0 0 0.010" rpy="0 0 0"/> + </joint> + + <link name="base_link"> + <visual> + <origin xyz="-0.064 0 0.0" rpy="0 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/bases/waffle_pi_base.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="light_black"/> + </visual> + + <collision> + <origin xyz="-0.064 0 0.047" rpy="0 0 0"/> + <geometry> + <box size="0.266 0.266 0.094"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" rpy="0 0 0"/> + <mass value="1.3729096e+00"/> + <inertia ixx="8.7002718e-03" ixy="-4.7576583e-05" ixz="1.1160499e-04" + iyy="8.6195418e-03" iyz="-3.5422299e-06" + izz="1.4612727e-02" /> + </inertial> + </link> + + <joint name="wheel_left_joint" type="continuous"> + <parent link="base_link"/> + <child link="wheel_left_link"/> + <origin xyz="0.0 0.144 0.023" rpy="-1.57 0 0"/> + <axis xyz="0 0 1"/> + </joint> + + <link name="wheel_left_link"> + <visual> + <origin xyz="0 0 0" rpy="1.57 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/wheels/left_tire.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="dark"/> + </visual> + + <collision> + <origin xyz="0 0 0" rpy="0 0 0"/> + <geometry> + <cylinder length="0.018" radius="0.033"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" /> + <mass value="2.8498940e-02" /> + <inertia ixx="1.1175580e-05" ixy="-4.2369783e-11" ixz="-5.9381719e-09" + iyy="1.1192413e-05" iyz="-1.4400107e-11" + izz="2.0712558e-05" /> + </inertial> + </link> + + <joint name="wheel_right_joint" type="continuous"> + <parent link="base_link"/> + <child link="wheel_right_link"/> + <origin xyz="0.0 -0.144 0.023" rpy="-1.57 0 0"/> + <axis xyz="0 0 1"/> + </joint> + + <link name="wheel_right_link"> + <visual> + <origin xyz="0 0 0" rpy="1.57 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/wheels/right_tire.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="dark"/> + </visual> + + <collision> + <origin xyz="0 0 0" rpy="0 0 0"/> + <geometry> + <cylinder length="0.018" radius="0.033"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" /> + <mass value="2.8498940e-02" /> + <inertia ixx="1.1175580e-05" ixy="-4.2369783e-11" ixz="-5.9381719e-09" + iyy="1.1192413e-05" iyz="-1.4400107e-11" + izz="2.0712558e-05" /> + </inertial> + </link> + + <joint name="caster_back_right_joint" type="fixed"> + <parent link="base_link"/> + <child link="caster_back_right_link"/> + <origin xyz="-0.177 -0.064 -0.004" rpy="-1.57 0 0"/> + </joint> + + <link name="caster_back_right_link"> + <collision> + <origin xyz="0 0.001 0" rpy="0 0 0"/> + <geometry> + <box size="0.030 0.009 0.020"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" /> + <mass value="0.005" /> + <inertia ixx="0.001" ixy="0.0" ixz="0.0" + iyy="0.001" iyz="0.0" + izz="0.001" /> + </inertial> + </link> + + <joint name="caster_back_left_joint" type="fixed"> + <parent link="base_link"/> + <child link="caster_back_left_link"/> + <origin xyz="-0.177 0.064 -0.004" rpy="-1.57 0 0"/> + </joint> + + <link name="caster_back_left_link"> + <collision> + <origin xyz="0 0.001 0" rpy="0 0 0"/> + <geometry> + <box size="0.030 0.009 0.020"/> + </geometry> + </collision> + + <inertial> + <origin xyz="0 0 0" /> + <mass value="0.005" /> + <inertia ixx="0.001" ixy="0.0" ixz="0.0" + iyy="0.001" iyz="0.0" + izz="0.001" /> + </inertial> + </link> + + <joint name="imu_joint" type="fixed"> + <parent link="base_link"/> + <child link="imu_link"/> + <origin xyz="0.0 0 0.068" rpy="0 0 0"/> + </joint> + + <link name="imu_link"/> + + <joint name="scan_joint" type="fixed"> + <parent link="base_link"/> + <child link="base_scan"/> + <origin xyz="-0.064 0 0.122" rpy="0 0 0"/> + </joint> + + <link name="base_scan"> + <visual> + <origin xyz="0 0 0.0" rpy="0 0 0"/> + <geometry> + <mesh filename="package://turtlebot3_description/meshes/sensors/lds.stl" scale="0.001 0.001 0.001"/> + </geometry> + <material name="dark"/> + </visual> + + <collision> + <origin xyz="0.015 0 -0.0065" rpy="0 0 0"/> + <geometry> + <cylinder length="0.0315" radius="0.055"/> + </geometry> + </collision> + + <inertial> + <mass value="0.114" /> + <origin xyz="0 0 0" /> + <inertia ixx="0.001" ixy="0.0" ixz="0.0" + iyy="0.001" iyz="0.0" + izz="0.001" /> + </inertial> + </link> + + <joint name="camera_joint" type="fixed"> + <origin xyz="0.073 -0.011 0.084" rpy="0 0 0"/> + <parent link="base_link"/> + <child link="camera_link"/> + </joint> + + <link name="camera_link"> + <collision> + <origin xyz="0.005 0.011 0.013" rpy="0 0 0"/> + <geometry> + <box size="0.015 0.030 0.027"/> + </geometry> + </collision> + </link> + + <joint name="camera_rgb_joint" type="fixed"> + <origin xyz="0.003 0.011 0.009" rpy="0 0 0"/> + <parent link="camera_link"/> + <child link="camera_rgb_frame"/> + </joint> + <link name="camera_rgb_frame"/> + + <joint name="camera_rgb_optical_joint" type="fixed"> + <origin xyz="0 0 0" rpy="-1.57 0 -1.57"/> + <parent link="camera_rgb_frame"/> + <child link="camera_rgb_optical_frame"/> + </joint> + <link name="camera_rgb_optical_frame"/> + +</robot> -- GitLab