├── .gitignore ├── LICENSE.txt ├── README.md ├── README_cn.md ├── docs ├── API_description.md ├── API_description_english.md ├── Fix_ESI.md ├── Fix_ESI_english.md ├── TorqueFF_HWI.md ├── TorqueFF_HWI_english.md ├── Torque_HWI.md ├── Torque_HWI_english.md ├── VelTrqFF_HWI.md ├── VelTrqFF_HWI_english.md ├── elfin_module_tutorial.md ├── elfin_module_tutorial_english.md ├── images │ ├── 485_END.png │ ├── elfin.png │ ├── elfin_ethercat_slaves.png │ ├── ethercat_END.png │ ├── execution.png │ ├── pid_reconfigure.png │ ├── set_goal_state.png │ ├── set_start_state.png │ ├── start_module_controller.png │ ├── stop_module_controller.png │ └── trajectory.png ├── moveit_plugin_tutorial.md └── moveit_plugin_tutorial_english.md ├── elfin10_l_moveit_config ├── .setup_assistant ├── CMakeLists.txt ├── config │ ├── cartesian_limits.yaml │ ├── chomp_planning.yaml │ ├── controllers.yaml │ ├── elfin10_l.srdf │ ├── fake_controllers.yaml │ ├── joint_limits.yaml │ ├── kinematics.yaml │ ├── ompl_planning.yaml │ ├── ros_controllers.yaml │ └── sensors_3d.yaml ├── launch │ ├── chomp_planning_pipeline.launch.xml │ ├── default_warehouse_db.launch │ ├── demo.launch │ ├── demo_gazebo.launch │ ├── elfin10_l_moveit_controller_manager.launch.xml │ ├── elfin10_l_moveit_sensor_manager.launch.xml │ ├── fake_moveit_controller_manager.launch.xml │ ├── gazebo.launch │ ├── joystick_control.launch │ ├── move_group.launch │ ├── moveit.rviz │ ├── moveit_planning_execution.launch │ ├── moveit_rviz.launch │ ├── ompl_planning_pipeline.launch.xml │ ├── pilz_industrial_motion_planner_planning_pipeline.launch.xml │ ├── planning_context.launch │ ├── planning_pipeline.launch.xml │ ├── ros_controllers.launch │ ├── run_benchmark_ompl.launch │ ├── sensor_manager.launch.xml │ ├── setup_assistant.launch │ ├── trajectory_execution.launch.xml │ ├── warehouse.launch │ └── warehouse_settings.launch.xml └── package.xml ├── elfin10_moveit_config ├── .setup_assistant ├── CMakeLists.txt ├── config │ ├── controllers.yaml │ ├── elfin10.srdf │ ├── fake_controllers.yaml │ ├── joint_limits.yaml │ ├── kinematics.yaml │ └── ompl_planning.yaml ├── launch │ ├── default_warehouse_db.launch │ ├── demo.launch │ ├── elfin10_moveit_controller_manager.launch.xml │ ├── elfin10_moveit_sensor_manager.launch.xml │ ├── fake_moveit_controller_manager.launch.xml │ ├── joystick_control.launch │ ├── move_group.launch │ ├── moveit.rviz │ ├── moveit_planning_execution.launch │ ├── moveit_rviz.launch │ ├── ompl_planning_pipeline.launch.xml │ ├── planning_context.launch │ ├── planning_pipeline.launch.xml │ ├── run_benchmark_ompl.launch │ ├── sensor_manager.launch.xml │ ├── setup_assistant.launch │ ├── trajectory_execution.launch.xml │ ├── warehouse.launch │ └── warehouse_settings.launch.xml └── package.xml ├── elfin15_moveit_config ├── .setup_assistant ├── CMakeLists.txt ├── config │ ├── cartesian_limits.yaml │ ├── chomp_planning.yaml │ ├── controllers.yaml │ ├── elfin15.srdf │ ├── fake_controllers.yaml │ ├── joint_limits.yaml │ ├── kinematics.yaml │ ├── ompl_planning.yaml │ ├── ros_controllers.yaml │ └── sensors_3d.yaml ├── launch │ ├── chomp_planning_pipeline.launch.xml │ ├── default_warehouse_db.launch │ ├── demo.launch │ ├── demo_gazebo.launch │ ├── elfin15_moveit_controller_manager.launch.xml │ ├── elfin15_moveit_sensor_manager.launch.xml │ ├── fake_moveit_controller_manager.launch.xml │ ├── gazebo.launch │ ├── joystick_control.launch │ ├── move_group.launch │ ├── moveit.rviz │ ├── moveit_planning_execution.launch │ ├── moveit_rviz.launch │ ├── ompl_planning_pipeline.launch.xml │ ├── pilz_industrial_motion_planner_planning_pipeline.launch.xml │ ├── planning_context.launch │ ├── planning_pipeline.launch.xml │ ├── ros_controllers.launch │ ├── run_benchmark_ompl.launch │ ├── sensor_manager.launch.xml │ ├── setup_assistant.launch │ ├── trajectory_execution.launch.xml │ ├── warehouse.launch │ └── warehouse_settings.launch.xml └── package.xml ├── elfin3_moveit_config ├── .setup_assistant ├── CMakeLists.txt ├── config │ ├── controllers.yaml │ ├── elfin3.srdf │ ├── fake_controllers.yaml │ ├── joint_limits.yaml │ ├── kinematics.yaml │ └── ompl_planning.yaml ├── launch │ ├── default_warehouse_db.launch │ ├── demo.launch │ ├── elfin3_moveit_controller_manager.launch.xml │ ├── elfin3_moveit_sensor_manager.launch.xml │ ├── fake_moveit_controller_manager.launch.xml │ ├── joystick_control.launch │ ├── move_group.launch │ ├── moveit.rviz │ ├── moveit_planning_execution.launch │ ├── moveit_rviz.launch │ ├── ompl_planning_pipeline.launch.xml │ ├── planning_context.launch │ ├── planning_pipeline.launch.xml │ ├── run_benchmark_ompl.launch │ ├── sensor_manager.launch.xml │ ├── setup_assistant.launch │ ├── trajectory_execution.launch.xml │ ├── warehouse.launch │ └── warehouse_settings.launch.xml └── package.xml ├── elfin5_l_moveit_config └── elfin5_l_moveit_config │ ├── .setup_assistant │ ├── CMakeLists.txt │ ├── config │ ├── controllers.yaml │ ├── elfin5_l.srdf │ ├── fake_controllers.yaml │ ├── joint_limits.yaml │ ├── kinematics.yaml │ └── ompl_planning.yaml │ ├── launch │ ├── default_warehouse_db.launch │ ├── demo.launch │ ├── elfin5_l_moveit_controller_manager.launch.xml │ ├── elfin5_l_moveit_sensor_manager.launch.xml │ ├── fake_moveit_controller_manager.launch.xml │ ├── joystick_control.launch │ ├── move_group.launch │ ├── moveit.rviz │ ├── moveit_planning_execution.launch │ ├── moveit_rviz.launch │ ├── ompl_planning_pipeline.launch.xml │ ├── planning_context.launch │ ├── planning_pipeline.launch.xml │ ├── run_benchmark_ompl.launch │ ├── sensor_manager.launch.xml │ ├── setup_assistant.launch │ ├── trajectory_execution.launch.xml │ ├── warehouse.launch │ └── warehouse_settings.launch.xml │ └── package.xml ├── elfin5_moveit_config ├── .setup_assistant ├── CMakeLists.txt ├── config │ ├── controllers.yaml │ ├── elfin5.srdf │ ├── fake_controllers.yaml │ ├── joint_limits.yaml │ ├── kinematics.yaml │ └── ompl_planning.yaml ├── launch │ ├── default_warehouse_db.launch │ ├── demo.launch │ ├── elfin5_moveit_controller_manager.launch.xml │ ├── elfin5_moveit_sensor_manager.launch.xml │ ├── fake_moveit_controller_manager.launch.xml │ ├── joystick_control.launch │ ├── move_group.launch │ ├── moveit.rviz │ ├── moveit_planning_execution.launch │ ├── moveit_rviz.launch │ ├── ompl_planning_pipeline.launch.xml │ ├── planning_context.launch │ ├── planning_pipeline.launch.xml │ ├── run_benchmark_ompl.launch │ ├── sensor_manager.launch.xml │ ├── setup_assistant.launch │ ├── trajectory_execution.launch.xml │ ├── warehouse.launch │ └── warehouse_settings.launch.xml └── package.xml ├── elfin_basic_api ├── CMakeLists.txt ├── cfg │ └── ElfinBasicAPIDynamicReconfigure.cfg ├── fix_it ├── include │ └── elfin_basic_api │ │ ├── elfin_basic_api.h │ │ ├── elfin_basic_api_const.h │ │ ├── elfin_basic_api_node.h │ │ ├── elfin_motion_api.h │ │ └── elfin_teleop_api.h ├── launch │ └── elfin_basic_api.launch ├── package.xml └── src │ ├── btn_icon │ ├── End_btn0_high.png │ ├── End_btn0_low.png │ ├── End_btn1_high.png │ ├── End_btn1_low.png │ ├── End_btn2_high.png │ ├── End_btn2_low.png │ ├── End_btn3_high.png │ └── End_btn3_low.png │ ├── elfin_basic_api.cpp │ ├── elfin_basic_api_node.cpp │ ├── elfin_gui.py │ ├── elfin_motion_api.cpp │ └── elfin_teleop_api.cpp ├── elfin_description ├── CMakeLists.txt ├── launch │ └── display.launch ├── meshes │ ├── elfin10 │ │ ├── elfin_base_link.STL │ │ ├── elfin_end_link.STL │ │ ├── elfin_link1.STL │ │ ├── elfin_link2.STL │ │ ├── elfin_link3.STL │ │ ├── elfin_link4.STL │ │ ├── elfin_link5.STL │ │ └── elfin_link6.STL │ ├── elfin10_l │ │ ├── elfin_base.STL │ │ ├── elfin_link1.STL │ │ ├── elfin_link2.STL │ │ ├── elfin_link3.STL │ │ ├── elfin_link4.STL │ │ ├── elfin_link5.STL │ │ └── elfin_link6.STL │ ├── elfin15 │ │ ├── elfin_base.STL │ │ ├── elfin_end_link.STL │ │ ├── elfin_link1.STL │ │ ├── elfin_link2.STL │ │ ├── elfin_link3.STL │ │ ├── elfin_link4.STL │ │ ├── elfin_link5.STL │ │ └── elfin_link6.STL │ ├── elfin3 │ │ ├── elfin_base.STL │ │ ├── elfin_end_link.STL │ │ ├── elfin_link1.STL │ │ ├── elfin_link2.STL │ │ ├── elfin_link3.STL │ │ ├── elfin_link4.STL │ │ ├── elfin_link5.STL │ │ └── elfin_link6.STL │ ├── elfin5 │ │ ├── elfin_base.STL │ │ ├── elfin_link1.STL │ │ ├── elfin_link2.STL │ │ ├── elfin_link3.STL │ │ ├── elfin_link4.STL │ │ ├── elfin_link5.STL │ │ └── elfin_link6.STL │ └── elfin5_l │ │ ├── elfin_base.STL │ │ ├── elfin_end_link.STL │ │ ├── elfin_link1.STL │ │ ├── elfin_link2.STL │ │ ├── elfin_link3.STL │ │ ├── elfin_link4.STL │ │ ├── elfin_link5.STL │ │ └── elfin_link6.STL ├── package.xml ├── urdf.rviz └── urdf │ ├── elfin10.urdf.xacro │ ├── elfin10_l.urdf.xacro │ ├── elfin15.urdf.xacro │ ├── elfin3.urdf.xacro │ ├── elfin5.urdf.xacro │ ├── elfin5_l.urdf.xacro │ ├── elfin_robot.gazebo │ ├── elfin_transmission.xacro │ ├── materials.xacro │ └── modules │ ├── module_14.urdf.xacro │ ├── module_25.urdf.xacro │ ├── modules.gazebo │ └── modules_transmission.xacro ├── elfin_ethercat_driver ├── CMakeLists.txt ├── include │ └── elfin_ethercat_driver │ │ ├── elfin_ethercat_client.h │ │ ├── elfin_ethercat_driver.h │ │ ├── elfin_ethercat_io_client.h │ │ └── elfin_ethercat_manager.h ├── package.xml └── src │ ├── elfin_ethercat_client.cpp │ ├── elfin_ethercat_driver.cpp │ ├── elfin_ethercat_io_client.cpp │ └── elfin_ethercat_manager.cpp ├── elfin_gazebo ├── CMakeLists.txt ├── config │ ├── elfin_arm_control.yaml │ ├── elfin_module_control.yaml │ └── joint_state_controller.yaml ├── launch │ ├── elfin10_empty_world.launch │ ├── elfin10_l_empty_world.launch │ ├── elfin15_empty_world.launch │ ├── elfin3_empty_world.launch │ ├── elfin5_empty_world.launch │ ├── elfin5_l_empty_world.launch │ └── elfin_module_empty_world.launch └── package.xml ├── elfin_hardware_interface ├── CMakeLists.txt ├── include │ └── elfin_hardware_interface │ │ ├── postrq_command_interface.h │ │ └── posveltrq_command_interface.h └── package.xml ├── elfin_ikfast_plugins ├── elfin10_ikfast_plugin │ ├── CMakeLists.txt │ ├── elfin10_elfin_arm_moveit_ikfast_plugin_description.xml │ ├── include │ │ └── ikfast.h │ ├── package.xml │ └── src │ │ ├── elfin10_elfin_arm_ikfast_moveit_plugin.cpp │ │ └── elfin10_elfin_arm_ikfast_solver.cpp ├── elfin15_ikfast_plugin │ ├── CMakeLists.txt │ ├── elfin15_elfin_arm_moveit_ikfast_plugin_description.xml │ ├── include │ │ └── ikfast.h │ ├── package.xml │ └── src │ │ ├── elfin15_elfin_arm_ikfast_moveit_plugin.cpp │ │ └── elfin15_elfin_arm_ikfast_solver.cpp ├── elfin3_ikfast_plugin │ ├── CMakeLists.txt │ ├── elfin3_elfin_arm_moveit_ikfast_plugin_description.xml │ ├── include │ │ └── ikfast.h │ ├── package.xml │ └── src │ │ ├── elfin3_elfin_arm_ikfast_moveit_plugin.cpp │ │ └── elfin3_elfin_arm_ikfast_solver.cpp ├── elfin5_ikfast_plugin │ ├── CMakeLists.txt │ ├── elfin5_elfin_arm_moveit_ikfast_plugin_description.xml │ ├── include │ │ └── ikfast.h │ ├── package.xml │ └── src │ │ ├── elfin5_elfin_arm_ikfast_moveit_plugin.cpp │ │ └── elfin5_elfin_arm_ikfast_solver.cpp └── elfin5_l_ikfast_plugin │ └── elfin5_l_ikfast_plugin │ ├── CMakeLists.txt │ ├── elfin5_l_elfin_arm_moveit_ikfast_plugin_description.xml │ ├── include │ └── ikfast.h │ ├── package.xml │ ├── src │ ├── elfin5_l_elfin_arm_ikfast_moveit_plugin.cpp │ └── elfin5_l_elfin_arm_ikfast_solver.cpp │ └── update_ikfast_plugin.sh ├── elfin_kinematic_solver ├── CMakeLists.txt ├── include │ ├── elfin_kinematic_solver │ │ └── elfin_kinematic_solver.h │ └── ikfast.h ├── package.xml └── src │ ├── elfin10_ikfast_simple_api.cpp │ ├── elfin10_ikfast_solver_ebl.cpp │ ├── elfin15_ikfast_simple_api.cpp │ ├── elfin15_ikfast_solver_ebl.cpp │ ├── elfin3_ikfast_simple_api.cpp │ ├── elfin3_ikfast_solver_ebl.cpp │ ├── elfin5_ikfast_simple_api.cpp │ └── elfin5_ikfast_solver_ebl.cpp ├── elfin_postrq_joint_trajectory_controller ├── CMakeLists.txt ├── elfin_postrq_joint_trajectory_plugins.xml ├── include │ └── elfin_postrq_joint_trajectory_controller │ │ └── postrq_hw_interface_adapter.h ├── package.xml └── src │ └── elfin_postrq_joint_trajectory_controller.cpp ├── elfin_posvel_joint_trajectory_controller ├── CMakeLists.txt ├── elfin_posvel_joint_trajectory_plugins.xml ├── include │ └── elfin_posvel_joint_trajectory_controller │ │ └── posvel_hw_interface_adapter.h ├── package.xml └── src │ └── elfin_posvel_joint_trajectory_controller.cpp ├── elfin_robot ├── CMakeLists.txt └── package.xml ├── elfin_robot_bringup ├── CMakeLists.txt ├── config │ ├── elfin_arm_control.yaml │ ├── elfin_drivers.yaml │ ├── elfin_module_control.yaml │ └── joint_state_controller.yaml ├── launch │ ├── elfin10_bringup.launch │ ├── elfin10_l_bringup.launch │ ├── elfin15_bringup.launch │ ├── elfin3_bringup.launch │ ├── elfin5_bringup.launch │ ├── elfin5_l_bringup.launch │ ├── elfin_module_bringup.launch │ ├── elfin_module_ros_control.launch │ └── elfin_ros_control.launch ├── package.xml └── script │ ├── cmd_pub.py │ ├── elfin_module_cmd_pub.py │ ├── elfin_module_stop.py │ └── set_velocity_scaling.py ├── elfin_robot_msgs ├── CMakeLists.txt ├── package.xml └── srv │ ├── ElfinIODRead.srv │ ├── ElfinIODWrite.srv │ ├── SetFloat64.srv │ ├── SetInt16.srv │ └── SetString.srv ├── elfin_robot_servo ├── CMakeLists.txt ├── README.md ├── config │ ├── elfin_robot_config.yaml │ ├── pose_tracking_settings.yaml │ └── spacenav_via_teleop_tools.yaml ├── launch │ └── start_moveit_servo.launch ├── package.xml └── src │ └── test.py └── elfin_ros_control ├── CMakeLists.txt ├── include └── elfin_ros_control │ └── elfin_hardware_interface.h ├── package.xml └── src └── elfin_hardware_interface.cpp /.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | devel 3 | logs 4 | to_do 5 | .catkin_workspace 6 | .gitignore 7 | 8 | # delete cach if git ignore doesnt work 9 | # git rm --cached -r . 10 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2017, Han's Robot Co., Ltd. 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | * Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /docs/TorqueFF_HWI.md: -------------------------------------------------------------------------------- 1 | 力矩前馈模式硬件接口 2 | ==== 3 | 4 | 使用硬件接口*elfin_hardware_interface::PosTrqJointInterface*的控制器可以对Elfin进行力矩前馈模式控制。*elfin_ros_controllers*软件包提供了一个简单的例子: *elfin_pos_trq_controllers/JointTrajectoryController*,它的使用方法如下: 5 | 6 | 1. 更改elfin_robot_bringup/config/elfin_arm_control.yaml中的控制器类型: 7 | 8 | ```diff 9 | - elfin_arm_controller: 10 | - type: position_controllers/JointTrajectoryController 11 | - joints: 12 | - - elfin_joint1 13 | - - elfin_joint2 14 | - - elfin_joint3 15 | - - elfin_joint4 16 | - - elfin_joint5 17 | - - elfin_joint6 18 | - constraints: 19 | - goal_time: 0.6 20 | - stopped_velocity_tolerance: 0.1 21 | - stop_trajectory_duration: 0.05 22 | - state_publish_rate: 25 23 | - action_monitor_rate: 10 24 | + elfin_arm_controller: 25 | + type: elfin_pos_trq_controllers/JointTrajectoryController 26 | + joints: 27 | + - elfin_joint1 28 | + - elfin_joint2 29 | + - elfin_joint3 30 | + - elfin_joint4 31 | + - elfin_joint5 32 | + - elfin_joint6 33 | + velocity_ff: 34 | + elfin_joint1: 1 35 | + elfin_joint2: 1 36 | + elfin_joint3: 1 37 | + elfin_joint4: 1 38 | + elfin_joint5: 1 39 | + elfin_joint6: 1 40 | + constraints: 41 | + goal_time: 0.6 42 | + stopped_velocity_tolerance: 0.1 43 | + stop_trajectory_duration: 0.05 44 | + state_publish_rate: 25 45 | + action_monitor_rate: 10 46 | 47 | ``` 48 | 49 | velocity_ff: 此参数会与相应轴的目标速度相乘,以得到相应轴的与速度相关的前馈力矩。 50 | 51 | 2. 按[README.md](../README.md)的说明正常启动机械臂。 -------------------------------------------------------------------------------- /docs/TorqueFF_HWI_english.md: -------------------------------------------------------------------------------- 1 | Torque feed forward mode hardware interface 2 | ==== 3 | 4 | A controller with the hardware interface *'elfin_hardware_interface::PosTrqJointInterface'* can control the Elfin in torque feed forward mode. There is a sample example in the *elfin_ros_controllers* package: *'elfin_pos_trq_controllers/JointTrajectoryController'*. You can use it by the following method. 5 | 6 | 1. Change the controller type in the file *elfin_robot_bringup/config/elfin_arm_control.yaml*: 7 | 8 | ```diff 9 | - elfin_arm_controller: 10 | - type: position_controllers/JointTrajectoryController 11 | - joints: 12 | - - elfin_joint1 13 | - - elfin_joint2 14 | - - elfin_joint3 15 | - - elfin_joint4 16 | - - elfin_joint5 17 | - - elfin_joint6 18 | - constraints: 19 | - goal_time: 0.6 20 | - stopped_velocity_tolerance: 0.1 21 | - stop_trajectory_duration: 0.05 22 | - state_publish_rate: 25 23 | - action_monitor_rate: 10 24 | + elfin_arm_controller: 25 | + type: elfin_pos_trq_controllers/JointTrajectoryController 26 | + joints: 27 | + - elfin_joint1 28 | + - elfin_joint2 29 | + - elfin_joint3 30 | + - elfin_joint4 31 | + - elfin_joint5 32 | + - elfin_joint6 33 | + velocity_ff: 34 | + elfin_joint1: 1 35 | + elfin_joint2: 1 36 | + elfin_joint3: 1 37 | + elfin_joint4: 1 38 | + elfin_joint5: 1 39 | + elfin_joint6: 1 40 | + constraints: 41 | + goal_time: 0.6 42 | + stopped_velocity_tolerance: 0.1 43 | + stop_trajectory_duration: 0.05 44 | + state_publish_rate: 25 45 | + action_monitor_rate: 10 46 | 47 | ``` 48 | 49 | velocity_ff: velocity related feedforward factor. velocity_ff * desired_velocity = velocity_related_feedforward_torque 50 | 51 | 2. Start the robot arm normally as described in the [README_english.md](../README_english.md) -------------------------------------------------------------------------------- /docs/VelTrqFF_HWI.md: -------------------------------------------------------------------------------- 1 | 速度+力矩前馈模式硬件接口 2 | ==== 3 | 4 | 使用硬件接口*elfin_hardware_interface::PosVelTrqJointInterface*的控制器可以对Elfin进行速度+力矩前馈模式控制。**只有使用Version 2版本EtherCAT从站的Elfin有这个接口**。 5 | *elfin_ros_controllers*软件包提供了一个简单的例子: *elfin_pos_vel_controllers/JointTrajectoryController*,它的使用方法如下: 6 | 7 | 1. 更改elfin_robot_bringup/config/elfin_arm_control.yaml中的控制器类型: 8 | 9 | ```diff 10 | - elfin_arm_controller: 11 | - type: position_controllers/JointTrajectoryController 12 | - joints: 13 | - - elfin_joint1 14 | - - elfin_joint2 15 | - - elfin_joint3 16 | - - elfin_joint4 17 | - - elfin_joint5 18 | - - elfin_joint6 19 | - constraints: 20 | - goal_time: 0.6 21 | - stopped_velocity_tolerance: 0.1 22 | - stop_trajectory_duration: 0.05 23 | - state_publish_rate: 25 24 | - action_monitor_rate: 10 25 | + elfin_arm_controller: 26 | + type: elfin_pos_vel_controllers/JointTrajectoryController 27 | + joints: 28 | + - elfin_joint1 29 | + - elfin_joint2 30 | + - elfin_joint3 31 | + - elfin_joint4 32 | + - elfin_joint5 33 | + - elfin_joint6 34 | + constraints: 35 | + goal_time: 0.6 36 | + stopped_velocity_tolerance: 0.1 37 | + stop_trajectory_duration: 0.05 38 | + state_publish_rate: 25 39 | + action_monitor_rate: 10 40 | 41 | ``` 42 | 43 | 前馈速度: 目标速度 44 | 前馈力矩: 0 45 | 46 | 2. 按[README.md](../README.md)的说明正常启动机械臂。 -------------------------------------------------------------------------------- /docs/VelTrqFF_HWI_english.md: -------------------------------------------------------------------------------- 1 | Velocity + Torque feed forward mode hardware interface 2 | ==== 3 | 4 | A controller with the hardware interface *'elfin_hardware_interface::PosVelTrqJointInterface'* can control the Elfin in velocity + torque feed forward mode. **Only a robot with the version 2 of elfin EtherCAT slaves supports this hardware interface**. 5 | There is a sample example in the *elfin_ros_controllers* package: *'elfin_pos_vel_controllers/JointTrajectoryController'*. You can use it by the following method. 6 | 7 | 1. Change the controller type in the file *elfin_robot_bringup/config/elfin_arm_control.yaml*: 8 | 9 | ```diff 10 | - elfin_arm_controller: 11 | - type: position_controllers/JointTrajectoryController 12 | - joints: 13 | - - elfin_joint1 14 | - - elfin_joint2 15 | - - elfin_joint3 16 | - - elfin_joint4 17 | - - elfin_joint5 18 | - - elfin_joint6 19 | - constraints: 20 | - goal_time: 0.6 21 | - stopped_velocity_tolerance: 0.1 22 | - stop_trajectory_duration: 0.05 23 | - state_publish_rate: 25 24 | - action_monitor_rate: 10 25 | + elfin_arm_controller: 26 | + type: elfin_pos_vel_controllers/JointTrajectoryController 27 | + joints: 28 | + - elfin_joint1 29 | + - elfin_joint2 30 | + - elfin_joint3 31 | + - elfin_joint4 32 | + - elfin_joint5 33 | + - elfin_joint6 34 | + constraints: 35 | + goal_time: 0.6 36 | + stopped_velocity_tolerance: 0.1 37 | + stop_trajectory_duration: 0.05 38 | + state_publish_rate: 25 39 | + action_monitor_rate: 10 40 | 41 | ``` 42 | 43 | feedforward velocity: desired velocity 44 | feedforward torque: 0 45 | 46 | 2. Start the robot arm normally as described in the [README_english.md](../README_english.md) -------------------------------------------------------------------------------- /docs/images/485_END.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/docs/images/485_END.png -------------------------------------------------------------------------------- /docs/images/elfin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/docs/images/elfin.png -------------------------------------------------------------------------------- /docs/images/elfin_ethercat_slaves.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/docs/images/elfin_ethercat_slaves.png -------------------------------------------------------------------------------- /docs/images/ethercat_END.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/docs/images/ethercat_END.png -------------------------------------------------------------------------------- /docs/images/execution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/docs/images/execution.png -------------------------------------------------------------------------------- /docs/images/pid_reconfigure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/docs/images/pid_reconfigure.png -------------------------------------------------------------------------------- /docs/images/set_goal_state.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/docs/images/set_goal_state.png -------------------------------------------------------------------------------- /docs/images/set_start_state.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/docs/images/set_start_state.png -------------------------------------------------------------------------------- /docs/images/start_module_controller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/docs/images/start_module_controller.png -------------------------------------------------------------------------------- /docs/images/stop_module_controller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/docs/images/stop_module_controller.png -------------------------------------------------------------------------------- /docs/images/trajectory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/docs/images/trajectory.png -------------------------------------------------------------------------------- /docs/moveit_plugin_tutorial.md: -------------------------------------------------------------------------------- 1 | ### MoveIt! RViz Plugin 使用说明 2 | 3 | 更多说明请见: 4 | http://docs.ros.org/indigo/api/moveit_tutorials/html/doc/ros_visualization/visualization_tutorial.html 5 | 6 | #### 设置起始位置 7 | 8 | 进入"Motion Planning"界面下的Planning选项卡,在"Select Start State"项目下选择"current",然后按下"Update"按钮。 9 | 10 | ![image1](images/set_start_state.png) 11 | 12 | #### 设置目标位置 13 | 14 | 拖动机械臂末端的标记,到任意一个目标位置。 15 | 16 | ![image2](images/set_goal_state.png) 17 | 18 | #### 规划路径 19 | 20 | 设置好起始位置和目标位置后,等待约5s的时间,然后按下"Plan"按键。此时会显示出一条规划好的轨迹。 21 | 22 | ![image3](images/trajectory.png) 23 | 24 | #### 实现路径 25 | 26 | 按下"Execute"按键,机械臂会沿着路径运动。在此过程中,可以按下"Stop"键来让机械臂停止。 27 | 28 | ![image4](images/execution.png) -------------------------------------------------------------------------------- /docs/moveit_plugin_tutorial_english.md: -------------------------------------------------------------------------------- 1 | ### MoveIt! RViz Plugin Tutorial 2 | 3 | More detailed tutorial: 4 | http://docs.ros.org/indigo/api/moveit_tutorials/html/doc/ros_visualization/visualization_tutorial.html 5 | 6 | #### Set start state 7 | 8 | In the “Planning” tab of the “Motion Planning” subwindow, set the "Select Start State" field to “current”. Then click the "Update" button. 9 | 10 | ![image1](images/set_start_state.png) 11 | 12 | #### Set goal state 13 | 14 | Use the marker (which are attached to the tip link of the arm) to drag the arm to a desired goal state. 15 | 16 | ![image2](images/set_goal_state.png) 17 | 18 | #### Plan a trajectory 19 | 20 | After setting the start state and goal state, wait for around 5 seconds, then press the "Plan" button. You should be able to see a visualization of the arm moving. 21 | 22 | ![image3](images/trajectory.png) 23 | 24 | #### Execute the trajectory 25 | 26 | Press the "Execute" button, robot will move as planned. In this process, you can press the "Stop" button to make the robot stop. 27 | 28 | ![image4](images/execution.png) -------------------------------------------------------------------------------- /elfin10_l_moveit_config/.setup_assistant: -------------------------------------------------------------------------------- 1 | moveit_setup_assistant_config: 2 | URDF: 3 | package: elfin_description 4 | relative_path: urdf/elfin10_l.urdf.xacro 5 | xacro_args: "" 6 | SRDF: 7 | relative_path: config/elfin10_l.srdf 8 | CONFIG: 9 | author_name: Burb 10 | author_email: burb@foxmail.com 11 | generated_timestamp: 1648532861 -------------------------------------------------------------------------------- /elfin10_l_moveit_config/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.1.3) 2 | project(elfin10_l_moveit_config) 3 | 4 | find_package(catkin REQUIRED) 5 | 6 | catkin_package() 7 | 8 | install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} 9 | PATTERN "setup_assistant.launch" EXCLUDE) 10 | install(DIRECTORY config DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) 11 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/config/cartesian_limits.yaml: -------------------------------------------------------------------------------- 1 | cartesian_limits: 2 | max_trans_vel: 1 3 | max_trans_acc: 2.25 4 | max_trans_dec: -5 5 | max_rot_vel: 1.57 6 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/config/chomp_planning.yaml: -------------------------------------------------------------------------------- 1 | planning_time_limit: 10.0 2 | max_iterations: 200 3 | max_iterations_after_collision_free: 5 4 | smoothness_cost_weight: 0.1 5 | obstacle_cost_weight: 1.0 6 | learning_rate: 0.01 7 | smoothness_cost_velocity: 0.0 8 | smoothness_cost_acceleration: 1.0 9 | smoothness_cost_jerk: 0.0 10 | ridge_factor: 0.01 11 | use_pseudo_inverse: false 12 | pseudo_inverse_ridge_factor: 1e-4 13 | joint_update_limit: 0.1 14 | collision_clearence: 0.2 15 | collision_threshold: 0.07 16 | use_stochastic_descent: true 17 | enable_failure_recovery: true 18 | max_recovery_attempts: 5 -------------------------------------------------------------------------------- /elfin10_l_moveit_config/config/controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_manager_ns: elfin_controller_manager 2 | controller_list: 3 | - name: elfin_arm_controller 4 | action_ns: follow_joint_trajectory 5 | type: FollowJointTrajectory 6 | default: true 7 | joints: 8 | - elfin_joint1 9 | - elfin_joint2 10 | - elfin_joint3 11 | - elfin_joint4 12 | - elfin_joint5 13 | - elfin_joint6 14 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/config/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_list: 2 | - name: fake_elfin_arm_controller 3 | type: $(arg fake_execution_type) 4 | joints: 5 | - elfin_joint1 6 | - elfin_joint2 7 | - elfin_joint3 8 | - elfin_joint4 9 | - elfin_joint5 10 | - elfin_joint6 11 | - name: fake_elfin_end_group_controller 12 | type: $(arg fake_execution_type) 13 | joints: 14 | [] 15 | initial: # Define initial robot poses. 16 | - group: elfin_arm 17 | pose: home -------------------------------------------------------------------------------- /elfin10_l_moveit_config/config/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 | elfin_joint1: 6 | has_velocity_limits: true 7 | max_velocity: 1.57 8 | has_acceleration_limits: false 9 | max_acceleration: 0 10 | elfin_joint2: 11 | has_velocity_limits: true 12 | max_velocity: 1.57 13 | has_acceleration_limits: false 14 | max_acceleration: 0 15 | elfin_joint3: 16 | has_velocity_limits: true 17 | max_velocity: 1.57 18 | has_acceleration_limits: false 19 | max_acceleration: 0 20 | elfin_joint4: 21 | has_velocity_limits: true 22 | max_velocity: 1.57 23 | has_acceleration_limits: false 24 | max_acceleration: 0 25 | elfin_joint5: 26 | has_velocity_limits: true 27 | max_velocity: 1.57 28 | has_acceleration_limits: false 29 | max_acceleration: 0 30 | elfin_joint6: 31 | has_velocity_limits: true 32 | max_velocity: 1.57 33 | has_acceleration_limits: false 34 | max_acceleration: 0 -------------------------------------------------------------------------------- /elfin10_l_moveit_config/config/kinematics.yaml: -------------------------------------------------------------------------------- 1 | elfin_arm: 2 | kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin 3 | kinematics_solver_search_resolution: 0.005 4 | kinematics_solver_timeout: 0.05 -------------------------------------------------------------------------------- /elfin10_l_moveit_config/config/ros_controllers.yaml: -------------------------------------------------------------------------------- 1 | # Simulation settings for using moveit_sim_controllers 2 | moveit_sim_hw_interface: 3 | joint_model_group: elfin_arm 4 | joint_model_group_pose: home 5 | # Settings for ros_control_boilerplate control loop 6 | generic_hw_control_loop: 7 | loop_hz: 300 8 | cycle_time_error_threshold: 0.01 9 | # Settings for ros_control hardware interface 10 | hardware_interface: 11 | joints: 12 | - elfin_joint1 13 | - elfin_joint2 14 | - elfin_joint3 15 | - elfin_joint4 16 | - elfin_joint5 17 | - elfin_joint6 18 | sim_control_mode: 1 # 0: position, 1: velocity 19 | # Publish all joint states 20 | # Creates the /joint_states topic necessary in ROS 21 | joint_state_controller: 22 | type: joint_state_controller/JointStateController 23 | publish_rate: 50 24 | controller_list: 25 | [] -------------------------------------------------------------------------------- /elfin10_l_moveit_config/config/sensors_3d.yaml: -------------------------------------------------------------------------------- 1 | # The name of this file shouldn't be changed, or else the Setup Assistant won't detect it 2 | sensors: 3 | - {} 4 | - {} 5 | - {} 6 | - {} 7 | - {} -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/chomp_planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/default_warehouse_db.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/elfin10_l_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/elfin10_l_moveit_sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | sensor_plugin: occupancy_map_monitor/PointCloudOctomapUpdater 3 | 4 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/fake_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/gazebo.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/joystick_control.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/moveit_planning_execution.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | # The planning and execution components of MoveIt! configured to 4 | # publish the current configuration of the robot (simulated or real) 5 | # and the current state of the world as seen by the planner 6 | 7 | 8 | 9 | 10 | # The visualization component of MoveIt! 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/moveit_rviz.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/ompl_planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/pilz_industrial_motion_planner_planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/planning_context.launch: -------------------------------------------------------------------------------- 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 | 27 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/ros_controllers.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/run_benchmark_ompl.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/setup_assistant.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/trajectory_execution.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/warehouse.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/launch/warehouse_settings.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /elfin10_l_moveit_config/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | elfin10_l_moveit_config 4 | 0.3.0 5 | 6 | An automatically generated package with all the configuration and launch files for using the elfin10_l with the MoveIt! Motion Planning Framework 7 | 8 | Burb 9 | Burb 10 | 11 | BSD 12 | 13 | http://moveit.ros.org/ 14 | https://github.com/ros-planning/moveit/issues 15 | https://github.com/ros-planning/moveit 16 | 17 | catkin 18 | 19 | moveit_ros_move_group 20 | moveit_fake_controller_manager 21 | moveit_kinematics 22 | moveit_planners_ompl 23 | moveit_ros_visualization 24 | moveit_setup_assistant 25 | moveit_simple_controller_manager 26 | joint_state_publisher 27 | joint_state_publisher_gui 28 | robot_state_publisher 29 | rviz 30 | tf2_ros 31 | xacro 32 | 33 | 34 | elfin_description 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /elfin10_moveit_config/.setup_assistant: -------------------------------------------------------------------------------- 1 | moveit_setup_assistant_config: 2 | URDF: 3 | package: elfin_description 4 | relative_path: urdf/elfin10.urdf.xacro 5 | SRDF: 6 | relative_path: config/elfin10.srdf 7 | CONFIG: 8 | author_name: Cong Liu 9 | author_email: liucong.cdhaw@gmail.com 10 | generated_timestamp: 1512613065 -------------------------------------------------------------------------------- /elfin10_moveit_config/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(elfin10_moveit_config) 3 | 4 | find_package(catkin REQUIRED) 5 | 6 | catkin_package() 7 | 8 | install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} 9 | PATTERN "setup_assistant.launch" EXCLUDE) 10 | install(DIRECTORY config DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) 11 | -------------------------------------------------------------------------------- /elfin10_moveit_config/config/controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_manager_ns: elfin_controller_manager 2 | controller_list: 3 | - name: elfin_arm_controller 4 | action_ns: follow_joint_trajectory 5 | type: FollowJointTrajectory 6 | default: true 7 | joints: 8 | - elfin_joint1 9 | - elfin_joint2 10 | - elfin_joint3 11 | - elfin_joint4 12 | - elfin_joint5 13 | - elfin_joint6 14 | -------------------------------------------------------------------------------- /elfin10_moveit_config/config/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_list: 2 | - name: fake_elfin_arm_controller 3 | joints: 4 | - elfin_joint1 5 | - elfin_joint2 6 | - elfin_joint3 7 | - elfin_joint4 8 | - elfin_joint5 9 | - elfin_joint6 10 | - name: fake_elfin_end_group_controller 11 | joints: 12 | [] -------------------------------------------------------------------------------- /elfin10_moveit_config/config/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 | elfin_joint1: 6 | has_velocity_limits: true 7 | max_velocity: 1.57 8 | has_acceleration_limits: true 9 | max_acceleration: 12.56 10 | elfin_joint2: 11 | has_velocity_limits: true 12 | max_velocity: 1.57 13 | has_acceleration_limits: true 14 | max_acceleration: 12.56 15 | elfin_joint3: 16 | has_velocity_limits: true 17 | max_velocity: 1.57 18 | has_acceleration_limits: true 19 | max_acceleration: 12.56 20 | elfin_joint4: 21 | has_velocity_limits: true 22 | max_velocity: 1.57 23 | has_acceleration_limits: true 24 | max_acceleration: 12.56 25 | elfin_joint5: 26 | has_velocity_limits: true 27 | max_velocity: 1.57 28 | has_acceleration_limits: true 29 | max_acceleration: 12.56 30 | elfin_joint6: 31 | has_velocity_limits: true 32 | max_velocity: 1.57 33 | has_acceleration_limits: true 34 | max_acceleration: 12.56 35 | -------------------------------------------------------------------------------- /elfin10_moveit_config/config/kinematics.yaml: -------------------------------------------------------------------------------- 1 | elfin_arm: 2 | kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin 3 | # kinematics_solver: elfin10_elfin_arm/IKFastKinematicsPlugin 4 | kinematics_solver_attempts: 3 5 | kinematics_solver_search_resolution: 0.005 6 | kinematics_solver_timeout: 0.05 7 | -------------------------------------------------------------------------------- /elfin10_moveit_config/launch/default_warehouse_db.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin10_moveit_config/launch/elfin10_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /elfin10_moveit_config/launch/elfin10_moveit_sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /elfin10_moveit_config/launch/fake_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /elfin10_moveit_config/launch/joystick_control.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /elfin10_moveit_config/launch/moveit_planning_execution.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | # The planning and execution components of MoveIt! configured to 4 | # publish the current configuration of the robot (simulated or real) 5 | # and the current state of the world as seen by the planner 6 | 7 | 8 | 9 | 10 | # The visualization component of MoveIt! 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /elfin10_moveit_config/launch/moveit_rviz.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /elfin10_moveit_config/launch/ompl_planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /elfin10_moveit_config/launch/planning_context.launch: -------------------------------------------------------------------------------- 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 | -------------------------------------------------------------------------------- /elfin10_moveit_config/launch/planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /elfin10_moveit_config/launch/run_benchmark_ompl.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /elfin10_moveit_config/launch/sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /elfin10_moveit_config/launch/setup_assistant.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin10_moveit_config/launch/trajectory_execution.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /elfin10_moveit_config/launch/warehouse.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin10_moveit_config/launch/warehouse_settings.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin10_moveit_config/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | elfin10_moveit_config 4 | 0.3.0 5 | 6 | An automatically generated package with all the configuration and launch files for using the elfin10 with the MoveIt! Motion Planning Framework 7 | 8 | Cong Liu 9 | Cong Liu 10 | 11 | BSD 12 | 13 | http://moveit.ros.org/ 14 | https://github.com/ros-planning/moveit/issues 15 | https://github.com/ros-planning/moveit 16 | 17 | catkin 18 | 19 | moveit_ros_move_group 20 | moveit_kinematics 21 | moveit_planners_ompl 22 | moveit_ros_visualization 23 | joint_state_publisher 24 | robot_state_publisher 25 | xacro 26 | elfin_description 27 | elfin_description 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /elfin15_moveit_config/.setup_assistant: -------------------------------------------------------------------------------- 1 | moveit_setup_assistant_config: 2 | URDF: 3 | package: elfin_description 4 | relative_path: urdf/elfin15.urdf.xacro 5 | xacro_args: "" 6 | SRDF: 7 | relative_path: config/elfin15.srdf 8 | CONFIG: 9 | author_name: Burb 10 | author_email: burb@foxmail.com 11 | generated_timestamp: 1648112914 -------------------------------------------------------------------------------- /elfin15_moveit_config/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.1.3) 2 | project(elfin15_moveit_config) 3 | 4 | find_package(catkin REQUIRED) 5 | 6 | catkin_package() 7 | 8 | install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} 9 | PATTERN "setup_assistant.launch" EXCLUDE) 10 | install(DIRECTORY config DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) 11 | -------------------------------------------------------------------------------- /elfin15_moveit_config/config/cartesian_limits.yaml: -------------------------------------------------------------------------------- 1 | cartesian_limits: 2 | max_trans_vel: 1 3 | max_trans_acc: 2.25 4 | max_trans_dec: -5 5 | max_rot_vel: 1.57 6 | -------------------------------------------------------------------------------- /elfin15_moveit_config/config/chomp_planning.yaml: -------------------------------------------------------------------------------- 1 | planning_time_limit: 10.0 2 | max_iterations: 200 3 | max_iterations_after_collision_free: 5 4 | smoothness_cost_weight: 0.1 5 | obstacle_cost_weight: 1.0 6 | learning_rate: 0.01 7 | smoothness_cost_velocity: 0.0 8 | smoothness_cost_acceleration: 1.0 9 | smoothness_cost_jerk: 0.0 10 | ridge_factor: 0.01 11 | use_pseudo_inverse: false 12 | pseudo_inverse_ridge_factor: 1e-4 13 | joint_update_limit: 0.1 14 | collision_clearence: 0.2 15 | collision_threshold: 0.07 16 | use_stochastic_descent: true 17 | enable_failure_recovery: true 18 | max_recovery_attempts: 5 -------------------------------------------------------------------------------- /elfin15_moveit_config/config/controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_manager_ns: elfin_controller_manager 2 | controller_list: 3 | - name: elfin_arm_controller 4 | action_ns: follow_joint_trajectory 5 | type: FollowJointTrajectory 6 | default: true 7 | joints: 8 | - elfin_joint1 9 | - elfin_joint2 10 | - elfin_joint3 11 | - elfin_joint4 12 | - elfin_joint5 13 | - elfin_joint6 14 | -------------------------------------------------------------------------------- /elfin15_moveit_config/config/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_list: 2 | - name: fake_elfin_arm_controller 3 | type: $(arg fake_execution_type) 4 | joints: 5 | - elfin_joint1 6 | - elfin_joint2 7 | - elfin_joint3 8 | - elfin_joint4 9 | - elfin_joint5 10 | - elfin_joint6 11 | - name: fake_elfin_end_group_controller 12 | type: $(arg fake_execution_type) 13 | joints: 14 | [] 15 | initial: # Define initial robot poses. 16 | - group: elfin_arm 17 | pose: home -------------------------------------------------------------------------------- /elfin15_moveit_config/config/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 | elfin_joint1: 6 | has_velocity_limits: true 7 | max_velocity: 1.57 8 | has_acceleration_limits: false 9 | max_acceleration: 0 10 | elfin_joint2: 11 | has_velocity_limits: true 12 | max_velocity: 1.57 13 | has_acceleration_limits: false 14 | max_acceleration: 0 15 | elfin_joint3: 16 | has_velocity_limits: true 17 | max_velocity: 1.57 18 | has_acceleration_limits: false 19 | max_acceleration: 0 20 | elfin_joint4: 21 | has_velocity_limits: true 22 | max_velocity: 1.57 23 | has_acceleration_limits: false 24 | max_acceleration: 0 25 | elfin_joint5: 26 | has_velocity_limits: true 27 | max_velocity: 1.57 28 | has_acceleration_limits: false 29 | max_acceleration: 0 30 | elfin_joint6: 31 | has_velocity_limits: true 32 | max_velocity: 1.57 33 | has_acceleration_limits: false 34 | max_acceleration: 0 -------------------------------------------------------------------------------- /elfin15_moveit_config/config/kinematics.yaml: -------------------------------------------------------------------------------- 1 | elfin_arm: 2 | kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin 3 | # kinematics_solver: elfin15_elfin_arm_kinematics/IKFastKinematicsPlugin 4 | kinematics_solver_search_resolution: 0.005 5 | kinematics_solver_timeout: 0.005 6 | -------------------------------------------------------------------------------- /elfin15_moveit_config/config/ros_controllers.yaml: -------------------------------------------------------------------------------- 1 | # Simulation settings for using moveit_sim_controllers 2 | moveit_sim_hw_interface: 3 | joint_model_group: elfin_arm 4 | joint_model_group_pose: home 5 | # Settings for ros_control_boilerplate control loop 6 | generic_hw_control_loop: 7 | loop_hz: 300 8 | cycle_time_error_threshold: 0.01 9 | # Settings for ros_control hardware interface 10 | hardware_interface: 11 | joints: 12 | - elfin_joint1 13 | - elfin_joint2 14 | - elfin_joint3 15 | - elfin_joint4 16 | - elfin_joint5 17 | - elfin_joint6 18 | sim_control_mode: 1 # 0: position, 1: velocity 19 | # Publish all joint states 20 | # Creates the /joint_states topic necessary in ROS 21 | joint_state_controller: 22 | type: joint_state_controller/JointStateController 23 | publish_rate: 50 24 | controller_list: 25 | [] -------------------------------------------------------------------------------- /elfin15_moveit_config/config/sensors_3d.yaml: -------------------------------------------------------------------------------- 1 | # The name of this file shouldn't be changed, or else the Setup Assistant won't detect it 2 | sensors: 3 | - filtered_cloud_topic: filtered_cloud 4 | max_range: 5.0 5 | max_update_rate: 1.0 6 | padding_offset: 0.1 7 | padding_scale: 1.0 8 | point_cloud_topic: /head_mount_kinect/depth_registered/points 9 | point_subsample: 1 10 | sensor_plugin: occupancy_map_monitor/PointCloudOctomapUpdater 11 | - far_clipping_plane_distance: 5.0 12 | filtered_cloud_topic: filtered_cloud 13 | image_topic: /head_mount_kinect/depth_registered/image_raw 14 | max_range: 5.0 15 | max_update_rate: 1.0 16 | near_clipping_plane_distance: 0.3 17 | padding_offset: 0.03 18 | padding_scale: 4.0 19 | point_cloud_topic: /head_mount_kinect/depth_registered/points 20 | point_subsample: 1 21 | queue_size: 5 22 | sensor_plugin: occupancy_map_monitor/DepthImageOctomapUpdater 23 | shadow_threshold: 0.2 24 | - filtered_cloud_topic: filtered_cloud 25 | max_range: 5.0 26 | max_update_rate: 1.0 27 | padding_offset: 0.1 28 | padding_scale: 1.0 29 | point_cloud_topic: /head_mount_kinect/depth_registered/points 30 | point_subsample: 1 31 | sensor_plugin: occupancy_map_monitor/PointCloudOctomapUpdater -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/chomp_planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/default_warehouse_db.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/elfin15_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/elfin15_moveit_sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/fake_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/gazebo.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/joystick_control.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/moveit_planning_execution.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | # The planning and execution components of MoveIt! configured to 4 | # publish the current configuration of the robot (simulated or real) 5 | # and the current state of the world as seen by the planner 6 | 7 | 8 | 9 | 10 | # The visualization component of MoveIt! 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/moveit_rviz.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/ompl_planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/pilz_industrial_motion_planner_planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/planning_context.launch: -------------------------------------------------------------------------------- 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 | 27 | -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/ros_controllers.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/run_benchmark_ompl.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/setup_assistant.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/trajectory_execution.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/warehouse.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin15_moveit_config/launch/warehouse_settings.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /elfin15_moveit_config/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | elfin15_moveit_config 4 | 0.3.0 5 | 6 | An automatically generated package with all the configuration and launch files for using the elfin15 with the MoveIt! Motion Planning Framework 7 | 8 | Burb 9 | Burb 10 | 11 | BSD 12 | 13 | http://moveit.ros.org/ 14 | https://github.com/ros-planning/moveit/issues 15 | https://github.com/ros-planning/moveit 16 | 17 | catkin 18 | 19 | moveit_ros_move_group 20 | moveit_fake_controller_manager 21 | moveit_kinematics 22 | moveit_planners_ompl 23 | moveit_ros_visualization 24 | moveit_setup_assistant 25 | moveit_simple_controller_manager 26 | joint_state_publisher 27 | joint_state_publisher_gui 28 | robot_state_publisher 29 | rviz 30 | tf2_ros 31 | xacro 32 | 33 | 34 | elfin_description 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /elfin3_moveit_config/.setup_assistant: -------------------------------------------------------------------------------- 1 | moveit_setup_assistant_config: 2 | URDF: 3 | package: elfin_description 4 | relative_path: urdf/elfin3.urdf.xacro 5 | SRDF: 6 | relative_path: config/elfin3.srdf 7 | CONFIG: 8 | author_name: Cong Liu 9 | author_email: liucong.cdhaw@gmail.com 10 | generated_timestamp: 1511853003 -------------------------------------------------------------------------------- /elfin3_moveit_config/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(elfin3_moveit_config) 3 | 4 | find_package(catkin REQUIRED) 5 | 6 | catkin_package() 7 | 8 | install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} 9 | PATTERN "setup_assistant.launch" EXCLUDE) 10 | install(DIRECTORY config DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) 11 | -------------------------------------------------------------------------------- /elfin3_moveit_config/config/controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_manager_ns: elfin_controller_manager 2 | controller_list: 3 | - name: elfin_arm_controller 4 | action_ns: follow_joint_trajectory 5 | type: FollowJointTrajectory 6 | default: true 7 | joints: 8 | - elfin_joint1 9 | - elfin_joint2 10 | - elfin_joint3 11 | - elfin_joint4 12 | - elfin_joint5 13 | - elfin_joint6 14 | -------------------------------------------------------------------------------- /elfin3_moveit_config/config/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_list: 2 | - name: fake_elfin_arm_controller 3 | joints: 4 | - elfin_joint1 5 | - elfin_joint2 6 | - elfin_joint3 7 | - elfin_joint4 8 | - elfin_joint5 9 | - elfin_joint6 10 | - name: fake_elfin_end_group_controller 11 | joints: 12 | [] -------------------------------------------------------------------------------- /elfin3_moveit_config/config/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 | elfin_joint1: 6 | has_velocity_limits: true 7 | max_velocity: 1.57 8 | has_acceleration_limits: true 9 | max_acceleration: 12.56 10 | elfin_joint2: 11 | has_velocity_limits: true 12 | max_velocity: 1.57 13 | has_acceleration_limits: true 14 | max_acceleration: 12.56 15 | elfin_joint3: 16 | has_velocity_limits: true 17 | max_velocity: 1.57 18 | has_acceleration_limits: true 19 | max_acceleration: 12.56 20 | elfin_joint4: 21 | has_velocity_limits: true 22 | max_velocity: 1.57 23 | has_acceleration_limits: true 24 | max_acceleration: 12.56 25 | elfin_joint5: 26 | has_velocity_limits: true 27 | max_velocity: 1.57 28 | has_acceleration_limits: true 29 | max_acceleration: 12.56 30 | elfin_joint6: 31 | has_velocity_limits: true 32 | max_velocity: 1.57 33 | has_acceleration_limits: true 34 | max_acceleration: 12.56 35 | -------------------------------------------------------------------------------- /elfin3_moveit_config/config/kinematics.yaml: -------------------------------------------------------------------------------- 1 | elfin_arm: 2 | kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin 3 | # kinematics_solver: elfin3_elfin_arm_kinematics/IKFastKinematicsPlugin 4 | kinematics_solver_attempts: 3 5 | kinematics_solver_search_resolution: 0.005 6 | kinematics_solver_timeout: 0.05 7 | -------------------------------------------------------------------------------- /elfin3_moveit_config/launch/default_warehouse_db.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin3_moveit_config/launch/demo.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | [/move_group/fake_controller_joint_states] 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /elfin3_moveit_config/launch/elfin3_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /elfin3_moveit_config/launch/elfin3_moveit_sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /elfin3_moveit_config/launch/fake_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /elfin3_moveit_config/launch/joystick_control.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /elfin3_moveit_config/launch/moveit_planning_execution.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | # The planning and execution components of MoveIt! configured to 4 | # publish the current configuration of the robot (simulated or real) 5 | # and the current state of the world as seen by the planner 6 | 7 | 8 | 9 | 10 | # The visualization component of MoveIt! 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /elfin3_moveit_config/launch/moveit_rviz.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /elfin3_moveit_config/launch/ompl_planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /elfin3_moveit_config/launch/planning_context.launch: -------------------------------------------------------------------------------- 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 | -------------------------------------------------------------------------------- /elfin3_moveit_config/launch/planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /elfin3_moveit_config/launch/run_benchmark_ompl.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /elfin3_moveit_config/launch/sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /elfin3_moveit_config/launch/setup_assistant.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin3_moveit_config/launch/trajectory_execution.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /elfin3_moveit_config/launch/warehouse.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin3_moveit_config/launch/warehouse_settings.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin3_moveit_config/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | elfin3_moveit_config 4 | 0.3.0 5 | 6 | An automatically generated package with all the configuration and launch files for using the elfin3 with the MoveIt! Motion Planning Framework 7 | 8 | Cong Liu 9 | Cong Liu 10 | 11 | BSD 12 | 13 | http://moveit.ros.org/ 14 | https://github.com/ros-planning/moveit/issues 15 | https://github.com/ros-planning/moveit 16 | 17 | catkin 18 | 19 | moveit_ros_move_group 20 | moveit_kinematics 21 | moveit_planners_ompl 22 | moveit_ros_visualization 23 | joint_state_publisher 24 | robot_state_publisher 25 | xacro 26 | elfin_description 27 | elfin_description 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/.setup_assistant: -------------------------------------------------------------------------------- 1 | moveit_setup_assistant_config: 2 | URDF: 3 | package: elfin_description 4 | relative_path: urdf/elfin5_l.urdf.xacro 5 | xacro_args: "" 6 | SRDF: 7 | relative_path: config/elfin5_l.srdf 8 | CONFIG: 9 | author_name: Burb 10 | author_email: burb@foxmail.com 11 | generated_timestamp: 1648902026 -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.1.3) 2 | project(elfin5_l_moveit_config) 3 | 4 | find_package(catkin REQUIRED) 5 | 6 | catkin_package() 7 | 8 | install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} 9 | PATTERN "setup_assistant.launch" EXCLUDE) 10 | install(DIRECTORY config DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) 11 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/config/controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_manager_ns: elfin_controller_manager 2 | controller_list: 3 | - name: elfin_arm_controller 4 | action_ns: follow_joint_trajectory 5 | type: FollowJointTrajectory 6 | default: true 7 | joints: 8 | - elfin_joint1 9 | - elfin_joint2 10 | - elfin_joint3 11 | - elfin_joint4 12 | - elfin_joint5 13 | - elfin_joint6 14 | constraints: 15 | goal_time: 0.6 16 | stopped_velocity_tolerance: 0.1 17 | stop_trajectory_duration: 0.05 18 | state_publish_rate: 100 19 | action_monitor_rate: 10 20 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/config/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_list: 2 | - name: fake_elfin_arm_controller 3 | joints: 4 | - elfin_joint1 5 | - elfin_joint2 6 | - elfin_joint3 7 | - elfin_joint4 8 | - elfin_joint5 9 | - elfin_joint6 10 | - name: fake_elfin_end_group_controller 11 | joints: 12 | [] 13 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/config/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 | elfin_joint1: 6 | has_velocity_limits: true 7 | max_velocity: 1.57 8 | has_acceleration_limits: false 9 | max_acceleration: 0 10 | elfin_joint2: 11 | has_velocity_limits: true 12 | max_velocity: 1.57 13 | has_acceleration_limits: false 14 | max_acceleration: 0 15 | elfin_joint3: 16 | has_velocity_limits: true 17 | max_velocity: 1.57 18 | has_acceleration_limits: false 19 | max_acceleration: 0 20 | elfin_joint4: 21 | has_velocity_limits: true 22 | max_velocity: 1.57 23 | has_acceleration_limits: false 24 | max_acceleration: 0 25 | elfin_joint5: 26 | has_velocity_limits: true 27 | max_velocity: 1.57 28 | has_acceleration_limits: false 29 | max_acceleration: 0 30 | elfin_joint6: 31 | has_velocity_limits: true 32 | max_velocity: 1.57 33 | has_acceleration_limits: false 34 | max_acceleration: 0 -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/config/kinematics.yaml: -------------------------------------------------------------------------------- 1 | elfin_arm: 2 | kinematics_solver: elfin5_l_elfin_arm/IKFastKinematicsPlugin 3 | kinematics_solver_search_resolution: 0.005 4 | kinematics_solver_timeout: 0.005 5 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/launch/default_warehouse_db.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/launch/elfin5_l_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/launch/elfin5_l_moveit_sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/launch/fake_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/launch/joystick_control.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/launch/moveit_planning_execution.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | # The planning and execution components of MoveIt! configured to 4 | # publish the current configuration of the robot (simulated or real) 5 | # and the current state of the world as seen by the planner 6 | 7 | 8 | 9 | 10 | # The visualization component of MoveIt! 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/launch/moveit_rviz.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/launch/ompl_planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/launch/planning_context.launch: -------------------------------------------------------------------------------- 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 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/launch/planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/launch/run_benchmark_ompl.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/launch/sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/launch/setup_assistant.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/launch/trajectory_execution.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/launch/warehouse.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/launch/warehouse_settings.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin5_l_moveit_config/elfin5_l_moveit_config/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | elfin5_l_moveit_config 4 | 0.3.0 5 | 6 | An automatically generated package with all the configuration and launch files for using the elfin5_l with the MoveIt! Motion Planning Framework 7 | 8 | Burb 9 | Burb 10 | 11 | BSD 12 | 13 | http://moveit.ros.org/ 14 | https://github.com/ros-planning/moveit/issues 15 | https://github.com/ros-planning/moveit 16 | 17 | catkin 18 | 19 | moveit_ros_move_group 20 | moveit_fake_controller_manager 21 | moveit_kinematics 22 | moveit_planners_ompl 23 | moveit_ros_visualization 24 | moveit_setup_assistant 25 | moveit_simple_controller_manager 26 | joint_state_publisher 27 | joint_state_publisher_gui 28 | robot_state_publisher 29 | rviz 30 | tf2_ros 31 | xacro 32 | 33 | 34 | elfin_description 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /elfin5_moveit_config/.setup_assistant: -------------------------------------------------------------------------------- 1 | moveit_setup_assistant_config: 2 | URDF: 3 | package: elfin_description 4 | relative_path: urdf/elfin5.urdf.xacro 5 | SRDF: 6 | relative_path: config/elfin5.srdf 7 | CONFIG: 8 | author_name: Cong Liu 9 | author_email: liucong.cdhaw@gmail.com 10 | generated_timestamp: 1512628703 -------------------------------------------------------------------------------- /elfin5_moveit_config/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(elfin5_moveit_config) 3 | 4 | find_package(catkin REQUIRED) 5 | 6 | catkin_package() 7 | 8 | install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} 9 | PATTERN "setup_assistant.launch" EXCLUDE) 10 | install(DIRECTORY config DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) 11 | -------------------------------------------------------------------------------- /elfin5_moveit_config/config/controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_manager_ns: elfin_controller_manager 2 | controller_list: 3 | - name: elfin_arm_controller 4 | action_ns: follow_joint_trajectory 5 | type: FollowJointTrajectory 6 | default: true 7 | joints: 8 | - elfin_joint1 9 | - elfin_joint2 10 | - elfin_joint3 11 | - elfin_joint4 12 | - elfin_joint5 13 | - elfin_joint6 14 | -------------------------------------------------------------------------------- /elfin5_moveit_config/config/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_list: 2 | - name: fake_elfin_arm_controller 3 | joints: 4 | - elfin_joint1 5 | - elfin_joint2 6 | - elfin_joint3 7 | - elfin_joint4 8 | - elfin_joint5 9 | - elfin_joint6 10 | - name: fake_elfin_end_group_controller 11 | joints: 12 | [] -------------------------------------------------------------------------------- /elfin5_moveit_config/config/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 | elfin_joint1: 6 | has_velocity_limits: true 7 | max_velocity: 1.57 8 | has_acceleration_limits: true 9 | max_acceleration: 12.56 10 | elfin_joint2: 11 | has_velocity_limits: true 12 | max_velocity: 1.57 13 | has_acceleration_limits: true 14 | max_acceleration: 12.56 15 | elfin_joint3: 16 | has_velocity_limits: true 17 | max_velocity: 1.57 18 | has_acceleration_limits: true 19 | max_acceleration: 12.56 20 | elfin_joint4: 21 | has_velocity_limits: true 22 | max_velocity: 1.57 23 | has_acceleration_limits: true 24 | max_acceleration: 12.56 25 | elfin_joint5: 26 | has_velocity_limits: true 27 | max_velocity: 1.57 28 | has_acceleration_limits: true 29 | max_acceleration: 12.56 30 | elfin_joint6: 31 | has_velocity_limits: true 32 | max_velocity: 1.57 33 | has_acceleration_limits: true 34 | max_acceleration: 12.56 35 | -------------------------------------------------------------------------------- /elfin5_moveit_config/config/kinematics.yaml: -------------------------------------------------------------------------------- 1 | elfin_arm: 2 | kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin 3 | # kinematics_solver: elfin5_elfin_arm/IKFastKinematicsPlugin 4 | kinematics_solver_search_resolution: 0.005 5 | kinematics_solver_timeout: 0.05 6 | -------------------------------------------------------------------------------- /elfin5_moveit_config/launch/default_warehouse_db.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin5_moveit_config/launch/demo.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | [/move_group/fake_controller_joint_states] 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /elfin5_moveit_config/launch/elfin5_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /elfin5_moveit_config/launch/elfin5_moveit_sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /elfin5_moveit_config/launch/fake_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /elfin5_moveit_config/launch/joystick_control.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /elfin5_moveit_config/launch/moveit_planning_execution.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | # The planning and execution components of MoveIt! configured to 4 | # publish the current configuration of the robot (simulated or real) 5 | # and the current state of the world as seen by the planner 6 | 7 | 8 | 9 | 10 | # The visualization component of MoveIt! 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /elfin5_moveit_config/launch/moveit_rviz.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /elfin5_moveit_config/launch/ompl_planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /elfin5_moveit_config/launch/planning_context.launch: -------------------------------------------------------------------------------- 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 | -------------------------------------------------------------------------------- /elfin5_moveit_config/launch/planning_pipeline.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /elfin5_moveit_config/launch/run_benchmark_ompl.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /elfin5_moveit_config/launch/sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /elfin5_moveit_config/launch/setup_assistant.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin5_moveit_config/launch/trajectory_execution.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /elfin5_moveit_config/launch/warehouse.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin5_moveit_config/launch/warehouse_settings.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /elfin5_moveit_config/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | elfin5_moveit_config 4 | 0.3.0 5 | 6 | An automatically generated package with all the configuration and launch files for using the elfin5 with the MoveIt! Motion Planning Framework 7 | 8 | Cong Liu 9 | Cong Liu 10 | 11 | BSD 12 | 13 | http://moveit.ros.org/ 14 | https://github.com/ros-planning/moveit/issues 15 | https://github.com/ros-planning/moveit 16 | 17 | catkin 18 | 19 | moveit_ros_move_group 20 | moveit_kinematics 21 | moveit_planners_ompl 22 | moveit_ros_visualization 23 | joint_state_publisher 24 | robot_state_publisher 25 | xacro 26 | elfin_description 27 | elfin_description 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /elfin_basic_api/cfg/ElfinBasicAPIDynamicReconfigure.cfg: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | PACKAGE = "elfin_basic_api" 3 | 4 | from dynamic_reconfigure.parameter_generator_catkin import * 5 | 6 | gen = ParameterGenerator() 7 | 8 | gen.add("velocity_scaling", double_t, 0, "the max velocity scaling", 0.4, 0.01, 1.0) 9 | 10 | exit(gen.generate(PACKAGE, PACKAGE, "ElfinBasicAPIDynamicReconfigure")) 11 | -------------------------------------------------------------------------------- /elfin_basic_api/fix_it: -------------------------------------------------------------------------------- 1 | Eigen::Affine3d 2 Eigen::Isometry3d 2 | -------------------------------------------------------------------------------- /elfin_basic_api/include/elfin_basic_api/elfin_basic_api_const.h: -------------------------------------------------------------------------------- 1 | /* 2 | Created on Mon Dec 15 10:20:30 2017 3 | 4 | @author: Cong Liu 5 | 6 | Software License Agreement (BSD License) 7 | 8 | Copyright (c) 2017, Han's Robot Co., Ltd. 9 | All rights reserved. 10 | 11 | Redistribution and use in source and binary forms, with or without 12 | modification, are permitted provided that the following conditions 13 | are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | * Redistributions in binary form must reproduce the above 18 | copyright notice, this list of conditions and the following 19 | disclaimer in the documentation and/or other materials provided 20 | with the distribution. 21 | * Neither the name of the copyright holders nor the names of its 22 | contributors may be used to endorse or promote products derived 23 | from this software without specific prior written permission. 24 | 25 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 26 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 27 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 28 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 29 | COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 30 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 31 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 32 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 33 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 35 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 36 | POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | // author: Cong Liu 39 | 40 | #ifndef ELFIN_BASIC_API_CONST_H 41 | #define ELFIN_BASIC_API_CONST_H 42 | 43 | namespace elfin_basic_api { 44 | const double JOINT_SPEED_LIMIT_CONST=1.57; // rad per second 45 | const double JOINT_SPEED_DEFAULT_CONST=0.78; // rad per second 46 | const double CART_DURATION_DEFAULT_CONST=0.04; // second 47 | } 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /elfin_basic_api/include/elfin_basic_api/elfin_basic_api_node.h: -------------------------------------------------------------------------------- 1 | /* 2 | Created on Thurs Nov 16 09:42:20 2017 3 | 4 | @author: Cong Liu 5 | 6 | Software License Agreement (BSD License) 7 | 8 | Copyright (c) 2017, Han's Robot Co., Ltd. 9 | All rights reserved. 10 | 11 | Redistribution and use in source and binary forms, with or without 12 | modification, are permitted provided that the following conditions 13 | are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | * Redistributions in binary form must reproduce the above 18 | copyright notice, this list of conditions and the following 19 | disclaimer in the documentation and/or other materials provided 20 | with the distribution. 21 | * Neither the name of the copyright holders nor the names of its 22 | contributors may be used to endorse or promote products derived 23 | from this software without specific prior written permission. 24 | 25 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 26 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 27 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 28 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 29 | COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 30 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 31 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 32 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 33 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 35 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 36 | POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | // author: Cong Liu 39 | 40 | #ifndef ELFIN_BASIC_API_NODE_H 41 | #define ELFIN_BASIC_API_NODE_H 42 | 43 | #include "elfin_basic_api/elfin_basic_api.h" 44 | #include 45 | 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /elfin_basic_api/launch/elfin_basic_api.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /elfin_basic_api/src/btn_icon/End_btn0_high.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_basic_api/src/btn_icon/End_btn0_high.png -------------------------------------------------------------------------------- /elfin_basic_api/src/btn_icon/End_btn0_low.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_basic_api/src/btn_icon/End_btn0_low.png -------------------------------------------------------------------------------- /elfin_basic_api/src/btn_icon/End_btn1_high.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_basic_api/src/btn_icon/End_btn1_high.png -------------------------------------------------------------------------------- /elfin_basic_api/src/btn_icon/End_btn1_low.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_basic_api/src/btn_icon/End_btn1_low.png -------------------------------------------------------------------------------- /elfin_basic_api/src/btn_icon/End_btn2_high.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_basic_api/src/btn_icon/End_btn2_high.png -------------------------------------------------------------------------------- /elfin_basic_api/src/btn_icon/End_btn2_low.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_basic_api/src/btn_icon/End_btn2_low.png -------------------------------------------------------------------------------- /elfin_basic_api/src/btn_icon/End_btn3_high.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_basic_api/src/btn_icon/End_btn3_high.png -------------------------------------------------------------------------------- /elfin_basic_api/src/btn_icon/End_btn3_low.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_basic_api/src/btn_icon/End_btn3_low.png -------------------------------------------------------------------------------- /elfin_description/launch/display.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /elfin_description/meshes/elfin10/elfin_base_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin10/elfin_base_link.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin10/elfin_end_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin10/elfin_end_link.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin10/elfin_link1.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin10/elfin_link1.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin10/elfin_link2.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin10/elfin_link2.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin10/elfin_link3.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin10/elfin_link3.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin10/elfin_link4.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin10/elfin_link4.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin10/elfin_link5.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin10/elfin_link5.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin10/elfin_link6.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin10/elfin_link6.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin10_l/elfin_base.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin10_l/elfin_base.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin10_l/elfin_link1.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin10_l/elfin_link1.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin10_l/elfin_link2.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin10_l/elfin_link2.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin10_l/elfin_link3.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin10_l/elfin_link3.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin10_l/elfin_link4.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin10_l/elfin_link4.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin10_l/elfin_link5.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin10_l/elfin_link5.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin10_l/elfin_link6.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin10_l/elfin_link6.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin15/elfin_base.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin15/elfin_base.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin15/elfin_end_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin15/elfin_end_link.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin15/elfin_link1.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin15/elfin_link1.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin15/elfin_link2.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin15/elfin_link2.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin15/elfin_link3.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin15/elfin_link3.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin15/elfin_link4.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin15/elfin_link4.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin15/elfin_link5.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin15/elfin_link5.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin15/elfin_link6.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin15/elfin_link6.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin3/elfin_base.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin3/elfin_base.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin3/elfin_end_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin3/elfin_end_link.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin3/elfin_link1.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin3/elfin_link1.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin3/elfin_link2.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin3/elfin_link2.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin3/elfin_link3.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin3/elfin_link3.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin3/elfin_link4.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin3/elfin_link4.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin3/elfin_link5.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin3/elfin_link5.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin3/elfin_link6.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin3/elfin_link6.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin5/elfin_base.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin5/elfin_base.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin5/elfin_link1.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin5/elfin_link1.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin5/elfin_link2.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin5/elfin_link2.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin5/elfin_link3.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin5/elfin_link3.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin5/elfin_link4.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin5/elfin_link4.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin5/elfin_link5.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin5/elfin_link5.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin5/elfin_link6.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin5/elfin_link6.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin5_l/elfin_base.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin5_l/elfin_base.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin5_l/elfin_end_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin5_l/elfin_end_link.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin5_l/elfin_link1.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin5_l/elfin_link1.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin5_l/elfin_link2.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin5_l/elfin_link2.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin5_l/elfin_link3.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin5_l/elfin_link3.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin5_l/elfin_link4.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin5_l/elfin_link4.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin5_l/elfin_link5.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin5_l/elfin_link5.STL -------------------------------------------------------------------------------- /elfin_description/meshes/elfin5_l/elfin_link6.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hans-robot/elfin_robot/4f4ba13a2637769270287d8e87257575befae94c/elfin_description/meshes/elfin5_l/elfin_link6.STL -------------------------------------------------------------------------------- /elfin_description/urdf/elfin_robot.gazebo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | gazebo_ros_control/DefaultRobotHWSim 8 | true 9 | 10 | 11 | 12 | 13 | 14 | 15 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /elfin_description/urdf/materials.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 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /elfin_description/urdf/modules/modules.gazebo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /elfin_description/urdf/modules/modules_transmission.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | transmission_interface/SimpleTransmission 6 | 7 | PositionJointInterface 8 | 9 | 10 | 1 11 | 12 | 13 | 14 | 15 | transmission_interface/SimpleTransmission 16 | 17 | PositionJointInterface 18 | 19 | 20 | 1 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /elfin_gazebo/config/elfin_arm_control.yaml: -------------------------------------------------------------------------------- 1 | elfin_arm_controller: 2 | type: position_controllers/JointTrajectoryController 3 | joints: 4 | - elfin_joint1 5 | - elfin_joint2 6 | - elfin_joint3 7 | - elfin_joint4 8 | - elfin_joint5 9 | - elfin_joint6 10 | constraints: 11 | goal_time: 0.6 12 | stopped_velocity_tolerance: 0.1 13 | 14 | stop_trajectory_duration: 0.05 15 | state_publish_rate: 25 16 | action_monitor_rate: 10 17 | -------------------------------------------------------------------------------- /elfin_gazebo/config/elfin_module_control.yaml: -------------------------------------------------------------------------------- 1 | elfin_module_controller: 2 | type: position_controllers/JointTrajectoryController 3 | joints: 4 | - elfin_module_joint1 5 | - elfin_module_joint2 6 | 7 | constraints: 8 | goal_time: 0.6 9 | stopped_velocity_tolerance: 0.1 10 | 11 | stop_trajectory_duration: 0.05 12 | state_publish_rate: 50 13 | action_monitor_rate: 10 14 | -------------------------------------------------------------------------------- /elfin_gazebo/config/joint_state_controller.yaml: -------------------------------------------------------------------------------- 1 | joint_state_controller: 2 | type: joint_state_controller/JointStateController 3 | publish_rate: 50 4 | -------------------------------------------------------------------------------- /elfin_gazebo/launch/elfin10_empty_world.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /elfin_gazebo/launch/elfin10_l_empty_world.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /elfin_gazebo/launch/elfin15_empty_world.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /elfin_gazebo/launch/elfin3_empty_world.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /elfin_gazebo/launch/elfin5_empty_world.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /elfin_gazebo/launch/elfin5_l_empty_world.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /elfin_gazebo/launch/elfin_module_empty_world.launch: -------------------------------------------------------------------------------- 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 | -------------------------------------------------------------------------------- /elfin_ikfast_plugins/elfin10_ikfast_plugin/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.12) 2 | project(elfin10_ikfast_plugin) 3 | 4 | add_compile_options(-std=c++11) 5 | 6 | find_package(catkin REQUIRED COMPONENTS 7 | moveit_core 8 | pluginlib 9 | roscpp 10 | tf_conversions 11 | tf2_kdl 12 | tf2_eigen 13 | eigen_conversions 14 | ) 15 | 16 | include_directories(${catkin_INCLUDE_DIRS}) 17 | 18 | catkin_package( 19 | LIBRARIES 20 | CATKIN_DEPENDS 21 | moveit_core 22 | pluginlib 23 | roscpp 24 | tf_conversions 25 | tf2_kdl 26 | tf2_eigen 27 | eigen_conversions 28 | ) 29 | 30 | include_directories(include) 31 | 32 | set(IKFAST_LIBRARY_NAME elfin10_elfin_arm_moveit_ikfast_plugin) 33 | 34 | find_package(LAPACK REQUIRED) 35 | 36 | add_library(${IKFAST_LIBRARY_NAME} src/elfin10_elfin_arm_ikfast_moveit_plugin.cpp) 37 | target_link_libraries(${IKFAST_LIBRARY_NAME} ${catkin_LIBRARIES} ${Boost_LIBRARIES} ${LAPACK_LIBRARIES}) 38 | 39 | install(TARGETS ${IKFAST_LIBRARY_NAME} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}) 40 | 41 | install( 42 | FILES 43 | elfin10_elfin_arm_moveit_ikfast_plugin_description.xml 44 | DESTINATION 45 | ${CATKIN_PACKAGE_SHARE_DESTINATION} 46 | ) 47 | -------------------------------------------------------------------------------- /elfin_ikfast_plugins/elfin10_ikfast_plugin/elfin10_elfin_arm_moveit_ikfast_plugin_description.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | IKFast61 plugin for closed-form kinematics of elfin10 elfin_arm 4 | 5 | 6 | -------------------------------------------------------------------------------- /elfin_ikfast_plugins/elfin15_ikfast_plugin/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.12) 2 | project(elfin15_ikfast_plugin) 3 | 4 | add_compile_options(-std=c++11) 5 | 6 | find_package(catkin REQUIRED COMPONENTS 7 | moveit_core 8 | pluginlib 9 | roscpp 10 | tf_conversions 11 | tf2_kdl 12 | tf2_eigen 13 | eigen_conversions 14 | ) 15 | 16 | include_directories(${catkin_INCLUDE_DIRS}) 17 | 18 | catkin_package( 19 | LIBRARIES 20 | CATKIN_DEPENDS 21 | moveit_core 22 | pluginlib 23 | roscpp 24 | tf_conversions 25 | tf2_kdl 26 | tf2_eigen 27 | eigen_conversions 28 | ) 29 | 30 | include_directories(include) 31 | 32 | set(IKFAST_LIBRARY_NAME elfin15_elfin_arm_moveit_ikfast_plugin) 33 | 34 | find_package(LAPACK REQUIRED) 35 | 36 | add_library(${IKFAST_LIBRARY_NAME} src/elfin15_elfin_arm_ikfast_moveit_plugin.cpp) 37 | target_link_libraries(${IKFAST_LIBRARY_NAME} ${catkin_LIBRARIES} ${Boost_LIBRARIES} ${LAPACK_LIBRARIES}) 38 | 39 | install(TARGETS ${IKFAST_LIBRARY_NAME} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}) 40 | 41 | install( 42 | FILES 43 | elfin15_elfin_arm_moveit_ikfast_plugin_description.xml 44 | DESTINATION 45 | ${CATKIN_PACKAGE_SHARE_DESTINATION} 46 | ) 47 | -------------------------------------------------------------------------------- /elfin_ikfast_plugins/elfin15_ikfast_plugin/elfin15_elfin_arm_moveit_ikfast_plugin_description.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | IKFast61 plugin for closed-form kinematics of elfin15 elfin_arm 5 | 6 | 7 | -------------------------------------------------------------------------------- /elfin_ikfast_plugins/elfin3_ikfast_plugin/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.12) 2 | project(elfin3_ikfast_plugin) 3 | 4 | add_compile_options(-std=c++11) 5 | 6 | find_package(catkin REQUIRED COMPONENTS 7 | moveit_core 8 | pluginlib 9 | roscpp 10 | tf_conversions 11 | ) 12 | 13 | include_directories(${catkin_INCLUDE_DIRS}) 14 | 15 | catkin_package( 16 | LIBRARIES 17 | CATKIN_DEPENDS 18 | moveit_core 19 | pluginlib 20 | roscpp 21 | tf_conversions 22 | ) 23 | 24 | include_directories(include) 25 | 26 | set(IKFAST_LIBRARY_NAME elfin3_elfin_arm_moveit_ikfast_plugin) 27 | 28 | find_package(LAPACK REQUIRED) 29 | 30 | add_library(${IKFAST_LIBRARY_NAME} src/elfin3_elfin_arm_ikfast_moveit_plugin.cpp) 31 | target_link_libraries(${IKFAST_LIBRARY_NAME} ${catkin_LIBRARIES} ${Boost_LIBRARIES} ${LAPACK_LIBRARIES}) 32 | 33 | install(TARGETS ${IKFAST_LIBRARY_NAME} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}) 34 | 35 | install( 36 | FILES 37 | elfin3_elfin_arm_moveit_ikfast_plugin_description.xml 38 | DESTINATION 39 | ${CATKIN_PACKAGE_SHARE_DESTINATION} 40 | ) 41 | -------------------------------------------------------------------------------- /elfin_ikfast_plugins/elfin3_ikfast_plugin/elfin3_elfin_arm_moveit_ikfast_plugin_description.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | IKFast61 plugin for closed-form kinematics 5 | 6 | 7 | -------------------------------------------------------------------------------- /elfin_ikfast_plugins/elfin5_ikfast_plugin/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(elfin5_ikfast_plugin) 3 | 4 | add_compile_options(-std=c++11) 5 | 6 | find_package(catkin REQUIRED COMPONENTS 7 | moveit_core 8 | pluginlib 9 | roscpp 10 | tf_conversions 11 | tf2_kdl 12 | tf2_eigen 13 | eigen_conversions 14 | ) 15 | 16 | include_directories(${catkin_INCLUDE_DIRS}) 17 | 18 | catkin_package( 19 | LIBRARIES 20 | CATKIN_DEPENDS 21 | moveit_core 22 | pluginlib 23 | roscpp 24 | tf_conversions 25 | tf2_kdl 26 | tf2_eigen 27 | eigen_conversions 28 | ) 29 | 30 | include_directories(include) 31 | 32 | set(IKFAST_LIBRARY_NAME elfin5_elfin_arm_moveit_ikfast_plugin) 33 | 34 | find_package(LAPACK REQUIRED) 35 | 36 | add_library(${IKFAST_LIBRARY_NAME} src/elfin5_elfin_arm_ikfast_moveit_plugin.cpp) 37 | target_link_libraries(${IKFAST_LIBRARY_NAME} ${catkin_LIBRARIES} ${Boost_LIBRARIES} ${LAPACK_LIBRARIES}) 38 | 39 | install(TARGETS ${IKFAST_LIBRARY_NAME} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}) 40 | 41 | install( 42 | FILES 43 | elfin5_elfin_arm_moveit_ikfast_plugin_description.xml 44 | DESTINATION 45 | ${CATKIN_PACKAGE_SHARE_DESTINATION} 46 | ) 47 | -------------------------------------------------------------------------------- /elfin_ikfast_plugins/elfin5_ikfast_plugin/elfin5_elfin_arm_moveit_ikfast_plugin_description.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | IKFast61 plugin for closed-form kinematics of elfin5 elfin_arm 5 | 6 | 7 | -------------------------------------------------------------------------------- /elfin_ikfast_plugins/elfin5_l_ikfast_plugin/elfin5_l_ikfast_plugin/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.1.3) 2 | project(elfin5_l_ikfast_plugin) 3 | 4 | if(NOT "${CMAKE_CXX_STANDARD}") 5 | set(CMAKE_CXX_STANDARD 14) 6 | endif() 7 | set(CMAKE_CXX_STANDARD_REQUIRED ON) 8 | set(CMAKE_CXX_EXTENSIONS OFF) 9 | 10 | find_package(catkin REQUIRED COMPONENTS 11 | moveit_core 12 | pluginlib 13 | roscpp 14 | tf2_kdl 15 | tf2_eigen 16 | eigen_conversions 17 | ) 18 | find_package(LAPACK REQUIRED) 19 | 20 | include_directories(${catkin_INCLUDE_DIRS} include) 21 | 22 | catkin_package() 23 | 24 | set(IKFAST_LIBRARY_NAME elfin5_l_elfin_arm_moveit_ikfast_plugin) 25 | add_library(${IKFAST_LIBRARY_NAME} src/elfin5_l_elfin_arm_ikfast_moveit_plugin.cpp) 26 | target_link_libraries(${IKFAST_LIBRARY_NAME} ${catkin_LIBRARIES} ${Boost_LIBRARIES} ${LAPACK_LIBRARIES}) 27 | # suppress warnings about unused variables in OpenRave's solver code 28 | target_compile_options(${IKFAST_LIBRARY_NAME} PRIVATE -Wno-unused-variable -Wno-unused-parameter) 29 | 30 | install(TARGETS 31 | ${IKFAST_LIBRARY_NAME} 32 | LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 33 | ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 34 | RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}) 35 | 36 | install( 37 | FILES 38 | elfin5_l_elfin_arm_moveit_ikfast_plugin_description.xml 39 | DESTINATION 40 | ${CATKIN_PACKAGE_SHARE_DESTINATION} 41 | ) 42 | -------------------------------------------------------------------------------- /elfin_ikfast_plugins/elfin5_l_ikfast_plugin/elfin5_l_ikfast_plugin/elfin5_l_elfin_arm_moveit_ikfast_plugin_description.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | IKFast61 plugin for closed-form kinematics of elfin5_l elfin_arm 5 | 6 | 7 | -------------------------------------------------------------------------------- /elfin_ikfast_plugins/elfin5_l_ikfast_plugin/elfin5_l_ikfast_plugin/update_ikfast_plugin.sh: -------------------------------------------------------------------------------- 1 | search_mode=OPTIMIZE_MAX_JOINT 2 | srdf_filename=elfin5_l.srdf 3 | robot_name_in_srdf=elfin5_l 4 | moveit_config_pkg=elfin5_l_moveit_config 5 | robot_name=elfin5_l 6 | planning_group_name=elfin_arm 7 | ikfast_plugin_pkg=elfin5_l_ikfast_plugin 8 | base_link_name=elfin_base_link 9 | eef_link_name=elfin_end_link 10 | ikfast_output_path=/home/cjw/test_ws/src/elfin_robot/elfin5_l_ikfast_plugin/src/elfin5_l_elfin_arm_ikfast_solver.cpp 11 | 12 | rosrun moveit_kinematics create_ikfast_moveit_plugin.py\ 13 | --search_mode=$search_mode\ 14 | --srdf_filename=$srdf_filename\ 15 | --robot_name_in_srdf=$robot_name_in_srdf\ 16 | --moveit_config_pkg=$moveit_config_pkg\ 17 | $robot_name\ 18 | $planning_group_name\ 19 | $ikfast_plugin_pkg\ 20 | $base_link_name\ 21 | $eef_link_name\ 22 | $ikfast_output_path 23 | -------------------------------------------------------------------------------- /elfin_postrq_joint_trajectory_controller/elfin_postrq_joint_trajectory_plugins.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | joint trajectory controller with position torque interface for elfin. 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /elfin_posvel_joint_trajectory_controller/elfin_posvel_joint_trajectory_plugins.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | joint trajectory controller with position velocity interface for elfin. 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /elfin_robot/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(elfin_robot) 3 | find_package(catkin REQUIRED) 4 | catkin_metapackage() 5 | -------------------------------------------------------------------------------- /elfin_robot/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | elfin_robot 4 | 0.0.0 5 | 6 | metapackage for Elfin robot 7 | 8 | Cong Liu 9 | Cong Liu 10 | 11 | BSD 12 | 13 | http://wiki.ros.org/Robots/Elfin 14 | https://github.com/hans-robot/elfin_robot/issues 15 | https://github.com/hans-robot/elfin_robot 16 | 17 | catkin 18 | 19 | elfin3_moveit_config 20 | elfin5_moveit_config 21 | elfin10_moveit_config 22 | elfin_basic_api 23 | elfin_description 24 | elfin_ethercat_driver 25 | elfin_ethercat_driver 26 | elfin_gazebo 27 | elfin3_ikfast_plugin 28 | elfin5_ikfast_plugin 29 | elfin10_ikfast_plugin 30 | elfin_kinematic_solver 31 | elfin_robot_bringup 32 | elfin_robot_msgs 33 | elfin_ros_control 34 | elfin_ros_control 35 | elfin_ros_controllers 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /elfin_robot_bringup/config/elfin_arm_control.yaml: -------------------------------------------------------------------------------- 1 | elfin_arm_controller: 2 | type: position_controllers/JointTrajectoryController 3 | joints: 4 | - elfin_joint1 5 | - elfin_joint2 6 | - elfin_joint3 7 | - elfin_joint4 8 | - elfin_joint5 9 | - elfin_joint6 10 | constraints: 11 | goal_time: 0.6 12 | stopped_velocity_tolerance: 0.1 13 | stop_trajectory_duration: 0.05 14 | state_publish_rate: 25 15 | action_monitor_rate: 10 16 | -------------------------------------------------------------------------------- /elfin_robot_bringup/config/elfin_drivers.yaml: -------------------------------------------------------------------------------- 1 | ## elfin_ethernet_name: network interface card name 2 | ## An Elfin robot has 3 modules and 6 joints. 3 | ## All the parameters about joints should be in order of [J2, J1, J3, J4, J5, J6] 4 | ## reduction_ratios: The reduction ratios of the joints. 5 | ## Please refer to the paper attached with the robot. 6 | ## count_zeros: The encoder counts of the joints when they are in home position. 7 | ## Please refer to the paper attached with the robot. 8 | ## axis_position_factors: The encoder resolution values. They are all 131072 in general. 9 | ## axis_torque_factors: They depend on the robot type. 10 | ## Elfin3: [5251.283, 5251.283, 8533.125, 8533.125, 15975.05, 15975.05] 11 | ## Elfin5: [2536.224, 2536.224, 5251.283, 5251.283, 15975.05, 15975.05] 12 | ## Elfin10: [1365.332, 1365.332, 2536.224, 2536.224, 8533.125, 8533.125] 13 | 14 | 15 | ## example for elfin_robot_bringup/config/elfin_drivers.yaml 16 | 17 | elfin_ethernet_name: enp59s0 18 | 19 | elfin: 20 | slave_no: [1, 2, 3] 21 | joint_names: [elfin_joint2, elfin_joint1, elfin_joint3, elfin_joint4, elfin_joint5, elfin_joint6] 22 | reduction_ratios: [101, 101, 101, 101, 101, 101] 23 | count_zeros: [8907490, 9037465, 5336080, 5456119, 4246746, 1592228] 24 | axis_position_factors: [131072, 131072, 131072, 131072, 131072, 131072] 25 | axis_torque_factors: [5251.283, 5251.283, 8533.125, 8533.125, 15975.05, 15975.05] 26 | -------------------------------------------------------------------------------- /elfin_robot_bringup/config/elfin_module_control.yaml: -------------------------------------------------------------------------------- 1 | elfin_module_controller: 2 | type: position_controllers/JointTrajectoryController 3 | joints: 4 | - elfin_module_joint1 5 | - elfin_module_joint2 6 | 7 | constraints: 8 | goal_time: 0.6 9 | stopped_velocity_tolerance: 0.1 10 | 11 | stop_trajectory_duration: 0.05 12 | state_publish_rate: 50 13 | action_monitor_rate: 10 14 | -------------------------------------------------------------------------------- /elfin_robot_bringup/config/joint_state_controller.yaml: -------------------------------------------------------------------------------- 1 | joint_state_controller: 2 | type: joint_state_controller/JointStateController 3 | publish_rate: 50 4 | -------------------------------------------------------------------------------- /elfin_robot_bringup/launch/elfin10_bringup.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /elfin_robot_bringup/launch/elfin10_l_bringup.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /elfin_robot_bringup/launch/elfin15_bringup.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /elfin_robot_bringup/launch/elfin3_bringup.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /elfin_robot_bringup/launch/elfin5_bringup.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /elfin_robot_bringup/launch/elfin5_l_bringup.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /elfin_robot_bringup/launch/elfin_module_bringup.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /elfin_robot_bringup/launch/elfin_module_ros_control.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /elfin_robot_bringup/launch/elfin_ros_control.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /elfin_robot_bringup/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | elfin_robot_bringup 4 | 0.0.0 5 | The elfin_robot_bringup package 6 | 7 | Cong Liu 8 | 9 | BSD 10 | 11 | Cong Liu 12 | 13 | catkin 14 | 15 | controller_manager 16 | elfin_ros_control 17 | elfin_ros_control 18 | joint_trajectory_controller 19 | robot_state_publisher 20 | 21 | -------------------------------------------------------------------------------- /elfin_robot_msgs/srv/ElfinIODRead.srv: -------------------------------------------------------------------------------- 1 | bool data 2 | ----- 3 | int32 digital_input 4 | -------------------------------------------------------------------------------- /elfin_robot_msgs/srv/ElfinIODWrite.srv: -------------------------------------------------------------------------------- 1 | int32 digital_output 2 | ----- 3 | bool success 4 | -------------------------------------------------------------------------------- /elfin_robot_msgs/srv/SetFloat64.srv: -------------------------------------------------------------------------------- 1 | float64 data 2 | ----- 3 | bool success 4 | string message 5 | -------------------------------------------------------------------------------- /elfin_robot_msgs/srv/SetInt16.srv: -------------------------------------------------------------------------------- 1 | int16 data 2 | ----- 3 | bool success 4 | string message 5 | -------------------------------------------------------------------------------- /elfin_robot_msgs/srv/SetString.srv: -------------------------------------------------------------------------------- 1 | string data 2 | ----- 3 | bool success 4 | string message 5 | -------------------------------------------------------------------------------- /elfin_robot_servo/README.md: -------------------------------------------------------------------------------- 1 | elfin_robot_servo 2 | ===== 3 | ### start servo: 4 | 5 | * **roslaunch elfin_robot_servo start_moveit_servo.launch** 6 | 7 | ### Subscribed Topics 8 | * **/servo_server/delta_twist_cmds** 9 | 令机械臂末端往x/y/z方向按照一定速度持续运动 10 | example: servo_movePose() in elfin_robot_servo/src/test.py 11 | 12 | * **/servo_server/delta_joint_cmds** 13 | 令机械臂各个关节往正/负运动方向按照一定速度持续运动 14 | example: servo_moveJoint() in elfin_robot_servo/src/test.py 15 | 16 | 17 | ### 参考: 18 | ```sh 19 | https://ros-planning.github.io/moveit_tutorials/doc/realtime_servo/realtime_servo_tutorial.html 20 | ``` 21 | 22 | ### 提示: 23 | 在使用末端位置控制时请保证机器人在当前姿态下可以进行空间直线运动 24 | 25 | 在使用过程中请注意速度设置和发送频率以避免造成意外状况 -------------------------------------------------------------------------------- /elfin_robot_servo/config/pose_tracking_settings.yaml: -------------------------------------------------------------------------------- 1 | ################################# 2 | # PID parameters for pose seeking 3 | ################################# 4 | 5 | # Maximum value of error integral for all PID controllers 6 | windup_limit: 0.05 7 | 8 | # PID gains 9 | x_proportional_gain: 1.5 10 | y_proportional_gain: 1.5 11 | z_proportional_gain: 1.5 12 | x_integral_gain: 0.0 13 | y_integral_gain: 0.0 14 | z_integral_gain: 0.0 15 | x_derivative_gain: 0.0 16 | y_derivative_gain: 0.0 17 | z_derivative_gain: 0.0 18 | 19 | angular_proportional_gain: 0.5 20 | angular_integral_gain: 0.0 21 | angular_derivative_gain: 0.0 22 | -------------------------------------------------------------------------------- /elfin_robot_servo/config/spacenav_via_teleop_tools.yaml: -------------------------------------------------------------------------------- 1 | teleop: 2 | cartesian_twist_command: 3 | type: topic 4 | message_type: geometry_msgs/TwistStamped 5 | topic_name: servo_server/delta_twist_cmds 6 | axis_mappings: 7 | - 8 | axis: 0 9 | target: twist.linear.x 10 | scale: 1 11 | offset: 0 12 | - 13 | axis: 1 14 | target: twist.linear.y 15 | scale: 1 16 | offset: 0 17 | - 18 | axis: 2 19 | target: twist.linear.z 20 | scale: 1 21 | offset: 0 22 | - 23 | axis: 3 24 | target: twist.angular.x 25 | scale: 1 26 | offset: 0 27 | - 28 | axis: 4 29 | target: twist.angular.y 30 | scale: 1 31 | offset: 0 32 | - 33 | axis: 5 34 | target: twist.angular.z 35 | scale: 1 36 | offset: 0 37 | -------------------------------------------------------------------------------- /elfin_robot_servo/launch/start_moveit_servo.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /elfin_robot_servo/src/test.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python2 2 | # -*- coding: utf-8 -*- 3 | import rospy 4 | import time 5 | from geometry_msgs.msg import TwistStamped,PoseStamped 6 | from control_msgs.msg import JointJog 7 | from std_msgs.msg import Float32 8 | from sensor_msgs.msg import JointState 9 | from controller_manager_msgs.srv import SwitchController, SwitchControllerRequest, SwitchControllerResponse 10 | 11 | 12 | class test(): 13 | def __init__(self): 14 | 15 | rospy.init_node('servo_test') 16 | self.elfin_servoPose = rospy.Publisher("/servo_server/delta_twist_cmds", TwistStamped, queue_size=10) 17 | self.elfin_servoJoint = rospy.Publisher("/servo_server/delta_joint_cmds", JointJog, queue_size=10) 18 | self.servo_Pose = TwistStamped() 19 | self.servo_Joint = JointJog() 20 | self.rate = rospy.Rate(10) 21 | 22 | def servo_movePose(self): 23 | self.servo_Pose.twist.linear.x = 0.1 24 | self.servo_Pose.twist.linear.y = 0.1 25 | self.servo_Pose.twist.linear.z = 0.1 26 | self.servo_Pose.twist.angular.x = 0.0 27 | self.servo_Pose.twist.angular.y = 0.0 28 | self.servo_Pose.twist.angular.z = 0.0 29 | while not rospy.is_shutdown(): 30 | self.servo_Pose.header.stamp = rospy.get_rostime() 31 | self.elfin_servoPose.publish(self.servo_Pose) 32 | self.rate.sleep() 33 | 34 | 35 | def servo_moveJoint(self): 36 | 37 | self.servo_Joint.joint_names = ['elfin_joint1','elfin_joint2','elfin_joint3','elfin_joint4','elfin_joint5','elfin_joint6'] 38 | self.servo_Joint.displacements = [0,0.0,0.0,0.0,0.0,0.0] 39 | self.servo_Joint.velocities = [0.5,0.0,0.0,0.0,0.0,0.0] 40 | 41 | while not rospy.is_shutdown(): 42 | self.servo_Joint.header.stamp = rospy.get_rostime() 43 | self.elfin_servoJoint.publish(self.servo_Joint) 44 | self.rate.sleep() 45 | 46 | 47 | if __name__=='__main__': 48 | test = test() 49 | test.servo_movePose() 50 | rospy.spin() 51 | --------------------------------------------------------------------------------