Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CustomRobots/quadrotor/launch/quadrotor.launch.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ def launch_setup(context):
gz_namespace = LaunchConfiguration("namespace")
gz_entity = LaunchConfiguration("entity")
gz_color = LaunchConfiguration("color")
gz_scale = LaunchConfiguration("scale")

package_dir = get_package_share_directory("custom_robots")

Expand All @@ -35,6 +36,7 @@ def launch_setup(context):
namespace = gz_namespace.perform(context)
entity = gz_entity.perform(context)
color = gz_color.perform(context)
scale = gz_scale.perform(context)

# =========================
# ROBOT DESCRIPTION (URDF)
Expand All @@ -52,6 +54,7 @@ def launch_setup(context):
"camera": "true" if sensor == "camera" else "false",
"namespace": namespace,
"color": color,
"scale": scale,
},
).toxml()

Expand Down Expand Up @@ -175,6 +178,7 @@ def generate_launch_description():
DeclareLaunchArgument("namespace", default_value="drone"),
DeclareLaunchArgument("entity", default_value="drone"),
DeclareLaunchArgument("color", default_value=""),
DeclareLaunchArgument("scale", default_value="1.0"),
]

return LaunchDescription(
Expand Down
4 changes: 3 additions & 1 deletion CustomRobots/quadrotor/models/quadrotor/quadrotor.urdf.xacro
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@
<xacro:property name="namespace" value="$(arg namespace)"/>
<xacro:arg name="color" default=""/>
<xacro:property name="color" value="$(arg color)"/>
<xacro:arg name="scale" default="1.0"/>
<xacro:property name="scale" value="$(arg scale)"/>

<xacro:include filename="$(find custom_robots)/models/quadrotor/quadrotor_gz.urdf.xacro"/>
<xacro:include filename="$(find custom_robots)/models/quadrotor/quadrotor_common.urdf.xacro"/>

<xacro:quadrotor namespace="${namespace}" color="${color}"/>
<xacro:quadrotor namespace="${namespace}" color="${color}" scale="${scale}"/>

<xacro:if value="$(arg camera)">
<xacro:camera xyz="0 0 0" rpy="0 0 0" mass="0.035" name="frontal_cam" parent="base_link" namespace="${namespace}"/>
Expand Down
33 changes: 17 additions & 16 deletions CustomRobots/quadrotor/models/quadrotor/quadrotor_common.urdf.xacro
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
<color rgba="1 0 1 1.0"/>
</material>

<xacro:macro name="rotor" params="rotor parent xyz color">
<xacro:macro name="rotor" params="rotor parent xyz color scale:='1.0'">
<link name='rotor_${rotor}'>
<inertial>
<mass value="0.005"/>
Expand All @@ -39,12 +39,12 @@

<collision>
<geometry>
<cylinder length="0.005" radius="0.1"/>
<cylinder length="${0.005 * scale}" radius="${0.1 * scale}"/>
</geometry>
</collision>
<visual>
<geometry>
<mesh filename="$(find as2_gazebo_assets)/models/quadrotor_base/meshes/propeller_ccw.dae" scale="0.1 0.1 0.1"/>
<mesh filename="$(find as2_gazebo_assets)/models/quadrotor_base/meshes/propeller_ccw.dae" scale="${0.1 * scale} ${0.1 * scale} ${0.1 * scale}"/>
</geometry>
<material name="${color}"/>
</visual>
Expand All @@ -62,7 +62,8 @@
</joint>
</xacro:macro>

<xacro:macro name="quadrotor" params="namespace color:=''">
<xacro:macro name="quadrotor" params="namespace color:='' scale:='1.0'">

<!-- This is from quadrotor_base from as2 -->
<link name="base_link">
<gazebo>
Expand All @@ -74,44 +75,44 @@
</inertial>
<collision>
<geometry>
<box size="0.47 0.47 0.11"/>
<box size="${0.47 * scale} ${0.47 * scale} ${0.11 * scale}"/>
</geometry>
</collision>
<visual>
<geometry>
<mesh filename="$(find as2_gazebo_assets)/models/quadrotor_base/meshes/quadrotor.dae"/>
<mesh filename="$(find as2_gazebo_assets)/models/quadrotor_base/meshes/quadrotor.dae" scale="${scale} ${scale} ${scale}"/>
</geometry>
<xacro:if value="${color != ''}">
<material name="${color}"/>
</xacro:if>
</visual>

<visual name='marker_visual_1'>
<origin rpy="0 0 0" xyz="-0.07 0 0.065"/>
<origin rpy="0 0 0" xyz="${-0.07*scale} 0 ${0.065*scale}"/>
<geometry>
<mesh filename="$(find as2_gazebo_assets)/models/quadrotor_base/meshes/led.dae"/>
<mesh filename="$(find as2_gazebo_assets)/models/quadrotor_base/meshes/led.dae" scale="${scale} ${scale} ${scale}"/>
</geometry>
</visual>

<visual name='marker_visual_2'>
<origin rpy="-1.0472 -0 0.2" xyz="-0.08 0.037 0.04"/>
<origin rpy="-1.0472 -0 0.2" xyz="${-0.08*scale} ${0.037*scale} ${0.04*scale}"/>
<geometry>
<mesh filename="$(find as2_gazebo_assets)/models/quadrotor_base/meshes/led.dae"/>
<mesh filename="$(find as2_gazebo_assets)/models/quadrotor_base/meshes/led.dae" scale="${scale} ${scale} ${scale}"/>
</geometry>
</visual>

<visual name='marker_visual_3'>
<origin rpy="1.0472 -0 -0.1" xyz="-0.08 -0.035 0.04"/>
<origin rpy="1.0472 -0 -0.1" xyz="${-0.08*scale} ${-0.035*scale} ${0.04*scale}"/>
<geometry>
<mesh filename="$(find as2_gazebo_assets)/models/quadrotor_base/meshes/led.dae"/>
<mesh filename="$(find as2_gazebo_assets)/models/quadrotor_base/meshes/led.dae" scale="${scale} ${scale} ${scale}"/>
</geometry>
</visual>
</link>

<xacro:rotor rotor="0" parent="base_link" xyz="0.13 -0.22 0.023" color="Blue"/>
<xacro:rotor rotor="1" parent="base_link" xyz="-0.13 0.2 0.023" color="Red"/>
<xacro:rotor rotor="2" parent="base_link" xyz="0.13 0.22 0.023" color="Blue"/>
<xacro:rotor rotor="3" parent="base_link" xyz="-0.13 -0.2 0.023" color="Red"/>
<xacro:rotor rotor="0" parent="base_link" xyz="${0.13*scale} ${-0.22*scale} ${0.023*scale}" color="Blue" scale="${scale}"/>
<xacro:rotor rotor="1" parent="base_link" xyz="${-0.13*scale} ${0.2*scale} ${0.023*scale}" color="Red" scale="${scale}"/>
<xacro:rotor rotor="2" parent="base_link" xyz="${0.13*scale} ${0.22*scale} ${0.023*scale}" color="Blue" scale="${scale}"/>
<xacro:rotor rotor="3" parent="base_link" xyz="${-0.13*scale} ${-0.2*scale} ${0.023*scale}" color="Red" scale="${scale}"/>

<xacro:tf freq="100" namespace="${namespace}"/>
<xacro:imu mass="0.005" parent="base_link" namespace="${namespace}"/>
Expand Down
4 changes: 2 additions & 2 deletions database/worlds.sql
Original file line number Diff line number Diff line change
Expand Up @@ -334,8 +334,8 @@ COPY public.robots (id, name, launch_file_path, entity, extra_config, model_path
28 Dingo Low Noise /home/ws/src/CustomRobots/dingo/launch/dingo.launch.py do150 noise:=low namespace:=do150 dingo/model/dingo/dingo.urdf.xacro
29 Dingo Medium Noise /home/ws/src/CustomRobots/dingo/launch/dingo.launch.py do150 noise:=med namespace:=do150 dingo/model/dingo/dingo.urdf.xacro
30 Dingo High Noise /home/ws/src/CustomRobots/dingo/launch/dingo.launch.py do150 noise:=high namespace:=do150 dingo/model/dingo/dingo.urdf.xacro
31 Quadrotor Cat /home/ws/src/CustomRobots/quadrotor/launch/quadrotor.launch.py drone sensor:=camera namespace:=drone color:=Orange quadrotor/models/quadrotor/quadrotor.urdf.xacro
32 Quadrotor Mouse /home/ws/src/CustomRobots/quadrotor/launch/quadrotor.launch.py drone_mouse sensor:=camera namespace:=drone_mouse color:=Magenta quadrotor/models/quadrotor/quadrotor.urdf.xacro
31 Quadrotor Cat /home/ws/src/CustomRobots/quadrotor/launch/quadrotor.launch.py drone sensor:=camera namespace:=drone scale:=3.0 quadrotor/models/quadrotor/quadrotor.urdf.xacro

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there is a slight mismatch between drones original color and the orange color so keeping default

32 Quadrotor Mouse /home/ws/src/CustomRobots/quadrotor/launch/quadrotor.launch.py drone_mouse sensor:=camera namespace:=drone_mouse color:=Magenta scale:=3.0 quadrotor/models/quadrotor/quadrotor.urdf.xacro
\.

--
Expand Down