├── uf_ros_lib ├── resource │ └── uf_ros_lib ├── uf_ros_lib │ ├── __init__.py │ ├── substitutions │ │ └── __init__.py │ └── parameter_descriptions.py ├── setup.cfg ├── setup.py ├── test │ ├── test_copyright.py │ ├── test_pep257.py │ └── test_flake8.py └── package.xml ├── .gitmodules ├── xarm_vision └── d435i_xarm_setup │ ├── objects │ ├── 1.png │ └── 2.png │ ├── config │ ├── extra_robot_api_params.yaml │ ├── lite_rs_on_hand_calibration.calib │ ├── xarm_rs_on_hand_calibration.calib │ └── uf850_rs_on_hand_calibration.calib │ ├── package.xml │ └── launch │ └── publish_handeye_tf.launch.py ├── xarm_description ├── meshes │ ├── lite6 │ │ ├── visual │ │ │ ├── link1.stl │ │ │ ├── link2.stl │ │ │ ├── link3.stl │ │ │ ├── link4.stl │ │ │ ├── link5.stl │ │ │ ├── link6.stl │ │ │ └── link_base.stl │ │ └── collision │ │ │ ├── link1.stl │ │ │ ├── link2.stl │ │ │ ├── link3.stl │ │ │ ├── link4.stl │ │ │ ├── link5.stl │ │ │ ├── link6.stl │ │ │ └── link_base.stl │ ├── uf850 │ │ ├── visual │ │ │ ├── link1.stl │ │ │ ├── link2.stl │ │ │ ├── link3.stl │ │ │ ├── link4.stl │ │ │ ├── link5.stl │ │ │ ├── link6.stl │ │ │ └── link_base.stl │ │ └── collision │ │ │ ├── link1.stl │ │ │ ├── link2.stl │ │ │ ├── link3.stl │ │ │ ├── link4.stl │ │ │ ├── link5.stl │ │ │ ├── link6.stl │ │ │ └── link_base.stl │ ├── xarm5 │ │ └── visual │ │ │ ├── link1.stl │ │ │ ├── link2.stl │ │ │ ├── link3.stl │ │ │ ├── link4.stl │ │ │ ├── link5.stl │ │ │ └── link_base.stl │ ├── xarm6 │ │ └── visual │ │ │ ├── link1.stl │ │ │ ├── link2.stl │ │ │ ├── link3.stl │ │ │ ├── link4.stl │ │ │ ├── link5.stl │ │ │ ├── link6.stl │ │ │ └── link_base.stl │ ├── xarm7 │ │ └── visual │ │ │ ├── link1.stl │ │ │ ├── link2.stl │ │ │ ├── link3.stl │ │ │ ├── link4.stl │ │ │ ├── link5.stl │ │ │ ├── link6.stl │ │ │ ├── link7.stl │ │ │ └── link_base.stl │ ├── gripper │ │ ├── bio │ │ │ ├── link_base.stl │ │ │ ├── left_finger.stl │ │ │ └── right_finger.stl │ │ ├── xarm │ │ │ ├── base_link.stl │ │ │ ├── left_finger.stl │ │ │ ├── right_finger.stl │ │ │ ├── left_inner_knuckle.stl │ │ │ ├── left_outer_knuckle.stl │ │ │ ├── right_inner_knuckle.stl │ │ │ └── right_outer_knuckle.stl │ │ └── lite │ │ │ ├── visual │ │ │ └── gripper_lite.stl │ │ │ └── collision │ │ │ └── gripper_lite.stl │ ├── xarm5_1305 │ │ └── visual │ │ │ ├── link1.stl │ │ │ ├── link2.stl │ │ │ ├── link3.stl │ │ │ ├── link4.stl │ │ │ ├── link5.stl │ │ │ └── link_base.stl │ ├── xarm6_1305 │ │ └── visual │ │ │ ├── link1.stl │ │ │ ├── link2.stl │ │ │ ├── link3.stl │ │ │ ├── link4.stl │ │ │ ├── link5.stl │ │ │ ├── link6.stl │ │ │ └── link_base.stl │ ├── xarm7_1305 │ │ └── visual │ │ │ ├── link1.stl │ │ │ ├── link2.stl │ │ │ ├── link3.stl │ │ │ ├── link4.stl │ │ │ ├── link5.stl │ │ │ ├── link6.stl │ │ │ ├── link7.stl │ │ │ └── link_base.stl │ ├── xarm7_mirror │ │ ├── visual │ │ │ ├── link1.stl │ │ │ ├── link2.stl │ │ │ ├── link3.stl │ │ │ ├── link4.stl │ │ │ ├── link5.stl │ │ │ ├── link6.stl │ │ │ ├── link7.stl │ │ │ └── link_base.stl │ │ └── collision │ │ │ ├── link1.stl │ │ │ ├── link2.stl │ │ │ ├── link3.stl │ │ │ ├── link4.stl │ │ │ ├── link5.stl │ │ │ ├── link6.stl │ │ │ ├── link7.stl │ │ │ └── link_base.stl │ ├── end_tool │ │ ├── collision │ │ │ ├── end_tool.stl │ │ │ └── end_tool_1300.stl │ │ └── visual │ │ │ └── end_tool_1300.stl │ ├── vacuum_gripper │ │ ├── xarm │ │ │ ├── visual │ │ │ │ └── vacuum_gripper.stl │ │ │ └── collision │ │ │ │ └── vacuum_gripper.stl │ │ └── lite │ │ │ ├── visual │ │ │ └── vacuum_gripper_lite.stl │ │ │ └── collision │ │ │ └── vacuum_gripper_lite.stl │ └── camera │ │ └── realsense │ │ ├── visual │ │ └── d435_with_cam_stand.stl │ │ └── collision │ │ └── d435_with_cam_stand.stl ├── urdf │ ├── gripper │ │ ├── gripper.urdf.xacro │ │ ├── xarm_gripper.transmission.xacro │ │ ├── bio_gripper.transmission.xacro │ │ ├── xarm_gripper.ros2_control.xacro │ │ └── bio_gripper.ros2_control.xacro │ ├── vacuum_gripper │ │ └── vacuum_gripper.urdf.xacro │ ├── common │ │ └── common.material.xacro │ ├── _private_macro.xacro │ ├── xarm5 │ │ └── xarm5.gazebo.xacro │ ├── lite6 │ │ └── lite6.gazebo.xacro │ ├── uf850 │ │ └── uf850.gazebo.xacro │ ├── xarm6 │ │ └── xarm6.gazebo.xacro │ ├── xarm7 │ │ └── xarm7.gazebo.xacro │ └── xarm7_mirror │ │ └── xarm7_mirror.gazebo.xacro ├── config │ ├── kinematics │ │ └── default │ │ │ ├── xarm5_default_kinematics.yaml │ │ │ ├── xarm6_default_kinematics.yaml │ │ │ ├── uf850_default_kinematics.yaml │ │ │ ├── lite6_default_kinematics.yaml │ │ │ ├── xarm7_default_kinematics.yaml │ │ │ └── xarm7_mirror_default_kinematics.yaml │ └── link_inertial │ │ ├── xarm5_type5_HT_LD.yaml │ │ ├── xarm5_type5_HT_BR.yaml │ │ ├── xarm5_type5_UJ_BR_2403.yaml │ │ └── xarm5_type5_HT_BR2.yaml ├── package.xml ├── launch │ ├── lib │ │ └── robot_description_lib.py │ └── _rviz_display.launch.py └── CMakeLists.txt ├── xarm_msgs ├── srv │ ├── PlanExec.srv │ ├── PlanPose.srv │ ├── GetFloat32.srv │ ├── PlanSingleStraight.srv │ ├── SetInt32.srv │ ├── RobotiqReset.srv │ ├── GetInt32.srv │ ├── SetInt16List.srv │ ├── PlanJoint.srv │ ├── SetInt32ByType.srv │ ├── GetInt32ByType.srv │ ├── SetTcpLoad.srv │ ├── GetDigitalIO.srv │ ├── GetAnalogIO.srv │ ├── RobotiqGetStatus.srv │ ├── TrajCtrl.srv │ ├── BioGripperEnable.srv │ ├── GripperMove.srv │ ├── RobotiqActivate.srv │ ├── SetInt16ById.srv │ ├── GetFloat32List.srv │ ├── BioGripperCtrl.srv │ ├── TrajPlay.srv │ ├── GetInt16List.srv │ ├── SetFloat32List.srv │ ├── MoveHome.srv │ ├── LinearMotorBackOrigin.srv │ ├── SetAnalogIO.srv │ ├── LinearMotorSetPos.srv │ ├── SetFloat32.srv │ ├── LinearTrackBackOrigin.srv │ ├── SetModbusTimeout.srv │ ├── MoveCircle.srv │ ├── LinearTrackSetPos.srv │ ├── RobotiqMove.srv │ ├── MoveJoint.srv │ ├── FtAdmittanceParams.srv │ ├── FtForcePid.srv │ ├── SetDigitalIO.srv │ ├── FtCaliLoad.srv │ ├── IdenLoad.srv │ ├── FtForceConfig.srv │ ├── VacuumGripperCtrl.srv │ ├── Call.srv │ ├── MoveVelocity.srv │ ├── FtImpedance.srv │ ├── GetSetModbusData.srv │ ├── FtForceParams.srv │ ├── SetInt16.srv │ └── GetInt16.srv ├── msg │ ├── IOState.msg │ └── MoveVelocity.msg └── package.xml ├── .gitignore ├── xarm_moveit_config ├── config │ ├── moveit_configs │ │ ├── pilz_cartesian_limits.yaml │ │ ├── ompl_planning.yaml │ │ ├── pilz_industrial_motion_planner_planning.yaml │ │ └── chomp_planning.yaml │ ├── uf850_gripper │ │ ├── controllers.yaml │ │ ├── fake_controllers.yaml │ │ ├── ompl_planning.yaml │ │ └── joint_limits.yaml │ ├── xarm_gripper │ │ ├── controllers.yaml │ │ ├── fake_controllers.yaml │ │ ├── ompl_planning.yaml │ │ └── joint_limits.yaml │ ├── xarm7_mirror_gripper │ │ ├── controllers.yaml │ │ ├── fake_controllers.yaml │ │ ├── ompl_planning.yaml │ │ └── joint_limits.yaml │ ├── bio_gripper │ │ ├── controllers.yaml │ │ ├── fake_controllers.yaml │ │ ├── ompl_planning.yaml │ │ └── joint_limits.yaml │ ├── xarm5 │ │ ├── kinematics.yaml │ │ ├── controllers.yaml │ │ ├── fake_controllers.yaml │ │ ├── ompl_planning.yaml │ │ └── joint_limits.yaml │ ├── xarm7 │ │ ├── kinematics.yaml │ │ ├── controllers.yaml │ │ ├── fake_controllers.yaml │ │ ├── ompl_planning.yaml │ │ └── joint_limits.yaml │ ├── lite6 │ │ ├── kinematics.yaml │ │ ├── controllers.yaml │ │ ├── fake_controllers.yaml │ │ ├── ompl_planning.yaml │ │ └── joint_limits.yaml │ ├── uf850 │ │ ├── kinematics.yaml │ │ ├── controllers.yaml │ │ ├── fake_controllers.yaml │ │ ├── ompl_planning.yaml │ │ └── joint_limits.yaml │ ├── xarm6 │ │ ├── kinematics.yaml │ │ ├── controllers.yaml │ │ ├── fake_controllers.yaml │ │ ├── ompl_planning.yaml │ │ └── joint_limits.yaml │ └── xarm7_mirror │ │ ├── kinematics.yaml │ │ ├── controllers.yaml │ │ ├── fake_controllers.yaml │ │ ├── ompl_planning.yaml │ │ └── joint_limits.yaml ├── srdf │ └── xarm.srdf.xacro ├── launch │ ├── xarm5_moveit_fake.launch.py │ ├── xarm6_moveit_fake.launch.py │ ├── xarm7_moveit_fake.launch.py │ ├── lite6_moveit_fake.launch.py │ ├── uf850_moveit_fake.launch.py │ ├── xarm7_mirror_moveit_fake.launch.py │ ├── dual_xarm5_moveit_fake.launch.py │ ├── dual_xarm6_moveit_fake.launch.py │ ├── dual_xarm7_moveit_fake.launch.py │ ├── lite6_moveit_gazebo.launch.py │ ├── xarm5_moveit_gazebo.launch.py │ ├── xarm6_moveit_gazebo.launch.py │ ├── xarm7_moveit_gazebo.launch.py │ ├── dual_lite6_moveit_fake.launch.py │ ├── dual_uf850_moveit_fake.launch.py │ ├── uf850_moveit_gazebo.launch.py │ ├── xarm7_mirror_moveit_gazebo.launch.py │ ├── xarm5_moveit_realmove.launch.py │ ├── xarm6_moveit_realmove.launch.py │ └── xarm7_moveit_realmove.launch.py └── CMakeLists.txt ├── xarm_controller ├── src │ └── hardware │ │ └── uf_robot_fake_system_hardware.cpp ├── include │ └── xarm_controller │ │ └── hardware │ │ └── uf_robot_fake_system_hardware.h ├── config │ ├── xarm_gripper_controllers.yaml │ ├── uf850_gripper_controllers.yaml │ ├── xarm7_mirror_gripper_controllers.yaml │ ├── bio_gripper_controllers.yaml │ ├── xarm5_controllers.yaml │ ├── lite6_controllers.yaml │ ├── uf850_controllers.yaml │ ├── xarm6_controllers.yaml │ ├── xarm7_mirror_controllers.yaml │ └── xarm7_controllers.yaml └── uf_hardware_interface_plugins.xml ├── demo └── mbot_demo │ ├── config │ ├── kinematics.yaml │ ├── controllers.yaml │ └── ompl_planning.yaml │ ├── worlds │ └── empty.world │ ├── srdf │ └── mbot_with_xarm.srdf.xacro │ ├── urdf │ ├── mbot.ros2_control.xacro │ └── mbot_macro.xacro │ ├── package.xml │ └── CMakeLists.txt ├── xarm_sdk └── package.xml ├── xarm_gazebo ├── worlds │ ├── table.world │ └── table_gz.world └── package.xml ├── xarm_planner ├── launch │ ├── test_xarm_gripper_planner_client_joint.launch.py │ ├── test_xarm_planner_client_joint.launch.py │ ├── test_xarm_planner_client_pose.launch.py │ ├── test_lite_gripper_realmove.launch.py │ ├── xarm5_planner_fake.launch.py │ ├── xarm6_planner_fake.launch.py │ ├── xarm7_planner_fake.launch.py │ ├── lite6_planner_fake.launch.py │ ├── uf850_planner_fake.launch.py │ ├── xarm5_planner_gazebo.launch.py │ ├── xarm6_planner_gazebo.launch.py │ ├── xarm7_mirror_planner_fake.launch.py │ ├── xarm7_planner_gazebo.launch.py │ ├── lite6_planner_gazebo.launch.py │ ├── uf850_planner_gazebo.launch.py │ ├── xarm7_mirror_planner_gazebo.launch.py │ ├── xarm5_planner_realmove.launch.py │ ├── xarm6_planner_realmove.launch.py │ ├── xarm7_planner_realmove.launch.py │ └── lite6_planner_realmove.launch.py └── package.xml └── xarm_api └── package.xml /uf_ros_lib/resource/uf_ros_lib: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /uf_ros_lib/uf_ros_lib/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /uf_ros_lib/uf_ros_lib/substitutions/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /uf_ros_lib/setup.cfg: -------------------------------------------------------------------------------- 1 | [develop] 2 | script_dir=$base/lib/uf_ros_lib 3 | [install] 4 | install_scripts=$base/lib/uf_ros_lib 5 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "xarm_sdk/cxx"] 2 | path = xarm_sdk/cxx 3 | url = https://github.com/xArm-Developer/xArm-CPLUS-SDK.git 4 | -------------------------------------------------------------------------------- /xarm_vision/d435i_xarm_setup/objects/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_vision/d435i_xarm_setup/objects/1.png -------------------------------------------------------------------------------- /xarm_vision/d435i_xarm_setup/objects/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_vision/d435i_xarm_setup/objects/2.png -------------------------------------------------------------------------------- /xarm_description/meshes/lite6/visual/link1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/lite6/visual/link1.stl -------------------------------------------------------------------------------- /xarm_description/meshes/lite6/visual/link2.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/lite6/visual/link2.stl -------------------------------------------------------------------------------- /xarm_description/meshes/lite6/visual/link3.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/lite6/visual/link3.stl -------------------------------------------------------------------------------- /xarm_description/meshes/lite6/visual/link4.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/lite6/visual/link4.stl -------------------------------------------------------------------------------- /xarm_description/meshes/lite6/visual/link5.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/lite6/visual/link5.stl -------------------------------------------------------------------------------- /xarm_description/meshes/lite6/visual/link6.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/lite6/visual/link6.stl -------------------------------------------------------------------------------- /xarm_description/meshes/uf850/visual/link1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/uf850/visual/link1.stl -------------------------------------------------------------------------------- /xarm_description/meshes/uf850/visual/link2.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/uf850/visual/link2.stl -------------------------------------------------------------------------------- /xarm_description/meshes/uf850/visual/link3.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/uf850/visual/link3.stl -------------------------------------------------------------------------------- /xarm_description/meshes/uf850/visual/link4.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/uf850/visual/link4.stl -------------------------------------------------------------------------------- /xarm_description/meshes/uf850/visual/link5.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/uf850/visual/link5.stl -------------------------------------------------------------------------------- /xarm_description/meshes/uf850/visual/link6.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/uf850/visual/link6.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm5/visual/link1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm5/visual/link1.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm5/visual/link2.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm5/visual/link2.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm5/visual/link3.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm5/visual/link3.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm5/visual/link4.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm5/visual/link4.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm5/visual/link5.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm5/visual/link5.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm6/visual/link1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm6/visual/link1.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm6/visual/link2.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm6/visual/link2.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm6/visual/link3.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm6/visual/link3.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm6/visual/link4.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm6/visual/link4.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm6/visual/link5.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm6/visual/link5.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm6/visual/link6.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm6/visual/link6.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7/visual/link1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7/visual/link1.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7/visual/link2.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7/visual/link2.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7/visual/link3.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7/visual/link3.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7/visual/link4.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7/visual/link4.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7/visual/link5.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7/visual/link5.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7/visual/link6.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7/visual/link6.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7/visual/link7.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7/visual/link7.stl -------------------------------------------------------------------------------- /xarm_description/meshes/gripper/bio/link_base.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/gripper/bio/link_base.stl -------------------------------------------------------------------------------- /xarm_description/meshes/lite6/collision/link1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/lite6/collision/link1.stl -------------------------------------------------------------------------------- /xarm_description/meshes/lite6/collision/link2.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/lite6/collision/link2.stl -------------------------------------------------------------------------------- /xarm_description/meshes/lite6/collision/link3.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/lite6/collision/link3.stl -------------------------------------------------------------------------------- /xarm_description/meshes/lite6/collision/link4.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/lite6/collision/link4.stl -------------------------------------------------------------------------------- /xarm_description/meshes/lite6/collision/link5.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/lite6/collision/link5.stl -------------------------------------------------------------------------------- /xarm_description/meshes/lite6/collision/link6.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/lite6/collision/link6.stl -------------------------------------------------------------------------------- /xarm_description/meshes/uf850/collision/link1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/uf850/collision/link1.stl -------------------------------------------------------------------------------- /xarm_description/meshes/uf850/collision/link2.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/uf850/collision/link2.stl -------------------------------------------------------------------------------- /xarm_description/meshes/uf850/collision/link3.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/uf850/collision/link3.stl -------------------------------------------------------------------------------- /xarm_description/meshes/uf850/collision/link4.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/uf850/collision/link4.stl -------------------------------------------------------------------------------- /xarm_description/meshes/uf850/collision/link5.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/uf850/collision/link5.stl -------------------------------------------------------------------------------- /xarm_description/meshes/uf850/collision/link6.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/uf850/collision/link6.stl -------------------------------------------------------------------------------- /xarm_msgs/srv/PlanExec.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - xarm_exec_plan 3 | 4 | bool wait 5 | 6 | --- 7 | 8 | bool success -------------------------------------------------------------------------------- /xarm_description/meshes/gripper/bio/left_finger.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/gripper/bio/left_finger.stl -------------------------------------------------------------------------------- /xarm_description/meshes/gripper/xarm/base_link.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/gripper/xarm/base_link.stl -------------------------------------------------------------------------------- /xarm_description/meshes/lite6/visual/link_base.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/lite6/visual/link_base.stl -------------------------------------------------------------------------------- /xarm_description/meshes/uf850/visual/link_base.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/uf850/visual/link_base.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm5/visual/link_base.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm5/visual/link_base.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm5_1305/visual/link1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm5_1305/visual/link1.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm5_1305/visual/link2.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm5_1305/visual/link2.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm5_1305/visual/link3.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm5_1305/visual/link3.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm5_1305/visual/link4.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm5_1305/visual/link4.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm5_1305/visual/link5.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm5_1305/visual/link5.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm6/visual/link_base.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm6/visual/link_base.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm6_1305/visual/link1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm6_1305/visual/link1.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm6_1305/visual/link2.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm6_1305/visual/link2.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm6_1305/visual/link3.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm6_1305/visual/link3.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm6_1305/visual/link4.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm6_1305/visual/link4.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm6_1305/visual/link5.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm6_1305/visual/link5.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm6_1305/visual/link6.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm6_1305/visual/link6.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7/visual/link_base.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7/visual/link_base.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_1305/visual/link1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_1305/visual/link1.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_1305/visual/link2.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_1305/visual/link2.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_1305/visual/link3.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_1305/visual/link3.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_1305/visual/link4.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_1305/visual/link4.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_1305/visual/link5.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_1305/visual/link5.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_1305/visual/link6.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_1305/visual/link6.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_1305/visual/link7.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_1305/visual/link7.stl -------------------------------------------------------------------------------- /xarm_description/meshes/gripper/bio/right_finger.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/gripper/bio/right_finger.stl -------------------------------------------------------------------------------- /xarm_description/meshes/gripper/xarm/left_finger.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/gripper/xarm/left_finger.stl -------------------------------------------------------------------------------- /xarm_description/meshes/gripper/xarm/right_finger.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/gripper/xarm/right_finger.stl -------------------------------------------------------------------------------- /xarm_description/meshes/lite6/collision/link_base.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/lite6/collision/link_base.stl -------------------------------------------------------------------------------- /xarm_description/meshes/uf850/collision/link_base.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/uf850/collision/link_base.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_mirror/visual/link1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_mirror/visual/link1.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_mirror/visual/link2.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_mirror/visual/link2.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_mirror/visual/link3.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_mirror/visual/link3.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_mirror/visual/link4.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_mirror/visual/link4.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_mirror/visual/link5.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_mirror/visual/link5.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_mirror/visual/link6.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_mirror/visual/link6.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_mirror/visual/link7.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_mirror/visual/link7.stl -------------------------------------------------------------------------------- /xarm_description/meshes/end_tool/collision/end_tool.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/end_tool/collision/end_tool.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm5_1305/visual/link_base.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm5_1305/visual/link_base.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm6_1305/visual/link_base.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm6_1305/visual/link_base.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_1305/visual/link_base.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_1305/visual/link_base.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_mirror/collision/link1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_mirror/collision/link1.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_mirror/collision/link2.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_mirror/collision/link2.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_mirror/collision/link3.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_mirror/collision/link3.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_mirror/collision/link4.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_mirror/collision/link4.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_mirror/collision/link5.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_mirror/collision/link5.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_mirror/collision/link6.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_mirror/collision/link6.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_mirror/collision/link7.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_mirror/collision/link7.stl -------------------------------------------------------------------------------- /xarm_msgs/srv/PlanPose.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - xarm_pose_plan 3 | 4 | geometry_msgs/Pose target 5 | 6 | --- 7 | 8 | bool success -------------------------------------------------------------------------------- /xarm_description/meshes/end_tool/visual/end_tool_1300.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/end_tool/visual/end_tool_1300.stl -------------------------------------------------------------------------------- /xarm_description/meshes/gripper/xarm/left_inner_knuckle.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/gripper/xarm/left_inner_knuckle.stl -------------------------------------------------------------------------------- /xarm_description/meshes/gripper/xarm/left_outer_knuckle.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/gripper/xarm/left_outer_knuckle.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_mirror/visual/link_base.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_mirror/visual/link_base.stl -------------------------------------------------------------------------------- /xarm_description/meshes/end_tool/collision/end_tool_1300.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/end_tool/collision/end_tool_1300.stl -------------------------------------------------------------------------------- /xarm_description/meshes/gripper/lite/visual/gripper_lite.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/gripper/lite/visual/gripper_lite.stl -------------------------------------------------------------------------------- /xarm_description/meshes/gripper/xarm/right_inner_knuckle.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/gripper/xarm/right_inner_knuckle.stl -------------------------------------------------------------------------------- /xarm_description/meshes/gripper/xarm/right_outer_knuckle.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/gripper/xarm/right_outer_knuckle.stl -------------------------------------------------------------------------------- /xarm_description/meshes/xarm7_mirror/collision/link_base.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/xarm7_mirror/collision/link_base.stl -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode/ 2 | .idea/ 3 | *bak/ 4 | ignore_* 5 | xarm_api/config/xarm_user_params.yaml 6 | **/old 7 | xarm_description/config/kinematics/user 8 | *.py[cod] 9 | files__pycache__/ -------------------------------------------------------------------------------- /xarm_description/meshes/gripper/lite/collision/gripper_lite.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/gripper/lite/collision/gripper_lite.stl -------------------------------------------------------------------------------- /xarm_msgs/srv/GetFloat32.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - get_gripper_position 3 | 4 | --- 5 | 6 | int16 ret 7 | string message 8 | 9 | float32 data -------------------------------------------------------------------------------- /xarm_msgs/srv/PlanSingleStraight.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - xarm_straight_plan 3 | 4 | geometry_msgs/Pose target 5 | 6 | --- 7 | 8 | bool success -------------------------------------------------------------------------------- /xarm_msgs/srv/SetInt32.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - set_tgpio_modbus_baudrate 3 | 4 | int32 data 5 | 6 | --- 7 | 8 | int16 ret 9 | string message -------------------------------------------------------------------------------- /xarm_description/meshes/vacuum_gripper/xarm/visual/vacuum_gripper.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/vacuum_gripper/xarm/visual/vacuum_gripper.stl -------------------------------------------------------------------------------- /xarm_msgs/msg/IOState.msg: -------------------------------------------------------------------------------- 1 | # for indicating 2 digital and 2 analog Input port state 2 | 3 | int32 digital_1 4 | 5 | int32 digital_2 6 | 7 | float32 analog_1 8 | 9 | float32 analog_2 10 | -------------------------------------------------------------------------------- /xarm_msgs/srv/RobotiqReset.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - robotiq_reset 3 | 4 | --- 5 | 6 | int16 ret 7 | string message 8 | 9 | uint8[] ret_data 10 | -------------------------------------------------------------------------------- /xarm_description/meshes/camera/realsense/visual/d435_with_cam_stand.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/camera/realsense/visual/d435_with_cam_stand.stl -------------------------------------------------------------------------------- /xarm_msgs/srv/GetInt32.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - get_tgpio_modbus_baudrate 3 | 4 | --- 5 | 6 | int16 ret 7 | string message 8 | 9 | int32 data 10 | -------------------------------------------------------------------------------- /xarm_description/meshes/camera/realsense/collision/d435_with_cam_stand.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/camera/realsense/collision/d435_with_cam_stand.stl -------------------------------------------------------------------------------- /xarm_description/meshes/vacuum_gripper/lite/visual/vacuum_gripper_lite.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/vacuum_gripper/lite/visual/vacuum_gripper_lite.stl -------------------------------------------------------------------------------- /xarm_description/meshes/vacuum_gripper/xarm/collision/vacuum_gripper.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/vacuum_gripper/xarm/collision/vacuum_gripper.stl -------------------------------------------------------------------------------- /xarm_msgs/srv/SetInt16List.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - set_reduced_tcp_boundary 3 | 4 | int16[] datas 5 | 6 | --- 7 | 8 | int16 ret 9 | string message 10 | -------------------------------------------------------------------------------- /xarm_description/meshes/vacuum_gripper/lite/collision/vacuum_gripper_lite.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xArm-Developer/xarm_ros2/HEAD/xarm_description/meshes/vacuum_gripper/lite/collision/vacuum_gripper_lite.stl -------------------------------------------------------------------------------- /xarm_msgs/srv/PlanJoint.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - xarm_joint_plan 3 | 4 | # list of target joint positions in radian. 5 | float64[] target 6 | 7 | --- 8 | 9 | bool success -------------------------------------------------------------------------------- /xarm_msgs/srv/SetInt32ByType.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - set_checkset_default_baud 3 | 4 | int16 type 5 | int32 data 6 | 7 | --- 8 | 9 | int16 ret 10 | string message 11 | -------------------------------------------------------------------------------- /xarm_msgs/srv/GetInt32ByType.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - get_checkset_default_baud 3 | 4 | int16 type 5 | 6 | --- 7 | 8 | int16 ret 9 | string message 10 | 11 | int32 data 12 | -------------------------------------------------------------------------------- /xarm_msgs/srv/SetTcpLoad.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - set_tcp_load 3 | 4 | float32 weight 5 | float32[] center_of_gravity 6 | 7 | --- 8 | 9 | int32 ret 10 | string message 11 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/moveit_configs/pilz_cartesian_limits.yaml: -------------------------------------------------------------------------------- 1 | # Cartesian limits for the Pilz planner 2 | cartesian_limits: 3 | max_trans_vel: 1.0 4 | max_trans_acc: 2.25 5 | max_trans_dec: -5.0 6 | max_rot_vel: 1.57 -------------------------------------------------------------------------------- /xarm_msgs/srv/GetDigitalIO.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - get_tgpio_digital 3 | # - get_cgpio_digital 4 | 5 | --- 6 | 7 | int16 ret 8 | string message 9 | 10 | int16[] digitals 11 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/uf850_gripper/controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - xarm_gripper 3 | 4 | xarm_gripper: 5 | action_ns: gripper_action 6 | type: GripperCommand 7 | default: true 8 | joints: 9 | - drive_joint 10 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm_gripper/controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - xarm_gripper 3 | 4 | xarm_gripper: 5 | action_ns: gripper_action 6 | type: GripperCommand 7 | default: true 8 | joints: 9 | - drive_joint 10 | -------------------------------------------------------------------------------- /xarm_msgs/srv/GetAnalogIO.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - get_tgpio_analog 3 | # - get_cgpio_analog 4 | 5 | int16 ionum 6 | 7 | --- 8 | 9 | int16 ret 10 | string message 11 | 12 | float32 data 13 | -------------------------------------------------------------------------------- /xarm_msgs/srv/RobotiqGetStatus.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - robotiq_get_status 3 | 4 | uint8 number_of_registers 3 5 | 6 | --- 7 | 8 | int16 ret 9 | string message 10 | 11 | uint8[] ret_data 12 | -------------------------------------------------------------------------------- /xarm_msgs/srv/TrajCtrl.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - save_record_trajectory 3 | # - load_trajectory 4 | 5 | string filename 6 | float32 timeout 10 7 | 8 | --- 9 | 10 | int16 ret 11 | string message 12 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm7_mirror_gripper/controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - xarm_gripper 3 | 4 | xarm_gripper: 5 | action_ns: gripper_action 6 | type: GripperCommand 7 | default: true 8 | joints: 9 | - drive_joint 10 | -------------------------------------------------------------------------------- /xarm_msgs/srv/BioGripperEnable.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - set_bio_gripper_enable 3 | 4 | bool enable 5 | bool wait false 6 | float32 timeout 3 7 | 8 | --- 9 | 10 | int16 ret 11 | string message 12 | -------------------------------------------------------------------------------- /xarm_msgs/srv/GripperMove.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - set_gripper_position 3 | 4 | float32 pos 5 | bool wait false 6 | float32 timeout 10 7 | 8 | --- 9 | 10 | int16 ret 11 | string message 12 | -------------------------------------------------------------------------------- /xarm_msgs/srv/RobotiqActivate.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - robotiq_set_activate 3 | 4 | bool wait true 5 | float32 timeout 3 6 | 7 | --- 8 | 9 | int16 ret 10 | string message 11 | 12 | uint8[] ret_data 13 | -------------------------------------------------------------------------------- /xarm_msgs/srv/SetInt16ById.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - motion_enable 3 | # - set_servo_attach 4 | # - set_servo_detach 5 | 6 | int16 id 7 | int16 data 8 | 9 | --- 10 | 11 | int16 ret 12 | string message 13 | -------------------------------------------------------------------------------- /xarm_msgs/srv/GetFloat32List.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - get_position 3 | # - get_servo_angle 4 | # - get_position_aa 5 | # - get_ft_sensor_data 6 | 7 | --- 8 | 9 | int16 ret 10 | string message 11 | 12 | float32[] datas -------------------------------------------------------------------------------- /xarm_moveit_config/config/bio_gripper/controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - bio_gripper 3 | 4 | bio_gripper: 5 | action_ns: gripper_action 6 | type: GripperCommand 7 | default: true 8 | joints: 9 | # - left_finger_joint 10 | - right_finger_joint 11 | -------------------------------------------------------------------------------- /xarm_msgs/srv/BioGripperCtrl.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - open_bio_gripper 3 | # - close_bio_gripper 4 | 5 | int16 speed 0 6 | bool wait true 7 | float32 timeout 5 8 | 9 | --- 10 | 11 | int16 ret 12 | string message 13 | -------------------------------------------------------------------------------- /xarm_msgs/srv/TrajPlay.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - playback_trajectory 3 | 4 | string filename 5 | int16 times 1 6 | int16 double_speed 1 7 | bool wait false 8 | 9 | --- 10 | 11 | int16 ret 12 | string message 13 | -------------------------------------------------------------------------------- /xarm_msgs/srv/GetInt16List.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - get_err_warn_code 3 | # - get_linear_motor_sco # The old name is get_linear_track_sco, please use the new one 4 | 5 | --- 6 | 7 | int16 ret 8 | string message 9 | 10 | int16[] datas 11 | -------------------------------------------------------------------------------- /xarm_msgs/srv/SetFloat32List.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - set_gravity_direction 3 | # - set_tcp_offset 4 | # - set_world_offset 5 | # - set_reduced_joint_range 6 | 7 | float32[] datas 8 | 9 | --- 10 | 11 | int16 ret 12 | string message 13 | -------------------------------------------------------------------------------- /xarm_controller/src/hardware/uf_robot_fake_system_hardware.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "xarm_controller/hardware/uf_robot_fake_system_hardware.h" 3 | #include "pluginlib/class_list_macros.hpp" 4 | 5 | PLUGINLIB_EXPORT_CLASS(uf_robot_hardware::UFRobotFakeSystemHardware, hardware_interface::SystemInterface) 6 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/uf850_gripper/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - uf850_gripper_traj_controller 3 | 4 | uf850_gripper_traj_controller: 5 | action_ns: follow_joint_trajectory 6 | type: FollowJointTrajectory 7 | default: true 8 | joints: 9 | - drive_joint 10 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm_gripper/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - xarm_gripper_traj_controller 3 | 4 | xarm_gripper_traj_controller: 5 | action_ns: follow_joint_trajectory 6 | type: FollowJointTrajectory 7 | default: true 8 | joints: 9 | - drive_joint 10 | -------------------------------------------------------------------------------- /xarm_msgs/srv/MoveHome.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - move_gohome 3 | 4 | float32 speed 0 5 | float32 acc 0 6 | float32 mvtime 0 7 | bool wait false 8 | float32 timeout -1 9 | 10 | --- 11 | 12 | int16 ret 13 | string message 14 | -------------------------------------------------------------------------------- /demo/mbot_demo/config/kinematics.yaml: -------------------------------------------------------------------------------- 1 | xarm6: 2 | kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin 3 | # kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin 4 | kinematics_solver_search_resolution: 0.005 5 | kinematics_solver_timeout: 0.005 6 | kinematics_solver_attempts: 3 7 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm5/kinematics.yaml: -------------------------------------------------------------------------------- 1 | xarm5: 2 | kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin 3 | # kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin 4 | kinematics_solver_search_resolution: 0.005 5 | kinematics_solver_timeout: 0.005 6 | kinematics_solver_attempts: 3 -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm7/kinematics.yaml: -------------------------------------------------------------------------------- 1 | xarm7: 2 | kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin 3 | # kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin 4 | kinematics_solver_search_resolution: 0.005 5 | kinematics_solver_timeout: 0.005 6 | kinematics_solver_attempts: 3 -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm7_mirror_gripper/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - xarm7_mirror_gripper_traj_controller 3 | 4 | xarm7_mirror_gripper_traj_controller: 5 | action_ns: follow_joint_trajectory 6 | type: FollowJointTrajectory 7 | default: true 8 | joints: 9 | - drive_joint 10 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/lite6/kinematics.yaml: -------------------------------------------------------------------------------- 1 | lite6: 2 | kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin 3 | # kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin 4 | kinematics_solver_search_resolution: 0.005 5 | kinematics_solver_timeout: 0.005 6 | kinematics_solver_attempts: 3 7 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/uf850/kinematics.yaml: -------------------------------------------------------------------------------- 1 | uf850: 2 | kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin 3 | # kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin 4 | kinematics_solver_search_resolution: 0.005 5 | kinematics_solver_timeout: 0.005 6 | kinematics_solver_attempts: 3 7 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm6/kinematics.yaml: -------------------------------------------------------------------------------- 1 | xarm6: 2 | kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin 3 | # kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin 4 | kinematics_solver_search_resolution: 0.005 5 | kinematics_solver_timeout: 0.005 6 | kinematics_solver_attempts: 3 7 | -------------------------------------------------------------------------------- /xarm_msgs/srv/LinearMotorBackOrigin.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - set_linear_motor_back_origin # The old name is set_linear_track_back_origin, please use the new one 3 | 4 | bool wait true 5 | bool auto_enable true 6 | 7 | --- 8 | 9 | int16 ret 10 | string message 11 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/bio_gripper/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - bio_gripper_traj_controller 3 | 4 | bio_gripper_traj_controller: 5 | action_ns: follow_joint_trajectory 6 | type: FollowJointTrajectory 7 | default: true 8 | joints: 9 | # - left_finger_joint 10 | - right_finger_joint 11 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm7_mirror/kinematics.yaml: -------------------------------------------------------------------------------- 1 | xarm7_mirror: 2 | kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin 3 | # kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin 4 | kinematics_solver_search_resolution: 0.005 5 | kinematics_solver_timeout: 0.005 6 | kinematics_solver_attempts: 3 -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm5/controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - xarm5_traj_controller 3 | 4 | xarm5_traj_controller: 5 | action_ns: follow_joint_trajectory 6 | type: FollowJointTrajectory 7 | default: true 8 | joints: 9 | - joint1 10 | - joint2 11 | - joint3 12 | - joint4 13 | - joint5 14 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm5/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - xarm5_traj_controller 3 | 4 | xarm5_traj_controller: 5 | action_ns: follow_joint_trajectory 6 | type: FollowJointTrajectory 7 | default: true 8 | joints: 9 | - joint1 10 | - joint2 11 | - joint3 12 | - joint4 13 | - joint5 14 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/lite6/controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - lite6_traj_controller 3 | 4 | lite6_traj_controller: 5 | action_ns: follow_joint_trajectory 6 | type: FollowJointTrajectory 7 | default: true 8 | joints: 9 | - joint1 10 | - joint2 11 | - joint3 12 | - joint4 13 | - joint5 14 | - joint6 15 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/uf850/controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - uf850_traj_controller 3 | 4 | uf850_traj_controller: 5 | action_ns: follow_joint_trajectory 6 | type: FollowJointTrajectory 7 | default: true 8 | joints: 9 | - joint1 10 | - joint2 11 | - joint3 12 | - joint4 13 | - joint5 14 | - joint6 15 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm6/controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - xarm6_traj_controller 3 | 4 | xarm6_traj_controller: 5 | action_ns: follow_joint_trajectory 6 | type: FollowJointTrajectory 7 | default: true 8 | joints: 9 | - joint1 10 | - joint2 11 | - joint3 12 | - joint4 13 | - joint5 14 | - joint6 15 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/lite6/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - lite6_traj_controller 3 | 4 | lite6_traj_controller: 5 | action_ns: follow_joint_trajectory 6 | type: FollowJointTrajectory 7 | default: true 8 | joints: 9 | - joint1 10 | - joint2 11 | - joint3 12 | - joint4 13 | - joint5 14 | - joint6 15 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/uf850/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - uf850_traj_controller 3 | 4 | uf850_traj_controller: 5 | action_ns: follow_joint_trajectory 6 | type: FollowJointTrajectory 7 | default: true 8 | joints: 9 | - joint1 10 | - joint2 11 | - joint3 12 | - joint4 13 | - joint5 14 | - joint6 15 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm6/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - xarm6_traj_controller 3 | 4 | xarm6_traj_controller: 5 | action_ns: follow_joint_trajectory 6 | type: FollowJointTrajectory 7 | default: true 8 | joints: 9 | - joint1 10 | - joint2 11 | - joint3 12 | - joint4 13 | - joint5 14 | - joint6 15 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm7/controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - xarm7_traj_controller 3 | 4 | xarm7_traj_controller: 5 | action_ns: follow_joint_trajectory 6 | type: FollowJointTrajectory 7 | default: true 8 | joints: 9 | - joint1 10 | - joint2 11 | - joint3 12 | - joint4 13 | - joint5 14 | - joint6 15 | - joint7 16 | -------------------------------------------------------------------------------- /xarm_msgs/srv/SetAnalogIO.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - set_cgpio_analog 3 | # - set_cgpio_analog_with_xyz 4 | 5 | # set_cgpio_analog/set_cgpio_analog_with_xyz 6 | int16 ionum 7 | float32 value 8 | 9 | # set_cgpio_analog_with_xyz 10 | float32[] xyz 11 | float32 tol_r 12 | 13 | --- 14 | 15 | int16 ret 16 | string message 17 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm7/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - xarm7_traj_controller 3 | 4 | xarm7_traj_controller: 5 | action_ns: follow_joint_trajectory 6 | type: FollowJointTrajectory 7 | default: true 8 | joints: 9 | - joint1 10 | - joint2 11 | - joint3 12 | - joint4 13 | - joint5 14 | - joint6 15 | - joint7 16 | -------------------------------------------------------------------------------- /xarm_msgs/srv/LinearMotorSetPos.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - set_linear_motor_pos # The old name is set_linear_track_pos, please use the new one 3 | 4 | int16 pos 5 | int16 speed 0 6 | bool wait true 7 | float32 timeout 100 8 | bool auto_enable true 9 | 10 | --- 11 | 12 | int16 ret 13 | string message 14 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm7_mirror/controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - xarm7_mirror_traj_controller 3 | 4 | xarm7_mirror_traj_controller: 5 | action_ns: follow_joint_trajectory 6 | type: FollowJointTrajectory 7 | default: true 8 | joints: 9 | - joint1 10 | - joint2 11 | - joint3 12 | - joint4 13 | - joint5 14 | - joint6 15 | - joint7 16 | -------------------------------------------------------------------------------- /xarm_msgs/srv/SetFloat32.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - set_pause_time 3 | # - set_tcp_jerk 4 | # - set_tcp_maxacc 5 | # - set_joint_jerk 6 | # - set_joint_maxacc 7 | # - set_gripper_speed 8 | # - set_reduced_max_tcp_speed 9 | # - set_reduced_max_joint_speed 10 | 11 | float32 data 12 | 13 | --- 14 | 15 | int16 ret 16 | string message -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm7_mirror/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - xarm7_mirror_traj_controller 3 | 4 | xarm7_mirror_traj_controller: 5 | action_ns: follow_joint_trajectory 6 | type: FollowJointTrajectory 7 | default: true 8 | joints: 9 | - joint1 10 | - joint2 11 | - joint3 12 | - joint4 13 | - joint5 14 | - joint6 15 | - joint7 16 | -------------------------------------------------------------------------------- /xarm_msgs/srv/LinearTrackBackOrigin.srv: -------------------------------------------------------------------------------- 1 | # Has been renamed, please use LinearMotorBackOrigin instead 2 | # This format is suitable for the following services 3 | # - set_linear_motor_back_origin # The old name is set_linear_track_back_origin, please use the new one 4 | 5 | bool wait true 6 | bool auto_enable true 7 | 8 | --- 9 | 10 | int16 ret 11 | string message 12 | -------------------------------------------------------------------------------- /xarm_msgs/srv/SetModbusTimeout.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - set_tgpio_modbus_timeout 3 | 4 | # set the timeout parameter in modbus communication, in milliseconds 5 | int32 timeout 6 | 7 | # whether the set timeout is the timeout of transparent transmission 8 | bool is_transparent_transmission false 9 | 10 | --- 11 | 12 | int16 ret 13 | string message 14 | -------------------------------------------------------------------------------- /xarm_msgs/srv/MoveCircle.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - move_circle 3 | 4 | float32[] pose1 5 | float32[] pose2 6 | 7 | float32 percent 8 | float32 speed 0 9 | float32 acc 0 10 | float32 mvtime 0 11 | bool wait false 12 | float32 timeout -1 13 | bool is_tool_coord false 14 | bool is_axis_angle false 15 | 16 | --- 17 | 18 | int16 ret 19 | string message 20 | -------------------------------------------------------------------------------- /xarm_msgs/srv/LinearTrackSetPos.srv: -------------------------------------------------------------------------------- 1 | # Has been renamed, please use LinearMotorSetPos instead 2 | # This format is suitable for the following services 3 | # - set_linear_motor_pos # The old name is set_linear_track_pos, please use the new one 4 | 5 | int16 pos 6 | int16 speed 0 7 | bool wait true 8 | float32 timeout 100 9 | bool auto_enable true 10 | 11 | --- 12 | 13 | int16 ret 14 | string message 15 | -------------------------------------------------------------------------------- /xarm_controller/include/xarm_controller/hardware/uf_robot_fake_system_hardware.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef __UF_ROBOT_FAKE_SYSTEM_HARDWARE_INTERFACE_H__ 3 | #define __UF_ROBOT_FAKE_SYSTEM_HARDWARE_INTERFACE_H__ 4 | 5 | #include "mock_components/generic_system.hpp" 6 | 7 | namespace uf_robot_hardware 8 | { 9 | using UFRobotFakeSystemHardware = mock_components::GenericSystem; 10 | } 11 | 12 | #endif // __UF_ROBOT_FAKE_SYSTEM_HARDWARE_INTERFACE_H__ -------------------------------------------------------------------------------- /xarm_msgs/srv/RobotiqMove.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - robotiq_set_position 3 | # - robotiq_open 4 | # - robotiq_close 5 | 6 | # robotiq_set_position 7 | uint8 pos 8 | 9 | # robotiq_set_position/robotiq_open/robotiq_close 10 | uint8 speed 0xFF 11 | uint8 force 0xFF 12 | bool wait true 13 | float32 timeout 5 14 | 15 | --- 16 | 17 | int16 ret 18 | string message 19 | 20 | uint8[] ret_data 21 | -------------------------------------------------------------------------------- /xarm_vision/d435i_xarm_setup/config/extra_robot_api_params.yaml: -------------------------------------------------------------------------------- 1 | ufactory_driver: 2 | ros__parameters: 3 | services: 4 | motion_enable: true 5 | clean_error: true 6 | clean_warn: true 7 | set_mode: true 8 | set_state: true 9 | set_tcp_offset: true 10 | set_vacuum_gripper: true 11 | set_gripper_enable: true 12 | set_gripper_speed: true 13 | set_gripper_position: true 14 | set_position: true -------------------------------------------------------------------------------- /xarm_controller/config/xarm_gripper_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_manager: 2 | ros__parameters: 3 | # only for fake control 4 | xarm_gripper_traj_controller: 5 | type: joint_trajectory_controller/JointTrajectoryController 6 | 7 | # only for fake control 8 | xarm_gripper_traj_controller: 9 | ros__parameters: 10 | command_interfaces: 11 | - position 12 | state_interfaces: 13 | - position 14 | - velocity 15 | joints: 16 | - drive_joint 17 | interface_name: position -------------------------------------------------------------------------------- /xarm_moveit_config/config/lite6/ompl_planning.yaml: -------------------------------------------------------------------------------- 1 | lite6: 2 | default_planner_config: RRT 3 | planner_configs: 4 | - SBL 5 | - EST 6 | - LBKPIECE 7 | - BKPIECE 8 | - KPIECE 9 | - RRT 10 | - RRTConnect 11 | - RRTstar 12 | - TRRT 13 | - PRM 14 | - PRMstar 15 | - FMT 16 | - BFMT 17 | - PDST 18 | - STRIDE 19 | - BiTRRT 20 | - LBTRRT 21 | - BiEST 22 | - ProjEST 23 | - LazyPRM 24 | - LazyPRMstar 25 | - SPARS 26 | - SPARStwo 27 | -------------------------------------------------------------------------------- /xarm_controller/config/uf850_gripper_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_manager: 2 | ros__parameters: 3 | # only for fake control 4 | uf850_gripper_traj_controller: 5 | type: joint_trajectory_controller/JointTrajectoryController 6 | 7 | # only for fake control 8 | uf850_gripper_traj_controller: 9 | ros__parameters: 10 | command_interfaces: 11 | - position 12 | state_interfaces: 13 | - position 14 | - velocity 15 | joints: 16 | - drive_joint 17 | interface_name: position -------------------------------------------------------------------------------- /xarm_moveit_config/config/uf850/ompl_planning.yaml: -------------------------------------------------------------------------------- 1 | uf850: 2 | default_planner_config: RRTConnect 3 | planner_configs: 4 | - SBL 5 | - EST 6 | - LBKPIECE 7 | - BKPIECE 8 | - KPIECE 9 | - RRT 10 | - RRTConnect 11 | - RRTstar 12 | - TRRT 13 | - PRM 14 | - PRMstar 15 | - FMT 16 | - BFMT 17 | - PDST 18 | - STRIDE 19 | - BiTRRT 20 | - LBTRRT 21 | - BiEST 22 | - ProjEST 23 | - LazyPRM 24 | - LazyPRMstar 25 | - SPARS 26 | - SPARStwo 27 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm5/ompl_planning.yaml: -------------------------------------------------------------------------------- 1 | xarm5: 2 | default_planner_config: RRTConnect 3 | planner_configs: 4 | - SBL 5 | - EST 6 | - LBKPIECE 7 | - BKPIECE 8 | - KPIECE 9 | - RRT 10 | - RRTConnect 11 | - RRTstar 12 | - TRRT 13 | - PRM 14 | - PRMstar 15 | - FMT 16 | - BFMT 17 | - PDST 18 | - STRIDE 19 | - BiTRRT 20 | - LBTRRT 21 | - BiEST 22 | - ProjEST 23 | - LazyPRM 24 | - LazyPRMstar 25 | - SPARS 26 | - SPARStwo 27 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm6/ompl_planning.yaml: -------------------------------------------------------------------------------- 1 | xarm6: 2 | default_planner_config: RRTConnect 3 | planner_configs: 4 | - SBL 5 | - EST 6 | - LBKPIECE 7 | - BKPIECE 8 | - KPIECE 9 | - RRT 10 | - RRTConnect 11 | - RRTstar 12 | - TRRT 13 | - PRM 14 | - PRMstar 15 | - FMT 16 | - BFMT 17 | - PDST 18 | - STRIDE 19 | - BiTRRT 20 | - LBTRRT 21 | - BiEST 22 | - ProjEST 23 | - LazyPRM 24 | - LazyPRMstar 25 | - SPARS 26 | - SPARStwo 27 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm7/ompl_planning.yaml: -------------------------------------------------------------------------------- 1 | xarm7: 2 | default_planner_config: RRTConnect 3 | planner_configs: 4 | - SBL 5 | - EST 6 | - LBKPIECE 7 | - BKPIECE 8 | - KPIECE 9 | - RRT 10 | - RRTConnect 11 | - RRTstar 12 | - TRRT 13 | - PRM 14 | - PRMstar 15 | - FMT 16 | - BFMT 17 | - PDST 18 | - STRIDE 19 | - BiTRRT 20 | - LBTRRT 21 | - BiEST 22 | - ProjEST 23 | - LazyPRM 24 | - LazyPRMstar 25 | - SPARS 26 | - SPARStwo 27 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/bio_gripper/ompl_planning.yaml: -------------------------------------------------------------------------------- 1 | bios_gripper: 2 | default_planner_config: RRTConnect 3 | planner_configs: 4 | - SBL 5 | - EST 6 | - LBKPIECE 7 | - BKPIECE 8 | - KPIECE 9 | - RRT 10 | - RRTConnect 11 | - RRTstar 12 | - TRRT 13 | - PRM 14 | - PRMstar 15 | - FMT 16 | - BFMT 17 | - PDST 18 | - STRIDE 19 | - BiTRRT 20 | - LBTRRT 21 | - BiEST 22 | - ProjEST 23 | - LazyPRM 24 | - LazyPRMstar 25 | - SPARS 26 | - SPARStwo -------------------------------------------------------------------------------- /xarm_moveit_config/config/uf850_gripper/ompl_planning.yaml: -------------------------------------------------------------------------------- 1 | uf850_gripper: 2 | default_planner_config: RRTConnect 3 | planner_configs: 4 | - SBL 5 | - EST 6 | - LBKPIECE 7 | - BKPIECE 8 | - KPIECE 9 | - RRT 10 | - RRTConnect 11 | - RRTstar 12 | - TRRT 13 | - PRM 14 | - PRMstar 15 | - FMT 16 | - BFMT 17 | - PDST 18 | - STRIDE 19 | - BiTRRT 20 | - LBTRRT 21 | - BiEST 22 | - ProjEST 23 | - LazyPRM 24 | - LazyPRMstar 25 | - SPARS 26 | - SPARStwo -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm_gripper/ompl_planning.yaml: -------------------------------------------------------------------------------- 1 | xarm_gripper: 2 | default_planner_config: RRTConnect 3 | planner_configs: 4 | - SBL 5 | - EST 6 | - LBKPIECE 7 | - BKPIECE 8 | - KPIECE 9 | - RRT 10 | - RRTConnect 11 | - RRTstar 12 | - TRRT 13 | - PRM 14 | - PRMstar 15 | - FMT 16 | - BFMT 17 | - PDST 18 | - STRIDE 19 | - BiTRRT 20 | - LBTRRT 21 | - BiEST 22 | - ProjEST 23 | - LazyPRM 24 | - LazyPRMstar 25 | - SPARS 26 | - SPARStwo -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm7_mirror/ompl_planning.yaml: -------------------------------------------------------------------------------- 1 | xarm7_mirror: 2 | default_planner_config: RRTConnect 3 | planner_configs: 4 | - SBL 5 | - EST 6 | - LBKPIECE 7 | - BKPIECE 8 | - KPIECE 9 | - RRT 10 | - RRTConnect 11 | - RRTstar 12 | - TRRT 13 | - PRM 14 | - PRMstar 15 | - FMT 16 | - BFMT 17 | - PDST 18 | - STRIDE 19 | - BiTRRT 20 | - LBTRRT 21 | - BiEST 22 | - ProjEST 23 | - LazyPRM 24 | - LazyPRMstar 25 | - SPARS 26 | - SPARStwo 27 | -------------------------------------------------------------------------------- /xarm_msgs/srv/MoveJoint.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - set_servo_angle 3 | # - set_servo_angle_j 4 | 5 | # set_servo_angle/set_servo_angle_j 6 | float32[] angles 7 | float32 speed 0 8 | float32 acc 0 9 | float32 mvtime 0 10 | 11 | # set_servo_angle 12 | bool wait false 13 | float32 timeout -1 14 | 15 | # set_servo_angle 16 | float32 radius -1 17 | 18 | # set_servo_angle 19 | bool relative false 20 | 21 | --- 22 | 23 | int16 ret 24 | string message 25 | -------------------------------------------------------------------------------- /xarm_controller/config/xarm7_mirror_gripper_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_manager: 2 | ros__parameters: 3 | # only for fake control 4 | xarm7_mirror_gripper_traj_controller: 5 | type: joint_trajectory_controller/JointTrajectoryController 6 | 7 | # only for fake control 8 | xarm7_mirror_gripper_traj_controller: 9 | ros__parameters: 10 | command_interfaces: 11 | - position 12 | state_interfaces: 13 | - position 14 | - velocity 15 | joints: 16 | - drive_joint 17 | interface_name: position -------------------------------------------------------------------------------- /xarm_description/urdf/gripper/gripper.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm7_mirror_gripper/ompl_planning.yaml: -------------------------------------------------------------------------------- 1 | xarm_gripper: 2 | default_planner_config: RRTConnect 3 | planner_configs: 4 | - SBL 5 | - EST 6 | - LBKPIECE 7 | - BKPIECE 8 | - KPIECE 9 | - RRT 10 | - RRTConnect 11 | - RRTstar 12 | - TRRT 13 | - PRM 14 | - PRMstar 15 | - FMT 16 | - BFMT 17 | - PDST 18 | - STRIDE 19 | - BiTRRT 20 | - LBTRRT 21 | - BiEST 22 | - ProjEST 23 | - LazyPRM 24 | - LazyPRMstar 25 | - SPARS 26 | - SPARStwo -------------------------------------------------------------------------------- /demo/mbot_demo/worlds/empty.world: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | model://ground_plane 6 | 7 | 8 | model://sun 9 | 10 | 11 | 12 | 0.001 13 | 1 14 | 1000 15 | 0 0 -9.81 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /xarm_controller/config/bio_gripper_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_manager: 2 | ros__parameters: 3 | # only for fake control 4 | bio_gripper_traj_controller: 5 | type: joint_trajectory_controller/JointTrajectoryController 6 | 7 | # only for fake control 8 | bio_gripper_traj_controller: 9 | ros__parameters: 10 | command_interfaces: 11 | - position 12 | state_interfaces: 13 | - position 14 | - velocity 15 | joints: 16 | # - left_finger_joint 17 | - right_finger_joint 18 | interface_name: position -------------------------------------------------------------------------------- /xarm_msgs/srv/FtAdmittanceParams.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - set_ft_sensor_admittance_parameters 3 | 4 | # task frame (0: base frame. 1: tool frame) 5 | int16 coord 6 | # a 6d vector of 0s and 1s. 1 means that robot will be admittance in the corresponding axis of the task frame. 7 | int16[] c_axis 8 | 9 | # 6d vector, mass. (kg) 10 | float32[] m 11 | # 6d vector, stiffness coefficient 12 | float32[] k 13 | # 6d vector, damping coefficient 14 | float32[] b 15 | 16 | --- 17 | 18 | int16 ret 19 | string message -------------------------------------------------------------------------------- /xarm_msgs/srv/FtForcePid.srv: -------------------------------------------------------------------------------- 1 | # please use FtForceParams instead 2 | # This format is suitable for the following services 3 | # - set_force_control_pid # please use set_ft_sensor_force_parameters instead 4 | 5 | # 6d vector, proportional gain. 6 | float32[] kp 7 | # 6d vector, integral gain. 8 | float32[] ki 9 | # 6d vector, differential gain. 10 | float32[] kd 11 | # 6d vector. for compliant axes, these values are the maximum allowed tcp speed along/about the axis. mm/s 12 | float32[] xe_limit 13 | 14 | --- 15 | 16 | int16 ret 17 | string message -------------------------------------------------------------------------------- /demo/mbot_demo/config/controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_names: 2 | - xarm6_traj_controller 3 | # - mbot_traj_controller 4 | 5 | xarm6_traj_controller: 6 | action_ns: follow_joint_trajectory 7 | type: FollowJointTrajectory 8 | default: true 9 | joints: 10 | - joint1 11 | - joint2 12 | - joint3 13 | - joint4 14 | - joint5 15 | - joint6 16 | # mbot_traj_controller: 17 | # action_ns: follow_joint_trajectory 18 | # type: FollowJointTrajectory 19 | # # default: true 20 | # joints: 21 | # - left_wheel_joint 22 | # - right_wheel_joint 23 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/moveit_configs/ompl_planning.yaml: -------------------------------------------------------------------------------- 1 | planning_plugin: ompl_interface/OMPLPlanner 2 | start_state_max_bounds_error: 0.1 3 | jiggle_fraction: 0.05 4 | request_adapters: >- 5 | default_planner_request_adapters/AddTimeOptimalParameterization 6 | default_planner_request_adapters/ResolveConstraintFrames 7 | default_planner_request_adapters/FixWorkspaceBounds 8 | default_planner_request_adapters/FixStartStateBounds 9 | default_planner_request_adapters/FixStartStateCollision 10 | default_planner_request_adapters/FixStartStatePathConstraints -------------------------------------------------------------------------------- /xarm_description/urdf/vacuum_gripper/vacuum_gripper.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /xarm_msgs/srv/SetDigitalIO.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - set_tgpio_digital 3 | # - set_cgpio_digital 4 | # - set_tgpio_digital_with_xyz 5 | # - set_cgpio_digital_with_xyz 6 | 7 | # set_tgpio_digital/set_cgpio_digital/set_tgpio_digital_with_xyz/set_cgpio_digital_with_xyz 8 | int16 ionum 9 | int16 value 10 | 11 | # set_tgpio_digital/set_cgpio_digital 12 | float32 delay_sec 0 13 | 14 | # set_tgpio_digital_with_xyz/set_cgpio_digital_with_xyz 15 | float32[] xyz 16 | float32 tol_r 17 | 18 | --- 19 | 20 | int16 ret 21 | string message 22 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/moveit_configs/pilz_industrial_motion_planner_planning.yaml: -------------------------------------------------------------------------------- 1 | planning_plugin: pilz_industrial_motion_planner/CommandPlanner 2 | request_adapters: >- 3 | default_planner_request_adapters/FixWorkspaceBounds 4 | default_planner_request_adapters/FixStartStateBounds 5 | default_planner_request_adapters/FixStartStateCollision 6 | default_planner_request_adapters/FixStartStatePathConstraints 7 | default_planner_config: PTP 8 | capabilities: >- 9 | pilz_industrial_motion_planner/MoveGroupSequenceAction 10 | pilz_industrial_motion_planner/MoveGroupSequenceService -------------------------------------------------------------------------------- /xarm_msgs/srv/FtCaliLoad.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - set_ft_sensor_load_offset # The old name is ft_sensor_cali_load, please use the new one 3 | 4 | # iden result([mass(kg),x_centroid(mm),y_centroid(mm),z_centroid(mm),Fx_offset,Fy_offset,Fz_offset,Tx_offset,Ty_offset,Tz_ffset]) 5 | float32[] datas 6 | 7 | # whether to convert the paramster to the corresponding tcp load and set, default is false 8 | bool association_setting_tcp_load false 9 | float32 m 0.270 10 | float32 x -17.0 11 | float32 y 9.0 12 | float32 z 11.8 13 | 14 | --- 15 | 16 | int16 ret 17 | string message 18 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/moveit_configs/chomp_planning.yaml: -------------------------------------------------------------------------------- 1 | planning_plugin: chomp_interface/CHOMPPlanner 2 | enable_failure_recovery: true 3 | jiggle_fraction: 0.05 4 | request_adapters: >- 5 | default_planner_request_adapters/AddTimeOptimalParameterization 6 | default_planner_request_adapters/ResolveConstraintFrames 7 | default_planner_request_adapters/FixWorkspaceBounds 8 | default_planner_request_adapters/FixStartStateBounds 9 | default_planner_request_adapters/FixStartStateCollision 10 | default_planner_request_adapters/FixStartStatePathConstraints 11 | ridge_factor: 0.01 12 | start_state_max_bounds_error: 0.1 -------------------------------------------------------------------------------- /xarm_description/urdf/common/common.material.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /xarm_description/config/kinematics/default/xarm5_default_kinematics.yaml: -------------------------------------------------------------------------------- 1 | kinematics: 2 | joint1: 3 | x: 0 4 | y: 0 5 | z: 0.267 6 | roll: 0 7 | pitch: 0 8 | yaw: 0 9 | joint2: 10 | x: 0 11 | y: 0 12 | z: 0 13 | roll: -1.5708 14 | pitch: 0 15 | yaw: 0 16 | joint3: 17 | x: 0.0535 18 | y: -0.2845 19 | z: 0 20 | roll: 0 21 | pitch: 0 22 | yaw: 0 23 | joint4: 24 | x: 0.0775 25 | y: 0.3425 26 | z: 0 27 | roll: 0 28 | pitch: 0 29 | yaw: 0 30 | joint5: 31 | x: 0.076 32 | y: 0.097 33 | z: 0 34 | roll: -1.5708 35 | pitch: 0 36 | yaw: 0 -------------------------------------------------------------------------------- /xarm_msgs/srv/IdenLoad.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - iden_tcp_load 3 | # - iden_ft_sensor_load_offset # The old name is ft_sensor_iden_load, please use the new one 4 | 5 | # estimated mass(kg), only required for Lite6 models via the `iden_tcp_load` service 6 | float32 estimated_mass 0.0 7 | 8 | --- 9 | 10 | int16 ret 11 | string message 12 | 13 | # the result of identification 14 | # iden_tcp_load: [mass(kg),x_centroid(mm),y_centroid(mm),z_centroid(mm)] 15 | # iden_ft_sensor_load_offset: [mass(kg),x_centroid(mm),y_centroid(mm),z_centroid(mm),Fx_offset,Fy_offset,Fz_offset,Tx_offset,Ty_offset,Tz_ffset] 16 | float32[] datas -------------------------------------------------------------------------------- /xarm_sdk/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | xarm_sdk 5 | 0.0.0 6 | The xarm_sdk package 7 | Vinman 8 | BSD 9 | 10 | ament_cmake 11 | 12 | ament_lint_auto 13 | ament_lint_common 14 | 15 | 16 | ament_cmake 17 | 18 | 19 | -------------------------------------------------------------------------------- /xarm_description/urdf/_private_macro.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /xarm_vision/d435i_xarm_setup/config/lite_rs_on_hand_calibration.calib: -------------------------------------------------------------------------------- 1 | parameters: 2 | name: lite_rs_on_hand_calibration 3 | calibration_type: eye_in_hand 4 | robot_base_frame: link_base 5 | robot_effector_frame: link_eef 6 | tracking_base_frame: camera_color_optical_frame 7 | tracking_marker_frame: camera_marker 8 | freehand_robot_movement: true 9 | move_group_namespace: / 10 | move_group: manipulator 11 | transform: 12 | translation: 13 | x: 0.06234029859234923 14 | y: -0.03683564865852419 15 | z: 0.0219906749988698 16 | rotation: 17 | x: 0.0024901722657889925 18 | y: -0.0028350522158575586 19 | z: 0.6971387730687284 20 | w: 0.7169262811511711 -------------------------------------------------------------------------------- /xarm_vision/d435i_xarm_setup/config/xarm_rs_on_hand_calibration.calib: -------------------------------------------------------------------------------- 1 | parameters: 2 | name: xarm_rs_on_hand_calibration 3 | calibration_type: eye_in_hand 4 | robot_base_frame: link_base 5 | robot_effector_frame: link_eef 6 | tracking_base_frame: camera_color_optical_frame 7 | tracking_marker_frame: camera_marker 8 | freehand_robot_movement: true 9 | move_group_namespace: / 10 | move_group: manipulator 11 | transform: 12 | translation: 13 | x: 0.06789119937551764 14 | y: -0.030063300304697668 15 | z: 0.02098551459424205 16 | rotation: 17 | x: -0.0003797703452797856 18 | y: -0.004984595856131313 19 | z: 0.6933043531158767 20 | w: 0.720627562288046 -------------------------------------------------------------------------------- /xarm_moveit_config/config/bio_gripper/joint_limits.yaml: -------------------------------------------------------------------------------- 1 | # joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed 2 | # Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration] 3 | # Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits] 4 | joint_limits: 5 | left_finger_joint: 6 | has_velocity_limits: true 7 | max_velocity: 3.14 8 | has_acceleration_limits: true 9 | max_acceleration: 10.0 10 | right_finger_joint: 11 | has_velocity_limits: true 12 | max_velocity: 3.14 13 | has_acceleration_limits: true 14 | max_acceleration: 10.0 -------------------------------------------------------------------------------- /xarm_vision/d435i_xarm_setup/config/uf850_rs_on_hand_calibration.calib: -------------------------------------------------------------------------------- 1 | parameters: 2 | name: xarm_rs_on_hand_calibration 3 | calibration_type: eye_in_hand 4 | robot_base_frame: link_base 5 | robot_effector_frame: link_eef 6 | tracking_base_frame: camera_color_optical_frame 7 | tracking_marker_frame: camera_marker 8 | freehand_robot_movement: true 9 | move_group_namespace: / 10 | move_group: manipulator 11 | transform: 12 | translation: 13 | x: 0.06637719970480799 14 | y: -0.032133912794949385 15 | z: 0.02259679892714925 16 | rotation: 17 | x: 0.0013075170827278532 18 | y: -0.0024892917521336377 19 | z: 0.7106597907015502 20 | w: 0.7035302095188808 21 | -------------------------------------------------------------------------------- /xarm_controller/uf_hardware_interface_plugins.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | The ROS2 Control HardWare Interface for UFACTORY ROBOT. 7 | 8 | 9 | 12 | 13 | The ROS2 Control Fake HardWare Interface for UFACTORY ROBOT. 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /uf_ros_lib/setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import setup, find_packages 2 | 3 | package_name = 'uf_ros_lib' 4 | 5 | setup( 6 | name=package_name, 7 | version='0.0.0', 8 | packages=find_packages(), 9 | data_files=[ 10 | ('share/ament_index/resource_index/packages', 11 | ['resource/' + package_name]), 12 | ('share/' + package_name, ['package.xml']), 13 | ], 14 | install_requires=['setuptools'], 15 | zip_safe=True, 16 | maintainer='vm', 17 | maintainer_email='vinman.cub@gmail.com', 18 | description='TODO: Package description', 19 | license='TODO: License declaration', 20 | tests_require=['pytest'], 21 | entry_points={ 22 | 'console_scripts': [ 23 | ], 24 | }, 25 | ) 26 | -------------------------------------------------------------------------------- /xarm_description/config/kinematics/default/xarm6_default_kinematics.yaml: -------------------------------------------------------------------------------- 1 | kinematics: 2 | joint1: 3 | x: 0 4 | y: 0 5 | z: 0.267 6 | roll: 0 7 | pitch: 0 8 | yaw: 0 9 | joint2: 10 | x: 0 11 | y: 0 12 | z: 0 13 | roll: -1.5708 14 | pitch: 0 15 | yaw: 0 16 | joint3: 17 | x: 0.0535 18 | y: -0.2845 19 | z: 0 20 | roll: 0 21 | pitch: 0 22 | yaw: 0 23 | joint4: 24 | x: 0.0775 25 | y: 0.3425 26 | z: 0 27 | roll: -1.5708 28 | pitch: 0 29 | yaw: 0 30 | joint5: 31 | x: 0 32 | y: 0 33 | z: 0 34 | roll: 1.5708 35 | pitch: 0 36 | yaw: 0 37 | joint6: 38 | x: 0.076 39 | y: 0.097 40 | z: 0 41 | roll: -1.5708 42 | pitch: 0 43 | yaw: 0 -------------------------------------------------------------------------------- /xarm_gazebo/worlds/table.world: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | model://ground_plane 6 | 7 | 8 | model://sun 9 | 10 | 11 | model://table 12 | table 13 | 0.0 -0.84 0 0 0 0 14 | 15 | 16 | 17 | 0.001 18 | 1 19 | 1000 20 | 21 | 0 0 0 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /xarm_description/config/kinematics/default/uf850_default_kinematics.yaml: -------------------------------------------------------------------------------- 1 | kinematics: 2 | joint1: 3 | x: 0 4 | y: 0 5 | z: 0.364 6 | roll: 0 7 | pitch: 0 8 | yaw: 0 9 | joint2: 10 | x: 0 11 | y: 0 12 | z: 0 13 | roll: 1.5708 14 | pitch: -1.5708 15 | yaw: 0 16 | joint3: 17 | x: 0.39 18 | y: 0 19 | z: 0 20 | roll: -3.1416 21 | pitch: 0 22 | yaw: -1.5708 23 | joint4: 24 | x: 0.15 25 | y: 0.426 26 | z: 0 27 | roll: -1.5708 28 | pitch: 0 29 | yaw: 0 30 | joint5: 31 | x: 0 32 | y: 0 33 | z: 0 34 | roll: -1.5708 35 | pitch: 0 36 | yaw: 0 37 | joint6: 38 | x: 0 39 | y: -0.09 40 | z: 0 41 | roll: 1.5708 42 | pitch: 0 43 | yaw: 0 -------------------------------------------------------------------------------- /xarm_description/config/kinematics/default/lite6_default_kinematics.yaml: -------------------------------------------------------------------------------- 1 | kinematics: 2 | joint1: 3 | x: 0 4 | y: 0 5 | z: 0.2435 6 | roll: 0 7 | pitch: 0 8 | yaw: 0 9 | joint2: 10 | x: 0 11 | y: 0 12 | z: 0 13 | roll: 1.5708 14 | pitch: -1.5708 15 | yaw: 3.1416 16 | joint3: 17 | x: 0.2002 18 | y: 0 19 | z: 0 20 | roll: -3.1416 21 | pitch: 0 22 | yaw: 1.5708 23 | joint4: 24 | x: 0.087 25 | y: -0.22761 26 | z: 0 27 | roll: 1.5708 28 | pitch: 0 29 | yaw: 0 30 | joint5: 31 | x: 0 32 | y: 0 33 | z: 0 34 | roll: 1.5708 35 | pitch: 0 36 | yaw: 0 37 | joint6: 38 | x: 0 39 | y: 0.0625 40 | z: 0 41 | roll: -1.5708 42 | pitch: 0 43 | yaw: 0 -------------------------------------------------------------------------------- /xarm_msgs/srv/FtForceConfig.srv: -------------------------------------------------------------------------------- 1 | # please use FtForceParams instead 2 | # This format is suitable for the following services 3 | # - config_force_control # please use set_ft_sensor_force_parameters instead 4 | 5 | # task frame (0: base frame. 1: tool frame) 6 | int16 coord 7 | # a 6d vector of 0s and 1s. 1 means that robot will be compliant in the corresponding axis of the task frame. 8 | int16[] c_axis 9 | # 6d vector, the forces/torques the robot will apply to its environment. The robot adjusts its position along/about compliant axis in order to achieve the specified force/torque. 10 | float32[] ref 11 | # 6d vector, for compliant axes, these values are the maximum allowed tcp speed along/about the axis. 12 | float32[] limits 13 | 14 | --- 15 | 16 | int16 ret 17 | string message -------------------------------------------------------------------------------- /xarm_msgs/msg/MoveVelocity.msg: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following topic 2 | # - vc_set_joint_velocity 3 | # - vc_set_cartesian_velocity 4 | 5 | # vc_set_joint_velocity/vc_set_cartesian_velocity 6 | float32[] speeds 7 | 8 | # vc_set_joint_velocity 9 | bool is_sync true 10 | 11 | # vc_set_cartesian_velocity 12 | bool is_tool_coord false 13 | 14 | # the maximum duration of the spedd, over this time will automatically set the speed to 0 15 | # duration > 0: seconds, indicates the maximum number of seconds that this speed can be maintained 16 | # duration == 0: always effective, will not stop automativally 17 | # duration < 0: default value, only used to be compatible with the old protocol, equivalent to 0 18 | # avaiable for firmware_version >= 1.8.0 19 | float32 duration -1.0 20 | -------------------------------------------------------------------------------- /xarm_msgs/srv/VacuumGripperCtrl.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - set_vacuum_gripper 3 | 4 | bool on 5 | bool wait false 6 | float32 timeout 3 7 | float32 delay_sec 0 8 | # sync: whether to execute in the motion queue 9 | bool sync true 10 | # hardware_version==1: Plug-in Connection, default 11 | # hardware_version==2: Contact Connection 12 | # default is 0, equivalent to hardware_version==1 at first 13 | # when the hardware_version parameter is specified as 1 or 2, the value will be recorded in the current environment. 14 | # If the parameter is not specified in the next call or call the get_vacuum_gripper, the previous value will be used. 15 | int16 hardware_version 0 16 | 17 | --- 18 | 19 | int16 ret 20 | string message 21 | -------------------------------------------------------------------------------- /xarm_planner/launch/test_xarm_gripper_planner_client_joint.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.substitutions import LaunchConfiguration 11 | from launch_ros.actions import Node 12 | 13 | 14 | def generate_launch_description(): 15 | xarm_planner_node_test = Node( 16 | name='test_xarm_gripper_planner_client_joint', 17 | package='xarm_planner', 18 | executable='test_xarm_gripper_planner_client_joint', 19 | output='screen', 20 | ) 21 | return LaunchDescription([ 22 | xarm_planner_node_test 23 | ]) 24 | -------------------------------------------------------------------------------- /xarm_msgs/srv/Call.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - clean_error 3 | # - clean_warn 4 | # - clean_conf 5 | # - save_conf 6 | # - reload_dynamics 7 | # - set_counter_reset 8 | # - set_counter_increase 9 | # - clean_gripper_error 10 | # - clean_bio_gripper_error 11 | # - start_record_trajectory 12 | # - stop_record_trajectory 13 | # - set_ft_sensor_zero # The old name is ft_sensor_set_zero, please use the new one 14 | # - set_linear_motor_stop # The old name is set_linear_track_stop, please use the new one 15 | # - clean_linear_motor_error # The old name is clean_linear_track_error, please use the new one 16 | # - open_lite6_gripper 17 | # - close_lite6_gripper 18 | # - stop_lite6_gripper 19 | 20 | --- 21 | 22 | int32 ret 23 | string message 24 | -------------------------------------------------------------------------------- /xarm_description/urdf/gripper/xarm_gripper.transmission.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | transmission_interface/SimpleTransmission 8 | 9 | hardware_interface/${hard_interface} 10 | 11 | 12 | hardware_interface/${hard_interface} 13 | ${reduction} 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /xarm_description/urdf/gripper/bio_gripper.transmission.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | transmission_interface/SimpleTransmission 7 | 8 | hardware_interface/${hard_interface} 9 | 10 | 11 | hardware_interface/${hard_interface} 12 | ${reduction} 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /xarm_msgs/srv/MoveVelocity.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - vc_set_joint_velocity 3 | # - vc_set_cartesian_velocity 4 | 5 | # vc_set_joint_velocity/vc_set_cartesian_velocity 6 | float32[] speeds 7 | 8 | # vc_set_joint_velocity 9 | bool is_sync true 10 | 11 | # vc_set_cartesian_velocity 12 | bool is_tool_coord false 13 | 14 | # the maximum duration of the spedd, over this time will automatically set the speed to 0 15 | # duration > 0: seconds, indicates the maximum number of seconds that this speed can be maintained 16 | # duration == 0: always effective, will not stop automativally 17 | # duration < 0: default value, only used to be compatible with the old protocol, equivalent to 0 18 | # avaiable for firmware_version >= 1.8.0 19 | float32 duration -1.0 20 | 21 | --- 22 | 23 | int16 ret 24 | string message 25 | -------------------------------------------------------------------------------- /xarm_description/config/kinematics/default/xarm7_default_kinematics.yaml: -------------------------------------------------------------------------------- 1 | kinematics: 2 | joint1: 3 | x: 0 4 | y: 0 5 | z: 0.267 6 | roll: 0 7 | pitch: 0 8 | yaw: 0 9 | joint2: 10 | x: 0 11 | y: 0 12 | z: 0 13 | roll: -1.5708 14 | pitch: 0 15 | yaw: 0 16 | joint3: 17 | x: 0 18 | y: -0.293 19 | z: 0 20 | roll: 1.5708 21 | pitch: 0 22 | yaw: 0 23 | joint4: 24 | x: 0.0525 25 | y: 0 26 | z: 0 27 | roll: 1.5708 28 | pitch: 0 29 | yaw: 0 30 | joint5: 31 | x: 0.0775 32 | y: -0.3425 33 | z: 0 34 | roll: 1.5708 35 | pitch: 0 36 | yaw: 0 37 | joint6: 38 | x: 0 39 | y: 0 40 | z: 0 41 | roll: 1.5708 42 | pitch: 0 43 | yaw: 0 44 | joint7: 45 | x: 0.076 46 | y: 0.097 47 | z: 0 48 | roll: -1.5708 49 | pitch: 0 50 | yaw: 0 -------------------------------------------------------------------------------- /xarm_description/urdf/xarm5/xarm5.gazebo.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | true 8 | 9 | 10 | 11 | true 12 | 13 | 14 | 15 | true 16 | 17 | 18 | 19 | true 20 | 21 | 22 | 23 | true 24 | 25 | 26 | 27 | true 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /xarm_description/config/kinematics/default/xarm7_mirror_default_kinematics.yaml: -------------------------------------------------------------------------------- 1 | kinematics: 2 | joint1: 3 | x: -0.00052471 4 | y: 0 5 | z: 0.2668 6 | roll: 0 7 | pitch: 0 8 | yaw: 0 9 | joint2: 10 | x: 0 11 | y: 0 12 | z: 0 13 | roll: 1.5708 14 | pitch: 0 15 | yaw: 0 16 | joint3: 17 | x: 0 18 | y: 0.29289 19 | z: 0 20 | roll: -1.5708 21 | pitch: 0 22 | yaw: 0 23 | joint4: 24 | x: 0.052665 25 | y: 0 26 | z: 0 27 | roll: -1.5708 28 | pitch: 0 29 | yaw: 0 30 | joint5: 31 | x: 0.077699 32 | y: 0.34258 33 | z: 0 34 | roll: -1.5708 35 | pitch: 0 36 | yaw: 0 37 | joint6: 38 | x: 0 39 | y: 0 40 | z: 0 41 | roll: -1.5708 42 | pitch: 0 43 | yaw: 0 44 | joint7: 45 | x: 0.075998 46 | y: -0.096156 47 | z: 0 48 | roll: 1.5708 49 | pitch: 0 50 | yaw: 0 -------------------------------------------------------------------------------- /xarm_msgs/srv/FtImpedance.srv: -------------------------------------------------------------------------------- 1 | # please use FtAdmittanceParams instead 2 | # This format is suitable for the following services 3 | # - set_impedance # please use set_ft_sensor_admittance_parameters instead 4 | # - set_impedance_config # please use set_ft_sensor_admittance_parameters instead 5 | # - set_impedance_mbk # please use set_ft_sensor_admittance_parameters instead 6 | 7 | # - set_impedance 8 | # - set_impedance_config 9 | # task frame (0: base frame. 1: tool frame) 10 | int16 coord 11 | # a 6d vector of 0s and 1s. 1 means that robot will be admittance in the corresponding axis of the task frame. 12 | int16[] c_axis 13 | 14 | # - set_impedance 15 | # - set_impedance_mbk 16 | # 6d vector, mass. (kg) 17 | float32[] m 18 | # 6d vector, stiffness coefficient 19 | float32[] k 20 | # 6d vector, damping coefficient 21 | float32[] b 22 | 23 | --- 24 | 25 | int16 ret 26 | string message -------------------------------------------------------------------------------- /uf_ros_lib/test/test_copyright.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 Open Source Robotics Foundation, Inc. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from ament_copyright.main import main 16 | import pytest 17 | 18 | 19 | @pytest.mark.copyright 20 | @pytest.mark.linter 21 | def test_copyright(): 22 | rc = main(argv=['.', 'test']) 23 | assert rc == 0, 'Found errors' 24 | -------------------------------------------------------------------------------- /uf_ros_lib/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | uf_ros_lib 5 | 0.0.0 6 | TODO: Package description 7 | Vinman 8 | TODO: License declaration 9 | 10 | ament_index_python 11 | launch_param_builder 12 | launch 13 | launch_ros 14 | 15 | ament_copyright 16 | ament_flake8 17 | ament_pep257 18 | python3-pytest 19 | 20 | 21 | ament_python 22 | 23 | 24 | -------------------------------------------------------------------------------- /uf_ros_lib/test/test_pep257.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 Open Source Robotics Foundation, Inc. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from ament_pep257.main import main 16 | import pytest 17 | 18 | 19 | @pytest.mark.linter 20 | @pytest.mark.pep257 21 | def test_pep257(): 22 | rc = main(argv=['.', 'test']) 23 | assert rc == 0, 'Found code style errors / warnings' 24 | -------------------------------------------------------------------------------- /xarm_msgs/srv/GetSetModbusData.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - getset_tgpio_modbus_data 3 | 4 | # modbus data to send 5 | uint8[] modbus_data 6 | 7 | # Specify the length of modbus data bytes to be sent, the default(less than or equal to 0) is the size of modbus_data 8 | int16 modbus_length 0 9 | 10 | # Specify the anticipated maximum respond data length in bytes 11 | int16 ret_length 12 | 13 | # host id, 9: END RS485, 10: Controller RS485 14 | uint8 host_id 9 15 | 16 | # whether to choose transparent transmission 17 | bool is_transparent_transmission false 18 | 19 | # whether to use port 503 for communication 20 | # if it is true, it will connect to 503 port for communication when it is used for the first time, which is generally only useful for transparent transmission 21 | bool use_503_port false 22 | 23 | --- 24 | 25 | int16 ret 26 | string message 27 | 28 | uint8[] ret_data 29 | -------------------------------------------------------------------------------- /xarm_moveit_config/srdf/xarm.srdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | -------------------------------------------------------------------------------- /xarm_gazebo/worlds/table_gz.world: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | https://fuel.gazebosim.org/1.0/OpenRobotics/models/Ground Plane 7 | 8 | 9 | 10 | 11 | https://fuel.gazebosim.org/1.0/OpenRobotics/models/Sun 12 | 13 | 14 | 15 | https://fuel.gazebosim.org/1.0/OpenRobotics/models/Table 16 | table 17 | 0.0 -0.84 0 0 0 0 18 | 19 | 20 | 21 | 0.001 22 | 1 23 | 1000 24 | 25 | 0 0 0 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /xarm_description/urdf/gripper/xarm_gripper.ros2_control.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | ${ros2_control_plugin} 8 | 9 | 10 | 11 | 12 | 13 | -3.14 14 | 3.14 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /xarm_description/urdf/gripper/bio_gripper.ros2_control.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | ${ros2_control_plugin} 8 | 9 | 10 | 11 | 12 | 13 | -3.14 14 | 3.14 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /xarm_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | xarm_msgs 5 | 0.0.0 6 | The xarm_msgs package 7 | Vinman 8 | BSD 9 | 10 | ament_cmake 11 | rosidl_default_generators 12 | 13 | std_msgs 14 | geometry_msgs 15 | 16 | 17 | rosidl_default_runtime 18 | rosidl_interface_packages 19 | 20 | ament_lint_auto 21 | ament_lint_common 22 | 23 | 24 | ament_cmake 25 | 26 | 27 | -------------------------------------------------------------------------------- /xarm_msgs/srv/FtForceParams.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - set_ft_sensor_force_parameters 3 | 4 | # task frame (0: base frame. 1: tool frame) 5 | int16 coord 6 | # a 6d vector of 0s and 1s. 1 means that robot will be compliant in the corresponding axis of the task frame. 7 | int16[] c_axis 8 | # 6d vector, the forces/torques the robot will apply to its environment. The robot adjusts its position along/about compliant axis in order to achieve the specified force/torque. 9 | float32[] ref 10 | # 6d vector, for compliant axes, these values are the maximum allowed tcp speed along/about the axis. 11 | float32[] limits 12 | 13 | # 6d vector, proportional gain. 14 | float32[] kp 15 | # 6d vector, integral gain. 16 | float32[] ki 17 | # 6d vector, differential gain. 18 | float32[] kd 19 | # 6d vector. for compliant axes, these values are the maximum allowed tcp speed along/about the axis. mm/s 20 | float32[] xe_limit 21 | 22 | --- 23 | 24 | int16 ret 25 | string message -------------------------------------------------------------------------------- /xarm_description/urdf/lite6/lite6.gazebo.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | true 8 | 9 | 10 | 11 | true 12 | 13 | 14 | 15 | true 16 | 17 | 18 | 19 | true 20 | 21 | 22 | 23 | true 24 | 25 | 26 | 27 | true 28 | 29 | 30 | 31 | true 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /xarm_description/urdf/uf850/uf850.gazebo.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | true 8 | 9 | 10 | 11 | true 12 | 13 | 14 | 15 | true 16 | 17 | 18 | 19 | true 20 | 21 | 22 | 23 | true 24 | 25 | 26 | 27 | true 28 | 29 | 30 | 31 | true 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /xarm_description/urdf/xarm6/xarm6.gazebo.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | true 8 | 9 | 10 | 11 | true 12 | 13 | 14 | 15 | true 16 | 17 | 18 | 19 | true 20 | 21 | 22 | 23 | true 24 | 25 | 26 | 27 | true 28 | 29 | 30 | 31 | true 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /uf_ros_lib/uf_ros_lib/parameter_descriptions.py: -------------------------------------------------------------------------------- 1 | 2 | #!/usr/bin/env python3 3 | # Software License Agreement (BSD License) 4 | # 5 | # Copyright (c) 2024, UFACTORY, Inc. 6 | # All rights reserved. 7 | # 8 | # Author: Vinman 9 | 10 | import yaml 11 | from launch_ros.parameter_descriptions import ParameterValue 12 | from launch.utilities.type_utils import perform_typed_substitution 13 | 14 | class YamlParameterValue(ParameterValue): 15 | def __str__(self): 16 | return 'uf_ros_lib.parameter_descriptions.YamlParameterValue(value={}, value_type={})'.format(self.value, self.value_type) 17 | 18 | def evaluate(self, context): 19 | """Evaluate and return parameter rule.""" 20 | self.__evaluated_parameter_value = perform_typed_substitution( 21 | context, self.value, self.value_type) 22 | self.__evaluated_parameter_value = yaml.safe_load(self.__evaluated_parameter_value) 23 | return self.__evaluated_parameter_value -------------------------------------------------------------------------------- /uf_ros_lib/test/test_flake8.py: -------------------------------------------------------------------------------- 1 | # Copyright 2017 Open Source Robotics Foundation, Inc. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from ament_flake8.main import main_with_errors 16 | import pytest 17 | 18 | 19 | @pytest.mark.flake8 20 | @pytest.mark.linter 21 | def test_flake8(): 22 | rc, errors = main_with_errors(argv=[]) 23 | assert rc == 0, \ 24 | 'Found %d code style errors / warnings:\n' % len(errors) + \ 25 | '\n'.join(errors) 26 | -------------------------------------------------------------------------------- /xarm_description/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | xarm_description 5 | 0.0.0 6 | TODO: Package description 7 | vm 8 | TODO: License declaration 9 | 10 | ament_cmake 11 | 12 | joint_state_publisher 13 | robot_state_publisher 14 | rviz2 15 | xacro 16 | urdf 17 | launch 18 | launch_ros 19 | 20 | ament_lint_auto 21 | ament_lint_common 22 | 23 | 24 | ament_cmake 25 | 26 | 27 | -------------------------------------------------------------------------------- /xarm_description/launch/lib/robot_description_lib.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch.substitutions import Command, FindExecutable, PathJoinSubstitution 10 | from launch_ros.substitutions import FindPackageShare 11 | 12 | 13 | def get_xacro_file_content( 14 | xacro_file=PathJoinSubstitution([FindPackageShare('xarm_description'), 'urdf', 'xarm_device.urdf.xacro']), 15 | arguments={}): 16 | command = [ 17 | PathJoinSubstitution([FindExecutable(name='xacro')]), 18 | ' ', 19 | xacro_file, 20 | ' ' 21 | ] 22 | if arguments and isinstance(arguments, dict): 23 | for key, val in arguments.items(): 24 | command.extend([ 25 | '{}:='.format(key), 26 | val, 27 | ' ' 28 | ]) 29 | return Command(command) 30 | -------------------------------------------------------------------------------- /demo/mbot_demo/config/ompl_planning.yaml: -------------------------------------------------------------------------------- 1 | xarm6: 2 | default_planner_config: RRTConnect 3 | planner_configs: 4 | - SBL 5 | - EST 6 | - LBKPIECE 7 | - BKPIECE 8 | - KPIECE 9 | - RRT 10 | - RRTConnect 11 | - RRTstar 12 | - TRRT 13 | - PRM 14 | - PRMstar 15 | - FMT 16 | - BFMT 17 | - PDST 18 | - STRIDE 19 | - BiTRRT 20 | - LBTRRT 21 | - BiEST 22 | - ProjEST 23 | - LazyPRM 24 | - LazyPRMstar 25 | - SPARS 26 | - SPARStwo 27 | # mbot: 28 | # default_planner_config: RRTConnect 29 | # planner_configs: 30 | # - SBL 31 | # - EST 32 | # - LBKPIECE 33 | # - BKPIECE 34 | # - KPIECE 35 | # - RRT 36 | # - RRTConnect 37 | # - RRTstar 38 | # - TRRT 39 | # - PRM 40 | # - PRMstar 41 | # - FMT 42 | # - BFMT 43 | # - PDST 44 | # - STRIDE 45 | # - BiTRRT 46 | # - LBTRRT 47 | # - BiEST 48 | # - ProjEST 49 | # - LazyPRM 50 | # - LazyPRMstar 51 | # - SPARS 52 | # - SPARStwo 53 | -------------------------------------------------------------------------------- /xarm_planner/launch/test_xarm_planner_client_joint.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.substitutions import LaunchConfiguration 11 | from launch_ros.actions import Node 12 | 13 | 14 | def generate_launch_description(): 15 | dof = LaunchConfiguration('dof') 16 | robot_type = LaunchConfiguration('robot_type', default='xarm') 17 | 18 | xarm_planner_node_test = Node( 19 | name='test_xarm_planner_client_joint', 20 | package='xarm_planner', 21 | executable='test_xarm_planner_client_joint', 22 | output='screen', 23 | parameters=[ 24 | { 25 | 'robot_type': robot_type, 26 | 'dof': dof 27 | }, 28 | ], 29 | ) 30 | return LaunchDescription([ 31 | xarm_planner_node_test 32 | ]) 33 | -------------------------------------------------------------------------------- /xarm_planner/launch/test_xarm_planner_client_pose.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.substitutions import LaunchConfiguration 11 | from launch_ros.actions import Node 12 | 13 | 14 | def generate_launch_description(): 15 | dof = LaunchConfiguration('dof') 16 | robot_type = LaunchConfiguration('robot_type', default='xarm') 17 | 18 | xarm_planner_node_test = Node( 19 | name='test_xarm_planner_client_pose', 20 | package='xarm_planner', 21 | executable='test_xarm_planner_client_pose', 22 | output='screen', 23 | parameters=[ 24 | { 25 | 'robot_type': robot_type, 26 | 'dof': dof 27 | }, 28 | ], 29 | ) 30 | return LaunchDescription([ 31 | xarm_planner_node_test 32 | ]) 33 | -------------------------------------------------------------------------------- /demo/mbot_demo/srdf/mbot_with_xarm.srdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /xarm_vision/d435i_xarm_setup/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | d435i_xarm_setup 5 | 0.0.0 6 | TODO: Package description 7 | vm 8 | TODO: License declaration 9 | 10 | ament_cmake 11 | 12 | image_view 13 | tf_transformations 14 | find_object_2d 15 | rclcpp 16 | std_msgs 17 | tf2_ros 18 | tf2_geometry_msgs 19 | object_recognition_msgs 20 | xarm_msgs 21 | xarm_api 22 | 23 | ament_lint_auto 24 | ament_lint_common 25 | 26 | 27 | ament_cmake 28 | 29 | 30 | -------------------------------------------------------------------------------- /xarm_controller/config/xarm5_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_manager: 2 | ros__parameters: 3 | update_rate: 150 # Hz 4 | 5 | joint_state_broadcaster: 6 | type: joint_state_broadcaster/JointStateBroadcaster 7 | 8 | xarm5_traj_controller: 9 | type: joint_trajectory_controller/JointTrajectoryController 10 | 11 | xarm5_traj_controller: 12 | ros__parameters: 13 | command_interfaces: 14 | - position 15 | - velocity 16 | state_interfaces: 17 | - position 18 | - velocity 19 | joints: 20 | - joint1 21 | - joint2 22 | - joint3 23 | - joint4 24 | - joint5 25 | constraints: 26 | goal_time: 0.5 27 | stopped_velocity_tolerance: 0.0 28 | joint1: {trajectory: 1.0, goal: 0.01} 29 | joint2: {trajectory: 1.0, goal: 0.01} 30 | joint3: {trajectory: 1.0, goal: 0.01} 31 | joint4: {trajectory: 1.0, goal: 0.01} 32 | joint5: {trajectory: 1.0, goal: 0.01} 33 | interface_name: position 34 | state_publish_rate: 25.0 35 | action_monitor_rate: 10.0 36 | open_loop_control: true 37 | -------------------------------------------------------------------------------- /xarm_msgs/srv/SetInt16.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - set_mode 3 | # - set_state 4 | # - set_collision_sensitivity 5 | # - set_teach_sensitivity 6 | # - set_gripper_mode 7 | # - set_gripper_enable 8 | # - set_bio_gripper_speed 9 | # - set_fence_mode 10 | # - set_reduced_mode 11 | # - set_self_collision_detection 12 | # - set_simulation_robot 13 | # - set_baud_checkset_enable 14 | # - set_report_tau_or_i 15 | # - set_ft_sensor_enable # The old name is ft_sensor_enable, please use the new one 16 | # - set_ft_sensor_mode # The old name is ft_sensor_app_set, please use the new one 17 | # - set_linear_motor_enable # The old name is set_linear_track_enable, please use the new one 18 | # - set_linear_motor_speed # The old name is set_linear_track_speed, please use the new one 19 | # - set_cartesian_velo_continuous 20 | # - set_allow_approx_motion 21 | # - set_only_check_type 22 | # - config_tgpio_reset_when_stop 23 | # - config_cgpio_reset_when_stop 24 | 25 | int16 data 26 | 27 | --- 28 | 29 | int16 ret 30 | string message -------------------------------------------------------------------------------- /xarm_description/urdf/xarm7/xarm7.gazebo.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | true 8 | 9 | 10 | 11 | true 12 | 13 | 14 | 15 | true 16 | 17 | 18 | 19 | true 20 | 21 | 22 | 23 | true 24 | 25 | 26 | 27 | true 28 | 29 | 30 | 31 | true 32 | 33 | 34 | 35 | true 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm5/joint_limits.yaml: -------------------------------------------------------------------------------- 1 | # joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed 2 | # Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration] 3 | # Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits] 4 | joint_limits: 5 | joint1: 6 | has_velocity_limits: true 7 | max_velocity: 2.14 8 | has_acceleration_limits: true 9 | max_acceleration: 10.0 10 | joint2: 11 | has_velocity_limits: true 12 | max_velocity: 2.14 13 | has_acceleration_limits: true 14 | max_acceleration: 10.0 15 | joint3: 16 | has_velocity_limits: true 17 | max_velocity: 2.14 18 | has_acceleration_limits: true 19 | max_acceleration: 10.0 20 | joint4: 21 | has_velocity_limits: true 22 | max_velocity: 2.14 23 | has_acceleration_limits: true 24 | max_acceleration: 10.0 25 | joint5: 26 | has_velocity_limits: true 27 | max_velocity: 2.14 28 | has_acceleration_limits: true 29 | max_acceleration: 10.0 30 | -------------------------------------------------------------------------------- /demo/mbot_demo/urdf/mbot.ros2_control.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | ${ros2_control_plugin} 7 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /xarm_description/urdf/xarm7_mirror/xarm7_mirror.gazebo.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | true 8 | 9 | 10 | 11 | true 12 | 13 | 14 | 15 | true 16 | 17 | 18 | 19 | true 20 | 21 | 22 | 23 | true 24 | 25 | 26 | 27 | true 28 | 29 | 30 | 31 | true 32 | 33 | 34 | 35 | true 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /xarm_planner/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | xarm_planner 5 | 0.0.0 6 | TODO: Package description 7 | Vinman 8 | BSD 9 | 10 | ament_cmake 11 | 12 | moveit 13 | moveit_ros_planning_interface 14 | rclcpp 15 | std_msgs 16 | geometry_msgs 17 | moveit_msgs 18 | xarm_msgs 19 | xarm_description 20 | xarm_moveit_config 21 | 22 | launch 23 | launch_ros 24 | uf_ros_lib 25 | 26 | ament_lint_auto 27 | ament_lint_common 28 | 29 | 30 | ament_cmake 31 | 32 | 33 | -------------------------------------------------------------------------------- /xarm_controller/config/lite6_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_manager: 2 | ros__parameters: 3 | update_rate: 150 # Hz 4 | 5 | joint_state_broadcaster: 6 | type: joint_state_broadcaster/JointStateBroadcaster 7 | 8 | lite6_traj_controller: 9 | type: joint_trajectory_controller/JointTrajectoryController 10 | 11 | lite6_traj_controller: 12 | ros__parameters: 13 | command_interfaces: 14 | - position 15 | - velocity 16 | state_interfaces: 17 | - position 18 | - velocity 19 | joints: 20 | - joint1 21 | - joint2 22 | - joint3 23 | - joint4 24 | - joint5 25 | - joint6 26 | constraints: 27 | goal_time: 0.5 28 | stopped_velocity_tolerance: 0.0 29 | joint1: {trajectory: 1.0, goal: 0.01} 30 | joint2: {trajectory: 1.0, goal: 0.01} 31 | joint3: {trajectory: 1.0, goal: 0.01} 32 | joint4: {trajectory: 1.0, goal: 0.01} 33 | joint5: {trajectory: 1.0, goal: 0.01} 34 | joint6: {trajectory: 1.0, goal: 0.01} 35 | interface_name: position 36 | state_publish_rate: 25.0 37 | action_monitor_rate: 10.0 38 | open_loop_control: true 39 | -------------------------------------------------------------------------------- /xarm_controller/config/uf850_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_manager: 2 | ros__parameters: 3 | update_rate: 150 # Hz 4 | 5 | joint_state_broadcaster: 6 | type: joint_state_broadcaster/JointStateBroadcaster 7 | 8 | uf850_traj_controller: 9 | type: joint_trajectory_controller/JointTrajectoryController 10 | 11 | uf850_traj_controller: 12 | ros__parameters: 13 | command_interfaces: 14 | - position 15 | - velocity 16 | state_interfaces: 17 | - position 18 | - velocity 19 | joints: 20 | - joint1 21 | - joint2 22 | - joint3 23 | - joint4 24 | - joint5 25 | - joint6 26 | constraints: 27 | goal_time: 0.5 28 | stopped_velocity_tolerance: 0.0 29 | joint1: {trajectory: 1.0, goal: 0.01} 30 | joint2: {trajectory: 1.0, goal: 0.01} 31 | joint3: {trajectory: 1.0, goal: 0.01} 32 | joint4: {trajectory: 1.0, goal: 0.01} 33 | joint5: {trajectory: 1.0, goal: 0.01} 34 | joint6: {trajectory: 1.0, goal: 0.01} 35 | interface_name: position 36 | state_publish_rate: 25.0 37 | action_monitor_rate: 10.0 38 | open_loop_control: true 39 | -------------------------------------------------------------------------------- /xarm_controller/config/xarm6_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_manager: 2 | ros__parameters: 3 | update_rate: 150 # Hz 4 | 5 | joint_state_broadcaster: 6 | type: joint_state_broadcaster/JointStateBroadcaster 7 | 8 | xarm6_traj_controller: 9 | type: joint_trajectory_controller/JointTrajectoryController 10 | 11 | xarm6_traj_controller: 12 | ros__parameters: 13 | command_interfaces: 14 | - position 15 | - velocity 16 | state_interfaces: 17 | - position 18 | - velocity 19 | joints: 20 | - joint1 21 | - joint2 22 | - joint3 23 | - joint4 24 | - joint5 25 | - joint6 26 | constraints: 27 | goal_time: 0.5 28 | stopped_velocity_tolerance: 0.0 29 | joint1: {trajectory: 1.0, goal: 0.01} 30 | joint2: {trajectory: 1.0, goal: 0.01} 31 | joint3: {trajectory: 1.0, goal: 0.01} 32 | joint4: {trajectory: 1.0, goal: 0.01} 33 | joint5: {trajectory: 1.0, goal: 0.01} 34 | joint6: {trajectory: 1.0, goal: 0.01} 35 | interface_name: position 36 | state_publish_rate: 25.0 37 | action_monitor_rate: 10.0 38 | open_loop_control: true 39 | -------------------------------------------------------------------------------- /xarm_msgs/srv/GetInt16.srv: -------------------------------------------------------------------------------- 1 | # This format is suitable for the following services 2 | # - get_state 3 | # - get_cmdnum 4 | # - get_vacuum_gripper 5 | # - get_gripper_err_code 6 | # - get_bio_gripper_status 7 | # - get_bio_gripper_error 8 | # - get_reduced_mode 9 | # - get_report_tau_or_i 10 | # - get_ft_sensor_mode # The old name is ft_sensor_app_get, please use the new one 11 | # - get_ft_sensor_error 12 | # - get_trajectory_rw_status 13 | # - get_linear_motor_pos # The old name is get_linear_track_pos, please use the new one 14 | # - get_linear_motor_status # The old name is get_linear_track_status, please use the new one 15 | # - get_linear_motor_error # The old name is get_linear_track_error, please use the new one 16 | # - get_linear_motor_is_enabled # The old name is get_linear_track_is_enabled, please use the new one 17 | # - get_linear_motor_on_zero # The old name is get_linear_track_on_zero, please use the new one 18 | # - get_linear_motor_sci # The old name is get_linear_track_sci, please use the new one 19 | 20 | --- 21 | 22 | int16 ret 23 | string message 24 | 25 | int16 data 26 | -------------------------------------------------------------------------------- /xarm_controller/config/xarm7_mirror_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_manager: 2 | ros__parameters: 3 | update_rate: 150 # Hz 4 | 5 | joint_state_broadcaster: 6 | type: joint_state_broadcaster/JointStateBroadcaster 7 | 8 | xarm7_mirror_traj_controller: 9 | type: joint_trajectory_controller/JointTrajectoryController 10 | 11 | xarm7_mirror_traj_controller: 12 | ros__parameters: 13 | command_interfaces: 14 | - position 15 | - velocity 16 | state_interfaces: 17 | - position 18 | - velocity 19 | joints: 20 | - joint1 21 | - joint2 22 | - joint3 23 | - joint4 24 | - joint5 25 | - joint6 26 | - joint7 27 | constraints: 28 | goal_time: 0.5 29 | stopped_velocity_tolerance: 0.0 30 | joint1: {trajectory: 1.0, goal: 0.01} 31 | joint2: {trajectory: 1.0, goal: 0.01} 32 | joint3: {trajectory: 1.0, goal: 0.01} 33 | joint4: {trajectory: 1.0, goal: 0.01} 34 | joint5: {trajectory: 1.0, goal: 0.01} 35 | joint6: {trajectory: 1.0, goal: 0.01} 36 | interface_name: position 37 | state_publish_rate: 25.0 38 | action_monitor_rate: 10.0 39 | -------------------------------------------------------------------------------- /demo/mbot_demo/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | mbot_demo 5 | 0.0.0 6 | TODO: Package description 7 | vm 8 | TODO: License declaration 9 | 10 | ament_cmake 11 | 12 | joint_state_publisher 13 | robot_state_publisher 14 | rviz2 15 | xacro 16 | urdf 17 | launch 18 | launch_ros 19 | joint_state_broadcaster 20 | joint_trajectory_controller 21 | diff_drive_controller 22 | 23 | ament_lint_auto 24 | ament_lint_common 25 | 26 | 27 | ament_cmake 28 | 29 | 30 | -------------------------------------------------------------------------------- /xarm_api/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | xarm_api 5 | 0.0.0 6 | The xarm_api package 7 | Vinman 8 | BSD 9 | 10 | ament_cmake 11 | 12 | rclcpp 13 | rclcpp_action 14 | std_msgs 15 | sensor_msgs 16 | control_msgs 17 | geometry_msgs 18 | xarm_msgs 19 | xarm_sdk 20 | xarm_description 21 | 22 | rviz2 23 | xacro 24 | urdf 25 | launch 26 | launch_ros 27 | 28 | ament_lint_auto 29 | ament_lint_common 30 | 31 | 32 | ament_cmake 33 | 34 | 35 | -------------------------------------------------------------------------------- /xarm_controller/config/xarm7_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_manager: 2 | ros__parameters: 3 | update_rate: 150 # Hz 4 | 5 | joint_state_broadcaster: 6 | type: joint_state_broadcaster/JointStateBroadcaster 7 | 8 | xarm7_traj_controller: 9 | type: joint_trajectory_controller/JointTrajectoryController 10 | 11 | xarm7_traj_controller: 12 | ros__parameters: 13 | command_interfaces: 14 | - position 15 | - velocity 16 | state_interfaces: 17 | - position 18 | - velocity 19 | joints: 20 | - joint1 21 | - joint2 22 | - joint3 23 | - joint4 24 | - joint5 25 | - joint6 26 | - joint7 27 | constraints: 28 | goal_time: 0.5 29 | stopped_velocity_tolerance: 0.0 30 | joint1: {trajectory: 1.0, goal: 0.01} 31 | joint2: {trajectory: 1.0, goal: 0.01} 32 | joint3: {trajectory: 1.0, goal: 0.01} 33 | joint4: {trajectory: 1.0, goal: 0.01} 34 | joint5: {trajectory: 1.0, goal: 0.01} 35 | joint6: {trajectory: 1.0, goal: 0.01} 36 | interface_name: position 37 | state_publish_rate: 25.0 38 | action_monitor_rate: 10.0 39 | open_loop_control: true 40 | -------------------------------------------------------------------------------- /xarm_gazebo/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | xarm_gazebo 5 | 0.0.0 6 | TODO: Package description 7 | vm 8 | TODO: License declaration 9 | 10 | ament_cmake 11 | 12 | rclcpp 13 | control_toolbox 14 | controller_manager 15 | gazebo_ros 16 | xarm_description 17 | xarm_controller 18 | 19 | launch 20 | launch_ros 21 | gazebo_plugins 22 | gazebo_ros2_control 23 | robot_state_publisher 24 | uf_ros_lib 25 | 26 | ament_lint_auto 27 | ament_lint_common 28 | 29 | 30 | ament_cmake 31 | 32 | 33 | -------------------------------------------------------------------------------- /xarm_planner/launch/test_lite_gripper_realmove.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.substitutions import LaunchConfiguration 11 | from launch_ros.actions import Node 12 | from launch.actions import OpaqueFunction 13 | 14 | def launch_setup(context, *args, **kwargs): 15 | prefix = LaunchConfiguration('prefix', default='') 16 | hw_ns = LaunchConfiguration('hw_ns', default='ufactory') 17 | lite_gripper_node_test = Node( 18 | name='test_lite_gripper_realmove', 19 | package='xarm_planner', 20 | executable='test_lite_gripper_realmove', 21 | output='screen', 22 | parameters=[ 23 | { 24 | 'prefix': prefix, 25 | 'hw_ns': hw_ns 26 | }, 27 | ], 28 | ) 29 | return [ 30 | lite_gripper_node_test 31 | ] 32 | 33 | 34 | def generate_launch_description(): 35 | return LaunchDescription([ 36 | OpaqueFunction(function=launch_setup) 37 | ]) 38 | 39 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/lite6/joint_limits.yaml: -------------------------------------------------------------------------------- 1 | # joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed 2 | # Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration] 3 | # Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits] 4 | joint_limits: 5 | joint1: 6 | has_velocity_limits: true 7 | max_velocity: 2.14 8 | has_acceleration_limits: true 9 | max_acceleration: 10.0 10 | joint2: 11 | has_velocity_limits: true 12 | max_velocity: 2.14 13 | has_acceleration_limits: true 14 | max_acceleration: 10.0 15 | joint3: 16 | has_velocity_limits: true 17 | max_velocity: 2.14 18 | has_acceleration_limits: true 19 | max_acceleration: 10.0 20 | joint4: 21 | has_velocity_limits: true 22 | max_velocity: 2.14 23 | has_acceleration_limits: true 24 | max_acceleration: 10.0 25 | joint5: 26 | has_velocity_limits: true 27 | max_velocity: 2.14 28 | has_acceleration_limits: true 29 | max_acceleration: 10.0 30 | joint6: 31 | has_velocity_limits: true 32 | max_velocity: 2.14 33 | has_acceleration_limits: true 34 | max_acceleration: 10.0 35 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/uf850/joint_limits.yaml: -------------------------------------------------------------------------------- 1 | # joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed 2 | # Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration] 3 | # Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits] 4 | joint_limits: 5 | joint1: 6 | has_velocity_limits: true 7 | max_velocity: 2.14 8 | has_acceleration_limits: true 9 | max_acceleration: 10.0 10 | joint2: 11 | has_velocity_limits: true 12 | max_velocity: 2.14 13 | has_acceleration_limits: true 14 | max_acceleration: 10.0 15 | joint3: 16 | has_velocity_limits: true 17 | max_velocity: 2.14 18 | has_acceleration_limits: true 19 | max_acceleration: 10.0 20 | joint4: 21 | has_velocity_limits: true 22 | max_velocity: 2.14 23 | has_acceleration_limits: true 24 | max_acceleration: 10.0 25 | joint5: 26 | has_velocity_limits: true 27 | max_velocity: 2.14 28 | has_acceleration_limits: true 29 | max_acceleration: 10.0 30 | joint6: 31 | has_velocity_limits: true 32 | max_velocity: 2.14 33 | has_acceleration_limits: true 34 | max_acceleration: 10.0 35 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm6/joint_limits.yaml: -------------------------------------------------------------------------------- 1 | # joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed 2 | # Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration] 3 | # Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits] 4 | joint_limits: 5 | joint1: 6 | has_velocity_limits: true 7 | max_velocity: 2.14 8 | has_acceleration_limits: true 9 | max_acceleration: 10.0 10 | joint2: 11 | has_velocity_limits: true 12 | max_velocity: 2.14 13 | has_acceleration_limits: true 14 | max_acceleration: 10.0 15 | joint3: 16 | has_velocity_limits: true 17 | max_velocity: 2.14 18 | has_acceleration_limits: true 19 | max_acceleration: 10.0 20 | joint4: 21 | has_velocity_limits: true 22 | max_velocity: 2.14 23 | has_acceleration_limits: true 24 | max_acceleration: 10.0 25 | joint5: 26 | has_velocity_limits: true 27 | max_velocity: 2.14 28 | has_acceleration_limits: true 29 | max_acceleration: 10.0 30 | joint6: 31 | has_velocity_limits: true 32 | max_velocity: 2.14 33 | has_acceleration_limits: true 34 | max_acceleration: 10.0 35 | -------------------------------------------------------------------------------- /demo/mbot_demo/urdf/mbot_macro.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /xarm_planner/launch/xarm5_planner_fake.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 18 | 19 | # robot moveit fake launch 20 | # xarm_moveit_config/launch/_robot_moveit_fake.launch.py 21 | robot_moveit_fake_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_fake.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '5', 25 | 'robot_type': 'xarm', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'true', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_fake_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_planner/launch/xarm6_planner_fake.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 18 | 19 | # robot moveit fake launch 20 | # xarm_moveit_config/launch/_robot_moveit_fake.launch.py 21 | robot_moveit_fake_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_fake.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '6', 25 | 'robot_type': 'xarm', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'true', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_fake_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_planner/launch/xarm7_planner_fake.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 18 | 19 | # robot moveit fake launch 20 | # xarm_moveit_config/launch/_robot_moveit_fake.launch.py 21 | robot_moveit_fake_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_fake.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '7', 25 | 'robot_type': 'xarm', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'true', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_fake_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_moveit_config/launch/xarm5_moveit_fake.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 18 | 19 | # robot moveit fake launch 20 | # xarm_moveit_config/launch/_robot_moveit_fake.launch.py 21 | robot_moveit_fake_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_fake.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '5', 25 | 'robot_type': 'xarm', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'false', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_fake_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_moveit_config/launch/xarm6_moveit_fake.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 18 | 19 | # robot moveit fake launch 20 | # xarm_moveit_config/launch/_robot_moveit_fake.launch.py 21 | robot_moveit_fake_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_fake.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '6', 25 | 'robot_type': 'xarm', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'false', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_fake_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_moveit_config/launch/xarm7_moveit_fake.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 18 | 19 | # robot moveit fake launch 20 | # xarm_moveit_config/launch/_robot_moveit_fake.launch.py 21 | robot_moveit_fake_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_fake.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '7', 25 | 'robot_type': 'xarm', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'false', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_fake_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_planner/launch/lite6_planner_fake.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='ufactory') 18 | 19 | # robot moveit fake launch 20 | # xarm_moveit_config/launch/_robot_moveit_fake.launch.py 21 | robot_moveit_fake_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_fake.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '6', 25 | 'robot_type': 'lite', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'true', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_fake_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_planner/launch/uf850_planner_fake.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='ufactory') 18 | 19 | # robot moveit fake launch 20 | # xarm_moveit_config/launch/_robot_moveit_fake.launch.py 21 | robot_moveit_fake_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_fake.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '6', 25 | 'robot_type': 'uf850', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'true', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_fake_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_description/config/link_inertial/xarm5_type5_HT_LD.yaml: -------------------------------------------------------------------------------- 1 | link1: 2 | inertia: 3 | ixx: 0.005795 4 | ixy: 1.078e-05 5 | ixz: 2.63e-05 6 | iyy: 0.004969 7 | iyz: -0.000911 8 | izz: 0.003428 9 | mass: 2.459 10 | origin: 11 | x: 0.00013 12 | y: 0.0301 13 | z: -0.012 14 | link2: 15 | inertia: 16 | ixx: 0.027996 17 | ixy: 0.0049288 18 | ixz: 0.0006482 19 | iyy: 0.005557 20 | iyz: -0.0046353 21 | izz: 0.02713 22 | mass: 2.211 23 | origin: 24 | x: 0.0382 25 | y: -0.2266 26 | z: 0.0347 27 | link3: 28 | inertia: 29 | ixx: 0.037834 30 | ixy: -0.0042102 31 | ixz: 0.0014371 32 | iyy: 0.005861 33 | iyz: 0.007547 34 | izz: 0.036402 35 | mass: 2.158 36 | origin: 37 | x: 0.069 38 | y: 0.2318 39 | z: 0.001 40 | link4: 41 | inertia: 42 | ixx: 0.001473 43 | ixy: -0.00046355 44 | ixz: 0.00029315 45 | iyy: 0.00185 46 | iyz: 0.000135 47 | izz: 0.0023493 48 | mass: 1.354 49 | origin: 50 | x: 0.0652 51 | y: 0.03179 52 | z: 0.00311 53 | link5: 54 | inertia: 55 | ixx: 9.3e-05 56 | ixy: -0.0 57 | ixz: -0.0 58 | iyy: 5.87e-05 59 | iyz: -3.6e-06 60 | izz: 0.000132 61 | mass: 0.17 62 | origin: 63 | x: 0 64 | y: -0.00677 65 | z: -0.01098 66 | -------------------------------------------------------------------------------- /xarm_moveit_config/launch/lite6_moveit_fake.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='ufactory') 18 | 19 | # robot moveit fake launch 20 | # xarm_moveit_config/launch/_robot_moveit_fake.launch.py 21 | robot_moveit_fake_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_fake.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '6', 25 | 'robot_type': 'lite', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'false', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_fake_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_moveit_config/launch/uf850_moveit_fake.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='ufactory') 18 | 19 | # robot moveit fake launch 20 | # xarm_moveit_config/launch/_robot_moveit_fake.launch.py 21 | robot_moveit_fake_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_fake.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '6', 25 | 'robot_type': 'uf850', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'false', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_fake_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_planner/launch/xarm5_planner_gazebo.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 18 | 19 | # robot moveit gazebo launch 20 | # xarm_moveit_config/launch/_robot_moveit_gazebo.launch.py 21 | robot_moveit_gazebo_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_gazebo.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '5', 25 | 'robot_type': 'xarm', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'true', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_gazebo_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_planner/launch/xarm6_planner_gazebo.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 18 | 19 | # robot moveit gazebo launch 20 | # xarm_moveit_config/launch/_robot_moveit_gazebo.launch.py 21 | robot_moveit_gazebo_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_gazebo.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '6', 25 | 'robot_type': 'xarm', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'true', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_gazebo_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_planner/launch/xarm7_mirror_planner_fake.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 18 | 19 | # robot moveit fake launch 20 | # xarm_moveit_config/launch/_robot_moveit_fake.launch.py 21 | robot_moveit_fake_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_fake.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '7', 25 | 'robot_type': 'xarm7_mirror', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'true', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_fake_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_planner/launch/xarm7_planner_gazebo.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 18 | 19 | # robot moveit gazebo launch 20 | # xarm_moveit_config/launch/_robot_moveit_gazebo.launch.py 21 | robot_moveit_gazebo_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_gazebo.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '7', 25 | 'robot_type': 'xarm', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'true', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_gazebo_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_moveit_config/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5) 2 | project(xarm_moveit_config) 3 | 4 | # Default to C99 5 | if(NOT CMAKE_C_STANDARD) 6 | set(CMAKE_C_STANDARD 99) 7 | endif() 8 | 9 | # Default to C++14 10 | if(NOT CMAKE_CXX_STANDARD) 11 | set(CMAKE_CXX_STANDARD 14) 12 | endif() 13 | 14 | if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") 15 | add_compile_options(-Wall -Wextra -Wpedantic) 16 | endif() 17 | 18 | # find dependencies 19 | find_package(ament_cmake REQUIRED) 20 | # uncomment the following section in order to fill in 21 | # further dependencies manually. 22 | # find_package( REQUIRED) 23 | 24 | if(BUILD_TESTING) 25 | find_package(ament_lint_auto REQUIRED) 26 | # the following line skips the linter which checks for copyrights 27 | # uncomment the line when a copyright and license is not present in all source files 28 | #set(ament_cmake_copyright_FOUND TRUE) 29 | # the following line skips cpplint (only works in a git repo) 30 | # uncomment the line when this package is not in a git repo 31 | #set(ament_cmake_cpplint_FOUND TRUE) 32 | ament_lint_auto_find_test_dependencies() 33 | endif() 34 | 35 | install(DIRECTORY 36 | config 37 | rviz 38 | srdf 39 | launch 40 | DESTINATION share/${PROJECT_NAME}/ 41 | ) 42 | 43 | ament_package() 44 | -------------------------------------------------------------------------------- /xarm_moveit_config/launch/xarm7_mirror_moveit_fake.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 18 | 19 | # robot moveit fake launch 20 | # xarm_moveit_config/launch/_robot_moveit_fake.launch.py 21 | robot_moveit_fake_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_fake.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '7', 25 | 'robot_type': 'xarm7_mirror', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'false', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_fake_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_planner/launch/lite6_planner_gazebo.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='ufactory') 18 | 19 | # robot moveit gazebo launch 20 | # xarm_moveit_config/launch/_robot_moveit_gazebo.launch.py 21 | robot_moveit_gazebo_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_gazebo.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '6', 25 | 'robot_type': 'lite', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'true', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_gazebo_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_planner/launch/uf850_planner_gazebo.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='ufactory') 18 | 19 | # robot moveit gazebo launch 20 | # xarm_moveit_config/launch/_robot_moveit_gazebo.launch.py 21 | robot_moveit_gazebo_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_gazebo.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '6', 25 | 'robot_type': 'uf850', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'true', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_gazebo_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_moveit_config/launch/dual_xarm5_moveit_fake.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 18 | 19 | # robot moveit fake launch 20 | # xarm_moveit_config/launch/_dual_robot_moveit_fake.launch.py 21 | robot_moveit_fake_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_dual_robot_moveit_fake.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '5', 25 | 'robot_type': 'xarm', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'false', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_fake_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_moveit_config/launch/dual_xarm6_moveit_fake.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 18 | 19 | # robot moveit fake launch 20 | # xarm_moveit_config/launch/_dual_robot_moveit_fake.launch.py 21 | robot_moveit_fake_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_dual_robot_moveit_fake.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '6', 25 | 'robot_type': 'xarm', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'false', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_fake_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_moveit_config/launch/dual_xarm7_moveit_fake.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 18 | 19 | # robot moveit fake launch 20 | # xarm_moveit_config/launch/_dual_robot_moveit_fake.launch.py 21 | robot_moveit_fake_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_dual_robot_moveit_fake.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '7', 25 | 'robot_type': 'xarm', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'false', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_fake_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_moveit_config/launch/lite6_moveit_gazebo.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='ufactory') 18 | 19 | # robot moveit gazebo launch 20 | # xarm_moveit_config/launch/_robot_moveit_gazebo.launch.py 21 | robot_moveit_gazebo_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_gazebo.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '6', 25 | 'robot_type': 'lite', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'false', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_gazebo_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_moveit_config/launch/xarm5_moveit_gazebo.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 18 | 19 | # robot moveit gazebo launch 20 | # xarm_moveit_config/launch/_robot_moveit_gazebo.launch.py 21 | robot_moveit_gazebo_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_gazebo.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '5', 25 | 'robot_type': 'xarm', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'false', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_gazebo_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_moveit_config/launch/xarm6_moveit_gazebo.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 18 | 19 | # robot moveit gazebo launch 20 | # xarm_moveit_config/launch/_robot_moveit_gazebo.launch.py 21 | robot_moveit_gazebo_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_gazebo.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '6', 25 | 'robot_type': 'xarm', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'false', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_gazebo_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_moveit_config/launch/xarm7_moveit_gazebo.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 18 | 19 | # robot moveit gazebo launch 20 | # xarm_moveit_config/launch/_robot_moveit_gazebo.launch.py 21 | robot_moveit_gazebo_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_gazebo.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '7', 25 | 'robot_type': 'xarm', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'false', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_gazebo_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_description/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5) 2 | project(xarm_description) 3 | 4 | # Default to C99 5 | if(NOT CMAKE_C_STANDARD) 6 | set(CMAKE_C_STANDARD 99) 7 | endif() 8 | 9 | # Default to C++14 10 | if(NOT CMAKE_CXX_STANDARD) 11 | set(CMAKE_CXX_STANDARD 14) 12 | endif() 13 | 14 | if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") 15 | add_compile_options(-Wall -Wextra -Wpedantic) 16 | endif() 17 | 18 | # find dependencies 19 | find_package(ament_cmake REQUIRED) 20 | # uncomment the following section in order to fill in 21 | # further dependencies manually. 22 | # find_package( REQUIRED) 23 | 24 | if(BUILD_TESTING) 25 | find_package(ament_lint_auto REQUIRED) 26 | # the following line skips the linter which checks for copyrights 27 | # uncomment the line when a copyright and license is not present in all source files 28 | #set(ament_cmake_copyright_FOUND TRUE) 29 | # the following line skips cpplint (only works in a git repo) 30 | # uncomment the line when this package is not in a git repo 31 | #set(ament_cmake_cpplint_FOUND TRUE) 32 | ament_lint_auto_find_test_dependencies() 33 | endif() 34 | 35 | install(DIRECTORY 36 | rviz 37 | urdf 38 | config 39 | meshes 40 | launch 41 | DESTINATION share/${PROJECT_NAME}/ 42 | ) 43 | 44 | ament_package() 45 | -------------------------------------------------------------------------------- /xarm_moveit_config/launch/dual_lite6_moveit_fake.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='ufactory') 18 | 19 | # robot moveit fake launch 20 | # xarm_moveit_config/launch/_dual_robot_moveit_fake.launch.py 21 | robot_moveit_fake_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_dual_robot_moveit_fake.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '6', 25 | 'robot_type': 'lite', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'false', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_fake_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_moveit_config/launch/dual_uf850_moveit_fake.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='ufactory') 18 | 19 | # robot moveit fake launch 20 | # xarm_moveit_config/launch/_dual_robot_moveit_fake.launch.py 21 | robot_moveit_fake_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_dual_robot_moveit_fake.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '6', 25 | 'robot_type': 'uf850', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'false', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_fake_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_moveit_config/launch/uf850_moveit_gazebo.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='ufactory') 18 | 19 | # robot moveit gazebo launch 20 | # xarm_moveit_config/launch/_robot_moveit_gazebo.launch.py 21 | robot_moveit_gazebo_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_gazebo.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '6', 25 | 'robot_type': 'uf850', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'false', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_gazebo_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_planner/launch/xarm7_mirror_planner_gazebo.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 18 | 19 | # robot moveit gazebo launch 20 | # xarm_moveit_config/launch/_robot_moveit_gazebo.launch.py 21 | robot_moveit_gazebo_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_gazebo.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '7', 25 | 'robot_type': 'xarm7_mirror', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'true', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_gazebo_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_description/config/link_inertial/xarm5_type5_HT_BR.yaml: -------------------------------------------------------------------------------- 1 | link1: 2 | inertia: 3 | ixx: 0.005433 4 | ixy: 9.864e-06 5 | ixz: -2.68e-05 6 | iyy: 0.004684 7 | iyz: -0.000826936 8 | izz: 0.0031118 9 | mass: 2.177 10 | origin: 11 | x: 0.00015 12 | y: 0.02724 13 | z: -0.01357 14 | link2: 15 | inertia: 16 | ixx: 0.0271342 17 | ixy: 0.004736 18 | ixz: 0.00068673 19 | iyy: 0.0053854 20 | iyz: -0.0047834 21 | izz: 0.0262093 22 | mass: 2.011 23 | origin: 24 | x: 0.0367 25 | y: -0.22088 26 | z: 0.03356 27 | link3: 28 | inertia: 29 | ixx: 0.0358513 30 | ixy: -0.0040568 31 | ixz: 0.0014346 32 | iyy: 0.005795 33 | iyz: 0.007516 34 | izz: 0.0343875 35 | mass: 2.01 36 | origin: 37 | x: 0.06834 38 | y: 0.22366 39 | z: 0.00112 40 | link4: 41 | inertia: 42 | ixx: 0.0013483 43 | ixy: -0.00042677 44 | ixz: 0.00028758 45 | iyy: 0.00175694 46 | iyz: 0.0001244 47 | izz: 0.002207 48 | mass: 1.206 49 | origin: 50 | x: 0.06387 51 | y: 0.02928 52 | z: 0.0035 53 | link5: 54 | inertia: 55 | ixx: 9.3e-05 56 | ixy: -0.0 57 | ixz: -0.0 58 | iyy: 5.87e-05 59 | iyz: -3.6e-06 60 | izz: 0.000132 61 | mass: 0.17 62 | origin: 63 | x: 0 64 | y: -0.00677 65 | z: -0.01098 66 | -------------------------------------------------------------------------------- /xarm_description/config/link_inertial/xarm5_type5_UJ_BR_2403.yaml: -------------------------------------------------------------------------------- 1 | link1: 2 | inertia: 3 | ixx: 0.005692 4 | ixy: -2.375e-05 5 | ixz: 3.47e-07 6 | iyy: 0.003851 7 | iyz: -0.000607 8 | izz: 0.004606 9 | mass: 2.527 10 | origin: 11 | x: -0.000164 12 | y: 0.03594 13 | z: -0.0065 14 | link2: 15 | inertia: 16 | ixx: 0.023064 17 | ixy: 0.004092 18 | ixz: 0.0005122 19 | iyy: 0.0059781 20 | iyz: -0.003718 21 | izz: 0.021902 22 | mass: 2.242 23 | origin: 24 | x: 0.04084 25 | y: -0.2403 26 | z: 0.03254 27 | link3: 28 | inertia: 29 | ixx: 0.035477 30 | ixy: -0.0030302 31 | ixz: 0.0010594 32 | iyy: 0.005848 33 | iyz: 0.00612 34 | izz: 0.033753 35 | mass: 2.24 36 | origin: 37 | x: 0.072 38 | y: 0.2363 39 | z: 0.00083 40 | link4: 41 | inertia: 42 | ixx: 0.001624 43 | ixy: -0.0003378 44 | ixz: 0.00024388 45 | iyy: 0.00173 46 | iyz: 0.00011526 47 | izz: 0.0022881 48 | mass: 1.345 49 | origin: 50 | x: 0.06824 51 | y: 0.03342 52 | z: 0.00264 53 | link5: 54 | inertia: 55 | ixx: 0.0001119 56 | ixy: -0.0 57 | ixz: -0.0 58 | iyy: 8.951e-05 59 | iyz: -2.94e-06 60 | izz: 0.00017916 61 | mass: 0.173 62 | origin: 63 | x: 0.0008 64 | y: -0.00359 65 | z: -0.01326 66 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/uf850_gripper/joint_limits.yaml: -------------------------------------------------------------------------------- 1 | # joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed 2 | # Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration] 3 | # Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits] 4 | joint_limits: 5 | drive_joint: 6 | has_velocity_limits: true 7 | max_velocity: 3.14 8 | has_acceleration_limits: true 9 | max_acceleration: 10.0 10 | left_finger_joint: 11 | has_velocity_limits: true 12 | max_velocity: 3.14 13 | has_acceleration_limits: true 14 | max_acceleration: 10.0 15 | left_inner_knuckle_joint: 16 | has_velocity_limits: true 17 | max_velocity: 3.14 18 | has_acceleration_limits: true 19 | max_acceleration: 10.0 20 | right_finger_joint: 21 | has_velocity_limits: true 22 | max_velocity: 3.14 23 | has_acceleration_limits: true 24 | max_acceleration: 10.0 25 | right_inner_knuckle_joint: 26 | has_velocity_limits: true 27 | max_velocity: 3.14 28 | has_acceleration_limits: true 29 | max_acceleration: 10.0 30 | right_outer_knuckle_joint: 31 | has_velocity_limits: true 32 | max_velocity: 3.14 33 | has_acceleration_limits: true 34 | max_acceleration: 10.0 -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm_gripper/joint_limits.yaml: -------------------------------------------------------------------------------- 1 | # joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed 2 | # Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration] 3 | # Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits] 4 | joint_limits: 5 | drive_joint: 6 | has_velocity_limits: true 7 | max_velocity: 3.14 8 | has_acceleration_limits: true 9 | max_acceleration: 10.0 10 | left_finger_joint: 11 | has_velocity_limits: true 12 | max_velocity: 3.14 13 | has_acceleration_limits: true 14 | max_acceleration: 10.0 15 | left_inner_knuckle_joint: 16 | has_velocity_limits: true 17 | max_velocity: 3.14 18 | has_acceleration_limits: true 19 | max_acceleration: 10.0 20 | right_finger_joint: 21 | has_velocity_limits: true 22 | max_velocity: 3.14 23 | has_acceleration_limits: true 24 | max_acceleration: 10.0 25 | right_inner_knuckle_joint: 26 | has_velocity_limits: true 27 | max_velocity: 3.14 28 | has_acceleration_limits: true 29 | max_acceleration: 10.0 30 | right_outer_knuckle_joint: 31 | has_velocity_limits: true 32 | max_velocity: 3.14 33 | has_acceleration_limits: true 34 | max_acceleration: 10.0 -------------------------------------------------------------------------------- /xarm_moveit_config/launch/xarm7_mirror_moveit_gazebo.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 18 | 19 | # robot moveit gazebo launch 20 | # xarm_moveit_config/launch/_robot_moveit_gazebo.launch.py 21 | robot_moveit_gazebo_launch = IncludeLaunchDescription( 22 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_gazebo.launch.py'])), 23 | launch_arguments={ 24 | 'dof': '7', 25 | 'robot_type': 'xarm7_mirror', 26 | 'hw_ns': hw_ns, 27 | 'no_gui_ctrl': 'false', 28 | }.items(), 29 | ) 30 | 31 | return LaunchDescription([ 32 | robot_moveit_gazebo_launch 33 | ]) 34 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm7_mirror_gripper/joint_limits.yaml: -------------------------------------------------------------------------------- 1 | # joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed 2 | # Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration] 3 | # Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits] 4 | joint_limits: 5 | drive_joint: 6 | has_velocity_limits: true 7 | max_velocity: 3.14 8 | has_acceleration_limits: true 9 | max_acceleration: 10.0 10 | left_finger_joint: 11 | has_velocity_limits: true 12 | max_velocity: 3.14 13 | has_acceleration_limits: true 14 | max_acceleration: 10.0 15 | left_inner_knuckle_joint: 16 | has_velocity_limits: true 17 | max_velocity: 3.14 18 | has_acceleration_limits: true 19 | max_acceleration: 10.0 20 | right_finger_joint: 21 | has_velocity_limits: true 22 | max_velocity: 3.14 23 | has_acceleration_limits: true 24 | max_acceleration: 10.0 25 | right_inner_knuckle_joint: 26 | has_velocity_limits: true 27 | max_velocity: 3.14 28 | has_acceleration_limits: true 29 | max_acceleration: 10.0 30 | right_outer_knuckle_joint: 31 | has_velocity_limits: true 32 | max_velocity: 3.14 33 | has_acceleration_limits: true 34 | max_acceleration: 10.0 -------------------------------------------------------------------------------- /demo/mbot_demo/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5) 2 | project(mbot_demo) 3 | 4 | # Default to C99 5 | if(NOT CMAKE_C_STANDARD) 6 | set(CMAKE_C_STANDARD 99) 7 | endif() 8 | 9 | # Default to C++14 10 | if(NOT CMAKE_CXX_STANDARD) 11 | set(CMAKE_CXX_STANDARD 14) 12 | endif() 13 | 14 | if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") 15 | add_compile_options(-Wall -Wextra -Wpedantic) 16 | endif() 17 | 18 | # find dependencies 19 | find_package(ament_cmake REQUIRED) 20 | # uncomment the following section in order to fill in 21 | # further dependencies manually. 22 | # find_package( REQUIRED) 23 | 24 | if(BUILD_TESTING) 25 | find_package(ament_lint_auto REQUIRED) 26 | # the following line skips the linter which checks for copyrights 27 | # uncomment the line when a copyright and license is not present in all source files 28 | #set(ament_cmake_copyright_FOUND TRUE) 29 | # the following line skips cpplint (only works in a git repo) 30 | # uncomment the line when this package is not in a git repo 31 | #set(ament_cmake_cpplint_FOUND TRUE) 32 | ament_lint_auto_find_test_dependencies() 33 | endif() 34 | 35 | install(DIRECTORY 36 | rviz 37 | urdf 38 | srdf 39 | config 40 | worlds 41 | # meshes 42 | launch 43 | DESTINATION share/${PROJECT_NAME}/ 44 | ) 45 | 46 | ament_package() 47 | -------------------------------------------------------------------------------- /xarm_description/config/link_inertial/xarm5_type5_HT_BR2.yaml: -------------------------------------------------------------------------------- 1 | link1: 2 | inertia: 3 | ixx: 0.005705 4 | ixy: 1.056e-05 5 | ixz: -2.642e-05 6 | iyy: 0.00489488 7 | iyz: -0.000890795 8 | izz: 0.00334846 9 | mass: 2.3849 10 | origin: 11 | x: 0.00013 12 | y: 0.0294 13 | z: -0.01239 14 | link2: 15 | inertia: 16 | ixx: 0.0278053 17 | ixy: 0.0048865 18 | ixz: 0.000656695 19 | iyy: 0.00551739 20 | iyz: -0.00466808 21 | izz: 0.02692536 22 | mass: 2.164 23 | origin: 24 | x: 0.03788 25 | y: -0.2254 26 | z: 0.03447 27 | link3: 28 | inertia: 29 | ixx: 0.0373639 30 | ixy: -0.00417385 31 | ixz: 0.00143647 32 | iyy: 0.0058447 33 | iyz: 0.0075398 34 | izz: 0.0359236 35 | mass: 2.121 36 | origin: 37 | x: 0.06883 38 | y: 0.22985 39 | z: 0.00102 40 | link4: 41 | inertia: 42 | ixx: 0.00144315 43 | ixy: -0.000455133 44 | ixz: 0.000291878 45 | iyy: 0.0018275 46 | iyz: 0.000132545 47 | izz: 0.00231563 48 | mass: 1.3169 49 | origin: 50 | x: 0.06489 51 | y: 0.03122 52 | z: 0.00319 53 | link5: 54 | inertia: 55 | ixx: 9.3e-05 56 | ixy: -0.0 57 | ixz: -0.0 58 | iyy: 5.87e-05 59 | iyz: -3.6e-06 60 | izz: 0.000132 61 | mass: 0.17 62 | origin: 63 | x: 0 64 | y: -0.00677 65 | z: -0.01098 66 | -------------------------------------------------------------------------------- /xarm_description/launch/_rviz_display.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.substitutions import PathJoinSubstitution 11 | from launch_ros.actions import Node 12 | from launch_ros.substitutions import FindPackageShare 13 | from launch.actions import RegisterEventHandler, EmitEvent 14 | from launch.event_handlers import OnProcessExit 15 | from launch.events import Shutdown 16 | 17 | 18 | def generate_launch_description(): 19 | # rviz2 node 20 | rviz2_params = PathJoinSubstitution([FindPackageShare('xarm_description'), 'rviz', 'display.rviz']) 21 | rviz2_node = Node( 22 | package='rviz2', 23 | executable='rviz2', 24 | name='rviz2', 25 | output='screen', 26 | arguments=['-d', rviz2_params], 27 | remappings=[ 28 | ('/tf', 'tf'), 29 | ('/tf_static', 'tf_static'), 30 | ] 31 | ) 32 | 33 | return LaunchDescription([ 34 | RegisterEventHandler(event_handler=OnProcessExit( 35 | target_action=rviz2_node, 36 | on_exit=[EmitEvent(event=Shutdown())] 37 | )), 38 | rviz2_node, 39 | ]) 40 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm7/joint_limits.yaml: -------------------------------------------------------------------------------- 1 | # joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed 2 | # Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration] 3 | # Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits] 4 | joint_limits: 5 | joint1: 6 | has_velocity_limits: true 7 | max_velocity: 2.14 8 | has_acceleration_limits: true 9 | max_acceleration: 10.0 10 | joint2: 11 | has_velocity_limits: true 12 | max_velocity: 2.14 13 | has_acceleration_limits: true 14 | max_acceleration: 10.0 15 | joint3: 16 | has_velocity_limits: true 17 | max_velocity: 2.14 18 | has_acceleration_limits: true 19 | max_acceleration: 10.0 20 | joint4: 21 | has_velocity_limits: true 22 | max_velocity: 2.14 23 | has_acceleration_limits: true 24 | max_acceleration: 10.0 25 | joint5: 26 | has_velocity_limits: true 27 | max_velocity: 2.14 28 | has_acceleration_limits: true 29 | max_acceleration: 10.0 30 | joint6: 31 | has_velocity_limits: true 32 | max_velocity: 2.14 33 | has_acceleration_limits: true 34 | max_acceleration: 10.0 35 | joint7: 36 | has_velocity_limits: true 37 | max_velocity: 2.14 38 | has_acceleration_limits: true 39 | max_acceleration: 10.0 40 | -------------------------------------------------------------------------------- /xarm_moveit_config/config/xarm7_mirror/joint_limits.yaml: -------------------------------------------------------------------------------- 1 | # joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed 2 | # Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration] 3 | # Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits] 4 | joint_limits: 5 | joint1: 6 | has_velocity_limits: true 7 | max_velocity: 2.14 8 | has_acceleration_limits: true 9 | max_acceleration: 10.0 10 | joint2: 11 | has_velocity_limits: true 12 | max_velocity: 2.14 13 | has_acceleration_limits: true 14 | max_acceleration: 10.0 15 | joint3: 16 | has_velocity_limits: true 17 | max_velocity: 2.14 18 | has_acceleration_limits: true 19 | max_acceleration: 10.0 20 | joint4: 21 | has_velocity_limits: true 22 | max_velocity: 2.14 23 | has_acceleration_limits: true 24 | max_acceleration: 10.0 25 | joint5: 26 | has_velocity_limits: true 27 | max_velocity: 2.14 28 | has_acceleration_limits: true 29 | max_acceleration: 10.0 30 | joint6: 31 | has_velocity_limits: true 32 | max_velocity: 2.14 33 | has_acceleration_limits: true 34 | max_acceleration: 10.0 35 | joint7: 36 | has_velocity_limits: true 37 | max_velocity: 2.14 38 | has_acceleration_limits: true 39 | max_acceleration: 10.0 40 | -------------------------------------------------------------------------------- /xarm_vision/d435i_xarm_setup/launch/publish_handeye_tf.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2025, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import OpaqueFunction 11 | from launch.substitutions import LaunchConfiguration 12 | from launch_ros.actions import Node 13 | 14 | 15 | def launch_setup(context, *args, **kwargs): 16 | calib_filename = LaunchConfiguration('calib_filename', default='') 17 | # calib_filepath: '~/.ros2/easy_handeye2/calibrations/{calib_filename}.calib' # yaml format 18 | 19 | calib_filename = calib_filename.perform(context) 20 | if calib_filename == '': 21 | robot_type = LaunchConfiguration('robot_type') 22 | robot_type = robot_type.perform(context) 23 | calib_filename = '{}_rs_on_hand_calibration'.format(robot_type) 24 | 25 | handeye_publisher = Node( 26 | package='easy_handeye2', 27 | executable='handeye_publisher', 28 | parameters=[{ 29 | 'name': calib_filename 30 | }] 31 | ) 32 | 33 | return [ 34 | handeye_publisher, 35 | ] 36 | 37 | 38 | def generate_launch_description(): 39 | return LaunchDescription([ 40 | OpaqueFunction(function=launch_setup) 41 | ]) 42 | -------------------------------------------------------------------------------- /xarm_planner/launch/xarm5_planner_realmove.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | robot_ip = LaunchConfiguration('robot_ip') 18 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 19 | 20 | # robot moveit realmove launch 21 | # xarm_moveit_config/launch/_robot_moveit_realmove.launch.py 22 | robot_moveit_realmove_launch = IncludeLaunchDescription( 23 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_realmove.launch.py'])), 24 | launch_arguments={ 25 | 'robot_ip': robot_ip, 26 | 'dof': '5', 27 | 'robot_type': 'xarm', 28 | 'hw_ns': hw_ns, 29 | 'no_gui_ctrl': 'true', 30 | }.items(), 31 | ) 32 | 33 | return LaunchDescription([ 34 | robot_moveit_realmove_launch 35 | ]) 36 | -------------------------------------------------------------------------------- /xarm_planner/launch/xarm6_planner_realmove.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | robot_ip = LaunchConfiguration('robot_ip') 18 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 19 | 20 | # robot moveit realmove launch 21 | # xarm_moveit_config/launch/_robot_moveit_realmove.launch.py 22 | robot_moveit_realmove_launch = IncludeLaunchDescription( 23 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_realmove.launch.py'])), 24 | launch_arguments={ 25 | 'robot_ip': robot_ip, 26 | 'dof': '6', 27 | 'robot_type': 'xarm', 28 | 'hw_ns': hw_ns, 29 | 'no_gui_ctrl': 'true', 30 | }.items(), 31 | ) 32 | 33 | return LaunchDescription([ 34 | robot_moveit_realmove_launch 35 | ]) 36 | -------------------------------------------------------------------------------- /xarm_planner/launch/xarm7_planner_realmove.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | robot_ip = LaunchConfiguration('robot_ip') 18 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 19 | 20 | # robot moveit realmove launch 21 | # xarm_moveit_config/launch/_robot_moveit_realmove.launch.py 22 | robot_moveit_realmove_launch = IncludeLaunchDescription( 23 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_realmove.launch.py'])), 24 | launch_arguments={ 25 | 'robot_ip': robot_ip, 26 | 'dof': '7', 27 | 'robot_type': 'xarm', 28 | 'hw_ns': hw_ns, 29 | 'no_gui_ctrl': 'true', 30 | }.items(), 31 | ) 32 | 33 | return LaunchDescription([ 34 | robot_moveit_realmove_launch 35 | ]) 36 | -------------------------------------------------------------------------------- /xarm_moveit_config/launch/xarm5_moveit_realmove.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | robot_ip = LaunchConfiguration('robot_ip') 18 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 19 | 20 | # robot moveit realmove launch 21 | # xarm_moveit_config/launch/_robot_moveit_realmove.launch.py 22 | robot_moveit_realmove_launch = IncludeLaunchDescription( 23 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_realmove.launch.py'])), 24 | launch_arguments={ 25 | 'robot_ip': robot_ip, 26 | 'dof': '5', 27 | 'robot_type': 'xarm', 28 | 'hw_ns': hw_ns, 29 | 'no_gui_ctrl': 'false', 30 | }.items(), 31 | ) 32 | 33 | return LaunchDescription([ 34 | robot_moveit_realmove_launch 35 | ]) 36 | -------------------------------------------------------------------------------- /xarm_moveit_config/launch/xarm6_moveit_realmove.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | robot_ip = LaunchConfiguration('robot_ip') 18 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 19 | 20 | # robot moveit realmove launch 21 | # xarm_moveit_config/launch/_robot_moveit_realmove.launch.py 22 | robot_moveit_realmove_launch = IncludeLaunchDescription( 23 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_realmove.launch.py'])), 24 | launch_arguments={ 25 | 'robot_ip': robot_ip, 26 | 'dof': '6', 27 | 'robot_type': 'xarm', 28 | 'hw_ns': hw_ns, 29 | 'no_gui_ctrl': 'false', 30 | }.items(), 31 | ) 32 | 33 | return LaunchDescription([ 34 | robot_moveit_realmove_launch 35 | ]) 36 | -------------------------------------------------------------------------------- /xarm_moveit_config/launch/xarm7_moveit_realmove.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | robot_ip = LaunchConfiguration('robot_ip') 18 | hw_ns = LaunchConfiguration('hw_ns', default='xarm') 19 | 20 | # robot moveit realmove launch 21 | # xarm_moveit_config/launch/_robot_moveit_realmove.launch.py 22 | robot_moveit_realmove_launch = IncludeLaunchDescription( 23 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_realmove.launch.py'])), 24 | launch_arguments={ 25 | 'robot_ip': robot_ip, 26 | 'dof': '7', 27 | 'robot_type': 'xarm', 28 | 'hw_ns': hw_ns, 29 | 'no_gui_ctrl': 'false', 30 | }.items(), 31 | ) 32 | 33 | return LaunchDescription([ 34 | robot_moveit_realmove_launch 35 | ]) 36 | -------------------------------------------------------------------------------- /xarm_planner/launch/lite6_planner_realmove.launch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Software License Agreement (BSD License) 3 | # 4 | # Copyright (c) 2021, UFACTORY, Inc. 5 | # All rights reserved. 6 | # 7 | # Author: Vinman 8 | 9 | from launch import LaunchDescription 10 | from launch.actions import IncludeLaunchDescription 11 | from launch.launch_description_sources import PythonLaunchDescriptionSource 12 | from launch.substitutions import LaunchConfiguration, PathJoinSubstitution 13 | from launch_ros.substitutions import FindPackageShare 14 | 15 | 16 | def generate_launch_description(): 17 | robot_ip = LaunchConfiguration('robot_ip') 18 | hw_ns = LaunchConfiguration('hw_ns', default='ufactory') 19 | 20 | # robot moveit realmove launch 21 | # xarm_moveit_config/launch/_robot_moveit_realmove.launch.py 22 | robot_moveit_realmove_launch = IncludeLaunchDescription( 23 | PythonLaunchDescriptionSource(PathJoinSubstitution([FindPackageShare('xarm_moveit_config'), 'launch', '_robot_moveit_realmove.launch.py'])), 24 | launch_arguments={ 25 | 'robot_ip': robot_ip, 26 | 'dof': '6', 27 | 'robot_type': 'lite', 28 | 'hw_ns': hw_ns, 29 | 'no_gui_ctrl': 'true', 30 | }.items(), 31 | ) 32 | 33 | return LaunchDescription([ 34 | robot_moveit_realmove_launch 35 | ]) 36 | --------------------------------------------------------------------------------