initial commit

This commit is contained in:
Ilya Uraev 2025-05-01 19:33:54 +03:00
commit 722f4e5b27
32 changed files with 577991 additions and 0 deletions

15
CMakeLists.txt Normal file
View file

@ -0,0 +1,15 @@
cmake_minimum_required(VERSION 3.5)
project(aubo_ros2_description)
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
find_package(ament_cmake REQUIRED)
install(
DIRECTORY config launch meshes rviz urdf world
DESTINATION share/${PROJECT_NAME}/
)
ament_package()

25
config/gz_bridge.yaml Normal file
View file

@ -0,0 +1,25 @@
- topic_name: "/clock"
ros_type_name: "rosgraph_msgs/msg/Clock"
gz_type_name: "gz.msgs.Clock"
direction: GZ_TO_ROS
# - topic_name: "/rgbd_camera/image/image"
# ros_type_name: "sensor_msgs/msg/Image"
# gz_type_name: "gz.msgs.Image"
# direction: GZ_TO_ROS
#
# - topic_name: "/rgbd_camera/image/depth_image"
# ros_type_name: "sensor_msgs/msg/Image"
# gz_type_name: "gz.msgs.Image"
# direction: GZ_TO_ROS
#
# - topic_name: "/rgbd_camera/image/camera_info"
# ros_type_name: "sensor_msgs/msg/CameraInfo"
# gz_type_name: "gz.msgs.CameraInfo"
# direction: GZ_TO_ROS
# TODO: add static TF publishing of the camera frame
# - topic_name: "/rgbd_camera/image/points"
# ros_type_name: "sensor_msgs/msg/PointCloud2"
# gz_type_name: "gz.msgs.PointCloudPacked"
# direction: GZ_TO_ROS

View file

@ -0,0 +1,16 @@
joint_state_publisher:
ros__parameters:
joints:
- shoulder_joint
- upperArm_joint
- foreArm_joint
- wrist1_joint
- wrist2_joint
- wrist3_joint
joint_positions:
- 0.0
- 0.0
- 1.57
- 0.0
- 0.0
- 0.0

87
launch/control.launch.py Normal file
View file

@ -0,0 +1,87 @@
from launch_ros.actions import Node
from launch import LaunchDescription
from launch.actions import DeclareLaunchArgument, OpaqueFunction
# from launch.conditions import IfCondition, UnlessCondition
from launch.substitutions import LaunchConfiguration
def create_spawner(controller_name, namespace, condition=None, inactive=False):
args = [controller_name, "-c", f"{namespace}/controller_manager"]
if inactive:
args.append("--inactive")
return Node(
package="controller_manager",
executable="spawner",
namespace=namespace,
arguments=args,
condition=condition,
)
def launch_setup(context, *args, **kwargs):
namespace = LaunchConfiguration("namespace").perform(context)
control_strategy = LaunchConfiguration("control_strategy").perform(context)
control_space = LaunchConfiguration("control_space").perform(context)
has_gripper = LaunchConfiguration("has_gripper").perform(context)
interactive_control = LaunchConfiguration("interactive_control").perform(context)
controllers_config = {
"joint_state_broadcaster": True,
"gripper_controller": has_gripper == "true",
"joint_trajectory_controller": control_strategy == "position"
and control_space == "joint",
"cartesian_motion_controller": control_strategy == "position"
and control_space == "task",
"cartesian_force_controller": control_strategy == "effort"
and control_space == "task",
"joint_effort_controller": control_strategy == "effort"
and control_space == "joint",
"force_torque_sensor_broadcaster": control_strategy == "effort"
and control_space == "task",
"motion_control_handle": interactive_control == "true"
and control_space == "task"
and control_strategy == "position",
}
nodes_to_start = []
for controller_name, should_start in controllers_config.items():
if should_start:
nodes_to_start.append(create_spawner(controller_name, namespace))
return nodes_to_start
def generate_launch_description():
declared_arguments = [
DeclareLaunchArgument(
"namespace", default_value="", description="A robot's namespace"
),
DeclareLaunchArgument(
"control_space",
default_value="task",
choices=["task", "joint"],
description="Control type: 'task' for Cartesian, 'joint' for joint space control.",
),
DeclareLaunchArgument(
"control_strategy",
default_value="position",
choices=["position", "velocity", "effort"],
description="Control strategy: 'position', 'velocity', or 'effort'.",
),
DeclareLaunchArgument(
"has_gripper",
default_value="true",
description="Whether to activate the gripper_controller.",
),
DeclareLaunchArgument(
"interactive_control",
default_value="true",
description="Whether to activate the gripper_controller.",
),
]
return LaunchDescription(
declared_arguments + [OpaqueFunction(function=launch_setup)]
)

View file

