Compare commits

...

15 Commits

Author SHA1 Message Date
bjoernellens1
5dbf1b2518
update 2023-11-20 12:42:37 +01:00
bjoernellens1
951ac2ab9e
update 2023-11-20 12:40:22 +01:00
bjoernellens1
fbd28c02cb
update 2023-11-20 12:29:13 +01:00
bjoernellens1
576d85cf4a
update 2023-11-20 12:12:37 +01:00
bjoernellens1
bc7c096cf8
update 2023-11-20 12:11:08 +01:00
bjoernellens1
6188c792a3
update 2023-11-20 11:43:51 +01:00
bjoernellens1
5cec9ab2fd
update 2023-11-20 10:06:40 +01:00
bjoernellens1
cab151af49
update 2023-11-20 10:05:57 +01:00
bjoernellens1
ea0b02322f
update 2023-11-20 08:29:54 +01:00
bjoernellens1
80229cbd52
Update package.xml 2023-11-20 08:23:23 +01:00
bjoernellens1
5642b51537
Update setup.py 2023-11-20 08:22:44 +01:00
bjoernellens1
e70ff7edcc
Update README.md 2023-11-20 08:22:19 +01:00
bjoernellens1
9cd37004da
Update package.xml 2023-11-20 08:18:31 +01:00
bjoernellens1
bd198dff7a
Update README.md 2023-11-20 08:17:27 +01:00
bjoernellens1
a8c9649683
Update setup.py 2023-11-20 08:16:42 +01:00
17 changed files with 565 additions and 297 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.vscode

View File

@ -1,24 +0,0 @@
{
"configurations": [
{
"browse": {
"databaseFilename": "${default}",
"limitSymbolsToIncludedHeaders": false
},
"includePath": [
"/home/bjorn/Documents/ros_projects/cps_bot_mini_ws/install/odrive_hardware_interface/include/**",
"/home/bjorn/Documents/ros_projects/cps_bot_mini_ws/install/lslidar_msgs/include/**",
"/opt/ros/humble/include/**",
"/home/bjorn/Documents/ros_projects/cps_bot_mini_ws/src/Lslidar_ROS2_driver/lslidar_driver/include/**",
"/home/bjorn/Documents/ros_projects/cps_bot_mini_ws/src/odrive_ros2_control/odrive_hardware_interface/include/**",
"/usr/include/**"
],
"name": "ROS",
"intelliSenseMode": "gcc-x64",
"compilerPath": "/usr/bin/gcc",
"cStandard": "gnu11",
"cppStandard": "c++14"
}
],
"version": 4
}

20
.vscode/settings.json vendored
View File

@ -1,20 +0,0 @@
{
"python.autoComplete.extraPaths": [
"/home/bjorn/Documents/ros_projects/cps_bot_mini_ws/install/bot_mini_bringup/lib/python3.10/site-packages",
"/home/bjorn/Documents/ros_projects/cps_bot_mini_ws/install/rmp220_teleop/lib/python3.10/site-packages",
"/home/bjorn/Documents/ros_projects/cps_bot_mini_ws/install/lslidar_msgs/local/lib/python3.10/dist-packages",
"/home/bjorn/Documents/ros_projects/cps_bot_mini_ws/install/cam_opencv/lib/python3.10/site-packages",
"/home/bjorn/Documents/ros_projects/cps_bot_mini_ws/install/bot_mini_description/lib/python3.10/site-packages",
"/opt/ros/humble/lib/python3.10/site-packages",
"/opt/ros/humble/local/lib/python3.10/dist-packages"
],
"python.analysis.extraPaths": [
"/home/bjorn/Documents/ros_projects/cps_bot_mini_ws/install/bot_mini_bringup/lib/python3.10/site-packages",
"/home/bjorn/Documents/ros_projects/cps_bot_mini_ws/install/rmp220_teleop/lib/python3.10/site-packages",
"/home/bjorn/Documents/ros_projects/cps_bot_mini_ws/install/lslidar_msgs/local/lib/python3.10/dist-packages",
"/home/bjorn/Documents/ros_projects/cps_bot_mini_ws/install/cam_opencv/lib/python3.10/site-packages",
"/home/bjorn/Documents/ros_projects/cps_bot_mini_ws/install/bot_mini_description/lib/python3.10/site-packages",
"/opt/ros/humble/lib/python3.10/site-packages",
"/opt/ros/humble/local/lib/python3.10/dist-packages"
]
}

View File

@ -1 +1,3 @@
# bot_mini_description
# cps_loki_description
ROS2 desription package for CPS Loki Robot (Small green one)

View File

@ -1,9 +1,9 @@
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>bot_mini_description</name>
<version>0.0.0</version>
<description>TODO: Package description</description>
<name>cps_loki_description</name>
<version>0.0.2</version>
<description>This ROS2 package includes needed ROS2 urdf files for CPS Loki Robot</description>
<maintainer email="bjoern.ellensohn@gmail.com">bjorn</maintainer>
<license>TODO: License declaration</license>

View File

@ -1,4 +1,4 @@
[develop]
script_dir=$base/lib/bot_mini_description
script_dir=$base/lib/cps_loki_description
[install]
install_scripts=$base/lib/bot_mini_description
install_scripts=$base/lib/cps_loki_description

View File

