mirror of
https://github.com/SHC-ASTRA/rover-ros2.git
synced 2026-02-11 09:20:40 +00:00
chore: remove astra_descriptions packages directly in src/
This commit is contained in:
@@ -1 +0,0 @@
|
|||||||
controller_joint_names: ['', 'Axis_0_Joint', 'Axis_1_Joint', 'Axis_2_Joint', 'Axis_3_Joint', 'Wrist_Differential_Joint', 'Wrist-EF_Roll_Joint', 'Gripper_Slider_Right', 'Gripper_Slider_Left', ]
|
|
||||||
File diff suppressed because one or more lines are too long
@@ -1,20 +0,0 @@
|
|||||||
<launch>
|
|
||||||
<arg
|
|
||||||
name="model" />
|
|
||||||
<param
|
|
||||||
name="robot_description"
|
|
||||||
textfile="$(find URDF v2 - axes added)/urdf/URDF v2 - axes added.urdf" />
|
|
||||||
<node
|
|
||||||
name="joint_state_publisher_gui"
|
|
||||||
pkg="joint_state_publisher_gui"
|
|
||||||
type="joint_state_publisher_gui" />
|
|
||||||
<node
|
|
||||||
name="robot_state_publisher"
|
|
||||||
pkg="robot_state_publisher"
|
|
||||||
type="robot_state_publisher" />
|
|
||||||
<node
|
|
||||||
name="rviz"
|
|
||||||
pkg="rviz"
|
|
||||||
type="rviz"
|
|
||||||
args="-d $(find URDF v2 - axes added)/urdf.rviz" />
|
|
||||||
</launch>
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
<launch>
|
|
||||||
<include
|
|
||||||
file="$(find gazebo_ros)/launch/empty_world.launch" />
|
|
||||||
<node
|
|
||||||
name="tf_footprint_base"
|
|
||||||
pkg="tf"
|
|
||||||
type="static_transform_publisher"
|
|
||||||
args="0 0 0 0 0 0 base_link base_footprint 40" />
|
|
||||||
<node
|
|
||||||
name="spawn_model"
|
|
||||||
pkg="gazebo_ros"
|
|
||||||
type="spawn_model"
|
|
||||||
args="-file $(find URDF v2 - axes added)/urdf/URDF v2 - axes added.urdf -urdf -model URDF v2 - axes added"
|
|
||||||
output="screen" />
|
|
||||||
<node
|
|
||||||
name="fake_joint_calibration"
|
|
||||||
pkg="rostopic"
|
|
||||||
type="rostopic"
|
|
||||||
args="pub /calibrated std_msgs/Bool true" />
|
|
||||||
</launch>
|
|
||||||
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.
Binary file not shown.
@@ -1,17 +0,0 @@
|
|||||||
<?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>arm_description</name>
|
|
||||||
<version>1.0.0</version>
|
|
||||||
<description>This package contains configuration data, 3D models and launch files for Clucky's arm</description>
|
|
||||||
<maintainer email="ds0196@uah.edu">David Sharpe</maintainer>
|
|
||||||
<license>BSD</license>
|
|
||||||
|
|
||||||
<depend>rclpy</depend>
|
|
||||||
<depend>robot_state_publisher</depend>
|
|
||||||
<depend>rviz2</depend>
|
|
||||||
|
|
||||||
<export>
|
|
||||||
<build_type>ament_python</build_type>
|
|
||||||
</export>
|
|
||||||
</package>
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
[develop]
|
|
||||||
script_dir=$base/lib/ik_pkg
|
|
||||||
[install]
|
|
||||||
install_scripts=$base/lib/ik_pkg
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
from setuptools import find_packages, setup
|
|
||||||
import os
|
|
||||||
from glob import glob
|
|
||||||
|
|
||||||
package_name = 'arm_description'
|
|
||||||
|
|
||||||
list_of_folders = ["config", "launch", "meshes", "textures", "urdf"]
|
|
||||||
|
|
||||||
setup_data_files = [
|
|
||||||
('share/ament_index/resource_index/packages', ['resource/' + package_name]),
|
|
||||||
('share/' + package_name, ['package.xml'])
|
|
||||||
]
|
|
||||||
|
|
||||||
for folder in list_of_folders:
|
|
||||||
setup_data_files.append((os.path.join('share', package_name, folder), glob(folder + '/*')))
|
|
||||||
|
|
||||||
setup(
|
|
||||||
name=package_name,
|
|
||||||
version='1.0.0',
|
|
||||||
packages=find_packages(exclude=['test']),
|
|
||||||
data_files=setup_data_files, # created above with for loop
|
|
||||||
install_requires=['setuptools'],
|
|
||||||
zip_safe=True,
|
|
||||||
maintainer='David Sharpe',
|
|
||||||
maintainer_email='ds0196@uah.edu',
|
|
||||||
description='This package contains configuration data, 3D models and launch files for Clucky\'s arm',
|
|
||||||
license='BSD'
|
|
||||||
)
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
Link Name,Center of Mass X,Center of Mass Y,Center of Mass Z,Center of Mass Roll,Center of Mass Pitch,Center of Mass Yaw,Mass,Moment Ixx,Moment Ixy,Moment Ixz,Moment Iyy,Moment Iyz,Moment Izz,Visual X,Visual Y,Visual Z,Visual Roll,Visual Pitch,Visual Yaw,Mesh Filename,Color Red,Color Green,Color Blue,Color Alpha,Collision X,Collision Y,Collision Z,Collision Roll,Collision Pitch,Collision Yaw,Collision Mesh Filename,Material Name,SW Components,Coordinate System,Axis Name,Joint Name,Joint Type,Joint Origin X,Joint Origin Y,Joint Origin Z,Joint Origin Roll,Joint Origin Pitch,Joint Origin Yaw,Parent,Joint Axis X,Joint Axis Y,Joint Axis Z,Limit Effort,Limit Velocity,Limit Lower,Limit Upper,Calibration rising,Calibration falling,Dynamics Damping,Dynamics Friction,Safety Soft Upper,Safety Soft Lower,Safety K Position,Safety K Velocity
|
|
||||||
base_link,0.026661,-0.017083,-0.072681,0,0,0,1.344,0.0071986,-1.8109E-06,-4.371E-06,0.0087125,1.3418E-07,0.015884,0,0,0,0,0,0,package://URDF v2 - axes added/meshes/base_link.STL,0.89804,0.91765,0.92941,1,0,0,0,0,0,0,package://URDF v2 - axes added/meshes/base_link.STL,,Turret Assembly-1/Base Plate OLD-2;Turret Assembly-1/Magnet Ring-1;Turret Assembly-1/Bearing Stack Pinch Ring-1;Turret Assembly-1/Ring Gear-1,Origin_global,,,,0,0,0,0,0,0,,0,0,0,,,,,,,,,,,,
|
|
||||||
Axis_0_Plate,0.025635,0.047115,0.021109,0,0,0,2.045,0.0097744,2.0744E-07,0.00060246,0.012437,-2.2545E-05,0.00611,0,0,0,0,0,0,package://URDF v2 - axes added/meshes/Axis_0_Plate.STL,0.89804,0.91765,0.92941,1,0,0,0,0,0,0,package://URDF v2 - axes added/meshes/Axis_0_Plate.STL,,Turret Assembly-1/Pinion Gear Mounting Plate-1;Turret Assembly-1/Motor Adjustment Plate-1;Turret Assembly-1/17HS19-1684S-PG14.step-1;Turret Assembly-1/Spur Gear Retainer-1;Turret Assembly-1/1088A31_Inside-Corner Reinforcing Bracket-1;Turret Assembly-1/1088A31_Inside-Corner Reinforcing Bracket-2;Turret Assembly-1/1088A31_Inside-Corner Reinforcing Bracket-4;Turret Assembly-1/Electrical Box Assembly-1/Clamshell-1;Turret Assembly-1/Electrical Box Assembly-1/Sheet Base-2;Turret Assembly-1/Electrical Box Assembly-1/Cam Slot-2;Turret Assembly-1/Electrical Box Assembly-1/Slot guide-2;Turret Assembly-1/Electrical Box Assembly-1/Slot guide-1;Turret Assembly-1/Electrical Box Assembly-1/Cam Slot-1;Axis 1 Full Assembly-1/Axis 1 Outer Frame-1/ASTRA-01-00-005-2;Axis 1 Full Assembly-1/Axis 1 Outer Frame-1/ASTRA-01-00-005-1;Turret Assembly-1/1088A31_Inside-Corner Reinforcing Bracket-3,Origin_Axis_0_Joint,Axis1,Axis_0_Joint,revolute,0.018772,-0.020734,-0.04971,1.5708,0,3.1115,base_link,0,-1,0,0,0,0,0,,,,,,,,
|
|
||||||
Axis_1_Segment,0.317731812584795,0.0226837932394467,-2.94234579792906E-05,0,0,0,2.10107115350287,0.00185099460285527,-6.85595125576909E-06,-2.99093842113918E-07,0.00462248035875048,2.91093713403385E-07,0.00297641069201651,0,0,0,0,0,0,package://URDF v2 - axes added/meshes/Axis_1_Segment.STL,0.898039215686275,0.917647058823529,0.929411764705882,1,0,0,0,0,0,0,package://URDF v2 - axes added/meshes/Axis_1_Segment.STL,,Axis 1 Full Assembly-1/Axis 1 Outer Ring-1/ASTRA-01-01-002-1;Axis 1 Full Assembly-1/Axis 1 Outer Ring-1/ASTRA-01-01-001-1;Axis 1 Full Assembly-1/Axis 1 Outer Ring-1/ASTRA-01-01-002-2;Axis 0-1 Forearm-1/ASTRA-02-00-009-1;Axis 0-1 Forearm-1/2024 Axis 0-1 CF Tube-1;Axis 0-1 Forearm-1/ASTRA-02-00-009-2;ASTRA-02-00-000-2/ASTRA-02-00-006-1;ASTRA-02-00-000-2/ASTRA-02-00-007-2;ASTRA-02-00-000-2/ASTRA-02-00-007-1;ASTRA-02-00-000-2/Encoder Assembly 20 30-1/Encoder Mount 20 30-1;ASTRA-02-00-000-2/Encoder Assembly 20 30-1/Encoder Board V2-1;ASTRA-02-00-000-2/Encoder Assembly 20 30-1/Encoder Board Top 2030-1;ASTRA-02-00-000-2/CY NEO 550 Motor & Gearbox Axis 2-1/CY NEO 550 Gearbox Output-1/REV-41-1604.STEP-1/REV-41-1604-1.STEP-1;ASTRA-02-00-000-2/CY NEO 550 Motor & Gearbox Axis 2-1/Cy NEO 550 Adapter Plate Axis 2-1;ASTRA-02-00-000-2/CY NEO 550 Motor & Gearbox Axis 2-1/CY NEO 550 Motor Gearbox Mount-1;ASTRA-02-00-000-2/CY NEO 550 Motor & Gearbox Axis 2-1/CY NEO 550 Gearbox 5-1 Stage-1;ASTRA-02-00-000-2/CY NEO 550 Motor & Gearbox Axis 2-1/CY NEO 550 Gearbox 5-1 Stage-2;ASTRA-02-00-000-2/CY NEO 550 Motor & Gearbox Axis 2-1/CY NEO 550 Gearbox 5-1 Stage-3;ASTRA-02-00-000-2/CY NEO 550 Motor & Gearbox Axis 2-1/CY NEO 550-1;ASTRA-02-00-000-2/CY NEO 550 Motor & Gearbox Axis 2-1/CY NEO 550 Gearbox Output-1/REV-41-1604.STEP-1/REV-41-1604-2.STEP-1,Origin_Axis_1_Joint,Axis2,Axis_1_Joint,revolute,-0.0271654135185528,0.0927245490180083,0.00384109909109076,-3.14159265358977,-0.00524713054608625,1.5707963267949,Axis_0_Plate,0,-1,0,0,0,0,0,,,,,,,,
|
|
||||||
Axis_2_Segment,0.179701426719665,-0.0176131583689303,5.71147464441535E-05,0,0,0,3.13644489009951,0.00172062005671382,1.49995165753112E-05,3.0146547850231E-07,0.00419573957161135,2.86281305896603E-07,0.00280821030835127,0,0,0,0,0,0,package://URDF v2 - axes added/meshes/Axis_2_Segment.STL,0.898039215686275,0.917647058823529,0.929411764705882,1,0,0,0,0,0,0,package://URDF v2 - axes added/meshes/Axis_2_Segment.STL,,ASTRA-02-00-000-2/ASTRA-02-00-003-1;ASTRA-02-00-000-2/ASTRA-02-00-004-1;ASTRA-02-00-000-2/ASTRA-02-00-003-2;Axis 1-2 Forearm-1/ASTRA-02-00-009-1;Axis 1-2 Forearm-1/2024 Axis 1-2 CF Tube-1;ASTRA-02-00-000-2/Encoder Assembly 20 30-1/Encoder Board Arm 2030-1;Axis 1-2 Forearm-1/ASTRA-02-00-009-2;ASTRA-03-00-000-1/ASTRA-02-00-006-1;ASTRA-03-00-000-1/ASTRA-02-00-007-1;ASTRA-03-00-000-1/ASTRA-02-00-007-2;ASTRA-03-00-000-1/Encoder Assembly 20 30-1/Encoder Mount 20 30-1;ASTRA-03-00-000-1/Encoder Assembly 20 30-1/Encoder Board V2-1;ASTRA-03-00-000-1/Encoder Assembly 20 30-1/Encoder Board Top 2030-1;ASTRA-03-00-000-1/CY NEO 550 Motor & Gearbox Axis 2-1/Cy NEO 550 Adapter Plate Axis 2-1;ASTRA-03-00-000-1/CY NEO 550 Motor & Gearbox Axis 2-1/CY NEO 550 Gearbox Output-1/REV-41-1604.STEP-1/REV-41-1604-2.STEP-1;ASTRA-03-00-000-1/CY NEO 550 Motor & Gearbox Axis 2-1/CY NEO 550 Gearbox Output-1/REV-41-1604.STEP-1/REV-41-1604-1.STEP-1;ASTRA-03-00-000-1/CY NEO 550 Motor & Gearbox Axis 2-1/CY NEO 550 Gearbox 5-1 Stage-3;ASTRA-03-00-000-1/CY NEO 550 Motor & Gearbox Axis 2-1/CY NEO 550 Gearbox 5-1 Stage-2;ASTRA-03-00-000-1/CY NEO 550 Motor & Gearbox Axis 2-1/CY NEO 550 Gearbox 5-1 Stage-1;ASTRA-03-00-000-1/CY NEO 550 Motor & Gearbox Axis 2-1/CY NEO 550-1;ASTRA-03-00-000-1/CY NEO 550 Motor & Gearbox Axis 2-1/CY NEO 550 Motor Gearbox Mount-1,Origin_Axis_2_Joint,Axis3,Axis_2_Joint,revolute,0.470027000000004,0.0126999999999999,0,3.14159265358979,0.000449358059257729,0,Axis_1_Segment,0,-1,0,0,0,0,0,,,,,,,,
|
|
||||||
Wrist,0.0258890113931529,-0.0205223442970055,6.01641698143966E-05,0,0,0,1.95105877103309,0.00117490634970832,8.14355696873965E-06,2.37060433355634E-09,0.0025492938141431,-4.81227026285992E-09,0.00159235737231991,0,0,0,0,0,0,package://URDF v2 - axes added/meshes/Wrist.STL,0.898039215686275,0.917647058823529,0.929411764705882,1,0,0,0,0,0,0,package://URDF v2 - axes added/meshes/Wrist.STL,,ASTRA-03-00-000-1/ASTRA-02-00-003-1;ASTRA-03-00-000-1/ASTRA-03-00-004-1;ASTRA-03-00-000-1/ASTRA-02-00-003-2;ASTRA-03-00-000-1/Encoder Assembly 20 30-1/Encoder Board Arm 2030-1;Wrist Interface-1;FULLWristAssembly-1/Servobox-1/ServoBoxTruss-1;FULLWristAssembly-1/Servobox-1/LSS-Public-2/LSS-Public.STEP-1/LSS - Casing_LSS Generic.STEP-1;FULLWristAssembly-1/Servobox-1/LSS-Public-1/LSS-Public.STEP-1/LSS - Casing_LSS Generic.STEP-1;FULLWristAssembly-1/Servobox-1/ServoBoxBottomPlate-1;FULLWristAssembly-1/Servobox-1/GearBoxMountingPlate-1;FULLWristAssembly-1/Servobox-1/ServoBoxTruss-2;FULLWristAssembly-1/Servobox-1/ServoMountingWall-1;FULLWristAssembly-1/Servobox-1/ServoMountingWall-2;FULLWristAssembly-1/Differential Gear box-1/ShaftSupport-2;FULLWristAssembly-1/Differential Gear box-1/ShaftSupport-1;FULLWristAssembly-1/Servobox-1/Modified 266N381 For interface-1;FULLWristAssembly-1/Differential Gear box-1/2664N381_Metal Gear - 20 Degree Pressure Angle-3;FULLWristAssembly-1/TensionBar-1;FULLWristAssembly-1/Servobox-1/ServoHornAdapater-1;FULLWristAssembly-1/Servobox-1/ServoHornAdapater-2;FULLWristAssembly-1/Servobox-1/Modified 266N381 For interface-2;FULLWristAssembly-1/Differential Gear box-1/2664N381_Metal Gear - 20 Degree Pressure Angle-4;FULLWristAssembly-1/TensionBar-2,Origin_Axis_3_Joint,Axis4,Axis_3_Joint,revolute,0.393826999999998,0,0,0,-0.000409495780687665,0,Axis_2_Segment,0,-1,0,0,0,0,0,,,,,,,,
|
|
||||||
Diff_Carrier,-8.64620358677695E-06,-0.00516792807449162,-7.22608790769408E-07,0,0,0,0.0655351660884378,1.65846526943977E-05,3.62206129298215E-09,5.09422122565314E-10,4.25479683866677E-05,2.86164802173259E-10,3.87760449919773E-05,0,0,0,0,0,0,package://URDF v2 - axes added/meshes/Diff_Carrier.STL,0.792156862745098,0.819607843137255,0.933333333333333,1,0,0,0,0,0,0,package://URDF v2 - axes added/meshes/Diff_Carrier.STL,,FULLWristAssembly-1/Differential Gear box-1/Endefector plate-2;FULLWristAssembly-1/Differential Gear box-1/2515N313_Metal Pinion-1;FULLWristAssembly-1/Differential Gear box-1/2515N314_Metal Bevel Gear-1;FULLWristAssembly-1/Differential Gear box-1/2515N313_Metal Pinion-2,Origin_Wrist_Differential_Joint,Axis5,Wrist_Differential_Joint,revolute,0.176692001200001,-0.00622300000004081,0,-3.05263944120951,1.57079631189374,1.65994236547327,Wrist,-1,0,0,0,0,0,0,,,,,,,,
|
|
||||||
End_Effector,-0.00327558376591462,0.00327411156667146,-0.0553569354578649,0,0,0,0.397605677640027,0.000631368000075726,-1.01357929540856E-09,-3.06601632900158E-06,0.000105800099414061,2.32813748604228E-09,0.000592001119919064,0,0,0,0,0,0,package://URDF v2 - axes added/meshes/End_Effector.STL,0.898039215686275,0.917647058823529,0.929411764705882,1,0,0,0,0,0,0,package://URDF v2 - axes added/meshes/End_Effector.STL,,Assembley-1/Copy End_Effector_Mount-1;Assembley-1/Real Shit - Pin-1;Assembley-1/copy End_Effector Mount Center Block-1;Assembley-1/copy Real Shit - Middle Spacer Plate-1;Assembley-1/Copy Real Shit - Right Plate-1;Assembley-1/Copy Real Shit - Left Plate-1;Assembley-1/motor end deffector-1;Assembley-1/Motor adapter-2;Assembley-1/Copy Carbon Rod-1;Assembley-1/Copy Lead Screw-1;Assembley-1/Copy Carbon Rod-2,Origin_Wrist-EF_Roll_Joint,Axis6,Wrist-EF_Roll_Joint,continuous,0,0.01,0,-1.5708,-0.21566,-3.1416,Diff_Carrier,0,0,1,,,,,,,,,,,,
|
|
||||||
EF_Gripper_Right,3.60822483003176E-16,0.0395187564799554,-0.0785892929086096,0,0,0,0.0859306256217421,8.1015302646778E-05,2.5410988417629E-21,3.75123099070348E-19,8.51028632685389E-05,1.00631950096307E-08,5.50169350148622E-06,0,0,0,0,0,0,package://URDF v2 - axes added/meshes/EF_Gripper_Right.STL,0.898039215686275,0.917647058823529,0.929411764705882,1,0,0,0,0,0,0,package://URDF v2 - axes added/meshes/EF_Gripper_Right.STL,,Assembley-1/Copy Left_Jaw_Bracket-3;Assembley-1/Gripper-2;Assembley-1/Copy Real Shit - Left Jaw Plate-2;Assembley-1/lead screw nut-2;Assembley-1/Copy Bushing Bearing - Bushing Bearing-1;Assembley-1/Copy Bushing Bearing - Bushing Bearing-4,Origin_Gripper_Slider_Right,Axis7,Gripper_Slider_Right,prismatic,0,0,-0.031677,0,0,3.1416,End_Effector,0,1,0,0,0,0,0,,,,,,,,
|
|
||||||
EF_Gripper_Left,0.000260261090099842,0.0391877753208171,-0.0810862651363518,0,0,0,0.0813132558225319,7.92230074239095E-05,8.60239969339994E-10,-3.27617434511821E-07,8.29877943429396E-05,9.84609377733742E-09,4.98027032334885E-06,0,0,0,0,0,0,package://URDF v2 - axes added/meshes/EF_Gripper_Left.STL,0.898039215686275,0.917647058823529,0.929411764705882,1,0,0,0,0,0,0,package://URDF v2 - axes added/meshes/EF_Gripper_Left.STL,,Assembley-1/Copy Left_Jaw_Bracket-1;Assembley-1/Copy Real Shit - Left Jaw Plate-1;Assembley-1/Gripper-1;Assembley-1/lead screw nut-1;Assembley-1/Copy Bushing Bearing - Bushing Bearing-2;Assembley-1/Copy Bushing Bearing - Bushing Bearing-3,Origin_Gripper_Slider_Left,Axis7,Gripper_Slider_Left,prismatic,0,0,-0.031677,0,0,0,End_Effector,0,-1,0,0,0,0,0,,,,,,,,
|
|
||||||
|
@@ -1,527 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!-- This URDF was automatically created by SolidWorks to URDF Exporter! Originally created by Stephen Brawner (brawner@gmail.com)
|
|
||||||
Commit Version: 1.6.1-11-gaed57c3-dirty Build Version: 1.6.9361.3070
|
|
||||||
For more information, please see http://wiki.ros.org/sw_urdf_exporter -->
|
|
||||||
<robot
|
|
||||||
name="ASTRA_Arm">
|
|
||||||
|
|
||||||
<link
|
|
||||||
name="base_link">
|
|
||||||
<inertial>
|
|
||||||
<origin
|
|
||||||
xyz="0.026661 -0.017083 -0.072681"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<mass
|
|
||||||
value="1.344" />
|
|
||||||
<inertia
|
|
||||||
ixx="0.0071986"
|
|
||||||
ixy="-1.8109E-06"
|
|
||||||
ixz="-4.371E-06"
|
|
||||||
iyy="0.0087125"
|
|
||||||
iyz="1.3418E-07"
|
|
||||||
izz="0.015884" />
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://arm_description/meshes/base_link.STL" />
|
|
||||||
</geometry>
|
|
||||||
<material
|
|
||||||
name="">
|
|
||||||
<color
|
|
||||||
rgba="0.89804 0.91765 0.92941 1" />
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://arm_description/meshes/base_link.STL" />
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
|
|
||||||
<link
|
|
||||||
name="Axis_0_Plate">
|
|
||||||
<inertial>
|
|
||||||
<origin
|
|
||||||
xyz="0.025635 0.047115 0.021109"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<mass
|
|
||||||
value="2.045" />
|
|
||||||
<inertia
|
|
||||||
ixx="0.0097744"
|
|
||||||
ixy="2.0744E-07"
|
|
||||||
ixz="0.00060246"
|
|
||||||
iyy="0.012437"
|
|
||||||
iyz="-2.2545E-05"
|
|
||||||
izz="0.00611" />
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://arm_description/meshes/Axis_0_Plate.STL" />
|
|
||||||
</geometry>
|
|
||||||
<material
|
|
||||||
name="">
|
|
||||||
<color
|
|
||||||
rgba="0.4 0.4 0.4 1" />
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://arm_description/meshes/Axis_0_Plate.STL" />
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
|
|
||||||
<joint
|
|
||||||
name="Axis_0_Joint"
|
|
||||||
type="revolute">
|
|
||||||
<origin
|
|
||||||
xyz="0.018772 -0.020734 -0.04971"
|
|
||||||
rpy="1.5708 0 3.1115" />
|
|
||||||
<parent
|
|
||||||
link="base_link" />
|
|
||||||
<child
|
|
||||||
link="Axis_0_Plate" />
|
|
||||||
<axis
|
|
||||||
xyz="0 -1 0" />
|
|
||||||
<limit
|
|
||||||
lower="-3.14"
|
|
||||||
upper="3.14"
|
|
||||||
effort="0"
|
|
||||||
velocity="31.41593" />
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<link
|
|
||||||
name="Axis_1_Segment">
|
|
||||||
<inertial>
|
|
||||||
<origin
|
|
||||||
xyz="0.317731812584795 0.0226837932394467 -2.94234579792906E-05"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<mass
|
|
||||||
value="2.10107115350287" />
|
|
||||||
<inertia
|
|
||||||
ixx="0.00185099460285527"
|
|
||||||
ixy="-6.85595125576909E-06"
|
|
||||||
ixz="-2.99093842113918E-07"
|
|
||||||
iyy="0.00462248035875048"
|
|
||||||
iyz="2.91093713403385E-07"
|
|
||||||
izz="0.00297641069201651" />
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://arm_description/meshes/Axis_1_Segment.STL" />
|
|
||||||
</geometry>
|
|
||||||
<material
|
|
||||||
name="">
|
|
||||||
<color
|
|
||||||
rgba="0.8 0.2 0.2 1" />
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://arm_description/meshes/Axis_1_Segment.STL" />
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
|
|
||||||
<joint
|
|
||||||
name="Axis_1_Joint"
|
|
||||||
type="revolute">
|
|
||||||
<origin
|
|
||||||
xyz="-0.0271654135185528 0.0927245490180083 0.00384109909109076"
|
|
||||||
rpy="-3.14159265358977 -0.00524713054608625 1.5707963267949" />
|
|
||||||
<parent
|
|
||||||
link="Axis_0_Plate" />
|
|
||||||
<child
|
|
||||||
link="Axis_1_Segment" />
|
|
||||||
<axis
|
|
||||||
xyz="0 -1 0" />
|
|
||||||
<limit
|
|
||||||
lower="-1.05"
|
|
||||||
upper="1.6"
|
|
||||||
effort="0"
|
|
||||||
velocity="31.41593" />
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<link
|
|
||||||
name="Axis_2_Segment">
|
|
||||||
<inertial>
|
|
||||||
<origin
|
|
||||||
xyz="0.179701426719665 -0.0176131583689303 5.71147464441535E-05"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<mass
|
|
||||||
value="3.13644489009951" />
|
|
||||||
<inertia
|
|
||||||
ixx="0.00172062005671382"
|
|
||||||
ixy="1.49995165753112E-05"
|
|
||||||
ixz="3.0146547850231E-07"
|
|
||||||
iyy="0.00419573957161135"
|
|
||||||
iyz="2.86281305896603E-07"
|
|
||||||
izz="0.00280821030835127" />
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://arm_description/meshes/Axis_2_Segment.STL" />
|
|
||||||
</geometry>
|
|
||||||
<material
|
|
||||||
name="">
|
|
||||||
<color
|
|
||||||
rgba="0.2 0.8 0.2 1" />
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://arm_description/meshes/Axis_2_Segment.STL" />
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
|
|
||||||
<joint
|
|
||||||
name="Axis_2_Joint"
|
|
||||||
type="revolute">
|
|
||||||
<origin
|
|
||||||
xyz="0.470027000000004 0.0126999999999999 0"
|
|
||||||
rpy="3.14159265358979 0.000449358059257729 0" />
|
|
||||||
<parent
|
|
||||||
link="Axis_1_Segment" />
|
|
||||||
<child
|
|
||||||
link="Axis_2_Segment" />
|
|
||||||
<axis
|
|
||||||
xyz="0 -1 0" />
|
|
||||||
<limit
|
|
||||||
lower="-2.0"
|
|
||||||
upper="2.0"
|
|
||||||
effort="0"
|
|
||||||
velocity="31.41593" />
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<link
|
|
||||||
name="Wrist">
|
|
||||||
<inertial>
|
|
||||||
<origin
|
|
||||||
xyz="0.0258890113931529 -0.0205223442970055 6.01641698143966E-05"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<mass
|
|
||||||
value="1.95105877103309" />
|
|
||||||
<inertia
|
|
||||||
ixx="0.00117490634970832"
|
|
||||||
ixy="8.14355696873965E-06"
|
|
||||||
ixz="2.37060433355634E-09"
|
|
||||||
iyy="0.0025492938141431"
|
|
||||||
iyz="-4.81227026285992E-09"
|
|
||||||
izz="0.00159235737231991" />
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://arm_description/meshes/Wrist.STL" />
|
|
||||||
</geometry>
|
|
||||||
<material
|
|
||||||
name="">
|
|
||||||
<color
|
|
||||||
rgba="0.2 0.2 0.8 1" />
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://arm_description/meshes/Wrist.STL" />
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
|
|
||||||
<joint
|
|
||||||
name="Axis_3_Joint"
|
|
||||||
type="revolute">
|
|
||||||
<origin
|
|
||||||
xyz="0.393826999999998 0 0"
|
|
||||||
rpy="0 -0.000409495780687665 0" />
|
|
||||||
<parent
|
|
||||||
link="Axis_2_Segment" />
|
|
||||||
<child
|
|
||||||
link="Wrist" />
|
|
||||||
<axis
|
|
||||||
xyz="0 -1 0" />
|
|
||||||
<limit
|
|
||||||
lower="-1.6"
|
|
||||||
upper="1.9"
|
|
||||||
effort="0"
|
|
||||||
velocity="31.41593" />
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<link
|
|
||||||
name="Diff_Carrier">
|
|
||||||
<inertial>
|
|
||||||
<origin
|
|
||||||
xyz="-8.64620358677695E-06 -0.00516792807449162 -7.22608790769408E-07"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<mass
|
|
||||||
value="0.0655351660884378" />
|
|
||||||
<inertia
|
|
||||||
ixx="1.65846526943977E-05"
|
|
||||||
ixy="3.62206129298215E-09"
|
|
||||||
ixz="5.09422122565314E-10"
|
|
||||||
iyy="4.25479683866677E-05"
|
|
||||||
iyz="2.86164802173259E-10"
|
|
||||||
izz="3.87760449919773E-05" />
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://arm_description/meshes/Diff_Carrier.STL" />
|
|
||||||
</geometry>
|
|
||||||
<material
|
|
||||||
name="">
|
|
||||||
<color
|
|
||||||
rgba="0.96 0.82 0.01 1" />
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://arm_description/meshes/Diff_Carrier.STL" />
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
|
|
||||||
<joint
|
|
||||||
name="Wrist_Differential_Joint"
|
|
||||||
type="revolute">
|
|
||||||
<origin
|
|
||||||
xyz="0.176692001200001 -0.00622300000004081 0"
|
|
||||||
rpy="-3.05263944120951 1.57079631189374 1.65994236547327" />
|
|
||||||
<parent
|
|
||||||
link="Wrist" />
|
|
||||||
<child
|
|
||||||
link="Diff_Carrier" />
|
|
||||||
<axis
|
|
||||||
xyz="-1 0 0" />
|
|
||||||
<limit
|
|
||||||
lower="-1.6"
|
|
||||||
upper="1.6"
|
|
||||||
effort="0"
|
|
||||||
velocity="31.41593" />
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<link
|
|
||||||
name="End_Effector">
|
|
||||||
<inertial>
|
|
||||||
<origin
|
|
||||||
xyz="-0.00327558376591462 0.00327411156667146 -0.0553569354578649"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<mass
|
|
||||||
value="0.397605677640027" />
|
|
||||||
<inertia
|
|
||||||
ixx="0.000631368000075726"
|
|
||||||
ixy="-1.01357929540856E-09"
|
|
||||||
ixz="-3.06601632900158E-06"
|
|
||||||
iyy="0.000105800099414061"
|
|
||||||
iyz="2.32813748604228E-09"
|
|
||||||
izz="0.000592001119919064" />
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://arm_description/meshes/End_Effector.STL" />
|
|
||||||
</geometry>
|
|
||||||
<material
|
|
||||||
name="">
|
|
||||||
<color
|
|
||||||
rgba="0.01 0.82 0.96 1" />
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://arm_description/meshes/End_Effector.STL" />
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
|
|
||||||
<joint
|
|
||||||
name="Wrist-EF_Roll_Joint"
|
|
||||||
type="continuous">
|
|
||||||
<origin
|
|
||||||
xyz="0 0.01 0"
|
|
||||||
rpy="-1.5708 -0.21566 -3.1416" />
|
|
||||||
<parent
|
|
||||||
link="Diff_Carrier" />
|
|
||||||
<child
|
|
||||||
link="End_Effector" />
|
|
||||||
<axis
|
|
||||||
xyz="0 0 1" />
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<link
|
|
||||||
name="EF_Gripper_Right">
|
|
||||||
<inertial>
|
|
||||||
<origin
|
|
||||||
xyz="3.60822483003176E-16 0.0395187564799554 -0.0785892929086096"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<mass
|
|
||||||
value="0.0859306256217421" />
|
|
||||||
<inertia
|
|
||||||
ixx="8.1015302646778E-05"
|
|
||||||
ixy="2.5410988417629E-21"
|
|
||||||
ixz="3.75123099070348E-19"
|
|
||||||
iyy="8.51028632685389E-05"
|
|
||||||
iyz="1.00631950096307E-08"
|
|
||||||
izz="5.50169350148622E-06" />
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://arm_description/meshes/EF_Gripper_Right.STL" />
|
|
||||||
</geometry>
|
|
||||||
<material
|
|
||||||
name="">
|
|
||||||
<color
|
|
||||||
rgba="0.8 0.8 0.8 1" />
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://arm_description/meshes/EF_Gripper_Right.STL" />
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
|
|
||||||
<joint
|
|
||||||
name="Gripper_Slider_Right"
|
|
||||||
type="prismatic">
|
|
||||||
<origin
|
|
||||||
xyz="0 0 -0.031677"
|
|
||||||
rpy="0 0 3.1416" />
|
|
||||||
<parent
|
|
||||||
link="End_Effector" />
|
|
||||||
<child
|
|
||||||
link="EF_Gripper_Right" />
|
|
||||||
<axis
|
|
||||||
xyz="0 1 0" />
|
|
||||||
<limit
|
|
||||||
lower="-0.025"
|
|
||||||
upper="0.04"
|
|
||||||
effort="0"
|
|
||||||
velocity="0.015" />
|
|
||||||
<mimic
|
|
||||||
joint="Gripper_Slider_Left"
|
|
||||||
multiplier="-1" />
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
<link
|
|
||||||
name="EF_Gripper_Left">
|
|
||||||
<inertial>
|
|
||||||
<origin
|
|
||||||
xyz="0.000260261090099842 0.0391877753208171 -0.0810862651363518"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<mass
|
|
||||||
value="0.0813132558225319" />
|
|
||||||
<inertia
|
|
||||||
ixx="7.92230074239095E-05"
|
|
||||||
ixy="8.60239969339994E-10"
|
|
||||||
ixz="-3.27617434511821E-07"
|
|
||||||
iyy="8.29877943429396E-05"
|
|
||||||
iyz="9.84609377733742E-09"
|
|
||||||
izz="4.98027032334885E-06" />
|
|
||||||
</inertial>
|
|
||||||
<visual>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://arm_description/meshes/EF_Gripper_Left.STL" />
|
|
||||||
</geometry>
|
|
||||||
<material
|
|
||||||
name="">
|
|
||||||
<color
|
|
||||||
rgba="0.8 0.8 0.8 1" />
|
|
||||||
</material>
|
|
||||||
</visual>
|
|
||||||
<collision>
|
|
||||||
<origin
|
|
||||||
xyz="0 0 0"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<geometry>
|
|
||||||
<mesh
|
|
||||||
filename="package://arm_description/meshes/EF_Gripper_Left.STL" />
|
|
||||||
</geometry>
|
|
||||||
</collision>
|
|
||||||
</link>
|
|
||||||
|
|
||||||
<joint
|
|
||||||
name="Gripper_Slider_Left"
|
|
||||||
type="prismatic">
|
|
||||||
<origin
|
|
||||||
xyz="0 0 -0.031677"
|
|
||||||
rpy="0 0 0" />
|
|
||||||
<parent
|
|
||||||
link="End_Effector" />
|
|
||||||
<child
|
|
||||||
link="EF_Gripper_Left" />
|
|
||||||
<axis
|
|
||||||
xyz="0 -1 0" />
|
|
||||||
<limit
|
|
||||||
lower="-0.04"
|
|
||||||
upper="0.025"
|
|
||||||
effort="0"
|
|
||||||
velocity="0.015" />
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
</robot>
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
moveit_setup_assistant_config:
|
|
||||||
urdf:
|
|
||||||
package: arm_description
|
|
||||||
relative_path: urdf/ASTRA_Arm.urdf
|
|
||||||
srdf:
|
|
||||||
relative_path: config/ASTRA_Arm.srdf
|
|
||||||
package_settings:
|
|
||||||
author_name: David Sharpe
|
|
||||||
author_email: ds0196@uah.edu
|
|
||||||
generated_timestamp: 1755627043
|
|
||||||
control_xacro:
|
|
||||||
command:
|
|
||||||
- position
|
|
||||||
- velocity
|
|
||||||
state:
|
|
||||||
- position
|
|
||||||
- velocity
|
|
||||||
modified_urdf:
|
|
||||||
xacros:
|
|
||||||
- control_xacro
|
|
||||||
control_xacro:
|
|
||||||
command:
|
|
||||||
- position
|
|
||||||
- velocity
|
|
||||||
state:
|
|
||||||
- position
|
|
||||||
- velocity
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 3.22)
|
|
||||||
project(arm_moveit_config)
|
|
||||||
|
|
||||||
find_package(ament_cmake REQUIRED)
|
|
||||||
|
|
||||||
ament_package()
|
|
||||||
|
|
||||||
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/launch")
|
|
||||||
install(
|
|
||||||
DIRECTORY launch
|
|
||||||
DESTINATION share/${PROJECT_NAME}
|
|
||||||
PATTERN "setup_assistant.launch" EXCLUDE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
install(DIRECTORY config DESTINATION share/${PROJECT_NAME})
|
|
||||||
install(FILES .setup_assistant DESTINATION share/${PROJECT_NAME})
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
<?xml version="1.0"?>
|
|
||||||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
|
|
||||||
<xacro:macro name="ASTRA_Arm_ros2_control" params="name initial_positions_file">
|
|
||||||
<xacro:property name="initial_positions" value="${xacro.load_yaml(initial_positions_file)['initial_positions']}"/>
|
|
||||||
|
|
||||||
<ros2_control name="${name}" type="system">
|
|
||||||
<hardware>
|
|
||||||
<!-- By default, set up controllers for simulation. This won't work on real hardware -->
|
|
||||||
<!-- <plugin>mock_components/GenericSystem</plugin> -->
|
|
||||||
<plugin>topic_based_ros2_control/TopicBasedSystem</plugin>
|
|
||||||
<param name="joint_commands_topic">/joint_commands</param>
|
|
||||||
<param name="joint_states_topic">/joint_states</param>
|
|
||||||
<param name="trigger_joint_command_threshold">1e-5</param> <!-- Set to -1 to disable -->
|
|
||||||
<param name="sum_wrapped_joint_states">false</param>
|
|
||||||
</hardware>
|
|
||||||
<joint name="Axis_0_Joint">
|
|
||||||
<command_interface name="position"/>
|
|
||||||
<command_interface name="velocity"/>
|
|
||||||
<state_interface name="position">
|
|
||||||
<param name="initial_value">${initial_positions['Axis_0_Joint']}</param>
|
|
||||||
</state_interface>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
</joint>
|
|
||||||
<joint name="Axis_1_Joint">
|
|
||||||
<command_interface name="position"/>
|
|
||||||
<command_interface name="velocity"/>
|
|
||||||
<state_interface name="position">
|
|
||||||
<param name="initial_value">${initial_positions['Axis_1_Joint']}</param>
|
|
||||||
</state_interface>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
</joint>
|
|
||||||
<joint name="Axis_2_Joint">
|
|
||||||
<command_interface name="position"/>
|
|
||||||
<command_interface name="velocity"/>
|
|
||||||
<state_interface name="position">
|
|
||||||
<param name="initial_value">${initial_positions['Axis_2_Joint']}</param>
|
|
||||||
</state_interface>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
</joint>
|
|
||||||
<joint name="Axis_3_Joint">
|
|
||||||
<command_interface name="position"/>
|
|
||||||
<command_interface name="velocity"/>
|
|
||||||
<state_interface name="position">
|
|
||||||
<param name="initial_value">${initial_positions['Axis_3_Joint']}</param>
|
|
||||||
</state_interface>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
</joint>
|
|
||||||
<joint name="Wrist_Differential_Joint">
|
|
||||||
<command_interface name="position"/>
|
|
||||||
<command_interface name="velocity"/>
|
|
||||||
<state_interface name="position">
|
|
||||||
<param name="initial_value">${initial_positions['Wrist_Differential_Joint']}</param>
|
|
||||||
</state_interface>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
</joint>
|
|
||||||
<joint name="Wrist-EF_Roll_Joint">
|
|
||||||
<command_interface name="position"/>
|
|
||||||
<command_interface name="velocity"/>
|
|
||||||
<state_interface name="position">
|
|
||||||
<param name="initial_value">${initial_positions['Wrist-EF_Roll_Joint']}</param>
|
|
||||||
</state_interface>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
</joint>
|
|
||||||
<joint name="Gripper_Slider_Left">
|
|
||||||
<command_interface name="position"/>
|
|
||||||
<command_interface name="velocity"/>
|
|
||||||
<state_interface name="position">
|
|
||||||
<param name="initial_value">${initial_positions['Gripper_Slider_Left']}</param>
|
|
||||||
</state_interface>
|
|
||||||
<state_interface name="velocity"/>
|
|
||||||
</joint>
|
|
||||||
|
|
||||||
</ros2_control>
|
|
||||||
</xacro:macro>
|
|
||||||
</robot>
|
|
||||||
@@ -1,94 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--This does not replace URDF, and is not an extension of URDF.
|
|
||||||
This is a format for representing semantic information about the robot structure.
|
|
||||||
A URDF file must exist for this robot as well, where the joints and the links that are referenced are defined
|
|
||||||
-->
|
|
||||||
<robot name="ASTRA_Arm">
|
|
||||||
<!--GROUPS: Representation of a set of joints and links. This can be useful for specifying DOF to plan for, defining arms, end effectors, etc-->
|
|
||||||
<!--LINKS: When a link is specified, the parent joint of that link (if it exists) is automatically included-->
|
|
||||||
<!--JOINTS: When a joint is specified, the child link of that joint (which will always exist) is automatically included-->
|
|
||||||
<!--CHAINS: When a chain is specified, all the links along the chain (including endpoints) are included in the group. Additionally, all the joints that are parents to included links are also included. This means that joints along the chain and the parent joint of the base link are included in the group-->
|
|
||||||
<!--SUBGROUPS: Groups can also be formed by referencing to already defined group names-->
|
|
||||||
<group name="astra_arm">
|
|
||||||
<joint name="virtual_joint"/>
|
|
||||||
<joint name="Axis_0_Joint"/>
|
|
||||||
<joint name="Axis_1_Joint"/>
|
|
||||||
<joint name="Axis_2_Joint"/>
|
|
||||||
<joint name="Axis_3_Joint"/>
|
|
||||||
<joint name="Wrist_Differential_Joint"/>
|
|
||||||
<joint name="Wrist-EF_Roll_Joint"/>
|
|
||||||
</group>
|
|
||||||
<group name="Hand">
|
|
||||||
<link name="EF_Gripper_Left"/>
|
|
||||||
<link name="EF_Gripper_Right"/>
|
|
||||||
</group>
|
|
||||||
<!--GROUP STATES: Purpose: Define a named state for a particular group, in terms of joint values. This is useful to define states like 'folded arms'-->
|
|
||||||
<group_state name="Zero Position" group="astra_arm">
|
|
||||||
<joint name="Axis_0_Joint" value="0"/>
|
|
||||||
<joint name="Axis_1_Joint" value="0"/>
|
|
||||||
<joint name="Axis_2_Joint" value="0"/>
|
|
||||||
<joint name="Axis_3_Joint" value="0"/>
|
|
||||||
<joint name="Wrist-EF_Roll_Joint" value="0"/>
|
|
||||||
<joint name="Wrist_Differential_Joint" value="0"/>
|
|
||||||
</group_state>
|
|
||||||
<group_state name="Stow" group="astra_arm">
|
|
||||||
<joint name="Axis_0_Joint" value="0"/>
|
|
||||||
<joint name="Axis_1_Joint" value="-1.05"/>
|
|
||||||
<joint name="Axis_2_Joint" value="-2"/>
|
|
||||||
<joint name="Axis_3_Joint" value="-1.6"/>
|
|
||||||
<joint name="Wrist-EF_Roll_Joint" value="0"/>
|
|
||||||
<joint name="Wrist_Differential_Joint" value="0"/>
|
|
||||||
</group_state>
|
|
||||||
<group_state name="Ready" group="astra_arm">
|
|
||||||
<joint name="Axis_0_Joint" value="0"/>
|
|
||||||
<joint name="Axis_1_Joint" value="0"/>
|
|
||||||
<joint name="Axis_2_Joint" value="-1.6"/>
|
|
||||||
<joint name="Axis_3_Joint" value="-1.6"/>
|
|
||||||
<joint name="Wrist-EF_Roll_Joint" value="0"/>
|
|
||||||
<joint name="Wrist_Differential_Joint" value="0"/>
|
|
||||||
</group_state>
|
|
||||||
<group_state name="Open" group="Hand">
|
|
||||||
<joint name="Gripper_Slider_Left" value="-0.04"/>
|
|
||||||
<joint name="Gripper_Slider_Right" value="0.04"/>
|
|
||||||
</group_state>
|
|
||||||
<group_state name="Close" group="Hand">
|
|
||||||
<joint name="Gripper_Slider_Left" value="0.0215"/>
|
|
||||||
<joint name="Gripper_Slider_Right" value="-0.0215"/>
|
|
||||||
</group_state>
|
|
||||||
<!--END EFFECTOR: Purpose: Represent information about an end effector.-->
|
|
||||||
<end_effector name="Hand" parent_link="End_Effector" group="Hand"/>
|
|
||||||
<!--VIRTUAL JOINT: Purpose: this element defines a virtual joint between a robot link and an external frame of reference (considered fixed with respect to the robot)-->
|
|
||||||
<virtual_joint name="virtual_joint" type="fixed" parent_frame="world" child_link="base_link"/>
|
|
||||||
<!--DISABLE COLLISIONS: By default it is assumed that any link of the robot could potentially come into collision with any other link in the robot. This tag disables collision checking between a specified pair of links. -->
|
|
||||||
<disable_collisions link1="Axis_0_Plate" link2="Axis_1_Segment" reason="Adjacent"/>
|
|
||||||
<disable_collisions link1="Axis_0_Plate" link2="Axis_2_Segment" reason="Never"/>
|
|
||||||
<disable_collisions link1="Axis_0_Plate" link2="Diff_Carrier" reason="Never"/>
|
|
||||||
<disable_collisions link1="Axis_0_Plate" link2="End_Effector" reason="Never"/>
|
|
||||||
<disable_collisions link1="Axis_0_Plate" link2="Wrist" reason="Never"/>
|
|
||||||
<disable_collisions link1="Axis_0_Plate" link2="base_link" reason="Adjacent"/>
|
|
||||||
<disable_collisions link1="Axis_1_Segment" link2="Axis_2_Segment" reason="Adjacent"/>
|
|
||||||
<disable_collisions link1="Axis_1_Segment" link2="Diff_Carrier" reason="Never"/>
|
|
||||||
<disable_collisions link1="Axis_1_Segment" link2="EF_Gripper_Left" reason="Never"/>
|
|
||||||
<disable_collisions link1="Axis_1_Segment" link2="EF_Gripper_Right" reason="Never"/>
|
|
||||||
<disable_collisions link1="Axis_1_Segment" link2="End_Effector" reason="Never"/>
|
|
||||||
<disable_collisions link1="Axis_1_Segment" link2="Wrist" reason="Never"/>
|
|
||||||
<disable_collisions link1="Axis_1_Segment" link2="base_link" reason="Never"/>
|
|
||||||
<disable_collisions link1="Axis_2_Segment" link2="Diff_Carrier" reason="Never"/>
|
|
||||||
<disable_collisions link1="Axis_2_Segment" link2="EF_Gripper_Left" reason="Never"/>
|
|
||||||
<disable_collisions link1="Axis_2_Segment" link2="EF_Gripper_Right" reason="Never"/>
|
|
||||||
<disable_collisions link1="Axis_2_Segment" link2="End_Effector" reason="Never"/>
|
|
||||||
<disable_collisions link1="Axis_2_Segment" link2="Wrist" reason="Adjacent"/>
|
|
||||||
<disable_collisions link1="Axis_2_Segment" link2="base_link" reason="Never"/>
|
|
||||||
<disable_collisions link1="Diff_Carrier" link2="EF_Gripper_Left" reason="Never"/>
|
|
||||||
<disable_collisions link1="Diff_Carrier" link2="EF_Gripper_Right" reason="Never"/>
|
|
||||||
<disable_collisions link1="Diff_Carrier" link2="End_Effector" reason="Adjacent"/>
|
|
||||||
<disable_collisions link1="Diff_Carrier" link2="Wrist" reason="Adjacent"/>
|
|
||||||
<disable_collisions link1="Diff_Carrier" link2="base_link" reason="Never"/>
|
|
||||||
<disable_collisions link1="EF_Gripper_Left" link2="End_Effector" reason="Adjacent"/>
|
|
||||||
<disable_collisions link1="EF_Gripper_Left" link2="Wrist" reason="Never"/>
|
|
||||||
<disable_collisions link1="EF_Gripper_Right" link2="End_Effector" reason="Adjacent"/>
|
|
||||||
<disable_collisions link1="EF_Gripper_Right" link2="Wrist" reason="Never"/>
|
|
||||||
<disable_collisions link1="End_Effector" link2="Wrist" reason="Never"/>
|
|
||||||
<disable_collisions link1="End_Effector" link2="base_link" reason="Never"/>
|
|
||||||
<disable_collisions link1="Wrist" link2="base_link" reason="Never"/>
|
|
||||||
</robot>
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
<?xml version="1.0"?>
|
|
||||||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="ASTRA_Arm">
|
|
||||||
<xacro:arg name="initial_positions_file" default="initial_positions.yaml" />
|
|
||||||
|
|
||||||
<!-- Import ASTRA_Arm urdf file -->
|
|
||||||
<xacro:include filename="$(find arm_description)/urdf/ASTRA_Arm.urdf" />
|
|
||||||
|
|
||||||
<!-- Import control_xacro -->
|
|
||||||
<xacro:include filename="ASTRA_Arm.ros2_control.xacro" />
|
|
||||||
|
|
||||||
|
|
||||||
<xacro:ASTRA_Arm_ros2_control name="FakeSystem" initial_positions_file="$(arg initial_positions_file)"/>
|
|
||||||
|
|
||||||
</robot>
|
|
||||||
@@ -1,71 +0,0 @@
|
|||||||
###############################################
|
|
||||||
# Modify all parameters related to servoing here
|
|
||||||
###############################################
|
|
||||||
use_gazebo: false # Whether the robot is started in a Gazebo simulation environment
|
|
||||||
|
|
||||||
## Properties of incoming commands
|
|
||||||
command_in_type: "unitless" # "unitless"> in the range [-1:1], as if from joystick. "speed_units"> cmds are in m/s and rad/s
|
|
||||||
scale:
|
|
||||||
# Scale parameters are only used if command_in_type=="unitless"
|
|
||||||
linear: 0.2 # Max linear velocity. Unit is [m/s]. Only used for Cartesian commands.
|
|
||||||
rotational: 0.4 # Max angular velocity. Unit is [rad/s]. Only used for Cartesian commands.
|
|
||||||
# Max joint angular/linear velocity. Only used for joint commands on joint_command_in_topic.
|
|
||||||
joint: 0.5
|
|
||||||
|
|
||||||
# Optionally override Servo's internal velocity scaling when near singularity or collision (0.0 = use internal velocity scaling)
|
|
||||||
# override_velocity_scaling_factor = 0.0 # valid range [0.0:1.0]
|
|
||||||
|
|
||||||
## Properties of outgoing commands
|
|
||||||
publish_period: 0.034 # 1/Nominal publish rate [seconds]
|
|
||||||
low_latency_mode: false # Set this to true to publish as soon as an incoming Twist command is received (publish_period is ignored)
|
|
||||||
|
|
||||||
# What type of topic does your robot driver expect?
|
|
||||||
# Currently supported are std_msgs/Float64MultiArray or trajectory_msgs/JointTrajectory
|
|
||||||
command_out_type: trajectory_msgs/JointTrajectory
|
|
||||||
|
|
||||||
# What to publish? Can save some bandwidth as most robots only require positions or velocities
|
|
||||||
publish_joint_positions: true
|
|
||||||
publish_joint_velocities: true
|
|
||||||
publish_joint_accelerations: false
|
|
||||||
|
|
||||||
## Plugins for smoothing outgoing commands
|
|
||||||
smoothing_filter_plugin_name: "online_signal_smoothing::ButterworthFilterPlugin"
|
|
||||||
|
|
||||||
# If is_primary_planning_scene_monitor is set to true, the Servo server's PlanningScene advertises the /get_planning_scene service,
|
|
||||||
# which other nodes can use as a source for information about the planning environment.
|
|
||||||
# NOTE: If a different node in your system is responsible for the "primary" planning scene instance (e.g. the MoveGroup node),
|
|
||||||
# then is_primary_planning_scene_monitor needs to be set to false.
|
|
||||||
is_primary_planning_scene_monitor: true
|
|
||||||
|
|
||||||
## MoveIt properties
|
|
||||||
move_group_name: astra_arm # Often 'manipulator' or 'arm'
|
|
||||||
planning_frame: base_link # The MoveIt planning frame. Often 'base_link' or 'world'
|
|
||||||
|
|
||||||
## Other frames
|
|
||||||
ee_frame_name: End_Effector # The name of the end effector link, used to return the EE pose
|
|
||||||
robot_link_command_frame: base_link # commands must be given in the frame of a robot link. Usually either the base or end effector
|
|
||||||
|
|
||||||
## Stopping behaviour
|
|
||||||
incoming_command_timeout: 0.1 # Stop servoing if X seconds elapse without a new command
|
|
||||||
# If 0, republish commands forever even if the robot is stationary. Otherwise, specify num. to publish.
|
|
||||||
# Important because ROS may drop some messages and we need the robot to halt reliably.
|
|
||||||
num_outgoing_halt_msgs_to_publish: 4
|
|
||||||
|
|
||||||
## Configure handling of singularities and joint limits
|
|
||||||
lower_singularity_threshold: 17.0 # Start decelerating when the condition number hits this (close to singularity)
|
|
||||||
hard_stop_singularity_threshold: 30.0 # Stop when the condition number hits this
|
|
||||||
joint_limit_margin: 0.1 # added as a buffer to joint limits [radians]. If moving quickly, make this larger.
|
|
||||||
leaving_singularity_threshold_multiplier: 2.0 # Multiply the hard stop limit by this when leaving singularity (see https://github.com/ros-planning/moveit2/pull/620)
|
|
||||||
|
|
||||||
## Topic names
|
|
||||||
cartesian_command_in_topic: ~/delta_twist_cmds # Topic for incoming Cartesian twist commands
|
|
||||||
joint_command_in_topic: ~/delta_joint_cmds # Topic for incoming joint angle commands
|
|
||||||
joint_topic: /joint_states
|
|
||||||
status_topic: ~/status # Publish status to this topic
|
|
||||||
command_out_topic: /astra_arm_controller/joint_trajectory # Publish outgoing commands here
|
|
||||||
|
|
||||||
## Collision checking for the entire robot body
|
|
||||||
check_collisions: true # Check collisions?
|
|
||||||
collision_check_rate: 10.0 # [Hz] Collision-checking can easily bog down a CPU if done too often.
|
|
||||||
self_collision_proximity_threshold: 0.01 # Start decelerating when a self-collision is this far [m]
|
|
||||||
scene_collision_proximity_threshold: 0.02 # Start decelerating when a scene collision is this far [m]
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
# Default initial positions for ASTRA_Arm's ros2_control fake system
|
|
||||||
|
|
||||||
initial_positions:
|
|
||||||
Axis_0_Joint: 0
|
|
||||||
Axis_1_Joint: 0
|
|
||||||
Axis_2_Joint: -1.6
|
|
||||||
Axis_3_Joint: -1.6
|
|
||||||
Gripper_Slider_Left: 0
|
|
||||||
Wrist-EF_Roll_Joint: 0
|
|
||||||
Wrist_Differential_Joint: 0
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
# 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: 1
|
|
||||||
default_acceleration_scaling_factor: 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:
|
|
||||||
Axis_0_Joint:
|
|
||||||
has_velocity_limits: true
|
|
||||||
max_velocity: 31.41593
|
|
||||||
has_acceleration_limits: true
|
|
||||||
max_acceleration: 0.5
|
|
||||||
Axis_1_Joint:
|
|
||||||
has_velocity_limits: true
|
|
||||||
max_velocity: 31.41593
|
|
||||||
has_acceleration_limits: true
|
|
||||||
max_acceleration: 0.5
|
|
||||||
Axis_2_Joint:
|
|
||||||
has_velocity_limits: true
|
|
||||||
max_velocity: 31.41593
|
|
||||||
has_acceleration_limits: true
|
|
||||||
max_acceleration: 0.5
|
|
||||||
Axis_3_Joint:
|
|
||||||
has_velocity_limits: true
|
|
||||||
max_velocity: 31.41593
|
|
||||||
has_acceleration_limits: true
|
|
||||||
max_acceleration: 0.5
|
|
||||||
Gripper_Slider_Left:
|
|
||||||
has_velocity_limits: true
|
|
||||||
max_velocity: 0.015
|
|
||||||
has_acceleration_limits: true
|
|
||||||
max_acceleration: 0.5
|
|
||||||
Gripper_Slider_Right:
|
|
||||||
has_velocity_limits: true
|
|
||||||
max_velocity: 0.015
|
|
||||||
has_acceleration_limits: true
|
|
||||||
max_acceleration: 0.5
|
|
||||||
Wrist_Differential_Joint:
|
|
||||||
has_velocity_limits: true
|
|
||||||
max_velocity: 31.41593
|
|
||||||
has_acceleration_limits: true
|
|
||||||
max_acceleration: 0.5
|
|
||||||
Wrist-EF_Roll_Joint:
|
|
||||||
has_velocity_limits: true
|
|
||||||
max_velocity: 31.41593
|
|
||||||
has_acceleration_limits: true
|
|
||||||
max_acceleration: 0.5
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
astra_arm:
|
|
||||||
kinematics_solver: pick_ik/PickIkPlugin
|
|
||||||
kinematics_solver_search_resolution: 0.0050000000000000001
|
|
||||||
kinematics_solver_timeout: 0.01
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
Panels:
|
|
||||||
- Class: rviz_common/Displays
|
|
||||||
Name: Displays
|
|
||||||
Property Tree Widget:
|
|
||||||
Expanded:
|
|
||||||
- /MotionPlanning1
|
|
||||||
- Class: rviz_common/Help
|
|
||||||
Name: Help
|
|
||||||
- Class: rviz_common/Views
|
|
||||||
Name: Views
|
|
||||||
Visualization Manager:
|
|
||||||
Displays:
|
|
||||||
- Class: rviz_default_plugins/Grid
|
|
||||||
Name: Grid
|
|
||||||
Value: true
|
|
||||||
- Class: moveit_rviz_plugin/MotionPlanning
|
|
||||||
Name: MotionPlanning
|
|
||||||
Planned Path:
|
|
||||||
Loop Animation: true
|
|
||||||
State Display Time: 0.05 s
|
|
||||||
Trajectory Topic: display_planned_path
|
|
||||||
Planning Scene Topic: monitored_planning_scene
|
|
||||||
Robot Description: robot_description
|
|
||||||
Scene Geometry:
|
|
||||||
Scene Alpha: 1
|
|
||||||
Scene Robot:
|
|
||||||
Robot Alpha: 0.5
|
|
||||||
Value: true
|
|
||||||
Global Options:
|
|
||||||
Fixed Frame: base_link
|
|
||||||
Tools:
|
|
||||||
- Class: rviz_default_plugins/Interact
|
|
||||||
- Class: rviz_default_plugins/MoveCamera
|
|
||||||
- Class: rviz_default_plugins/Select
|
|
||||||
Value: true
|
|
||||||
Views:
|
|
||||||
Current:
|
|
||||||
Class: rviz_default_plugins/Orbit
|
|
||||||
Distance: 2.0
|
|
||||||
Focal Point:
|
|
||||||
X: -0.1
|
|
||||||
Y: 0.25
|
|
||||||
Z: 0.30
|
|
||||||
Name: Current View
|
|
||||||
Pitch: 0.5
|
|
||||||
Target Frame: base_link
|
|
||||||
Yaw: -0.623
|
|
||||||
Window Geometry:
|
|
||||||
Height: 975
|
|
||||||
QMainWindow State: 000000ff00000000fd0000000100000000000002b400000375fc0200000005fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000004100fffffffb000000100044006900730070006c006100790073010000003d00000123000000c900fffffffb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e00670100000166000001910000018800fffffffb0000000800480065006c0070000000029a0000006e0000006e00fffffffb0000000a0056006900650077007301000002fd000000b5000000a400ffffff000001f60000037500000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
|
|
||||||
Width: 1200
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
# MoveIt uses this configuration for controller management
|
|
||||||
|
|
||||||
moveit_controller_manager: moveit_simple_controller_manager/MoveItSimpleControllerManager
|
|
||||||
|
|
||||||
moveit_simple_controller_manager:
|
|
||||||
controller_names:
|
|
||||||
- astra_arm_controller
|
|
||||||
- hand_controller
|
|
||||||
|
|
||||||
astra_arm_controller:
|
|
||||||
type: FollowJointTrajectory
|
|
||||||
joints:
|
|
||||||
- Axis_0_Joint
|
|
||||||
- Axis_1_Joint
|
|
||||||
- Axis_2_Joint
|
|
||||||
- Axis_3_Joint
|
|
||||||
- Wrist_Differential_Joint
|
|
||||||
- Wrist-EF_Roll_Joint
|
|
||||||
action_ns: follow_joint_trajectory
|
|
||||||
default: true
|
|
||||||
hand_controller:
|
|
||||||
type: GripperCommand
|
|
||||||
joints:
|
|
||||||
- Gripper_Slider_Left
|
|
||||||
action_ns: gripper_cmd
|
|
||||||
default: true
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
# 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
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
# This config file is used by ros2_control
|
|
||||||
controller_manager:
|
|
||||||
ros__parameters:
|
|
||||||
update_rate: 100 # Hz
|
|
||||||
|
|
||||||
astra_arm_controller:
|
|
||||||
type: joint_trajectory_controller/JointTrajectoryController
|
|
||||||
|
|
||||||
|
|
||||||
hand_controller:
|
|
||||||
type: position_controllers/GripperActionController
|
|
||||||
|
|
||||||
|
|
||||||
joint_state_broadcaster:
|
|
||||||
type: joint_state_broadcaster/JointStateBroadcaster
|
|
||||||
|
|
||||||
astra_arm_controller:
|
|
||||||
ros__parameters:
|
|
||||||
joints:
|
|
||||||
- Axis_0_Joint
|
|
||||||
- Axis_1_Joint
|
|
||||||
- Axis_2_Joint
|
|
||||||
- Axis_3_Joint
|
|
||||||
- Wrist_Differential_Joint
|
|
||||||
- Wrist-EF_Roll_Joint
|
|
||||||
command_interfaces:
|
|
||||||
- position
|
|
||||||
- velocity
|
|
||||||
state_interfaces:
|
|
||||||
- position
|
|
||||||
- velocity
|
|
||||||
allow_nonzero_velocity_at_trajectory_end: false
|
|
||||||
hand_controller:
|
|
||||||
ros__parameters:
|
|
||||||
joint: Gripper_Slider_Left
|
|
||||||
@@ -1,184 +0,0 @@
|
|||||||
from moveit_configs_utils import MoveItConfigsBuilder
|
|
||||||
# from moveit_configs_utils.launches import generate_demo_launch
|
|
||||||
|
|
||||||
import os
|
|
||||||
|
|
||||||
from launch import LaunchDescription
|
|
||||||
from launch.actions import (
|
|
||||||
DeclareLaunchArgument,
|
|
||||||
IncludeLaunchDescription,
|
|
||||||
)
|
|
||||||
from launch.conditions import IfCondition
|
|
||||||
from launch.launch_description_sources import PythonLaunchDescriptionSource
|
|
||||||
from launch.substitutions import LaunchConfiguration
|
|
||||||
|
|
||||||
from launch_ros.actions import Node
|
|
||||||
from launch_ros.parameter_descriptions import ParameterValue
|
|
||||||
|
|
||||||
from srdfdom.srdf import SRDF
|
|
||||||
|
|
||||||
from moveit_configs_utils.launch_utils import (
|
|
||||||
add_debuggable_node,
|
|
||||||
DeclareBooleanLaunchArg,
|
|
||||||
)
|
|
||||||
|
|
||||||
from launch_param_builder import ParameterBuilder
|
|
||||||
from launch_ros.actions import ComposableNodeContainer
|
|
||||||
from launch_ros.descriptions import ComposableNode
|
|
||||||
|
|
||||||
|
|
||||||
def generate_launch_description():
|
|
||||||
moveit_config = MoveItConfigsBuilder("ASTRA_Arm", package_name="arm_moveit_config").to_moveit_configs()
|
|
||||||
# return generate_demo_launch(moveit_config)
|
|
||||||
launch_package_path = moveit_config.package_path
|
|
||||||
|
|
||||||
ld = LaunchDescription()
|
|
||||||
ld.add_action(
|
|
||||||
DeclareBooleanLaunchArg(
|
|
||||||
"db",
|
|
||||||
default_value=False,
|
|
||||||
description="By default, we do not start a database (it can be large)",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
ld.add_action(
|
|
||||||
DeclareBooleanLaunchArg(
|
|
||||||
"debug",
|
|
||||||
default_value=False,
|
|
||||||
description="By default, we are not in debug mode",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
ld.add_action(DeclareBooleanLaunchArg("use_rviz", default_value=True))
|
|
||||||
# If there are virtual joints, broadcast static tf by including virtual_joints launch
|
|
||||||
virtual_joints_launch = (
|
|
||||||
launch_package_path / "launch/static_virtual_joint_tfs.launch.py"
|
|
||||||
)
|
|
||||||
|
|
||||||
if virtual_joints_launch.exists():
|
|
||||||
ld.add_action(
|
|
||||||
IncludeLaunchDescription(
|
|
||||||
PythonLaunchDescriptionSource(str(virtual_joints_launch)),
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
# Given the published joint states, publish tf for the robot links
|
|
||||||
ld.add_action(
|
|
||||||
IncludeLaunchDescription(
|
|
||||||
PythonLaunchDescriptionSource(
|
|
||||||
str(launch_package_path / "launch/rsp.launch.py")
|
|
||||||
),
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
ld.add_action(
|
|
||||||
IncludeLaunchDescription(
|
|
||||||
PythonLaunchDescriptionSource(
|
|
||||||
str(launch_package_path / "launch/move_group.launch.py")
|
|
||||||
),
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
# Run Rviz and load the default config to see the state of the move_group node
|
|
||||||
ld.add_action(
|
|
||||||
IncludeLaunchDescription(
|
|
||||||
PythonLaunchDescriptionSource(
|
|
||||||
str(launch_package_path / "launch/moveit_rviz.launch.py")
|
|
||||||
),
|
|
||||||
condition=IfCondition(LaunchConfiguration("use_rviz")),
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
# If database loading was enabled, start mongodb as well
|
|
||||||
ld.add_action(
|
|
||||||
IncludeLaunchDescription(
|
|
||||||
PythonLaunchDescriptionSource(
|
|
||||||
str(launch_package_path / "launch/warehouse_db.launch.py")
|
|
||||||
),
|
|
||||||
condition=IfCondition(LaunchConfiguration("db")),
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
# Fake joint driver
|
|
||||||
ld.add_action(
|
|
||||||
Node(
|
|
||||||
package="controller_manager",
|
|
||||||
executable="ros2_control_node",
|
|
||||||
parameters=[
|
|
||||||
str(moveit_config.package_path / "config/ros2_controllers.yaml"),
|
|
||||||
],
|
|
||||||
remappings=[
|
|
||||||
("/controller_manager/robot_description", "/robot_description"),
|
|
||||||
],
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
## SERVO
|
|
||||||
|
|
||||||
# This sets the update rate and planning group name for the acceleration limiting filter.
|
|
||||||
acceleration_filter_update_period = {"update_period": 0.01}
|
|
||||||
planning_group_name = {"planning_group_name": "astra_arm"}
|
|
||||||
|
|
||||||
# Get parameters for the Servo node
|
|
||||||
servo_params = {
|
|
||||||
"moveit_servo": ParameterBuilder("arm_moveit_config")
|
|
||||||
.yaml("config/astra_arm_simulated_config.yaml")
|
|
||||||
.to_dict()
|
|
||||||
}
|
|
||||||
ld.add_action(
|
|
||||||
ComposableNodeContainer(
|
|
||||||
name="moveit_servo_demo_container",
|
|
||||||
namespace="/",
|
|
||||||
package="rclcpp_components",
|
|
||||||
executable="component_container_mt",
|
|
||||||
composable_node_descriptions=[
|
|
||||||
# Example of launching Servo as a node component
|
|
||||||
# Assuming ROS2 intraprocess communications works well, this is a more efficient way.
|
|
||||||
# ComposableNode(
|
|
||||||
# package="moveit_servo",
|
|
||||||
# plugin="moveit_servo::ServoServer",
|
|
||||||
# name="servo_server",
|
|
||||||
# parameters=[
|
|
||||||
# servo_params,
|
|
||||||
# moveit_config.robot_description,
|
|
||||||
# moveit_config.robot_description_semantic,
|
|
||||||
# ],
|
|
||||||
# ),
|
|
||||||
ComposableNode(
|
|
||||||
package="servo_arm_twist_pkg",
|
|
||||||
plugin="servo_arm_twist_pkg::JoyToServoPub",
|
|
||||||
name="controller_to_servo_twist_node",
|
|
||||||
),
|
|
||||||
ComposableNode(
|
|
||||||
package="joy",
|
|
||||||
plugin="joy::Joy",
|
|
||||||
name="joy_node",
|
|
||||||
),
|
|
||||||
],
|
|
||||||
output="screen",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
# Launch a standalone Servo node.
|
|
||||||
# As opposed to a node component, this may be necessary (for example) if Servo is running on a different PC
|
|
||||||
ld.add_action(
|
|
||||||
Node(
|
|
||||||
package="moveit_servo",
|
|
||||||
executable="servo_node_main",
|
|
||||||
parameters=[
|
|
||||||
servo_params,
|
|
||||||
moveit_config.robot_description,
|
|
||||||
moveit_config.robot_description_semantic,
|
|
||||||
moveit_config.robot_description_kinematics,
|
|
||||||
],
|
|
||||||
output="screen",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
ld.add_action(
|
|
||||||
IncludeLaunchDescription(
|
|
||||||
PythonLaunchDescriptionSource(
|
|
||||||
str(launch_package_path / "launch/spawn_controllers.launch.py")
|
|
||||||
),
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
return ld
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
from moveit_configs_utils import MoveItConfigsBuilder
|
|
||||||
from moveit_configs_utils.launches import generate_move_group_launch
|
|
||||||
|
|
||||||
|
|
||||||
def generate_launch_description():
|
|
||||||
moveit_config = MoveItConfigsBuilder("ASTRA_Arm", package_name="arm_moveit_config").to_moveit_configs()
|
|
||||||
return generate_move_group_launch(moveit_config)
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
from moveit_configs_utils import MoveItConfigsBuilder
|
|
||||||
from moveit_configs_utils.launches import generate_moveit_rviz_launch
|
|
||||||
|
|
||||||
|
|
||||||
def generate_launch_description():
|
|
||||||
moveit_config = MoveItConfigsBuilder("ASTRA_Arm", package_name="arm_moveit_config").to_moveit_configs()
|
|
||||||
return generate_moveit_rviz_launch(moveit_config)
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
from moveit_configs_utils import MoveItConfigsBuilder
|
|
||||||
from moveit_configs_utils.launches import generate_rsp_launch
|
|
||||||
|
|
||||||
|
|
||||||
def generate_launch_description():
|
|
||||||
moveit_config = MoveItConfigsBuilder("ASTRA_Arm", package_name="arm_moveit_config").to_moveit_configs()
|
|
||||||
return generate_rsp_launch(moveit_config)
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
from moveit_configs_utils import MoveItConfigsBuilder
|
|
||||||
from moveit_configs_utils.launches import generate_setup_assistant_launch
|
|
||||||
|
|
||||||
|
|
||||||
def generate_launch_description():
|
|
||||||
moveit_config = MoveItConfigsBuilder("ASTRA_Arm", package_name="arm_moveit_config").to_moveit_configs()
|
|
||||||
return generate_setup_assistant_launch(moveit_config)
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
from moveit_configs_utils import MoveItConfigsBuilder
|
|
||||||
from moveit_configs_utils.launches import generate_spawn_controllers_launch
|
|
||||||
|
|
||||||
import os
|
|
||||||
|
|
||||||
from launch import LaunchDescription
|
|
||||||
from launch.actions import (
|
|
||||||
DeclareLaunchArgument,
|
|
||||||
IncludeLaunchDescription,
|
|
||||||
)
|
|
||||||
from launch.conditions import IfCondition
|
|
||||||
from launch.launch_description_sources import PythonLaunchDescriptionSource
|
|
||||||
from launch.substitutions import LaunchConfiguration
|
|
||||||
|
|
||||||
from launch_ros.actions import Node
|
|
||||||
from launch_ros.parameter_descriptions import ParameterValue
|
|
||||||
|
|
||||||
from srdfdom.srdf import SRDF
|
|
||||||
|
|
||||||
from moveit_configs_utils.launch_utils import (
|
|
||||||
add_debuggable_node,
|
|
||||||
DeclareBooleanLaunchArg,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def generate_launch_description():
|
|
||||||
moveit_config = MoveItConfigsBuilder("ASTRA_Arm", package_name="arm_moveit_config").to_moveit_configs()
|
|
||||||
# return generate_spawn_controllers_launch(moveit_config)
|
|
||||||
controller_names = moveit_config.trajectory_execution.get(
|
|
||||||
"moveit_simple_controller_manager", {}
|
|
||||||
).get("controller_names", [])
|
|
||||||
ld = LaunchDescription()
|
|
||||||
for controller in controller_names: # + ["joint_state_broadcaster"]:
|
|
||||||
ld.add_action(
|
|
||||||
Node(
|
|
||||||
package="controller_manager",
|
|
||||||
executable="spawner",
|
|
||||||
arguments=[controller],
|
|
||||||
output="screen",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
return ld
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
from moveit_configs_utils import MoveItConfigsBuilder
|
|
||||||
from moveit_configs_utils.launches import generate_static_virtual_joint_tfs_launch
|
|
||||||
|
|
||||||
|
|
||||||
def generate_launch_description():
|
|
||||||
moveit_config = MoveItConfigsBuilder("ASTRA_Arm", package_name="arm_moveit_config").to_moveit_configs()
|
|
||||||
return generate_static_virtual_joint_tfs_launch(moveit_config)
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
from moveit_configs_utils import MoveItConfigsBuilder
|
|
||||||
from moveit_configs_utils.launches import generate_warehouse_db_launch
|
|
||||||
|
|
||||||
|
|
||||||
def generate_launch_description():
|
|
||||||
moveit_config = MoveItConfigsBuilder("ASTRA_Arm", package_name="arm_moveit_config").to_moveit_configs()
|
|
||||||
return generate_warehouse_db_launch(moveit_config)
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
<?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>arm_moveit_config</name>
|
|
||||||
<version>0.3.0</version>
|
|
||||||
<description>
|
|
||||||
An automatically generated package with all the configuration and launch files for using the ASTRA_Arm with the MoveIt Motion Planning Framework
|
|
||||||
</description>
|
|
||||||
<maintainer email="ds0196@uah.edu">David Sharpe</maintainer>
|
|
||||||
|
|
||||||
<license>BSD-3-Clause</license>
|
|
||||||
|
|
||||||
<url type="website">http://moveit.ros.org/</url>
|
|
||||||
<url type="bugtracker">https://github.com/moveit/moveit2/issues</url>
|
|
||||||
<url type="repository">https://github.com/moveit/moveit2</url>
|
|
||||||
|
|
||||||
<author email="ds0196@uah.edu">David Sharpe</author>
|
|
||||||
|
|
||||||
<buildtool_depend>ament_cmake</buildtool_depend>
|
|
||||||
|
|
||||||
<exec_depend>moveit_ros_move_group</exec_depend>
|
|
||||||
<exec_depend>moveit_kinematics</exec_depend>
|
|
||||||
<exec_depend>moveit_planners</exec_depend>
|
|
||||||
<exec_depend>moveit_simple_controller_manager</exec_depend>
|
|
||||||
<exec_depend>joint_state_publisher</exec_depend>
|
|
||||||
<exec_depend>joint_state_publisher_gui</exec_depend>
|
|
||||||
<exec_depend>tf2_ros</exec_depend>
|
|
||||||
<exec_depend>xacro</exec_depend>
|
|
||||||
<!-- The next 2 packages are required for the gazebo simulation.
|
|
||||||
We don't include them by default to prevent installing gazebo and all its dependencies. -->
|
|
||||||
<!-- <exec_depend>joint_trajectory_controller</exec_depend> -->
|
|
||||||
<!-- <exec_depend>gazebo_ros_control</exec_depend> -->
|
|
||||||
<exec_depend>controller_manager</exec_depend>
|
|
||||||
<exec_depend>moveit_configs_utils</exec_depend>
|
|
||||||
<exec_depend>moveit_ros_move_group</exec_depend>
|
|
||||||
<exec_depend>moveit_ros_visualization</exec_depend>
|
|
||||||
<exec_depend>moveit_ros_warehouse</exec_depend>
|
|
||||||
<exec_depend>moveit_setup_assistant</exec_depend>
|
|
||||||
<exec_depend>robot_state_publisher</exec_depend>
|
|
||||||
<exec_depend>arm_description</exec_depend>
|
|
||||||
<exec_depend>rviz2</exec_depend>
|
|
||||||
<exec_depend>rviz_common</exec_depend>
|
|
||||||
<exec_depend>rviz_default_plugins</exec_depend>
|
|
||||||
<exec_depend>tf2_ros</exec_depend>
|
|
||||||
<exec_depend>warehouse_ros_mongo</exec_depend>
|
|
||||||
<exec_depend>xacro</exec_depend>
|
|
||||||
|
|
||||||
|
|
||||||
<export>
|
|
||||||
<build_type>ament_cmake</build_type>
|
|
||||||
</export>
|
|
||||||
</package>
|
|
||||||
Reference in New Issue
Block a user