@ -0,0 +1,104 @@
import os
import yaml
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch.actions import DeclareLaunchArgument
from launch.conditions import IfCondition, UnlessCondition
from launch.substitutions import (
Command,
FindExecutable,
LaunchConfiguration,
PathJoinSubstitution,
)
from launch_ros.actions import Node
from launch_ros.substitutions import FindPackageShare
def load_yaml(package_name, file_path):
package_path = get_package_share_directory(package_name)
absolute_file_path = os.path.join(package_path, file_path)
try:
with open(absolute_file_path, "r") as file:
return yaml.safe_load(file)
except EnvironmentError: # parent of IOError, OSError *and* WindowsError where available
return None
def generate_launch_description():
pkg_share = FindPackageShare("aubo_ros2_description")
default_rviz_config_path = PathJoinSubstitution(
[pkg_share, "rviz", "view_rizon.rviz"]
)
robot_description_content = Command(
[
PathJoinSubstitution([FindExecutable(name="xacro")]),
" ",
PathJoinSubstitution(
[FindPackageShare("aubo_ros2_description"), "urdf", "aubo_i5.urdf.xacro"]
),
" ",
"name:=",
"aubo_i5",
]
)
# Robot state publisher
robot_state_publisher_node = Node(
package="robot_state_publisher",
executable="robot_state_publisher",
name="robot_state_publisher",
output="screen",
parameters=[{"robot_description": robot_description_content}],
)
# package_path = get_package_share_directory("aubo_ros2_description")
# joint_state_publisher_node = Node(
# package="joint_state_publisher",
# executable="joint_state_publisher",
# name="joint_state_publisher",
# parameters=[package_path + "/config/initial_positions.yaml"],
# # condition=UnlessCondition(LaunchConfiguration("gui")),
# )
# joint_state_publisher_gui_node = Node(
# package="joint_state_publisher_gui",
# executable="joint_state_publisher_gui",
# name="joint_state_publisher_gui",
# condition=IfCondition(LaunchConfiguration("gui")),
# )
# RViz
rviz_node = Node(
package="rviz2",
executable="rviz2",
name="rviz2",
output="screen",
arguments=["-d", LaunchConfiguration("rvizconfig")],
)
return LaunchDescription(
[
DeclareLaunchArgument(
name="aubo_type",
default_value="aubo_i5",
description="Type of the aubo robot.",
choices=["aubo_i3", "aubo_i5", "aubo_i10"],
),
DeclareLaunchArgument(
name="gui",
default_value="False",
description="Flag to enable joint_state_publisher_gui",
),
DeclareLaunchArgument(
name="rvizconfig",
default_value=default_rviz_config_path,
description="Absolute path to rviz config file",
),
robot_state_publisher_node,
# joint_state_publisher_node,
# joint_state_publisher_gui_node,
rviz_node,
]
)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

19
package.xml Normal file
View file

@ -0,0 +1,19 @@
<?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>aubo_ros2_description</name>
<version>1.0.0</version>
<description>the aubo description</description>
<maintainer email="834031119@qq.com">Shaosong</maintainer>
<license>Apache License 2.0</license>
<buildtool_depend>ament_cmake</buildtool_depend>
<test_depend>ament_lint_auto</test_depend>
<test_depend>ament_lint_common</test_depend>
<export>
<build_type>ament_cmake</build_type>
<gazebo_ros gazebo_model_path="${prefix}/../"/>
</export>
</package>

195
rviz/view_auboi5.rviz Normal file
View file

