diff --git a/unilabos/device_mesh/devices/benyao_arm/config/initial_positions.yaml b/unilabos/device_mesh/devices/benyao_arm/config/initial_positions.yaml new file mode 100644 index 0000000..94fb9f5 --- /dev/null +++ b/unilabos/device_mesh/devices/benyao_arm/config/initial_positions.yaml @@ -0,0 +1,9 @@ +# Default initial positions for full_dev's ros2_control fake system + +initial_positions: + arm_base_joint: 0 + arm_link_1_joint: 0 + arm_link_2_joint: 0 + arm_link_3_joint: 0 + gripper_base_joint: 0 + gripper_right_joint: 0.03 \ No newline at end of file diff --git a/unilabos/device_mesh/devices/benyao_arm/config/joint_limits.yaml b/unilabos/device_mesh/devices/benyao_arm/config/joint_limits.yaml new file mode 100644 index 0000000..d4dffc3 --- /dev/null +++ b/unilabos/device_mesh/devices/benyao_arm/config/joint_limits.yaml @@ -0,0 +1,40 @@ +# joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed + +# For beginners, we downscale velocity and acceleration limits. +# You can always specify higher scaling factors (<= 1.0) in your motion requests. # Increase the values below to 1.0 to always move at maximum speed. +default_velocity_scaling_factor: 0.1 +default_acceleration_scaling_factor: 0.1 + +# Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration] +# Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits] +joint_limits: + arm_base_joint: + has_velocity_limits: true + max_velocity: 0 + has_acceleration_limits: false + max_acceleration: 0 + arm_link_1_joint: + has_velocity_limits: true + max_velocity: 0 + has_acceleration_limits: false + max_acceleration: 0 + arm_link_2_joint: + has_velocity_limits: true + max_velocity: 0 + has_acceleration_limits: false + max_acceleration: 0 + arm_link_3_joint: + has_velocity_limits: true + max_velocity: 0 + has_acceleration_limits: false + max_acceleration: 0 + gripper_base_joint: + has_velocity_limits: true + max_velocity: 0 + has_acceleration_limits: false + max_acceleration: 0 + gripper_right_joint: + has_velocity_limits: true + max_velocity: 0 + has_acceleration_limits: false + max_acceleration: 0 \ No newline at end of file diff --git a/unilabos/device_mesh/devices/benyao_arm/config/kinematics.yaml b/unilabos/device_mesh/devices/benyao_arm/config/kinematics.yaml new file mode 100644 index 0000000..c9a5d60 --- /dev/null +++ b/unilabos/device_mesh/devices/benyao_arm/config/kinematics.yaml @@ -0,0 +1,4 @@ +arm: + kinematics_solver: lma_kinematics_plugin/LMAKinematicsPlugin + kinematics_solver_search_resolution: 0.0050000000000000001 + kinematics_solver_timeout: 0.0050000000000000001 diff --git a/unilabos/device_mesh/devices/benyao_arm/config/macro.ros2_control.xacro b/unilabos/device_mesh/devices/benyao_arm/config/macro.ros2_control.xacro new file mode 100644 index 0000000..70f8634 --- /dev/null +++ b/unilabos/device_mesh/devices/benyao_arm/config/macro.ros2_control.xacro @@ -0,0 +1,56 @@ + + + + + + + + + mock_components/GenericSystem + + + + + ${initial_positions['arm_base_joint']} + + + + + + + ${initial_positions['arm_link_1_joint']} + + + + + + + ${initial_positions['arm_link_2_joint']} + + + + + + + ${initial_positions['arm_link_3_joint']} + + + + + + + ${initial_positions['gripper_base_joint']} + + + + + + + ${initial_positions['gripper_right_joint']} + + + + + + + diff --git a/unilabos/device_mesh/devices/benyao_arm/config/macro.srdf.xacro b/unilabos/device_mesh/devices/benyao_arm/config/macro.srdf.xacro new file mode 100644 index 0000000..aeb5677 --- /dev/null +++ b/unilabos/device_mesh/devices/benyao_arm/config/macro.srdf.xacro @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/unilabos/device_mesh/devices/benyao_arm/config/move_group.json b/unilabos/device_mesh/devices/benyao_arm/config/move_group.json new file mode 100644 index 0000000..5be9ad3 --- /dev/null +++ b/unilabos/device_mesh/devices/benyao_arm/config/move_group.json @@ -0,0 +1,14 @@ +{ + "arm": + { + "joint_names": [ + "arm_base_joint", + "arm_link_1_joint", + "arm_link_2_joint", + "arm_link_3_joint", + "gripper_base_joint" + ], + "base_link_name": "device_link", + "end_effector_name": "gripper_base" + } +} \ No newline at end of file diff --git a/unilabos/device_mesh/devices/benyao_arm/config/moveit_controllers.yaml b/unilabos/device_mesh/devices/benyao_arm/config/moveit_controllers.yaml new file mode 100644 index 0000000..70a1b55 --- /dev/null +++ b/unilabos/device_mesh/devices/benyao_arm/config/moveit_controllers.yaml @@ -0,0 +1,29 @@ +# MoveIt uses this configuration for controller management + +moveit_controller_manager: moveit_simple_controller_manager/MoveItSimpleControllerManager + +moveit_simple_controller_manager: + controller_names: + - arm_controller + - gripper_controller + + arm_controller: + type: FollowJointTrajectory + action_ns: follow_joint_trajectory + default: true + joints: + - arm_base_joint + - arm_link_1_joint + - arm_link_2_joint + - arm_link_3_joint + - gripper_base_joint + action_ns: follow_joint_trajectory + default: true + gripper_controller: + type: FollowJointTrajectory + action_ns: follow_joint_trajectory + default: true + joints: + - gripper_right_joint + action_ns: follow_joint_trajectory + default: true \ No newline at end of file diff --git a/unilabos/device_mesh/devices/benyao_arm/config/moveit_planners.yaml b/unilabos/device_mesh/devices/benyao_arm/config/moveit_planners.yaml new file mode 100644 index 0000000..8560e1c --- /dev/null +++ b/unilabos/device_mesh/devices/benyao_arm/config/moveit_planners.yaml @@ -0,0 +1,2 @@ +planner_configs: + - ompl_interface/OMPLPlanner \ No newline at end of file diff --git a/unilabos/device_mesh/devices/benyao_arm/config/pilz_cartesian_limits.yaml b/unilabos/device_mesh/devices/benyao_arm/config/pilz_cartesian_limits.yaml new file mode 100644 index 0000000..b2997ca --- /dev/null +++ b/unilabos/device_mesh/devices/benyao_arm/config/pilz_cartesian_limits.yaml @@ -0,0 +1,6 @@ +# Limits for the Pilz planner +cartesian_limits: + max_trans_vel: 1.0 + max_trans_acc: 2.25 + max_trans_dec: -5.0 + max_rot_vel: 1.57 diff --git a/unilabos/device_mesh/devices/benyao_arm/config/ros2_controllers.yaml b/unilabos/device_mesh/devices/benyao_arm/config/ros2_controllers.yaml new file mode 100644 index 0000000..9c68cbf --- /dev/null +++ b/unilabos/device_mesh/devices/benyao_arm/config/ros2_controllers.yaml @@ -0,0 +1,39 @@ +# This config file is used by ros2_control +controller_manager: + ros__parameters: + update_rate: 100 # Hz + + arm_controller: + type: joint_trajectory_controller/JointTrajectoryController + + + gripper_controller: + type: joint_trajectory_controller/JointTrajectoryController + + + joint_state_broadcaster: + type: joint_state_broadcaster/JointStateBroadcaster + +arm_controller: + ros__parameters: + joints: + - arm_base_joint + - arm_link_1_joint + - arm_link_2_joint + - arm_link_3_joint + - gripper_base_joint + command_interfaces: + - position + state_interfaces: + - position + - velocity + +gripper_controller: + ros__parameters: + joints: + - gripper_right_joint + command_interfaces: + - position + state_interfaces: + - position + - velocity \ No newline at end of file diff --git a/unilabos/device_mesh/devices/benyao_arm/joint_limit.yaml b/unilabos/device_mesh/devices/benyao_arm/joint_limit.yaml new file mode 100644 index 0000000..b141262 --- /dev/null +++ b/unilabos/device_mesh/devices/benyao_arm/joint_limit.yaml @@ -0,0 +1,44 @@ +joint_limits: + + arm_base_joint: + effort: 50 + velocity: 1.0 + lower: 0 + upper: 1.5 + + arm_link_1_joint: + effort: 50 + velocity: 1.0 + lower: 0 + upper: 0.6 + + arm_link_2_joint: + effort: 50 + velocity: 1.0 + lower: !degrees -95 + upper: !degrees 95 + + arm_link_3_joint: + effort: 50 + velocity: 1.0 + lower: !degrees -195 + upper: !degrees 195 + + gripper_base_joint: + effort: 50 + velocity: 1.0 + lower: !degrees -95 + upper: !degrees 95 + + + gripper_right_joint: + effort: 50 + velocity: 1.0 + lower: 0 + upper: 0.03 + + gripper_left_joint: + effort: 50 + velocity: 1.0 + lower: 0 + upper: 0.03 diff --git a/unilabos/device_mesh/devices/benyao_arm/macro_device.xacro b/unilabos/device_mesh/devices/benyao_arm/macro_device.xacro new file mode 100644 index 0000000..137c916 --- /dev/null +++ b/unilabos/device_mesh/devices/benyao_arm/macro_device.xacro @@ -0,0 +1,293 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/unilabos/device_mesh/devices/benyao_arm/meshes/arm_base.STL b/unilabos/device_mesh/devices/benyao_arm/meshes/arm_base.STL new file mode 100644 index 0000000..804e1c6 Binary files /dev/null and b/unilabos/device_mesh/devices/benyao_arm/meshes/arm_base.STL differ diff --git a/unilabos/device_mesh/devices/benyao_arm/meshes/arm_link_1.STL b/unilabos/device_mesh/devices/benyao_arm/meshes/arm_link_1.STL new file mode 100644 index 0000000..dd1d7c1 Binary files /dev/null and b/unilabos/device_mesh/devices/benyao_arm/meshes/arm_link_1.STL differ diff --git a/unilabos/device_mesh/devices/benyao_arm/meshes/arm_link_2.STL b/unilabos/device_mesh/devices/benyao_arm/meshes/arm_link_2.STL new file mode 100644 index 0000000..6042fa0 Binary files /dev/null and b/unilabos/device_mesh/devices/benyao_arm/meshes/arm_link_2.STL differ diff --git a/unilabos/device_mesh/devices/benyao_arm/meshes/arm_link_3.STL b/unilabos/device_mesh/devices/benyao_arm/meshes/arm_link_3.STL new file mode 100644 index 0000000..e8510fb Binary files /dev/null and b/unilabos/device_mesh/devices/benyao_arm/meshes/arm_link_3.STL differ diff --git a/unilabos/device_mesh/devices/benyao_arm/meshes/arm_slideway.STL b/unilabos/device_mesh/devices/benyao_arm/meshes/arm_slideway.STL new file mode 100644 index 0000000..65737ab Binary files /dev/null and b/unilabos/device_mesh/devices/benyao_arm/meshes/arm_slideway.STL differ diff --git a/unilabos/device_mesh/devices/benyao_arm/meshes/gripper_base.STL b/unilabos/device_mesh/devices/benyao_arm/meshes/gripper_base.STL new file mode 100644 index 0000000..5de88d0 Binary files /dev/null and b/unilabos/device_mesh/devices/benyao_arm/meshes/gripper_base.STL differ diff --git a/unilabos/device_mesh/devices/benyao_arm/meshes/gripper_left.STL b/unilabos/device_mesh/devices/benyao_arm/meshes/gripper_left.STL new file mode 100644 index 0000000..0a5fd52 Binary files /dev/null and b/unilabos/device_mesh/devices/benyao_arm/meshes/gripper_left.STL differ diff --git a/unilabos/device_mesh/devices/benyao_arm/meshes/gripper_right.STL b/unilabos/device_mesh/devices/benyao_arm/meshes/gripper_right.STL new file mode 100644 index 0000000..0c5ac69 Binary files /dev/null and b/unilabos/device_mesh/devices/benyao_arm/meshes/gripper_right.STL differ