-
Notifications
You must be signed in to change notification settings - Fork 6
/
robile_cpu_brick.urdf.xacro
101 lines (80 loc) · 3.82 KB
/
robile_cpu_brick.urdf.xacro
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?xml version="1.0"?>
<!--
Copyright (c) 2021
KELO Robotics GmbH
Author:
Sushant Chavan
This software is published under a dual-license: GNU Lesser General Public
License LGPL 2.1 and BSD license. The dual-license implies that users of this
code may choose which terms they prefer.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Locomotec nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License LGPL as
published by the Free Software Foundation, either version 2.1 of the
License, or (at your option) any later version or the BSD license.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License LGPL and the BSD license for more details.
You should have received a copy of the GNU Lesser General Public
License LGPL and BSD license along with this program.
-->
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:macro name="robile_cpu_brick" params="name parent *origin">
<!-- Properties for cpu brick -->
<xacro:property name="color" value="yellow"/>
<xacro:property name="robile_size_x" value="0.233"/>
<xacro:property name="robile_size_y" value="0.233"/>
<xacro:property name="robile_size_z" value="0.239"/>
<joint name="${name}_joint" type="fixed">
<xacro:insert_block name="origin" />
<parent link="${parent}"/>
<child link="${name}_link" />
</joint>
<link name="${name}_link">
<!-- Aluminium casing -->
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://robile_description/meshes/robile_brick_housing/general_brick_housing.dae" scale="1 1 1"/>
</geometry>
</visual>
<!-- robile lid -->
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://robile_description/meshes/robile_brick_housing/lid.dae" scale="1 1 1"/>
</geometry>
</visual>
<!-- robile lid cover (color passed as a parameter) -->
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://robile_description/meshes/robile_brick_housing/lid_cover_${color}.dae" scale="1 1 1"/>
</geometry>
</visual>
<!-- Collision box for brick housing -->
<collision>
<origin xyz="0 0 ${robile_size_z/2}" rpy="0 0 0"/>
<geometry>
<box size="${robile_size_x} ${robile_size_y} ${robile_size_z}" />
</geometry>
</collision>
<!-- Inertia for cpu brick -->
<inertial>
<mass value="6.44075" />
<origin xyz="0.00413 0.0053 0.10792" />
<inertia ixx="0.059819" ixy="0.000584" ixz="-0.000138" iyy="0.059845" iyz="-0.000069" izz="0.06767" />
</inertial>
</link>
</xacro:macro>
</robot>