@ -0,0 +1,195 @@
Panels:
- Class: rviz_common/Displays
Help Height: 78
Name: Displays
Property Tree Widget:
Expanded:
- /Global Options1
- /Status1
- /RobotModel1/Description Topic1
Splitter Ratio: 0.5
Tree Height: 634
- Class: rviz_common/Selection
Name: Selection
- Class: rviz_common/Tool Properties
Expanded:
- /2D Goal Pose1
- /Publish Point1
Name: Tool Properties
Splitter Ratio: 0.5886790156364441
- Class: rviz_common/Views
Expanded:
- /Current View1
Name: Views
Splitter Ratio: 0.5
Visualization Manager:
Class: ""
Displays:
- Alpha: 0.5
Cell Size: 1
Class: rviz_default_plugins/Grid
Color: 160; 160; 164
Enabled: true
Line Style:
Line Width: 0.029999999329447746
Value: Lines
Name: Grid
Normal Cell Count: 0
Offset:
X: 0
Y: 0
Z: 0
Plane: XY
Plane Cell Count: 10
Reference Frame: <Fixed Frame>
Value: true
- Alpha: 1
Class: rviz_default_plugins/RobotModel
Collision Enabled: false
Description File: ""
Description Source: Topic
Description Topic:
Depth: 5
Durability Policy: Volatile
History Policy: Keep Last
Reliability Policy: Reliable
Value: /robot_description
Enabled: true
Links:
All Links Enabled: true
Expand Joint Details: false
Expand Link Details: false
Expand Tree: false
Link Tree Style: Links in Alphabetic Order
base_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
flange:
Alpha: 1
Show Axes: false
Show Trail: false
link1:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
link2:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
link3:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
link4:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
link5:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
link6:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
link7:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
world:
Alpha: 1
Show Axes: false
Show Trail: false
Name: RobotModel
TF Prefix: ""
Update Interval: 0
Value: true
Visual Enabled: true
Enabled: true
Global Options:
Background Color: 48; 48; 48
Fixed Frame: base_link
Frame Rate: 30
Name: root
Tools:
- Class: rviz_default_plugins/Interact
Hide Inactive Objects: true
- Class: rviz_default_plugins/MoveCamera
- Class: rviz_default_plugins/Select
- Class: rviz_default_plugins/FocusCamera
- Class: rviz_default_plugins/Measure
Line color: 128; 128; 0
- Class: rviz_default_plugins/SetInitialPose
Topic:
Depth: 5
Durability Policy: Volatile
History Policy: Keep Last
Reliability Policy: Reliable
Value: /initialpose
- Class: rviz_default_plugins/SetGoal
Topic:
Depth: 5
Durability Policy: Volatile
History Policy: Keep Last
Reliability Policy: Reliable
Value: /goal_pose
- Class: rviz_default_plugins/PublishPoint
Single click: true
Topic:
Depth: 5
Durability Policy: Volatile
History Policy: Keep Last
Reliability Policy: Reliable
Value: /clicked_point
Transformation:
Current:
Class: rviz_default_plugins/TF
Value: true
Views:
Current:
Class: rviz_default_plugins/Orbit
Distance: 2.4956274032592773
Enable Stereo Rendering:
Stereo Eye Separation: 0.05999999865889549
Stereo Focal Distance: 1
Swap Stereo Eyes: false
Value: false
Focal Point:
X: -0.10040300339460373
Y: 0.27989906072616577
Z: 0.3314317762851715
Focal Shape Fixed Size: true
Focal Shape Size: 0.05000000074505806
Invert Z Axis: false
Name: Current View
Near Clip Distance: 0.009999999776482582
Pitch: 0.7053980827331543
Target Frame: <Fixed Frame>
Value: Orbit (rviz)
Yaw: 5.313577651977539
Saved: ~
Window Geometry:
Displays:
collapsed: false
Height: 863
Hide Left Dock: false
Hide Right Dock: false
QMainWindow State: 000000ff00000000fd00000004000000000000015600000305fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d00000305000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f00000305fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003d00000305000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004420000003efc0100000002fb0000000800540069006d00650100000000000004420000000000000000fb0000000800540069006d00650100000000000004500000000000000000000003cf0000030500000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
Selection:
collapsed: false
Tool Properties:
collapsed: false
Views:
collapsed: false
Width: 1600
X: 1920
Y: 0

74
urdf/aubo.gazebo.xacro Executable file
View file

@ -0,0 +1,74 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:include filename="$(find aubo_ros2_description)/urdf/materials.xacro" />
<xacro:macro name="aubo_arm_gazebo" params="prefix">
<!--base_Link-->
<gazebo reference = "${prefix}base_Link">
<material>Gazebo/Black</material>
</gazebo>
<!--shoulder_Link-->
<gazebo reference = "${prefix}shoulder_Link">
<material>Gazebo/Orange</material>
</gazebo>
<!--s_Link-->
<gazebo reference = "${prefix}s_Link">
<material>Gazebo/Black</material>
</gazebo>
<!--upperArm_Link-->
<gazebo reference = "${prefix}upperArm_Link">
<material>Gazebo/Orange</material>
</gazebo>
<!--f1_Link-->
<gazebo reference = "${prefix}f1_Link">
<material>Gazebo/Black</material>
</gazebo>
<!--foreArm_Link-->
<gazebo reference = "${prefix}foreArm_Link">
<material>Gazebo/Orange</material>
</gazebo>
<!--u_Link-->
<gazebo reference = "${prefix}u_Link">
<material>Gazebo/Black</material>
</gazebo>
<!--wrist1_Link-->
<gazebo reference = "${prefix}wrist1_Link">
<material>Gazebo/Orange</material>
</gazebo>
<!--w1_Link-->
<gazebo reference = "${prefix}w1_Link">
<material>Gazebo/Black</material>
</gazebo>
<!--wrist2_Link-->
<gazebo reference = "${prefix}wrist2_Link">
<material>Gazebo/Orange</material>
</gazebo>
<!--w2_Link-->
<gazebo reference = "${prefix}w2_Link">
<material>Gazebo/Black</material>
</gazebo>
<!--wrist3_Link-->
<gazebo reference = "${prefix}wrist3_Link">
<material>Gazebo/Black</material>
</gazebo>
<!--pedestal_Link-->
<gazebo reference = "${prefix}pedestal_Link">
<material>Gazebo/Green</material>
</gazebo>
</xacro:macro>
</robot>

68
urdf/aubo.transmission.xacro Executable file
View file