@ -2,7 +2,7 @@ import os
from glob import glob
from setuptools import setup
package_name = 'bot_mini_description'
package_name = 'cps_loki_description'
setup(
name=package_name,

View File

@ -37,4 +37,12 @@ https://github.com/ros-simulation/gazebo_ros_demos/blob/kinetic-devel/rrbot_desc
<color rgba="1.0 1.0 1.0 1.0" />
</material>
<material name="grey2">
<color rgba="0.9 0.9 0.9 1.0"/>
</material>
<material name="lightGrey">
<color rgba="0.6 0.6 0.6 1.0"/>
</material>
</robot>

View File

@ -2,215 +2,234 @@
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:macro name="diffbot" params="prefix">
<xacro:include filename="inertial_macros.xacro"/>
<!-- Constants for robot dimensions -->
<xacro:property name="PI" value="3.1415926535897931"/>
<xacro:property name="base_mass" value="0.3" />
<!-- arbitrary value for base mass -->
<xacro:property name="base_width" value="0.26" />
<!-- Updated wheel spacing to 25cm -->
<xacro:property name="base_length" value="0.34" />
<xacro:property name="base_height" value="0.123" />
<xacro:property name="wheel_mass" value="0.3" />
<!-- arbitrary value for wheel mass -->
<xacro:property name="wheel_len" value="0.020" />
<xacro:property name="wheel_radius" value="0.0625" />
<xacro:property name="caster_wheel_mass" value="0.1" />
<!-- arbitrary value for caster wheel mass -->
<xacro:property name="caster_wheel_radius" value="0.04" />
<xacro:property name="z_offset" value="-${base_height/2}" />
<!-- Offset of main Axis to center of base body (Axis of rotation for steering) -->
<xacro:property name="base_offset" value="0.11" />
<!-- dummy link - used for ros2 control so it stops complaining?
<link name="${prefix}dummy_link">
</link>
<!-- new properties -->
<xacro:property name="chassis_length" value="0.34"/>
<xacro:property name="chassis_width" value="0.26"/>
<xacro:property name="chassis_height" value="0.123"/>
<xacro:property name="chassis_mass" value="3.0"/>
<xacro:property name="wheel_radius" value="0.0625"/>
<xacro:property name="wheel_thickness" value="0.020"/>
<xacro:property name="wheel_mass" value="0.02"/>
<xacro:property name="wheel_offset_x" value="0.285748"/>
<xacro:property name="wheel_offset_y" value="0.33675"/>
<xacro:property name="wheel_offset_z" value="-0.035"/>
<xacro:property name="caster_wheel_radius" value="0.04"/>
<xacro:property name="caster_wheel_mass" value="0.01"/>
<xacro:property name="caster_wheel_offset_x" value="0.075"/>
<xacro:property name="caster_wheel_offset_z" value="${wheel_offset_z - wheel_radius + caster_wheel_radius}"/>
<xacro:property name="chassis_offset" value="0.065"/>
<joint name="${prefix}dummy_joint" type="fixed">
<parent link="${prefix}dummy_link" />
<child link="${prefix}base_link" />
</joint> -->
<!-- Materials -->
<!-- <material name="white">
<color rgba="1 1 1 1" />
</material>
<!-- needed for replacement to find mesh dir: package://bot_mini_description/mesh/ -->
<material name="orange">
<color rgba="1 0.3 0.1 1"/>
</material>
<material name="blue">
<color rgba="0.2 0.2 1 1"/>
</material>
<material name="black">
<color rgba="0 0 0 1"/>
</material>
<material name="red">
<color rgba="1 0 0 1"/>
</material>
<material name="green">
<color rgba="0.0 0.8 0.0 1.0"/>
</material>
<material name="grey">
<color rgba="0.6 0.6 0.6 1.0"/>
</material>
<material name="grey2">
<color rgba="0.9 0.9 0.9 1.0"/>
</material>
<material name="lightGrey">
<color rgba="0.6 0.6 0.6 1.0"/>
</material> -->
<!-- Base Link -->
<link name="${prefix}base_link">
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://bot_mini_description/mesh/base_link_visual.stl"/>
</geometry>
<material name="base_link_material">
<color rgba="0.80032179626883115375 0.81301836741632160788 0.83346199892499306383 1.0"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="package://bot_mini_description/mesh/base_link_collision.stl"/>
</geometry>
</collision>
<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="8.4123950268139715547" />
<inertia ixx="0.090166990291185383777" ixy="4.7429179749238352248e-18" ixz="1.4209310488728267579e-18" iyy="0.055481261106946747064" iyz="-0.01112159061226025876" izz="0.13051099377067149065" />
</inertial>
</link>
<!-- Adding base_footprint for mapping (Needed by slam toolbox) -->
<link name="${prefix}base_footprint">
</link>
<joint name="${prefix}base_footprint_joint" type="fixed">
<parent link="${prefix}base_link" />
<child link="${prefix}base_footprint" />
<origin xyz="0 0 ${z_offset}" rpy="0 0 0" />
<origin xyz="0 0 0" rpy="0 0 0" />
</joint>
<!-- right wheel joint -->
<!-- fixed wheel joint for testing, type was continuous -->
<link name="${prefix}base_footprint">
</link>
<!-- CHASSIS LINK -->
<joint name="${prefix}chassis_joint" type="fixed">
<parent link="${prefix}base_link"/>
<child link="${prefix}chassis"/>
<origin xyz="${-chassis_length/2 + 0.065} 0 ${wheel_radius - wheel_offset_z}"/>
</joint>
<link name="${prefix}chassis">
<visual>
<origin xyz="0 0 0"/>
<geometry>
<box size="${chassis_length} ${chassis_width} ${chassis_height}"/>
</geometry>
<material name="orange"/>
</visual>
<collision>
<origin xyz="0 0 0"/>
<geometry>
<box size="${chassis_length} ${chassis_width} ${chassis_height}"/>
</geometry>
</collision>
<xacro:inertial_box mass="0.5" x="${chassis_length}" y="${chassis_width}" z="${chassis_height}">
<origin xyz="0 0 0" rpy="0 0 0"/>
</xacro:inertial_box>
</link>
<gazebo reference="chassis">
<material>Gazebo/Orange</material>
</gazebo>
<!-- RIGHT WHEEL -->
<joint name="${prefix}right_wheel_joint" type="continuous">
<origin xyz="0 ${-0.125 - wheel_len /2} ${z_offset}" rpy="${PI / 2} 0 0" />
<parent link="${prefix}base_link" />
<child link="${prefix}right_wheel" />
<parent link="${prefix}chassis"/>
<child link="${prefix}right_wheel"/>
<origin xyz="${chassis_length/2 - 0.075} -${wheel_offset_y/2 + wheel_thickness/2 + 0.01} ${wheel_offset_z}" rpy="${pi/2} 0 0" />
<axis xyz="0 0 -1"/>
<limit effort="1" velocity="20" />
<joint_properties friction="0.0"/>
</joint>
<!-- right wheel Link -->
<link name="${prefix}right_wheel">
<visual>
<origin xyz="0 0 ${wheel_len}" rpy="0 -0 0" />
<geometry>
<mesh filename="package://bot_mini_description/mesh/wheel_link_visual.stl"/>
<cylinder radius="${wheel_radius}" length="${wheel_thickness}"/>
</geometry>
<material name="wheel_link_material">
<color rgba="0.50196078431372548323 0.50196078431372548323 0.50196078431372548323 1.0"/>
</material>
<material name="blue"/>
</visual>
<collision>
<origin xyz="0 0 ${wheel_len}" rpy="0 -0 0" />
<geometry>
<mesh filename="package://bot_mini_description/mesh/wheel_link_collision.stl"/>
<sphere radius="${wheel_radius}"/>
</geometry>
</collision>
<inertial>
<origin xyz="-1.3877787807814456755e-17 -6.9388939039072283776e-18 -0.017500000000000029421" rpy="0 0 0"/>
<mass value="0.43298678305638949038" />
<inertia ixx="0.00043196650576949035269" ixy="0" ixz="1.8666117243005040269e-36" iyy="0.00043196650576949029848" iyz="0" izz="0.00078373880522818965139" />
</inertial>
<xacro:inertial_cylinder mass="${wheel_mass}" length="${wheel_thickness}" radius="${wheel_radius}">
<origin xyz="0 0 0" rpy="0 0 0"/>
</xacro:inertial_cylinder>
</link>
<!-- fixed wheel joint for testing, type was continuous -->
<!-- left wheel joint -->
<gazebo reference="right_wheel">
<material>Gazebo/Blue</material>
</gazebo>
<!-- LEFT WHEEL -->
<joint name="${prefix}left_wheel_joint" type="continuous">
<origin xyz="0 ${0.125 + wheel_len /2} ${z_offset}" rpy="${PI / 2} 0 0" />
<parent link="${prefix}base_link" />
<child link="${prefix}left_wheel" />
<axis xyz="0 0 1" />
<limit effort="1" velocity="20" />
<joint_properties friction="0.0" />
<parent link="${prefix}chassis"/>
<child link="${prefix}left_wheel"/>
<origin xyz="${chassis_length/2 - 0.075} ${wheel_offset_y/2 + wheel_thickness/2 + 0.01} ${wheel_offset_z}" rpy="-${pi/2} 0 0" />
<axis xyz="0 0 1"/>
</joint>
<!-- left wheel Link -->
<link name="${prefix}left_wheel">
<visual>
<origin xyz="0 0 ${wheel_len}" rpy="0 -0 0" />
<geometry>
<mesh filename="package://bot_mini_description/mesh/wheel_link_2_visual.stl"/>
<cylinder radius="${wheel_radius}" length="${wheel_thickness}"/>
</geometry>
<material name="wheel_link_2_material">
<color rgba="0.50196078431372548323 0.50196078431372548323 0.50196078431372548323 1.0"/>
</material>
<material name="blue"/>
</visual>
<collision>
<origin xyz="0 0 ${wheel_len}" rpy="0 -0 0" />
<geometry>
<mesh filename="package://bot_mini_description/mesh/wheel_link_2_collision.stl"/>
<sphere radius="${wheel_radius}"/>
</geometry>
</collision>
<inertial>
<origin xyz="-2.7755575615628913511e-17 0 -0.017500000000000015543" rpy="0 0 0"/>
<mass value="0.43298678305638949038" />
<inertia ixx="0.00043196650576949035269" ixy="1.4778173856800390343e-52" ixz="-4.8081924471597460774e-36" iyy="0.00043196650576949029848" iyz="0" izz="0.00078373880522818965139" />
</inertial>
<xacro:inertial_cylinder mass="${wheel_mass}" length="${wheel_thickness}" radius="${wheel_radius}">
<origin xyz="0 0 0" rpy="0 0 0"/>
</xacro:inertial_cylinder>
</link>
<!-- caster wheel joint -->
<gazebo reference="left_wheel">
<material>Gazebo/Blue</material>
</gazebo>
<!-- CASTER WHEEL -->
<joint name="${prefix}caster_wheel_joint" type="fixed">
<origin xyz="-${base_length / 2 + base_offset} 0 -0.02" rpy="0 0 ${PI}" />
<parent link="${prefix}base_link" />
<child link="${prefix}caster_wheel" />
<axis xyz="0 0 1"/>
<limit effort="1" velocity="20" />
<joint_properties friction="0.0"/>
<parent link="${prefix}chassis"/>
<child link="${prefix}caster_wheel"/>
<origin xyz="-${caster_wheel_offset_x*2} 0 ${caster_wheel_offset_z}"/>
</joint>
<!-- caster wheel Link -->
<link name="${prefix}caster_wheel">
<visual>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="package://bot_mini_description/mesh/caster_link_visual.stl"/>
<sphere radius="${caster_wheel_radius}"/>
</geometry>
<material name="caster_link_material">
<color rgba="0.69513764518117548974 0.69513764518117548974 0.69513764518117548974 1.0"/>
</material>
<material name="white"/>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="package://bot_mini_description/mesh/caster_link_collision.stl"/>
<sphere radius="${caster_wheel_radius}"/>
</geometry>
</collision>
<inertial>
<origin xyz="-0.0043392325658342043027 -0.026018163063004008662 -0.040087257391101506487" rpy="0 0 0"/>
<mass value="0.4365196214157913146" />
<inertia ixx="0.00065232223366267665706" ixy="-2.2812456870885095374e-05" ixz="-2.819328031928647945e-05" iyy="0.00051934268155350092177" iyz="-0.00016904771834628737077" izz="0.00028021186492738437085" />
</inertial>
<xacro:inertial_sphere mass="${caster_wheel_mass}" radius="${caster_wheel_radius}">
<origin xyz="0 0 0" rpy="0 0 0"/>
</xacro:inertial_sphere>
</link>
<!-- laser_link -->
<link name="${prefix}laser_link">
<visual>
<origin xyz="0 0 0" rpy="${PI} -0 0" />
<geometry>
<mesh filename="package://bot_mini_description/mesh/laser_link_visual.stl"/>
</geometry>
<material name="laser_link_material">
<color rgba="0.49803921568627451677 0.49803921568627451677 0.49803921568627451677 1.0"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="${PI} -0 0" />
<geometry>
<mesh filename="package://bot_mini_description/mesh/laser_link_collision.stl"/>
</geometry>
</collision>
<inertial>
<origin xyz="8.0502568807622093404e-21 2.7755575615628913511e-17 -0.01526549883836261258" rpy="${PI} 0 0"/>
<mass value="0.065307030550339775776" />
<inertia ixx="1.578111853789072904e-05" ixy="-4.8590457654361857326e-53" ixz="1.0816309858643350309e-52" iyy="1.5781118537890654501e-05" iyz="9.8088682514084147142e-38" izz="1.9760068210357054465e-05" />
</inertial>
</link>
<gazebo reference="caster_wheel">
<material>Gazebo/White</material>
<mu1 value="0.001"/>
<mu2 value="0.001"/>
</gazebo>
<!-- laser_joint -->
<!-- LASER -->
<joint name="${prefix}laser_joint" type="fixed">
<origin xyz="-0.015 0 0.09" rpy="0 0 0"/>
<parent link="${prefix}base_link" />
<child link="${prefix}laser_link" />
<axis xyz="0 0 1"/>
<limit effort="1" velocity="20" />
<joint_properties friction="0.0"/>
<parent link="${prefix}chassis"/>
<child link="${prefix}laser_frame"/>
<origin xyz="${chassis_length/2 - 0.15285} 0 ${chassis_height/2 + 0.030}" rpy="0 0 ${pi}"/>
</joint>
<link name="${prefix}laser_frame">
<visual>
<geometry>
<cylinder radius="0.04" length="0.05"/>
</geometry>
<material name="black"/>
</visual>
<collision>
<geometry>
<sphere radius="${caster_wheel_radius}"/>
</geometry>
</collision>
<xacro:inertial_sphere mass="${caster_wheel_mass}" radius="${caster_wheel_radius}">
<origin xyz="0 0 0" rpy="0 0 0"/>
</xacro:inertial_sphere>
</link>
<gazebo reference="laser_frame">
<material>Gazebo/White</material>
</gazebo>
<!-- camera_link -->
<link name="${prefix}camera_link">
<visual>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="package://bot_mini_description/mesh/camera_link_visual.stl"/>
<mesh filename="package://cps_loki_description/mesh/camera_link_visual.stl"/>
</geometry>
<material name="camera_link_material">
<color rgba="0.26274509803921569651 0.28235294117647058432 0.30196078431372547213 1.0"/>
@ -219,7 +238,7 @@
<collision>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="package://bot_mini_description/mesh/camera_link_collision.stl"/>
<mesh filename="package://cps_loki_description/mesh/camera_link_collision.stl"/>
</geometry>
</collision>
<inertial>
@ -232,7 +251,7 @@
<!-- Camera Joint -->
<joint name="${prefix}camera_joint" type="fixed">
<origin xyz="${base_length / 2 - base_offset} 0 0" rpy="0 0 ${PI}" />
<origin xyz="${chassis_length / 2 - chassis_offset} 0 0" rpy="0 0 ${PI}" />
<parent link="${prefix}base_link" />
<child link="${prefix}camera_link" />
<axis xyz="0 0 1"/>

View File

@ -0,0 +1,242 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:macro name="diffbot" params="prefix">
<!-- Constants for robot dimensions -->
<xacro:property name="PI" value="3.1415926535897931"/>
<xacro:property name="base_mass" value="0.3" />
<!-- arbitrary value for base mass -->
<xacro:property name="base_width" value="0.26" />
<!-- Updated wheel spacing to 25cm -->
<xacro:property name="base_length" value="0.34" />
<xacro:property name="base_height" value="0.123" />
<xacro:property name="wheel_mass" value="0.3" />
<!-- arbitrary value for wheel mass -->
<xacro:property name="wheel_len" value="0.020" />
<xacro:property name="wheel_radius" value="0.0625" />
<xacro:property name="caster_wheel_mass" value="0.1" />
<!-- arbitrary value for caster wheel mass -->
<xacro:property name="caster_wheel_radius" value="0.04" />
<xacro:property name="z_offset" value="-${base_height/2}" />
<!-- Offset of main Axis to center of base body (Axis of rotation for steering) -->
<xacro:property name="base_offset" value="0.11" />
<!-- dummy link - used for ros2 control so it stops complaining?
<link name="${prefix}dummy_link">
</link>
<joint name="${prefix}dummy_joint" type="fixed">
<parent link="${prefix}dummy_link" />
<child link="${prefix}base_link" />
</joint> -->
<!-- needed for replacement to find mesh dir: package://cps_loki_description/mesh/ -->
<!-- Base Link -->
<link name="${prefix}base_link">
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://cps_loki_description/mesh/base_link_visual.stl"/>
</geometry>
<material name="base_link_material">
<color rgba="0.80032179626883115375 0.81301836741632160788 0.83346199892499306383 1.0"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="package://cps_loki_description/mesh/base_link_collision.stl"/>
</geometry>
</collision>
<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="8.4123950268139715547" />
<inertia ixx="0.090166990291185383777" ixy="4.7429179749238352248e-18" ixz="1.4209310488728267579e-18" iyy="0.055481261106946747064" iyz="-0.01112159061226025876" izz="0.13051099377067149065" />
</inertial>
</link>
<!-- Adding base_footprint for mapping (Needed by slam toolbox) -->
<link name="${prefix}base_footprint">
</link>
<joint name="${prefix}base_footprint_joint" type="fixed">
<parent link="${prefix}base_link" />
<child link="${prefix}base_footprint" />
<origin xyz="0 0 ${z_offset}" rpy="0 0 0" />
</joint>
<!-- right wheel joint -->
<joint name="${prefix}right_wheel_joint" type="continuous">
<origin xyz="0 ${-0.125 - wheel_len /2} ${z_offset}" rpy="${PI / 2} 0 0" />
<parent link="${prefix}base_link" />
<child link="${prefix}right_wheel" />
<axis xyz="0 0 -1"/>
<limit effort="1" velocity="20" />
<joint_properties friction="0.0"/>
</joint>
<!-- right wheel Link -->
<link name="${prefix}right_wheel">
<visual>
<origin xyz="0 0 ${wheel_len}" rpy="0 -0 0" />
<geometry>
<mesh filename="package://cps_loki_description/mesh/wheel_link_visual.stl"/>
</geometry>
<material name="wheel_link_material">
<color rgba="0.50196078431372548323 0.50196078431372548323 0.50196078431372548323 1.0"/>
</material>
</visual>
<collision>
<origin xyz="0 0 ${wheel_len}" rpy="0 -0 0" />
<geometry>
<mesh filename="package://cps_loki_description/mesh/wheel_link_collision.stl"/>
</geometry>
</collision>
<inertial>
<origin xyz="-1.3877787807814456755e-17 -6.9388939039072283776e-18 -0.017500000000000029421" rpy="0 0 0"/>
<mass value="0.43298678305638949038" />
<inertia ixx="0.00043196650576949035269" ixy="0" ixz="1.8666117243005040269e-36" iyy="0.00043196650576949029848" iyz="0" izz="0.00078373880522818965139" />
</inertial>
</link>
<!-- left wheel joint -->
<joint name="${prefix}left_wheel_joint" type="continuous">
<origin xyz="0 ${0.125 + wheel_len /2} ${z_offset}" rpy="${PI / 2} 0 0" />
<parent link="${prefix}base_link" />
<child link="${prefix}left_wheel" />
<axis xyz="0 0 1" />
<limit effort="1" velocity="20" />
<joint_properties friction="0.0" />
</joint>
<!-- left wheel Link -->
<link name="${prefix}left_wheel">
<visual>
<origin xyz="0 0 ${wheel_len}" rpy="0 -0 0" />
<geometry>
<mesh filename="package://cps_loki_description/mesh/wheel_link_2_visual.stl"/>
</geometry>
<material name="wheel_link_2_material">
<color rgba="0.50196078431372548323 0.50196078431372548323 0.50196078431372548323 1.0"/>
</material>
</visual>
<collision>
<origin xyz="0 0 ${wheel_len}" rpy="0 -0 0" />
<geometry>
<mesh filename="package://cps_loki_description/mesh/wheel_link_2_collision.stl"/>
</geometry>
</collision>
<inertial>
<origin xyz="-2.7755575615628913511e-17 0 -0.017500000000000015543" rpy="0 0 0"/>
<mass value="0.43298678305638949038" />
<inertia ixx="0.00043196650576949035269" ixy="1.4778173856800390343e-52" ixz="-4.8081924471597460774e-36" iyy="0.00043196650576949029848" iyz="0" izz="0.00078373880522818965139" />
</inertial>
</link>
<!-- caster wheel joint -->
<joint name="${prefix}caster_wheel_joint" type="fixed">
<origin xyz="-${base_length / 2 + base_offset} 0 -0.02" rpy="0 0 ${PI}" />
<parent link="${prefix}base_link" />
<child link="${prefix}caster_wheel" />
<axis xyz="0 0 1"/>
<limit effort="1" velocity="20" />
<joint_properties friction="0.0"/>
</joint>
<!-- caster wheel Link -->
<link name="${prefix}caster_wheel">
<visual>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="package://cps_loki_description/mesh/caster_link_visual.stl"/>
</geometry>
<material name="caster_link_material">
<color rgba="0.69513764518117548974 0.69513764518117548974 0.69513764518117548974 1.0"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="package://cps_loki_description/mesh/caster_link_collision.stl"/>
</geometry>
</collision>
<inertial>
<origin xyz="-0.0043392325658342043027 -0.026018163063004008662 -0.040087257391101506487" rpy="0 0 0"/>
<mass value="0.4365196214157913146" />
<inertia ixx="0.00065232223366267665706" ixy="-2.2812456870885095374e-05" ixz="-2.819328031928647945e-05" iyy="0.00051934268155350092177" iyz="-0.00016904771834628737077" izz="0.00028021186492738437085" />
</inertial>
</link>
<!-- laser_link -->
<link name="${prefix}laser_link">
<visual>
<origin xyz="0 0 0" rpy="${PI} -0 0" />
<geometry>
<mesh filename="package://cps_loki_description/mesh/laser_link_visual.stl"/>
</geometry>
<material name="laser_link_material">
<color rgba="0.49803921568627451677 0.49803921568627451677 0.49803921568627451677 1.0"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="${PI} -0 0" />
<geometry>
<mesh filename="package://cps_loki_description/mesh/laser_link_collision.stl"/>
</geometry>
</collision>
<inertial>
<origin xyz="8.0502568807622093404e-21 2.7755575615628913511e-17 -0.01526549883836261258" rpy="${PI} 0 0"/>
<mass value="0.065307030550339775776" />
<inertia ixx="1.578111853789072904e-05" ixy="-4.8590457654361857326e-53" ixz="1.0816309858643350309e-52" iyy="1.5781118537890654501e-05" iyz="9.8088682514084147142e-38" izz="1.9760068210357054465e-05" />
</inertial>
</link>
<!-- laser_joint -->
<joint name="${prefix}laser_joint" type="fixed">
<origin xyz="-0.015 0 0.09" rpy="0 0 0"/>
<parent link="${prefix}base_link" />
<child link="${prefix}laser_link" />
<axis xyz="0 0 1"/>
<limit effort="1" velocity="20" />
<joint_properties friction="0.0"/>
</joint>
<!-- camera_link -->
<link name="${prefix}camera_link">
<visual>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="package://cps_loki_description/mesh/camera_link_visual.stl"/>
</geometry>
<material name="camera_link_material">
<color rgba="0.26274509803921569651 0.28235294117647058432 0.30196078431372547213 1.0"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="package://cps_loki_description/mesh/camera_link_collision.stl"/>
</geometry>
</collision>
<inertial>
<origin xyz="5.3378961738576549005e-07 0.0016484827975361887251 -0.020840554768345870285" rpy="0 0 0"/>
<mass value="0.064008494238512375629" />
<inertia ixx="1.7394518695567356026e-05" ixy="-4.87317899857206066e-10" ixz="-1.7982620680900958214e-11" iyy="3.2074360900148983727e-05" iyz="2.0892555595878115295e-06" izz="2.8321439372619354409e-05" />
</inertial>
</link>
<!-- Camera Joint -->
<joint name="${prefix}camera_joint" type="fixed">
<origin xyz="${base_length / 2 - base_offset} 0 0" rpy="0 0 ${PI}" />
<parent link="${prefix}base_link" />
<child link="${prefix}camera_link" />
<axis xyz="0 0 1"/>
<limit effort="1" velocity="20" />
<joint_properties friction="0.0"/>
</joint>
</xacro:macro>
</robot>

View File

@ -31,7 +31,7 @@
<visual>
<origin xyz="1.2116163827517698533e-16 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/right_motor.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/right_motor.stl" />
</geometry>
<material name="right_motor_material">
<color rgba="0.49803921568627451677 0.49803921568627451677 0.49803921568627451677 1.0" />
@ -40,13 +40,13 @@
<collision>
<origin xyz="1.2116163827517698533e-16 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/right_motor.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/right_motor.stl" />
</geometry>
</collision>
<visual>
<origin xyz="1.142227443712697323e-16 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/motor_bar_frame.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/motor_bar_frame.stl" />
</geometry>
<material name="motor_bar_frame_material">
<color rgba="0.91764705882352937127 0.91764705882352937127 0.91764705882352937127 1.0" />
@ -55,13 +55,13 @@
<collision>
<origin xyz="1.142227443712697323e-16 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/motor_bar_frame.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/motor_bar_frame.stl" />
</geometry>
</collision>
<visual>
<origin xyz="1.142227443712697323e-16 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/base_frame.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/base_frame.stl" />
</geometry>
<material name="base_frame_material">
<color rgba="0.91764705882352937127 0.91764705882352937127 0.91764705882352937127 1.0" />
@ -70,13 +70,13 @@
<collision>
<origin xyz="1.142227443712697323e-16 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/base_frame.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/base_frame.stl" />
</geometry>
</collision>
<visual>
<origin xyz="7.952827485173360274e-17 -0.4790000000000002589 -0.045000000000000012212" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/left_motor.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/left_motor.stl" />
</geometry>
<material name="left_motor_material">
<color rgba="0.49803921568627451677 0.49803921568627451677 0.49803921568627451677 1.0" />
@ -85,13 +85,13 @@
<collision>
<origin xyz="7.952827485173360274e-17 -0.4790000000000002589 -0.045000000000000012212" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/left_motor.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/left_motor.stl" />
</geometry>
</collision>
<visual>
<origin xyz="7.4868290514223760072e-17 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_connector.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/caster_connector.stl" />
</geometry>
<material name="caster_connector_material">
<color rgba="0.91764705882352937127 0.91764705882352937127 0.91764705882352937127 1.0" />
@ -100,13 +100,13 @@
<collision>
<origin xyz="7.4868290514223760072e-17 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_connector.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/caster_connector.stl" />
</geometry>
</collision>
<visual>
<origin xyz="1.1422274437126975695e-16 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/right_motor_frame.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/right_motor_frame.stl" />
</geometry>
<material name="right_motor_frame_material">
<color rgba="0.08627450980392156743 0.31764705882352939348 0.69019607843137253944 1.0" />
@ -115,13 +115,13 @@
<collision>
<origin xyz="1.1422274437126975695e-16 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/right_motor_frame.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/right_motor_frame.stl" />
</geometry>
</collision>
<visual>
<origin xyz="8.6467168755640818792e-17 -0.47900000000000020339 -0.04500000000000002609" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/left_motor_frame.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/left_motor_frame.stl" />
</geometry>
<material name="left_motor_frame_material">
<color rgba="0.08627450980392156743 0.31764705882352939348 0.69019607843137253944 1.0" />
@ -130,33 +130,33 @@
<collision>
<origin xyz="8.6467168755640818792e-17 -0.47900000000000020339 -0.04500000000000002609" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/left_motor_frame.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/left_motor_frame.stl" />
</geometry>
</collision>
<visual>
<origin xyz="1.1834508674736059205e-16 -0.4790000000000002589 -0.045000000000000012212" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/laser_frame.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/laser_frame.stl" />
</geometry>
<material name="orange"/>
</visual>
<collision>
<origin xyz="1.1834508674736059205e-16 -0.4790000000000002589 -0.045000000000000012212" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/laser_frame.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/laser_frame.stl" />
</geometry>
</collision>
<visual>
<origin xyz="7.4868290514223760072e-17 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_angle.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/caster_angle.stl" />
</geometry>
<material name="black"/>
</visual>
<collision>
<origin xyz="7.4868290514223760072e-17 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_angle.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/caster_angle.stl" />
</geometry>
</collision>
<inertial>
@ -179,7 +179,7 @@
<visual>
<origin xyz="-0.10999999999999998668 0.060000000000000011657 0.125" rpy="-1.570796326794896558 -1.570796326794896558 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/left_wheel.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/left_wheel.stl" />
</geometry>
<material name="left_wheel_material">
<color rgba="0.50196078431372548323 0.50196078431372548323 0.50196078431372548323 1.0" />
@ -220,7 +220,7 @@
<collision>
<origin xyz="-0.10999999999999998668 0.05999999999999999778 0.125" rpy="-1.570796326794896558 -1.570796326794896558 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/left_wheel.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/left_wheel.stl" />
</geometry>
</collision>
<inertial>
@ -244,7 +244,7 @@
<visual>
<origin xyz="1.1302212892091925974e-17 5.5511151231257827021e-17 0" rpy="3.141592653589793116 -8.3802055560433424155e-17 -3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_wheel.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/caster_wheel.stl" />
</geometry>
<material name="caster_wheel_material">
<color rgba="0.50196078431372548323 0.50196078431372548323 0.50196078431372548323 1.0" />
@ -253,13 +253,13 @@
<collision>
<origin xyz="1.1302212892091925974e-17 5.5511151231257827021e-17 0" rpy="3.141592653589793116 -8.3802055560433424155e-17 -3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_wheel.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/caster_wheel.stl" />
</geometry>
</collision>
<visual>
<origin xyz="2.6961896103443574151e-18 0 0" rpy="3.141592653589793116 -0 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_bearing_frame.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/caster_bearing_frame.stl" />
</geometry>
<material name="caster_bearing_frame_material">
<color rgba="0.80000000000000004441 0.80000000000000004441 0.80000000000000004441 1.0" />
@ -268,13 +268,13 @@
<collision>
<origin xyz="2.6961896103443574151e-18 0 0" rpy="3.141592653589793116 -0 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_bearing_frame.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/caster_bearing_frame.stl" />
</geometry>
</collision>
<visual>
<origin xyz="-1.232595164407830946e-32 0 0" rpy="3.141592653589793116 4.7934256393637874986e-32 -3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_frame_left.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/caster_frame_left.stl" />
</geometry>
<material name="caster_frame_left_material">
<color rgba="0.90196078431372550543 0.90196078431372550543 0.90196078431372550543 1.0" />
@ -283,13 +283,13 @@
<collision>
<origin xyz="-1.232595164407830946e-32 0 0" rpy="3.141592653589793116 4.7934256393637874986e-32 -3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_frame_left.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/caster_frame_left.stl" />
</geometry>
</collision>
<visual>
<origin xyz="-1.232595164407830946e-32 0 0" rpy="3.141592653589793116 4.7934256393637874986e-32 -3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_frame_top.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/caster_frame_top.stl" />
</geometry>
<material name="caster_frame_top_material">
<color rgba="0.80000000000000004441 0.80000000000000004441 0.80000000000000004441 1.0" />
@ -311,7 +311,7 @@
<collision>
<origin xyz="-1.232595164407830946e-32 0 0" rpy="3.141592653589793116 4.7934256393637874986e-32 -3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_frame_right.stl" />
<mesh filename="file://$(find cps_loki_description)/mesh/caster_frame_right.stl" />
</geometry>
</collision>
<inertial>

View File

@ -30,14 +30,14 @@
<child link="${prefix}base_link" />
</joint>
<!-- needed for replacement to find mesh dir: file://$(find bot_mini_description)/mesh/ -->
<!-- needed for replacement to find mesh dir: file://$(find cps_loki_description)/mesh/ -->
<!-- Base Link -->
<link name="${prefix}base_link">
<visual>
<origin xyz="1.2116163827517698533e-16 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/right_motor.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/right_motor.stl"/>
</geometry>
<material name="right_motor_material">
<color rgba="0.49803921568627451677 0.49803921568627451677 0.49803921568627451677 1.0"/>
@ -46,13 +46,13 @@
<collision>
<origin xyz="1.2116163827517698533e-16 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/right_motor.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/right_motor.stl"/>
</geometry>
</collision>
<visual>
<origin xyz="1.142227443712697323e-16 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/motor_bar_frame.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/motor_bar_frame.stl"/>
</geometry>
<material name="motor_bar_frame_material">
<color rgba="0.91764705882352937127 0.91764705882352937127 0.91764705882352937127 1.0"/>
@ -61,13 +61,13 @@
<collision>
<origin xyz="1.142227443712697323e-16 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/motor_bar_frame.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/motor_bar_frame.stl"/>
</geometry>
</collision>
<visual>
<origin xyz="1.142227443712697323e-16 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/base_frame.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/base_frame.stl"/>
</geometry>
<material name="base_frame_material">
<color rgba="0.91764705882352937127 0.91764705882352937127 0.91764705882352937127 1.0"/>
@ -76,13 +76,13 @@
<collision>
<origin xyz="1.142227443712697323e-16 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/base_frame.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/base_frame.stl"/>
</geometry>
</collision>
<visual>
<origin xyz="7.952827485173360274e-17 -0.4790000000000002589 -0.045000000000000012212" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/left_motor.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/left_motor.stl"/>
</geometry>
<material name="left_motor_material">
<color rgba="0.49803921568627451677 0.49803921568627451677 0.49803921568627451677 1.0"/>
@ -91,13 +91,13 @@
<collision>
<origin xyz="7.952827485173360274e-17 -0.4790000000000002589 -0.045000000000000012212" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/left_motor.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/left_motor.stl"/>
</geometry>
</collision>
<visual>
<origin xyz="7.4868290514223760072e-17 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_connector.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/caster_connector.stl"/>
</geometry>
<material name="caster_connector_material">
<color rgba="0.91764705882352937127 0.91764705882352937127 0.91764705882352937127 1.0"/>
@ -106,13 +106,13 @@
<collision>
<origin xyz="7.4868290514223760072e-17 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_connector.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/caster_connector.stl"/>
</geometry>
</collision>
<visual>
<origin xyz="1.1422274437126975695e-16 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/right_motor_frame.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/right_motor_frame.stl"/>
</geometry>
<material name="right_motor_frame_material">
<color rgba="0.08627450980392156743 0.31764705882352939348 0.69019607843137253944 1.0"/>
@ -121,13 +121,13 @@
<collision>
<origin xyz="1.1422274437126975695e-16 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/right_motor_frame.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/right_motor_frame.stl"/>
</geometry>
</collision>
<visual>
<origin xyz="8.6467168755640818792e-17 -0.47900000000000020339 -0.04500000000000002609" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/left_motor_frame.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/left_motor_frame.stl"/>
</geometry>
<material name="left_motor_frame_material">
<color rgba="0.08627450980392156743 0.31764705882352939348 0.69019607843137253944 1.0"/>
@ -136,13 +136,13 @@
<collision>
<origin xyz="8.6467168755640818792e-17 -0.47900000000000020339 -0.04500000000000002609" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/left_motor_frame.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/left_motor_frame.stl"/>
</geometry>
</collision>
<visual>
<origin xyz="7.4868290514223760072e-17 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_angle.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/caster_angle.stl"/>
</geometry>
<material name="caster_angle_material">
<color rgba="0.64705882352941179736 0.64705882352941179736 0.64705882352941179736 1.0"/>
@ -151,7 +151,7 @@
<collision>
<origin xyz="7.4868290514223760072e-17 -0.47900000000000020339 -0.044999999999999998335" rpy="-5.5511151231257814695e-17 -0 3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_angle.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/caster_angle.stl"/>
</geometry>
</collision>
<inertial>
@ -185,7 +185,7 @@
<visual>
<origin xyz="-0.10999999999999998668 0.060000000000000011657 0.125" rpy="-1.570796326794896558 -1.570796326794896558 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/left_wheel.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/left_wheel.stl"/>
</geometry>
<material name="left_wheel_material">
<color rgba="0.50196078431372548323 0.50196078431372548323 0.50196078431372548323 1.0"/>
@ -194,7 +194,7 @@
<collision>
<origin xyz="-0.10999999999999998668 0.060000000000000011657 0.125" rpy="-1.570796326794896558 -1.570796326794896558 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/left_wheel.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/left_wheel.stl"/>
</geometry>
</collision>
<inertial>
@ -219,7 +219,7 @@
<visual>
<origin xyz="-0.10999999999999998668 0.05999999999999999778 0.125" rpy="-1.570796326794896558 -1.570796326794896558 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/left_wheel.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/left_wheel.stl"/>
</geometry>
<material name="left_wheel_material">
<color rgba="0.50196078431372548323 0.50196078431372548323 0.50196078431372548323 1.0"/>
@ -228,7 +228,7 @@
<collision>
<origin xyz="-0.10999999999999998668 0.05999999999999999778 0.125" rpy="-1.570796326794896558 -1.570796326794896558 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/left_wheel.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/left_wheel.stl"/>
</geometry>
</collision>
<inertial>
@ -253,7 +253,7 @@
<visual>
<origin xyz="1.1302212892091925974e-17 5.5511151231257827021e-17 0" rpy="3.141592653589793116 -8.3802055560433424155e-17 -3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_wheel.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/caster_wheel.stl"/>
</geometry>
<material name="caster_wheel_material">
<color rgba="0.50196078431372548323 0.50196078431372548323 0.50196078431372548323 1.0"/>
@ -262,13 +262,13 @@
<collision>
<origin xyz="1.1302212892091925974e-17 5.5511151231257827021e-17 0" rpy="3.141592653589793116 -8.3802055560433424155e-17 -3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_wheel.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/caster_wheel.stl"/>
</geometry>
</collision>
<visual>
<origin xyz="2.6961896103443574151e-18 0 0" rpy="3.141592653589793116 -0 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_bearing_frame.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/caster_bearing_frame.stl"/>
</geometry>
<material name="caster_bearing_frame_material">
<color rgba="0.80000000000000004441 0.80000000000000004441 0.80000000000000004441 1.0"/>
@ -277,13 +277,13 @@
<collision>
<origin xyz="2.6961896103443574151e-18 0 0" rpy="3.141592653589793116 -0 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_bearing_frame.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/caster_bearing_frame.stl"/>
</geometry>
</collision>
<visual>
<origin xyz="-1.232595164407830946e-32 0 0" rpy="3.141592653589793116 4.7934256393637874986e-32 -3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_frame_left.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/caster_frame_left.stl"/>
</geometry>
<material name="caster_frame_left_material">
<color rgba="0.90196078431372550543 0.90196078431372550543 0.90196078431372550543 1.0"/>
@ -292,13 +292,13 @@
<collision>
<origin xyz="-1.232595164407830946e-32 0 0" rpy="3.141592653589793116 4.7934256393637874986e-32 -3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_frame_left.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/caster_frame_left.stl"/>
</geometry>
</collision>
<visual>
<origin xyz="-1.232595164407830946e-32 0 0" rpy="3.141592653589793116 4.7934256393637874986e-32 -3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_frame_top.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/caster_frame_top.stl"/>
</geometry>
<material name="caster_frame_top_material">
<color rgba="0.80000000000000004441 0.80000000000000004441 0.80000000000000004441 1.0"/>
@ -307,13 +307,13 @@
<collision>
<origin xyz="-1.232595164407830946e-32 0 0" rpy="3.141592653589793116 4.7934256393637874986e-32 -3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_frame_top.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/caster_frame_top.stl"/>
</geometry>
</collision>
<visual>
<origin xyz="-1.232595164407830946e-32 0 0" rpy="3.141592653589793116 4.7934256393637874986e-32 -3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_frame_right.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/caster_frame_right.stl"/>
</geometry>
<material name="caster_frame_right_material">
<color rgba="0.90196078431372550543 0.90196078431372550543 0.90196078431372550543 1.0"/>
@ -322,7 +322,7 @@
<collision>
<origin xyz="-1.232595164407830946e-32 0 0" rpy="3.141592653589793116 4.7934256393637874986e-32 -3.141592653589793116" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_frame_right.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/caster_frame_right.stl"/>
</geometry>
</collision>
<inertial>
@ -337,7 +337,7 @@
<visual>
<origin xyz="-4.1223423760908350982e-18 0.13500000000000000888 0.025000000000000001388" rpy="3.141592653589793116 -0 1.0263416486754026723e-48" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/laser_frame.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/laser_frame.stl"/>
</geometry>
<material name="laser_frame_material">
<color rgba="0.49803921568627451677 0.49803921568627451677 0.49803921568627451677 1.0"/>
@ -346,7 +346,7 @@
<collision>
<origin xyz="-4.1223423760908350982e-18 0.13500000000000000888 0.025000000000000001388" rpy="3.141592653589793116 -0 1.0263416486754026723e-48" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/laser_frame.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/laser_frame.stl"/>
</geometry>
</collision>
<inertial>
@ -371,7 +371,7 @@
<visual>
<origin xyz="3.0814879110195773649e-32 0 0" rpy="-1.570796326794896558 2.775557561562890365e-16 -9.2444637330585569324e-33" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/camera_frame.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/camera_frame.stl"/>
</geometry>
<material name="hikvision_ds-u02_material">
<color rgba="0.26274509803921569651 0.28235294117647058432 0.30196078431372547213 1.0"/>
@ -380,7 +380,7 @@
<collision>
<origin xyz="3.0814879110195773649e-32 0 0" rpy="-1.570796326794896558 2.775557561562890365e-16 -9.2444637330585569324e-33" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/camera_frame.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/camera_frame.stl"/>
</geometry>
</collision>
<inertial>

View File

@ -30,14 +30,14 @@
<child link="${prefix}base_link" />
</joint> -->
<!-- needed for replacement to find mesh dir: file://$(find bot_mini_description)/mesh/ -->
<!-- needed for replacement to find mesh dir: file://$(find cps_loki_description)/mesh/ -->
<!-- Base Link -->
<link name="${prefix}base_link">
<visual>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/base_link_visual.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/base_link_visual.stl"/>
</geometry>
<material name="base_link_material">
<color rgba="0.80032179626883115375 0.81301836741632160788 0.83346199892499306383 1.0"/>
@ -46,7 +46,7 @@
<collision>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/base_link_collision.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/base_link_collision.stl"/>
</geometry>
</collision>
<inertial>
@ -81,7 +81,7 @@
<visual>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/wheel_link_visual.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/wheel_link_visual.stl"/>
</geometry>
<material name="wheel_link_material">
<color rgba="0.50196078431372548323 0.50196078431372548323 0.50196078431372548323 1.0"/>
@ -90,7 +90,7 @@
<collision>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/wheel_link_collision.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/wheel_link_collision.stl"/>
</geometry>
</collision>
<inertial>
@ -116,7 +116,7 @@
<visual>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/wheel_link_2_visual.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/wheel_link_2_visual.stl"/>
</geometry>
<material name="wheel_link_2_material">
<color rgba="0.50196078431372548323 0.50196078431372548323 0.50196078431372548323 1.0"/>
@ -125,7 +125,7 @@
<collision>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/wheel_link_2_collision.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/wheel_link_2_collision.stl"/>
</geometry>
</collision>
<inertial>
@ -150,7 +150,7 @@
<visual>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_link_visual.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/caster_link_visual.stl"/>
</geometry>
<material name="caster_link_material">
<color rgba="0.69513764518117548974 0.69513764518117548974 0.69513764518117548974 1.0"/>
@ -159,7 +159,7 @@
<collision>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/caster_link_collision.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/caster_link_collision.stl"/>
</geometry>
</collision>
<inertial>
@ -174,7 +174,7 @@
<visual>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/laser_link_visual.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/laser_link_visual.stl"/>
</geometry>
<material name="laser_link_material">
<color rgba="0.49803921568627451677 0.49803921568627451677 0.49803921568627451677 1.0"/>
@ -183,7 +183,7 @@
<collision>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/laser_link_collision.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/laser_link_collision.stl"/>
</geometry>
</collision>
<inertial>
@ -208,7 +208,7 @@
<visual>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/camera_link_visual.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/camera_link_visual.stl"/>
</geometry>
<material name="camera_link_material">
<color rgba="0.26274509803921569651 0.28235294117647058432 0.30196078431372547213 1.0"/>
@ -217,7 +217,7 @@
<collision>
<origin xyz="0 0 0" rpy="0 -0 0" />
<geometry>
<mesh filename="file://$(find bot_mini_description)/mesh/camera_link_collision.stl"/>
<mesh filename="file://$(find cps_loki_description)/mesh/camera_link_collision.stl"/>
</geometry>
</collision>
<inertial>

View File

@ -0,0 +1,40 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" >
<!-- Specify some standard inertial calculations https://en.wikipedia.org/wiki/List_of_moments_of_inertia -->
<!-- These make use of xacro's mathematical functionality -->
<xacro:macro name="inertial_sphere" params="mass radius *origin">
<inertial>
<xacro:insert_block name="origin"/>
<mass value="${mass}" />
<inertia ixx="${(2/5) * mass * (radius*radius)}" ixy="0.0" ixz="0.0"
iyy="${(2/5) * mass * (radius*radius)}" iyz="0.0"
izz="${(2/5) * mass * (radius*radius)}" />
</inertial>
</xacro:macro>
<xacro:macro name="inertial_box" params="mass x y z *origin">
<inertial>
<xacro:insert_block name="origin"/>
<mass value="${mass}" />
<inertia ixx="${(1/12) * mass * (y*y+z*z)}" ixy="0.0" ixz="0.0"
iyy="${(1/12) * mass * (x*x+z*z)}" iyz="0.0"
izz="${(1/12) * mass * (x*x+y*y)}" />
</inertial>
</xacro:macro>
<xacro:macro name="inertial_cylinder" params="mass length radius *origin">
<inertial>
<xacro:insert_block name="origin"/>
<mass value="${mass}" />
<inertia ixx="${(1/12) * mass * (3*radius*radius + length*length)}" ixy="0.0" ixz="0.0"
iyy="${(1/12) * mass * (3*radius*radius + length*length)}" iyz="0.0"
izz="${(1/2) * mass * (radius*radius)}" />
</inertial>
</xacro:macro>
</robot>

View File

@ -3,11 +3,11 @@
<xacro:arg name="prefix" default="" />
<xacro:include filename="$(find bot_mini_description)/urdf/diffbot_description.urdf.xacro" />
<xacro:include filename="$(find cps_loki_description)/urdf/diffbot_description.urdf.xacro" />
<xacro:include filename="$(find bot_mini_description)/urdf/diffbot.materials.xacro" />
<xacro:include filename="$(find cps_loki_description)/urdf/diffbot.materials.xacro" />
<xacro:include filename="$(find bot_mini_description)/urdf/odrive.ros2_control.xacro" />
<xacro:include filename="$(find cps_loki_description)/urdf/odrive.ros2_control.xacro" />
<xacro:diffbot prefix="$(arg prefix)" />