@ -0,0 +1,68 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:macro name="aubo_arm_transmission" params="prefix">
<transmission name="${prefix}shoulder_trans">
<type>transmission_interface/SimpleTransmission</type>
<joint name="${prefix}shoulder_joint">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="${prefix}shoulder_motor">
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
<transmission name="${prefix}foreArm_trans">
<type>transmission_interface/SimpleTransmission</type>
<joint name="${prefix}foreArm_joint">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="${prefix}foreArm_motor">
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
<transmission name="${prefix}upperArm_trans">
<type>transmission_interface/SimpleTransmission</type>
<joint name="${prefix}upperArm_joint">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="${prefix}upperArm_motor">
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
<transmission name="${prefix}wrist1_trans">
<type>transmission_interface/SimpleTransmission</type>
<joint name="${prefix}wrist1_joint">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="${prefix}wrist1_motor">
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
<transmission name="${prefix}wrist2_trans">
<type>transmission_interface/SimpleTransmission</type>
<joint name="${prefix}wrist2_joint">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="${prefix}wrist2_motor">
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
<transmission name="${prefix}wrist3_trans">
<type>transmission_interface/SimpleTransmission</type>
<joint name="${prefix}wrist3_joint">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="${prefix}wrist3_motor">
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
</xacro:macro>
</robot>

220
urdf/aubo_i5.urdf Executable file
View file

@ -0,0 +1,220 @@
<?xml version="1.0"?>
<robot name="aubo_i5">
<link name="base_link">
<inertial>
<origin xyz="-1.4795E-13 0.0015384 0.020951" rpy="0 0 0" />
<mass value="0.83419" />
<inertia ixx="0.0014414" ixy="7.8809E-15" ixz="8.5328E-16" iyy="0.0013542" iyz="-1.4364E-05" izz="0.0024659" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/base_link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/base_link.STL" />
</geometry>
</collision>
</link>
<link name="shoulder_Link">
<inertial>
<origin xyz="3.2508868974735E-07 0.00534955349296065 -0.00883689325611056" rpy="0 0 0" />
<mass value="1.57658348693929" />
<inertia ixx="0.0040640448663128" ixy="0" ixz="0" iyy="0.00392863238466817" iyz="-0.000160151642851425" izz="0.0030869857349184" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/shoulder_Link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/shoulder_Link.STL" />
</geometry>
</collision>
</link>
<joint name="shoulder_joint" type="revolute">
<origin xyz="0 0 0.122" rpy="0 0 3.1416" />
<parent link="base_link" />
<child link="shoulder_Link" />
<axis xyz="0 0 1" />
<limit lower="-3.04" upper="3.04" effort="0" velocity="0" />
</joint>
<link name="upperArm_Link">
<inertial>
<origin xyz="0.203996646979614 2.01304585036544E-10 0.0127641545395984" rpy="0 0 0" />
<mass value="4.04175782265494" />
<inertia ixx="0.00965399211106204" ixy="0" ixz="0" iyy="0.144993869035655" iyz="0" izz="0.142607184038966" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/upperArm_Link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/upperArm_Link.STL" />
</geometry>
</collision>
</link>
<joint name="upperArm_joint" type="revolute">
<origin xyz="0 0.1215 0" rpy="-1.5708 -1.5708 0" />
<parent link="shoulder_Link" />
<child link="upperArm_Link" />
<axis xyz="0 0 1" />
<limit lower="-3.04" upper="3.04" effort="0" velocity="0" />
</joint>
<link name="foreArm_Link">
<inertial>
<origin xyz="0.188922115560337 6.78882434739072E-07 0.0981026740461557" rpy="0 0 0" />
<mass value="2.27145669098343" />
<inertia ixx="0.00214322284946289" ixy="0" ixz="-0.00073120631553383" iyy="0.0443926090878205" iyz="0" izz="0.0441273797128365" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/foreArm_Link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/foreArm_Link.STL" />
</geometry>
</collision>
</link>
<joint name="foreArm_joint" type="revolute">
<origin xyz="0.408 0 0" rpy="-3.1416 -5.1632E-18 -5.459E-16" />
<parent link="upperArm_Link" />
<child link="foreArm_Link" />
<axis xyz="0 0 1" />
<limit lower="-3.04" upper="3.04" effort="0" velocity="0" />
</joint>
<link name="wrist1_Link">
<inertial>
<origin xyz="7.54205137428592E-07 0.0062481254331257 -0.00392367464072373" rpy="0 0 0" />
<mass value="0.500477539188764" />
<inertia ixx="0.00071194605962081" ixy="0" ixz="0" iyy="0.00040588242872958" iyz="-2.30808694377512E-05" izz="0.000685574004861334" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/wrist1_Link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/wrist1_Link.STL" />
</geometry>
</collision>
</link>
<joint name="wrist1_joint" type="revolute">
<origin xyz="0.376 0 0" rpy="3.1416 -1.8323E-15 1.5708" />
<parent link="foreArm_Link" />
<child link="wrist1_Link" />
<axis xyz="0 0 1" />
<limit lower="-3.04" upper="3.04" effort="0" velocity="0" />
</joint>
<link name="wrist2_Link">
<inertial>
<origin xyz="-7.54207620578635E-07 -0.00624812542617262 -0.00392367464115684" rpy="0 0 0" />
<mass value="0.500477539245988" />
<inertia ixx="0.00071194605981829" ixy="0" ixz="0" iyy="0.000405882428755442" iyz="2.30808694515886E-05" izz="0.000685574005112107" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/wrist2_Link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/wrist2_Link.STL" />
</geometry>
</collision>
</link>
<joint name="wrist2_joint" type="revolute">
<origin xyz="0 0.1025 0" rpy="-1.5708 -1.8709E-15 -1.6653E-16" />
<parent link="wrist1_Link" />
<child link="wrist2_Link" />
<axis xyz="0 0 1" />
<limit lower="-3.04" upper="3.04" effort="0" velocity="0" />
</joint>
<link name="wrist3_Link">
<inertial>
<origin xyz="3.92048778449938E-10 0.000175788057281467 -0.0213294490706684" rpy="0 0 0" />
<mass value="0.158309554874285" />
<inertia ixx="7.31376196034769E-05" ixy="0" ixz="0" iyy="7.19528188876563E-05" iyz="0" izz="0.000108772439051422" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/wrist3_Link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/wrist3_Link.STL" />
</geometry>
</collision>
</link>
<joint name="wrist3_joint" type="revolute">
<origin xyz="0 -0.094 0" rpy="1.5708 0 1.7907E-15" />
<parent link="wrist2_Link" />
<child link="wrist3_Link" />
<axis xyz="0 0 1" />
<limit lower="-3.04" upper="3.04" effort="0" velocity="0" />
</joint>
<link name="world" />
<joint name="world_joint" type="fixed">
<parent link="world" />
<child link = "base_link" />
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
</joint>
</robot>

250
urdf/aubo_i5.urdf.xacro Normal file
View file

@ -0,0 +1,250 @@
<?xml version="1.0"?>
<!-- =================================================================================== -->
<!-- | This document was autogenerated by xacro from aubo_i5L.urdf | -->
<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
<!-- =================================================================================== -->
<robot name="aubo_i5" xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:include filename="$(find aubo_ros2_description)/urdf/aubo.transmission.xacro" />
<xacro:include filename="$(find aubo_ros2_description)/urdf/materials.xacro" />
<xacro:include filename="$(find aubo_ros2_description)/urdf/ros2_control.xacro" />
<xacro:property name="hardware" value="gazebo" />
<link name="base_link">
<inertial>
<origin xyz="-1.4795E-13 0.0015384 0.020951" rpy="0 0 0" />
<mass value="0.83419" />
<inertia ixx="0.0014414" ixy="7.8809E-15" ixz="8.5328E-16" iyy="0.0013542" iyz="-1.4364E-05"
izz="0.0024659" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/base_link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/base_link.STL" />
</geometry>
</collision>
</link>
<link name="shoulder_Link">
<inertial>
<origin xyz="3.2508868974735E-07 0.00534955349296065 -0.00883689325611056" rpy="0 0 0" />
<mass value="1.57658348693929" />
<inertia ixx="0.0040640448663128" ixy="0" ixz="0" iyy="0.00392863238466817"
iyz="-0.000160151642851425" izz="0.0030869857349184" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/shoulder_Link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/shoulder_Link.STL" />
</geometry>
</collision>
</link>
<joint name="shoulder_joint" type="revolute">
<origin xyz="0 0 0.122" rpy="0 0 3.1416" />
<parent link="base_link" />
<child link="shoulder_Link" />
<axis xyz="0 0 1" />
<limit lower="-6.28" upper="6.28" effort="150" velocity="3.1416" />
</joint>
<link name="upperArm_Link">
<inertial>
<origin xyz="0.203996646979614 2.01304585036544E-10 0.0127641545395984" rpy="0 0 0" />
<mass value="4.04175782265494" />
<inertia ixx="0.00965399211106204" ixy="0" ixz="0" iyy="0.144993869035655" iyz="0"
izz="0.142607184038966" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/upperArm_Link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/upperArm_Link.STL" />
</geometry>
</collision>
</link>
<joint name="upperArm_joint" type="revolute">
<origin xyz="0 0.1215 0" rpy="-1.5708 -1.5708 0" />
<parent link="shoulder_Link" />
<child link="upperArm_Link" />
<axis xyz="0 0 1" />
<limit lower="-6.28" upper="6.28" effort="150" velocity="3.1416" />
</joint>
<link name="foreArm_Link">
<inertial>
<origin xyz="0.188922115560337 6.78882434739072E-07 0.0981026740461557" rpy="0 0 0" />
<mass value="2.27145669098343" />
<inertia ixx="0.00214322284946289" ixy="0" ixz="-0.00073120631553383" iyy="0.0443926090878205"
iyz="0" izz="0.0441273797128365" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/foreArm_Link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/foreArm_Link.STL" />
</geometry>
</collision>
</link>
<joint name="foreArm_joint" type="revolute">
<origin xyz="0.408 0 0" rpy="-3.1416 -5.1632E-18 -5.459E-16" />
<parent link="upperArm_Link" />
<child link="foreArm_Link" />
<axis xyz="0 0 1" />
<limit lower="-6.28" upper="6.28" effort="150" velocity="3.1416" />
</joint>
<link name="wrist1_Link">
<inertial>
<origin xyz="7.54205137428592E-07 0.0062481254331257 -0.00392367464072373" rpy="0 0 0" />
<mass value="0.500477539188764" />
<inertia ixx="0.00071194605962081" ixy="0" ixz="0" iyy="0.00040588242872958"
iyz="-2.30808694377512E-05" izz="0.000685574004861334" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/wrist1_Link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/wrist1_Link.STL" />
</geometry>
</collision>
</link>
<joint name="wrist1_joint" type="revolute">
<origin xyz="0.376 0 0" rpy="3.1416 -1.8323E-15 1.5708" />
<parent link="foreArm_Link" />
<child link="wrist1_Link" />
<axis xyz="0 0 1" />
<limit lower="-6.28" upper="6.28" effort="28" velocity="3.1416" />
</joint>
<link name="wrist2_Link">
<inertial>
<origin xyz="-7.54207620578635E-07 -0.00624812542617262 -0.00392367464115684" rpy="0 0 0" />
<mass value="0.500477539245988" />
<inertia ixx="0.00071194605981829" ixy="0" ixz="0" iyy="0.000405882428755442"
iyz="2.30808694515886E-05" izz="0.000685574005112107" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/wrist2_Link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/wrist2_Link.STL" />
</geometry>
</collision>
</link>
<joint name="wrist2_joint" type="revolute">
<origin xyz="0 0.1025 0" rpy="-1.5708 -1.8709E-15 -1.6653E-16" />
<parent link="wrist1_Link" />
<child link="wrist2_Link" />
<axis xyz="0 0 1" />
<limit lower="-6.28" upper="6.28" effort="28" velocity="3.1416" />
</joint>
<link name="wrist3_Link">
<inertial>
<origin xyz="3.92048778449938E-10 0.000175788057281467 -0.0213294490706684" rpy="0 0 0" />
<mass value="0.158309554874285" />
<inertia ixx="7.31376196034769E-05" ixy="0" ixz="0" iyy="7.19528188876563E-05" iyz="0"
izz="0.000108772439051422" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/wrist3_Link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/wrist3_Link.STL" />
</geometry>
</collision>
</link>
<joint name="wrist3_joint" type="revolute">
<origin xyz="0 -0.094 0" rpy="1.5708 0 1.7907E-15" />
<parent link="wrist2_Link" />
<child link="wrist3_Link" />
<axis xyz="0 0 1" />
<limit lower="-6.28" upper="6.28" effort="28" velocity="3.1416" />
</joint>
<link name="world" />
<joint name="world_joint" type="fixed">
<parent link="world" />
<child link="base_link" />
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
</joint>
<xacro:aubo_ros2_control hardware="${hardware}" />
<xacro:if value="${hardware=='gazebo'}">
<gazebo>
<plugin filename="gz_ros2_control-system" name="gz_ros2_control::GazeboSimROS2ControlPlugin">
<parameters>$(arg simulation_controllers)</parameters>
<!-- <ros> -->
<!-- <namespace>${namespace}</namespace> -->
<!-- </ros> -->
</plugin>
</gazebo>
</xacro:if>
</robot>

View file

@ -0,0 +1,255 @@
<?xml version="1.0"?>
<!-- =================================================================================== -->
<!-- | This document was autogenerated by xacro from aubo_i5L.urdf | -->
<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
<!-- =================================================================================== -->
<robot name="aubo_i5" xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:include filename="$(find aubo_ros2_description)/urdf/aubo.transmission.xacro" />
<xacro:include filename="$(find aubo_ros2_description)/urdf/materials.xacro" />
<xacro:include filename="$(find aubo_ros2_description)/urdf/ros2_control.xacro" />
<xacro:include filename="$(find dh_ag95_description)/urdf/dh_ag95_macro.urdf.xacro" />
<xacro:property name="hardware" value="gazebo" />
<link name="base_link">
<inertial>
<origin xyz="-1.4795E-13 0.0015384 0.020951" rpy="0 0 0" />
<mass value="0.83419" />
<inertia ixx="0.0014414" ixy="7.8809E-15" ixz="8.5328E-16" iyy="0.0013542" iyz="-1.4364E-05"
izz="0.0024659" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/base_link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/base_link.STL" />
</geometry>
</collision>
</link>
<link name="shoulder_Link">
<inertial>
<origin xyz="3.2508868974735E-07 0.00534955349296065 -0.00883689325611056" rpy="0 0 0" />
<mass value="1.57658348693929" />
<inertia ixx="0.0040640448663128" ixy="0" ixz="0" iyy="0.00392863238466817"
iyz="-0.000160151642851425" izz="0.0030869857349184" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/shoulder_Link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/shoulder_Link.STL" />
</geometry>
</collision>
</link>
<joint name="shoulder_joint" type="revolute">
<origin xyz="0 0 0.122" rpy="0 0 3.1416" />
<parent link="base_link" />
<child link="shoulder_Link" />
<axis xyz="0 0 1" />
<limit lower="-6.28" upper="6.28" effort="150" velocity="3.1416" />
</joint>
<link name="upperArm_Link">
<inertial>
<origin xyz="0.203996646979614 2.01304585036544E-10 0.0127641545395984" rpy="0 0 0" />
<mass value="4.04175782265494" />
<inertia ixx="0.00965399211106204" ixy="0" ixz="0" iyy="0.144993869035655" iyz="0"
izz="0.142607184038966" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/upperArm_Link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/upperArm_Link.STL" />
</geometry>
</collision>
</link>
<joint name="upperArm_joint" type="revolute">
<origin xyz="0 0.1215 0" rpy="-1.5708 -1.5708 0" />
<parent link="shoulder_Link" />
<child link="upperArm_Link" />
<axis xyz="0 0 1" />
<limit lower="-6.28" upper="6.28" effort="150" velocity="3.1416" />
</joint>
<link name="foreArm_Link">
<inertial>
<origin xyz="0.188922115560337 6.78882434739072E-07 0.0981026740461557" rpy="0 0 0" />
<mass value="2.27145669098343" />
<inertia ixx="0.00214322284946289" ixy="0" ixz="-0.00073120631553383" iyy="0.0443926090878205"
iyz="0" izz="0.0441273797128365" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/foreArm_Link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/foreArm_Link.STL" />
</geometry>
</collision>
</link>
<joint name="foreArm_joint" type="revolute">
<origin xyz="0.408 0 0" rpy="-3.1416 -5.1632E-18 -5.459E-16" />
<parent link="upperArm_Link" />
<child link="foreArm_Link" />
<axis xyz="0 0 1" />
<limit lower="-6.28" upper="6.28" effort="150" velocity="3.1416" />
</joint>
<link name="wrist1_Link">
<inertial>
<origin xyz="7.54205137428592E-07 0.0062481254331257 -0.00392367464072373" rpy="0 0 0" />
<mass value="0.500477539188764" />
<inertia ixx="0.00071194605962081" ixy="0" ixz="0" iyy="0.00040588242872958"
iyz="-2.30808694377512E-05" izz="0.000685574004861334" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/wrist1_Link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/wrist1_Link.STL" />
</geometry>
</collision>
</link>
<joint name="wrist1_joint" type="revolute">
<origin xyz="0.376 0 0" rpy="3.1416 -1.8323E-15 1.5708" />
<parent link="foreArm_Link" />
<child link="wrist1_Link" />
<axis xyz="0 0 1" />
<limit lower="-6.28" upper="6.28" effort="28" velocity="3.1416" />
</joint>
<link name="wrist2_Link">
<inertial>
<origin xyz="-7.54207620578635E-07 -0.00624812542617262 -0.00392367464115684" rpy="0 0 0" />
<mass value="0.500477539245988" />
<inertia ixx="0.00071194605981829" ixy="0" ixz="0" iyy="0.000405882428755442"
iyz="2.30808694515886E-05" izz="0.000685574005112107" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/wrist2_Link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/wrist2_Link.STL" />
</geometry>
</collision>
</link>
<joint name="wrist2_joint" type="revolute">
<origin xyz="0 0.1025 0" rpy="-1.5708 -1.8709E-15 -1.6653E-16" />
<parent link="wrist1_Link" />
<child link="wrist2_Link" />
<axis xyz="0 0 1" />
<limit lower="-6.28" upper="6.28" effort="28" velocity="3.1416" />
</joint>
<link name="wrist3_Link">
<inertial>
<origin xyz="3.92048778449938E-10 0.000175788057281467 -0.0213294490706684" rpy="0 0 0" />
<mass value="0.158309554874285" />
<inertia ixx="7.31376196034769E-05" ixy="0" ixz="0" iyy="7.19528188876563E-05" iyz="0"
izz="0.000108772439051422" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/visual/wrist3_Link.DAE" />
</geometry>
<material name="">
<color rgba="1 1 1 1" />
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://aubo_ros2_description/meshes/aubo_i5/collision/wrist3_Link.STL" />
</geometry>
</collision>
</link>
<joint name="wrist3_joint" type="revolute">
<origin xyz="0 -0.094 0" rpy="1.5708 0 1.7907E-15" />
<parent link="wrist2_Link" />
<child link="wrist3_Link" />
<axis xyz="0 0 1" />
<limit lower="-6.28" upper="6.28" effort="28" velocity="3.1416" />
</joint>
<link name="world" />
<joint name="world_joint" type="fixed">
<parent link="world" />
<child link="base_link" />
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
</joint>
<xacro:dh_ag95_gripper prefix="" parent="wrist3_Link">
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
</xacro:dh_ag95_gripper>
<xacro:aubo_ros2_control hardware="${hardware}" />
<xacro:if value="${hardware=='gazebo'}">
<gazebo>
<plugin filename="gz_ros2_control-system" name="gz_ros2_control::GazeboSimROS2ControlPlugin">
<parameters>$(arg simulation_controllers)</parameters>
<!-- <ros> -->
<!-- <namespace>${namespace}</namespace> -->
<!-- </ros> -->
</plugin>
</gazebo>
</xacro:if>
</robot>

11
urdf/common.gazebo.xacro Executable file
View file

@ -0,0 +1,11 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
<gazebo>
<plugin name="ros_control" filename="libgazebo_ros_control.so">
<!--robotNamespace>/aubo_robot</robotNamespace-->
<!--robotSimType>gazebo_ros_control/DefaultRobotHWSim</robotSimType-->
</plugin>
</gazebo>
</robot>

26
urdf/materials.xacro Normal file
View file

@ -0,0 +1,26 @@
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
<material name="black">
<color rgba="0.25098 0.25098 0.25098 1"/>
</material>
<material name="orange">
<color rgba="${255/255} ${108/255} ${10/255} 1.0"/>
</material>
<material name="white">
<color rgba="0.68627 0.69804 0.67451 1"/>
</material>
<material name="grey">
<color rgba="0.2 0.2 0.2 1.0"/>
</material>
<material name="blue">
<color rgba="0.0 0.0 0.8 1.0"/>
</material>
<material name="green">
<color rgba="0.0 0.8 0.0 1.0"/>
</material>
</robot>

70
urdf/ros2_control.xacro Normal file
View file

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:macro name="aubo_ros2_control" params="hardware">
<ros2_control name="aubo_hardware_interface" type="system">
<hardware>
<xacro:if value="${hardware=='gazebo'}">
<plugin>gz_ros2_control/GazeboSimSystem</plugin>
</xacro:if>
<xacro:if value="${hardware=='mock'}">
<plugin>mock_components/GenericSystem</plugin>
</xacro:if>
<xacro:if value="${hardware=='real'}">
<plugin>aubo_ros2_control/AuboSystem</plugin>
</xacro:if>
</hardware>
<joint name="shoulder_joint">
<command_interface name="position" />
<command_interface name="velocity" />
<state_interface name="position" />
<state_interface name="velocity" />
</joint>
<joint name="upperArm_joint">
<command_interface name="position" />
<command_interface name="velocity" />
<state_interface name="position" />
<state_interface name="velocity" />
</joint>
<joint name="foreArm_joint">
<command_interface name="position" />
<command_interface name="velocity" />
<state_interface name="position" />
<state_interface name="velocity" />
</joint>
<joint name="wrist1_joint">
<command_interface name="position" />
<command_interface name="velocity" />
<state_interface name="position" />
<state_interface name="velocity" />
</joint>
<joint name="wrist2_joint">
<command_interface name="position" />
<command_interface name="velocity" />
<state_interface name="position" />
<state_interface name="velocity" />
</joint>
<joint name="wrist3_joint">
<command_interface name="position" />
<command_interface name="velocity" />
<state_interface name="position" />
<state_interface name="velocity" />
</joint>
</ros2_control>
</xacro:macro>
</robot>

1
urdf/xacro_args.yaml Normal file
View file

@ -0,0 +1 @@
simulation_controllers: !variable controllers_file

67
world/world.sdf Normal file
View file

@ -0,0 +1,67 @@
<?xml version="1.0" ?>
<sdf version="1.6">
<world name="aubo-world">
<physics name="1ms" type="dart">
<max_step_size>0.001</max_step_size>
<real_time_factor>0</real_time_factor>
</physics>
<plugin
filename="gz-sim-physics-system"
name="gz::sim::systems::Physics">
</plugin>
<plugin
filename="gz-sim-user-commands-system"
name="gz::sim::systems::UserCommands">
</plugin>
<plugin
filename="gz-sim-scene-broadcaster-system"
name="gz::sim::systems::SceneBroadcaster">
</plugin>
<plugin
filename="gz-sim-contact-system"
name="gz::sim::systems::Contact">
</plugin>
<light type="directional" name="sun">
<cast_shadows>true</cast_shadows>
<pose>0 0 10 0 0 0</pose>
<diffuse>0.8 0.8 0.8 1</diffuse>
<specular>0.2 0.2 0.2 1</specular>
<attenuation>
<range>1000</range>
<constant>0.9</constant>
<linear>0.01</linear>
<quadratic>0.001</quadratic>
</attenuation>
<direction>-0.5 0.1 -0.9</direction>
</light>
<model name="ground_plane">
<static>true</static>
<link name="link">
<collision name="collision">
<geometry>
<plane>
<normal>0 0 1</normal>
<size>100 100</size>
</plane>
</geometry>
</collision>
<visual name="visual">
<geometry>
<plane>
<normal>0 0 1</normal>
<size>100 100</size>
</plane>
</geometry>
<material>
<ambient>0.8 0.8 0.8 1</ambient>
<diffuse>0.8 0.8 0.8 1</diffuse>
<specular>0.8 0.8 0.8 1</specular>
</material>
</visual>
</link>
</model>
</world>
</sdf>