├── LICENSE ├── README.md ├── img ├── afc.png ├── readme.md ├── smartarm2.gif ├── smartarm2_tra.gif ├── smartarm_moveit.png ├── smartarm_track.png └── sonic_array.png ├── smartarm2_description ├── CMakeLists.txt ├── LICENSE ├── launch │ ├── controller.launch │ ├── controller.yaml │ ├── display.launch │ ├── gazebo.launch │ └── urdf.rviz ├── meshes │ ├── base_link.stl │ ├── link1_1.stl │ ├── link2_1.stl │ ├── link3_1.stl │ ├── link4_1.stl │ ├── link5_1.stl │ ├── link6_1.stl │ └── link7_1.stl ├── package.xml └── urdf │ ├── materials.xacro │ ├── smartarm2.gazebo │ ├── smartarm2.trans │ └── smartarm2.xacro ├── smartarm2_moveit_config ├── CMakeLists.txt ├── config │ ├── cartesian_limits.yaml │ ├── chomp_planning.yaml │ ├── fake_controllers.yaml │ ├── joint_limits.yaml │ ├── kinematics.yaml │ ├── ompl_planning.yaml │ ├── ros_controllers.yaml │ ├── sensors_3d.yaml │ └── smartarm2.srdf ├── launch │ ├── chomp_planning_pipeline.launch.xml │ ├── default_warehouse_db.launch │ ├── demo.launch │ ├── demo_gazebo.launch │ ├── fake_moveit_controller_manager.launch.xml │ ├── gazebo.launch │ ├── joystick_control.launch │ ├── move_group.launch │ ├── moveit.rviz │ ├── 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 │ ├── smartarm2_moveit_controller_manager.launch.xml │ ├── smartarm2_moveit_sensor_manager.launch.xml │ ├── trajectory_execution.launch.xml │ ├── warehouse.launch │ └── warehouse_settings.launch.xml └── package.xml ├── smartarm_description ├── CMakeLists.txt ├── LICENSE ├── launch │ ├── controller.launch │ ├── controller.yaml │ ├── display.launch │ ├── gazebo.launch │ └── urdf.rviz ├── meshes │ ├── base_link.stl │ ├── link1_1.stl │ ├── link2_1.stl │ ├── link3_1.stl │ ├── link4_1.stl │ ├── link5_1.stl │ ├── link6_1.stl │ └── link7_1.stl ├── package.xml └── urdf │ ├── materials.xacro │ ├── smartarm.gazebo │ ├── smartarm.trans │ └── smartarm.xacro ├── smartarm_moveit_config ├── CMakeLists.txt ├── config │ ├── cartesian_limits.yaml │ ├── chomp_planning.yaml │ ├── fake_controllers.yaml │ ├── joint_limits.yaml │ ├── kinematics.yaml │ ├── ompl_planning.yaml │ ├── ros_controllers.yaml │ ├── sensors_3d.yaml │ └── urdf_v2.srdf ├── launch │ ├── chomp_planning_pipeline.launch.xml │ ├── default_warehouse_db.launch │ ├── demo.launch │ ├── demo2.launch │ ├── demo_gazebo.launch │ ├── fake_moveit_controller_manager.launch.xml │ ├── gazebo.launch │ ├── joystick_control.launch │ ├── move_group.launch │ ├── moveit.rviz │ ├── moveit_quick_move.rviz │ ├── 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 │ ├── urdf_v2_moveit_controller_manager.launch.xml │ ├── urdf_v2_moveit_sensor_manager.launch.xml │ ├── warehouse.launch │ └── warehouse_settings.launch.xml └── package.xml ├── smartarm_msgs ├── CMakeLists.txt ├── msg │ ├── Imu.msg │ ├── Position.msg │ ├── SonicArray.msg │ └── sonic_array_msg.msg └── package.xml └── urdf_v2_description ├── CMakeLists.txt ├── LICENSE ├── launch ├── controller.launch ├── controller.yaml ├── display.launch ├── gazebo.launch └── urdf.rviz ├── meshes ├── base_link.stl ├── link1_1.stl ├── link2_1.stl ├── link3_1.stl ├── link4_1.stl ├── link5_1.stl └── link6_1.stl ├── package.xml └── urdf ├── materials.xacro ├── urdf_v2.gazebo ├── urdf_v2.trans └── urdf_v2.xacro /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 zuxinrui 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SmartArm 2 | 3 | SmartArm is a series of reconfigurable modular robotic manipulators using full closed-loop perception control and adaptive control to achieve the same repeatability with much more expensive robotic manipulators. Using multi-sensor system and removable structure, it will adapt to multi-environment tasks. Smartarm is fully built by my own and I will do further research based on this platform. Smartarm uses ROS noetic as the middleware and the physical structure was designed through Fusion 360 Autodesk. 4 | 5 | ![gif](/img/smartarm2.gif) 6 | ![gif](/img/smartarm2_tra.gif) 7 | 8 | The first GIF below shows the reaction speed test of `end effector tracking` with Smartarm's sonic localization system, which is illustrated in the next sector. The second GIF below shows Smartarm's `motion planning & execute` pipeline using `MoveIt!` APIs with my own code adjustments. I also created a `MoveIt!` function called `asyncPlanAndMove()` after changing `MoveIt!` source code to reach my planning goal. 9 | 10 | With the benefit of popular open-source frame, Smartarm is suitable for academic and industrial use. I will keep developing this series of robotic manipulators. 11 | 12 | ![image](/img/smartarm_track.png) 13 | 14 | ## Smartarm Localization System 15 | 16 | I combined my previous sonic localization system (developed when I was in Harbin Institute of Technology) and IMU together with `extended Kalman Filtering`. The accuracy of the localization is now about 0.5mm in xyz axis and about 0.01rad in 3 rotation axis. 17 | 18 | ![image](/img/sonic_array.png) 19 | 20 | This sensor system uses `STM32F103RCT6` as the control unit. I developed `DMA(direct memory access)` and `hardware boosting` to calculate the sensors' data faster. The sampling rate is 1000Hz. 21 | 22 | ## Smartarm Controller 23 | 24 | Currently I am developing a real-time dynamic controller of Smartarm. It transits the position signal generated by the main compute unit (Linux) into force signal (joint space). I used adaptive feedforwared control (AFC) to learn the dynamic parameter of the manipulator. For some repeatable tasks like pick and place, I will also develop iterative learning control (ILC) to improve control accuracy. 25 | 26 | ![image](/img/afc.png) 27 | 28 | It will also contains real-time interpolation algorithm to smooth the generated trajectory. 29 | 30 | ## Smartarm with MoveIt! 31 | 32 | I also developed a MoveIt! simulation&control environment for Smartarm. I developed my own MoveIt! `move_group` function to fit the motion planning algorithm. The function `move()` in MoveAction's client has been adjusted as `smartarm_move` to fulfill the fast generation of the trajectory. 33 | 34 | ![image](/img/smartarm_moveit.png) 35 | 36 | The structure above shows Smartarm's MoveIt! functions w.r.t. sensor system and the main control loop. I will continue to develop the low-level real-time controller to improve the performance of Smartarm. 37 | -------------------------------------------------------------------------------- /img/afc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/img/afc.png -------------------------------------------------------------------------------- /img/readme.md: -------------------------------------------------------------------------------- 1 | Images 2 | -------------------------------------------------------------------------------- /img/smartarm2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/img/smartarm2.gif -------------------------------------------------------------------------------- /img/smartarm2_tra.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/img/smartarm2_tra.gif -------------------------------------------------------------------------------- /img/smartarm_moveit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/img/smartarm_moveit.png -------------------------------------------------------------------------------- /img/smartarm_track.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/img/smartarm_track.png -------------------------------------------------------------------------------- /img/sonic_array.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/img/sonic_array.png -------------------------------------------------------------------------------- /smartarm2_description/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(smartarm2_description) 3 | 4 | ## Compile as C++11, supported in ROS Kinetic and newer 5 | # add_compile_options(-std=c++11) 6 | 7 | ## Find catkin macros and libraries 8 | ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) 9 | ## is used, also find other catkin packages 10 | find_package(catkin REQUIRED COMPONENTS 11 | rospy 12 | ) 13 | 14 | ## System dependencies are found with CMake's conventions 15 | # find_package(Boost REQUIRED COMPONENTS system) 16 | 17 | 18 | ## Uncomment this if the package has a setup.py. This macro ensures 19 | ## modules and global scripts declared therein get installed 20 | ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html 21 | # catkin_python_setup() 22 | 23 | ################################################ 24 | ## Declare ROS messages, services and actions ## 25 | ################################################ 26 | 27 | ## To declare and build messages, services or actions from within this 28 | ## package, follow these steps: 29 | ## * Let MSG_DEP_SET be the set of packages whose message types you use in 30 | ## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). 31 | ## * In the file package.xml: 32 | ## * add a build_depend tag for "message_generation" 33 | ## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET 34 | ## * If MSG_DEP_SET isn't empty the following dependency has been pulled in 35 | ## but can be declared for certainty nonetheless: 36 | ## * add a exec_depend tag for "message_runtime" 37 | ## * In this file (CMakeLists.txt): 38 | ## * add "message_generation" and every package in MSG_DEP_SET to 39 | ## find_package(catkin REQUIRED COMPONENTS ...) 40 | ## * add "message_runtime" and every package in MSG_DEP_SET to 41 | ## catkin_package(CATKIN_DEPENDS ...) 42 | ## * uncomment the add_*_files sections below as needed 43 | ## and list every .msg/.srv/.action file to be processed 44 | ## * uncomment the generate_messages entry below 45 | ## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) 46 | 47 | ## Generate messages in the 'msg' folder 48 | # add_message_files( 49 | # FILES 50 | # Message1.msg 51 | # Message2.msg 52 | # ) 53 | 54 | ## Generate services in the 'srv' folder 55 | # add_service_files( 56 | # FILES 57 | # Service1.srv 58 | # Service2.srv 59 | # ) 60 | 61 | ## Generate actions in the 'action' folder 62 | # add_action_files( 63 | # FILES 64 | # Action1.action 65 | # Action2.action 66 | # ) 67 | 68 | ## Generate added messages and services with any dependencies listed here 69 | # generate_messages( 70 | # DEPENDENCIES 71 | # std_msgs # Or other packages containing msgs 72 | # ) 73 | 74 | ################################################ 75 | ## Declare ROS dynamic reconfigure parameters ## 76 | ################################################ 77 | 78 | ## To declare and build dynamic reconfigure parameters within this 79 | ## package, follow these steps: 80 | ## * In the file package.xml: 81 | ## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" 82 | ## * In this file (CMakeLists.txt): 83 | ## * add "dynamic_reconfigure" to 84 | ## find_package(catkin REQUIRED COMPONENTS ...) 85 | ## * uncomment the "generate_dynamic_reconfigure_options" section below 86 | ## and list every .cfg file to be processed 87 | 88 | ## Generate dynamic reconfigure parameters in the 'cfg' folder 89 | # generate_dynamic_reconfigure_options( 90 | # cfg/DynReconf1.cfg 91 | # cfg/DynReconf2.cfg 92 | # ) 93 | 94 | ################################### 95 | ## catkin specific configuration ## 96 | ################################### 97 | ## The catkin_package macro generates cmake config files for your package 98 | ## Declare things to be passed to dependent projects 99 | ## INCLUDE_DIRS: uncomment this if your package contains header files 100 | ## LIBRARIES: libraries you create in this project that dependent projects also need 101 | ## CATKIN_DEPENDS: catkin_packages dependent projects also need 102 | ## DEPENDS: system dependencies of this project that dependent projects also need 103 | catkin_package( 104 | # INCLUDE_DIRS include 105 | # LIBRARIES fusion2urdf 106 | # CATKIN_DEPENDS rospy 107 | # DEPENDS system_lib 108 | ) 109 | 110 | ########### 111 | ## Build ## 112 | ########### 113 | 114 | ## Specify additional locations of header files 115 | ## Your package locations should be listed before other locations 116 | include_directories( 117 | # include 118 | ${catkin_INCLUDE_DIRS} 119 | ) 120 | 121 | ## Declare a C++ library 122 | # add_library(${PROJECT_NAME} 123 | # src/${PROJECT_NAME}/fusion2urdf.cpp 124 | # ) 125 | 126 | ## Add cmake target dependencies of the library 127 | ## as an example, code may need to be generated before libraries 128 | ## either from message generation or dynamic reconfigure 129 | # add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 130 | 131 | ## Declare a C++ executable 132 | ## With catkin_make all packages are built within a single CMake context 133 | ## The recommended prefix ensures that target names across packages don't collide 134 | # add_executable(${PROJECT_NAME}_node src/fusion2urdf_node.cpp) 135 | 136 | ## Rename C++ executable without prefix 137 | ## The above recommended prefix causes long target names, the following renames the 138 | ## target back to the shorter version for ease of user use 139 | ## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" 140 | # set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") 141 | 142 | ## Add cmake target dependencies of the executable 143 | ## same as for the library above 144 | # add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 145 | 146 | ## Specify libraries to link a library or executable target against 147 | # target_link_libraries(${PROJECT_NAME}_node 148 | # ${catkin_LIBRARIES} 149 | # ) 150 | 151 | ############# 152 | ## Install ## 153 | ############# 154 | 155 | # all install targets should use catkin DESTINATION variables 156 | # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html 157 | 158 | ## Mark executable scripts (Python etc.) for installation 159 | ## in contrast to setup.py, you can choose the destination 160 | # install(PROGRAMS 161 | # scripts/my_python_script 162 | # DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 163 | # ) 164 | 165 | ## Mark executables and/or libraries for installation 166 | # install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_node 167 | # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 168 | # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 169 | # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 170 | # ) 171 | 172 | ## Mark cpp header files for installation 173 | # install(DIRECTORY include/${PROJECT_NAME}/ 174 | # DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} 175 | # FILES_MATCHING PATTERN "*.h" 176 | # PATTERN ".svn" EXCLUDE 177 | # ) 178 | 179 | ## Mark other files for installation (e.g. launch and bag files, etc.) 180 | # install(FILES 181 | # # myfile1 182 | # # myfile2 183 | # DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} 184 | # ) 185 | 186 | ############# 187 | ## Testing ## 188 | ############# 189 | 190 | ## Add gtest based cpp test target and link libraries 191 | # catkin_add_gtest(${PROJECT_NAME}-test test/test_fusion2urdf.cpp) 192 | # if(TARGET ${PROJECT_NAME}-test) 193 | # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) 194 | # endif() 195 | 196 | ## Add folders to be run by python nosetests 197 | # catkin_add_nosetests(test) 198 | -------------------------------------------------------------------------------- /smartarm2_description/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Toshinori Kitamura 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /smartarm2_description/launch/controller.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /smartarm2_description/launch/controller.yaml: -------------------------------------------------------------------------------- 1 | smartarm2_controller: 2 | # Publish all joint states ----------------------------------- 3 | joint_state_controller: 4 | type: joint_state_controller/JointStateController 5 | publish_rate: 50 6 | 7 | # Position Controllers -------------------------------------- 8 | joint1_position_controller: 9 | type: effort_controllers/JointPositionController 10 | joint: joint1 11 | pid: {p: 100.0, i: 0.01, d: 10.0} 12 | joint2_position_controller: 13 | type: effort_controllers/JointPositionController 14 | joint: joint2 15 | pid: {p: 100.0, i: 0.01, d: 10.0} 16 | joint3_position_controller: 17 | type: effort_controllers/JointPositionController 18 | joint: joint3 19 | pid: {p: 100.0, i: 0.01, d: 10.0} 20 | joint4_position_controller: 21 | type: effort_controllers/JointPositionController 22 | joint: joint4 23 | pid: {p: 100.0, i: 0.01, d: 10.0} 24 | joint5_position_controller: 25 | type: effort_controllers/JointPositionController 26 | joint: joint5 27 | pid: {p: 100.0, i: 0.01, d: 10.0} 28 | joint6_position_controller: 29 | type: effort_controllers/JointPositionController 30 | joint: joint6 31 | pid: {p: 100.0, i: 0.01, d: 10.0} 32 | joint7_position_controller: 33 | type: effort_controllers/JointPositionController 34 | joint: joint7 35 | pid: {p: 100.0, i: 0.01, d: 10.0} 36 | -------------------------------------------------------------------------------- /smartarm2_description/launch/display.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /smartarm2_description/launch/gazebo.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /smartarm2_description/meshes/base_link.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/smartarm2_description/meshes/base_link.stl -------------------------------------------------------------------------------- /smartarm2_description/meshes/link1_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/smartarm2_description/meshes/link1_1.stl -------------------------------------------------------------------------------- /smartarm2_description/meshes/link2_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/smartarm2_description/meshes/link2_1.stl -------------------------------------------------------------------------------- /smartarm2_description/meshes/link3_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/smartarm2_description/meshes/link3_1.stl -------------------------------------------------------------------------------- /smartarm2_description/meshes/link4_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/smartarm2_description/meshes/link4_1.stl -------------------------------------------------------------------------------- /smartarm2_description/meshes/link5_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/smartarm2_description/meshes/link5_1.stl -------------------------------------------------------------------------------- /smartarm2_description/meshes/link6_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/smartarm2_description/meshes/link6_1.stl -------------------------------------------------------------------------------- /smartarm2_description/meshes/link7_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/smartarm2_description/meshes/link7_1.stl -------------------------------------------------------------------------------- /smartarm2_description/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | smartarm2_description 4 | 0.0.0 5 | The smartarm2_description package 6 | 7 | 8 | 9 | 10 | syuntoku14 11 | 12 | 13 | 14 | 15 | 16 | TODO 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 | 50 | 51 | catkin 52 | rospy 53 | rospy 54 | rospy 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /smartarm2_description/urdf/materials.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /smartarm2_description/urdf/smartarm2.gazebo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ${body_color} 11 | 0.2 12 | 0.2 13 | true 14 | true 15 | 16 | 17 | 18 | ${body_color} 19 | 0.2 20 | 0.2 21 | true 22 | 23 | 24 | 25 | ${body_color} 26 | 0.2 27 | 0.2 28 | true 29 | 30 | 31 | 32 | ${body_color} 33 | 0.2 34 | 0.2 35 | true 36 | 37 | 38 | 39 | ${body_color} 40 | 0.2 41 | 0.2 42 | true 43 | 44 | 45 | 46 | ${body_color} 47 | 0.2 48 | 0.2 49 | true 50 | 51 | 52 | 53 | ${body_color} 54 | 0.2 55 | 0.2 56 | true 57 | 58 | 59 | 60 | ${body_color} 61 | 0.2 62 | 0.2 63 | true 64 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /smartarm2_description/urdf/smartarm2.trans: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | transmission_interface/SimpleTransmission 6 | 7 | hardware_interface/EffortJointInterface 8 | 9 | 10 | hardware_interface/EffortJointInterface 11 | 1 12 | 13 | 14 | 15 | 16 | transmission_interface/SimpleTransmission 17 | 18 | hardware_interface/EffortJointInterface 19 | 20 | 21 | hardware_interface/EffortJointInterface 22 | 1 23 | 24 | 25 | 26 | 27 | transmission_interface/SimpleTransmission 28 | 29 | hardware_interface/EffortJointInterface 30 | 31 | 32 | hardware_interface/EffortJointInterface 33 | 1 34 | 35 | 36 | 37 | 38 | transmission_interface/SimpleTransmission 39 | 40 | hardware_interface/EffortJointInterface 41 | 42 | 43 | hardware_interface/EffortJointInterface 44 | 1 45 | 46 | 47 | 48 | 49 | transmission_interface/SimpleTransmission 50 | 51 | hardware_interface/EffortJointInterface 52 | 53 | 54 | hardware_interface/EffortJointInterface 55 | 1 56 | 57 | 58 | 59 | 60 | transmission_interface/SimpleTransmission 61 | 62 | hardware_interface/EffortJointInterface 63 | 64 | 65 | hardware_interface/EffortJointInterface 66 | 1 67 | 68 | 69 | 70 | 71 | transmission_interface/SimpleTransmission 72 | 73 | hardware_interface/EffortJointInterface 74 | 75 | 76 | hardware_interface/EffortJointInterface 77 | 1 78 | 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /smartarm2_description/urdf/smartarm2.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 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | -------------------------------------------------------------------------------- /smartarm2_moveit_config/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.1.3) 2 | project(smartarm2_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 | -------------------------------------------------------------------------------- /smartarm2_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 | -------------------------------------------------------------------------------- /smartarm2_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 -------------------------------------------------------------------------------- /smartarm2_moveit_config/config/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_list: 2 | - name: fake_smartarm2_controller 3 | type: $(arg execution_type) 4 | joints: 5 | - joint1 6 | - joint2 7 | - joint3 8 | - joint4 9 | - joint5 10 | - joint6 11 | - joint7 12 | initial: # Define initial robot poses. 13 | - group: smartarm2 14 | pose: home -------------------------------------------------------------------------------- /smartarm2_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 | 3 | # For beginners, we downscale velocity and acceleration limits. 4 | # You can always specify higher scaling factors (<= 1.0) in your motion requests. # Increase the values below to 1.0 to always move at maximum speed. 5 | default_velocity_scaling_factor: 0.1 6 | default_acceleration_scaling_factor: 0.1 7 | 8 | # Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration] 9 | # Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits] 10 | joint_limits: 11 | joint1: 12 | has_velocity_limits: false 13 | max_velocity: 0 14 | has_acceleration_limits: false 15 | max_acceleration: 0 16 | joint2: 17 | has_velocity_limits: false 18 | max_velocity: 0 19 | has_acceleration_limits: false 20 | max_acceleration: 0 21 | joint3: 22 | has_velocity_limits: false 23 | max_velocity: 0 24 | has_acceleration_limits: false 25 | max_acceleration: 0 26 | joint4: 27 | has_velocity_limits: false 28 | max_velocity: 0 29 | has_acceleration_limits: false 30 | max_acceleration: 0 31 | joint5: 32 | has_velocity_limits: false 33 | max_velocity: 0 34 | has_acceleration_limits: false 35 | max_acceleration: 0 36 | joint6: 37 | has_velocity_limits: false 38 | max_velocity: 0 39 | has_acceleration_limits: false 40 | max_acceleration: 0 41 | joint7: 42 | has_velocity_limits: false 43 | max_velocity: 0 44 | has_acceleration_limits: false 45 | max_acceleration: 0 -------------------------------------------------------------------------------- /smartarm2_moveit_config/config/kinematics.yaml: -------------------------------------------------------------------------------- 1 | smartarm2: 2 | kinematics_solver: cached_ik_kinematics_plugin/CachedKDLKinematicsPlugin 3 | # kinematics_solver: bio_ik/BioIKKinematicsPlugin 4 | kinematics_solver_search_resolution: 0.005 5 | kinematics_solver_timeout: 0.005 -------------------------------------------------------------------------------- /smartarm2_moveit_config/config/ompl_planning.yaml: -------------------------------------------------------------------------------- 1 | planner_configs: 2 | AnytimePathShortening: 3 | type: geometric::AnytimePathShortening 4 | shortcut: true # Attempt to shortcut all new solution paths 5 | hybridize: true # Compute hybrid solution trajectories 6 | max_hybrid_paths: 24 # Number of hybrid paths generated per iteration 7 | num_planners: 4 # The number of default planners to use for planning 8 | planners: "" # A comma-separated list of planner types (e.g., "PRM,EST,RRTConnect"Optionally, planner parameters can be passed to change the default:"PRM[max_nearest_neighbors=5],EST[goal_bias=.5],RRT[range=10. goal_bias=.1]" 9 | SBL: 10 | type: geometric::SBL 11 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 12 | EST: 13 | type: geometric::EST 14 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0 setup() 15 | goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05 16 | LBKPIECE: 17 | type: geometric::LBKPIECE 18 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 19 | border_fraction: 0.9 # Fraction of time focused on boarder default: 0.9 20 | min_valid_path_fraction: 0.5 # Accept partially valid moves above fraction. default: 0.5 21 | BKPIECE: 22 | type: geometric::BKPIECE 23 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 24 | border_fraction: 0.9 # Fraction of time focused on boarder default: 0.9 25 | failed_expansion_score_factor: 0.5 # When extending motion fails, scale score by factor. default: 0.5 26 | min_valid_path_fraction: 0.5 # Accept partially valid moves above fraction. default: 0.5 27 | KPIECE: 28 | type: geometric::KPIECE 29 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 30 | goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05 31 | border_fraction: 0.9 # Fraction of time focused on boarder default: 0.9 (0.0,1.] 32 | failed_expansion_score_factor: 0.5 # When extending motion fails, scale score by factor. default: 0.5 33 | min_valid_path_fraction: 0.5 # Accept partially valid moves above fraction. default: 0.5 34 | RRT: 35 | type: geometric::RRT 36 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 37 | goal_bias: 0.05 # When close to goal select goal, with this probability? default: 0.05 38 | RRTConnect: 39 | type: geometric::RRTConnect 40 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 41 | RRTstar: 42 | type: geometric::RRTstar 43 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 44 | goal_bias: 0.05 # When close to goal select goal, with this probability? default: 0.05 45 | delay_collision_checking: 1 # Stop collision checking as soon as C-free parent found. default 1 46 | TRRT: 47 | type: geometric::TRRT 48 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 49 | goal_bias: 0.05 # When close to goal select goal, with this probability? default: 0.05 50 | max_states_failed: 10 # when to start increasing temp. default: 10 51 | temp_change_factor: 2.0 # how much to increase or decrease temp. default: 2.0 52 | min_temperature: 10e-10 # lower limit of temp change. default: 10e-10 53 | init_temperature: 10e-6 # initial temperature. default: 10e-6 54 | frountier_threshold: 0.0 # dist new state to nearest neighbor to disqualify as frontier. default: 0.0 set in setup() 55 | frountierNodeRatio: 0.1 # 1/10, or 1 nonfrontier for every 10 frontier. default: 0.1 56 | k_constant: 0.0 # value used to normalize expresssion. default: 0.0 set in setup() 57 | PRM: 58 | type: geometric::PRM 59 | max_nearest_neighbors: 10 # use k nearest neighbors. default: 10 60 | PRMstar: 61 | type: geometric::PRMstar 62 | FMT: 63 | type: geometric::FMT 64 | num_samples: 1000 # number of states that the planner should sample. default: 1000 65 | radius_multiplier: 1.1 # multiplier used for the nearest neighbors search radius. default: 1.1 66 | nearest_k: 1 # use Knearest strategy. default: 1 67 | cache_cc: 1 # use collision checking cache. default: 1 68 | heuristics: 0 # activate cost to go heuristics. default: 0 69 | extended_fmt: 1 # activate the extended FMT*: adding new samples if planner does not finish successfully. default: 1 70 | BFMT: 71 | type: geometric::BFMT 72 | num_samples: 1000 # number of states that the planner should sample. default: 1000 73 | radius_multiplier: 1.0 # multiplier used for the nearest neighbors search radius. default: 1.0 74 | nearest_k: 1 # use the Knearest strategy. default: 1 75 | balanced: 0 # exploration strategy: balanced true expands one tree every iteration. False will select the tree with lowest maximum cost to go. default: 1 76 | optimality: 1 # termination strategy: optimality true finishes when the best possible path is found. Otherwise, the algorithm will finish when the first feasible path is found. default: 1 77 | heuristics: 1 # activates cost to go heuristics. default: 1 78 | cache_cc: 1 # use the collision checking cache. default: 1 79 | extended_fmt: 1 # Activates the extended FMT*: adding new samples if planner does not finish successfully. default: 1 80 | PDST: 81 | type: geometric::PDST 82 | STRIDE: 83 | type: geometric::STRIDE 84 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 85 | goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05 86 | use_projected_distance: 0 # whether nearest neighbors are computed based on distances in a projection of the state rather distances in the state space itself. default: 0 87 | degree: 16 # desired degree of a node in the Geometric Near-neightbor Access Tree (GNAT). default: 16 88 | max_degree: 18 # max degree of a node in the GNAT. default: 12 89 | min_degree: 12 # min degree of a node in the GNAT. default: 12 90 | max_pts_per_leaf: 6 # max points per leaf in the GNAT. default: 6 91 | estimated_dimension: 0.0 # estimated dimension of the free space. default: 0.0 92 | min_valid_path_fraction: 0.2 # Accept partially valid moves above fraction. default: 0.2 93 | BiTRRT: 94 | type: geometric::BiTRRT 95 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 96 | temp_change_factor: 0.1 # how much to increase or decrease temp. default: 0.1 97 | init_temperature: 100 # initial temperature. default: 100 98 | frountier_threshold: 0.0 # dist new state to nearest neighbor to disqualify as frontier. default: 0.0 set in setup() 99 | frountier_node_ratio: 0.1 # 1/10, or 1 nonfrontier for every 10 frontier. default: 0.1 100 | cost_threshold: 1e300 # the cost threshold. Any motion cost that is not better will not be expanded. default: inf 101 | LBTRRT: 102 | type: geometric::LBTRRT 103 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 104 | goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05 105 | epsilon: 0.4 # optimality approximation factor. default: 0.4 106 | BiEST: 107 | type: geometric::BiEST 108 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 109 | ProjEST: 110 | type: geometric::ProjEST 111 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 112 | goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05 113 | LazyPRM: 114 | type: geometric::LazyPRM 115 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 116 | LazyPRMstar: 117 | type: geometric::LazyPRMstar 118 | SPARS: 119 | type: geometric::SPARS 120 | stretch_factor: 3.0 # roadmap spanner stretch factor. multiplicative upper bound on path quality. It does not make sense to make this parameter more than 3. default: 3.0 121 | sparse_delta_fraction: 0.25 # delta fraction for connection distance. This value represents the visibility range of sparse samples. default: 0.25 122 | dense_delta_fraction: 0.001 # delta fraction for interface detection. default: 0.001 123 | max_failures: 1000 # maximum consecutive failure limit. default: 1000 124 | SPARStwo: 125 | type: geometric::SPARStwo 126 | stretch_factor: 3.0 # roadmap spanner stretch factor. multiplicative upper bound on path quality. It does not make sense to make this parameter more than 3. default: 3.0 127 | sparse_delta_fraction: 0.25 # delta fraction for connection distance. This value represents the visibility range of sparse samples. default: 0.25 128 | dense_delta_fraction: 0.001 # delta fraction for interface detection. default: 0.001 129 | max_failures: 5000 # maximum consecutive failure limit. default: 5000 130 | smartarm2: 131 | planner_configs: 132 | - AnytimePathShortening 133 | - SBL 134 | - EST 135 | - LBKPIECE 136 | - BKPIECE 137 | - KPIECE 138 | - RRT 139 | - RRTConnect 140 | - RRTstar 141 | - TRRT 142 | - PRM 143 | - PRMstar 144 | - FMT 145 | - BFMT 146 | - PDST 147 | - STRIDE 148 | - BiTRRT 149 | - LBTRRT 150 | - BiEST 151 | - ProjEST 152 | - LazyPRM 153 | - LazyPRMstar 154 | - SPARS 155 | - SPARStwo 156 | -------------------------------------------------------------------------------- /smartarm2_moveit_config/config/ros_controllers.yaml: -------------------------------------------------------------------------------- 1 | # Simulation settings for using moveit_sim_controllers 2 | moveit_sim_hw_interface: 3 | joint_model_group: smartarm2 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 | - joint1 13 | - joint2 14 | - joint3 15 | - joint4 16 | - joint5 17 | - joint6 18 | - joint7 19 | sim_control_mode: 1 # 0: position, 1: velocity 20 | # Publish all joint states 21 | # Creates the /joint_states topic necessary in ROS 22 | joint_state_controller: 23 | type: joint_state_controller/JointStateController 24 | publish_rate: 50 25 | controller_list: 26 | [] 27 | smartarm2_controller: 28 | type: pos_vel_acc_controllers/JointTrajectoryController 29 | joints: 30 | - joint1 31 | - joint2 32 | - joint3 33 | - joint4 34 | - joint5 35 | - joint6 36 | - joint7 37 | gains: 38 | joint1: 39 | p: 100 40 | d: 1 41 | i: 1 42 | i_clamp: 1 43 | joint2: 44 | p: 100 45 | d: 1 46 | i: 1 47 | i_clamp: 1 48 | joint3: 49 | p: 100 50 | d: 1 51 | i: 1 52 | i_clamp: 1 53 | joint4: 54 | p: 100 55 | d: 1 56 | i: 1 57 | i_clamp: 1 58 | joint5: 59 | p: 100 60 | d: 1 61 | i: 1 62 | i_clamp: 1 63 | joint6: 64 | p: 100 65 | d: 1 66 | i: 1 67 | i_clamp: 1 68 | joint7: 69 | p: 100 70 | d: 1 71 | i: 1 72 | i_clamp: 1 -------------------------------------------------------------------------------- /smartarm2_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 | - {} -------------------------------------------------------------------------------- /smartarm2_moveit_config/config/smartarm2.srdf: -------------------------------------------------------------------------------- 1 | 2 | 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 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /smartarm2_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 | -------------------------------------------------------------------------------- /smartarm2_moveit_config/launch/default_warehouse_db.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /smartarm2_moveit_config/launch/demo.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | [move_group/fake_controller_joint_states] 34 | 35 | 36 | [move_group/fake_controller_joint_states] 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /smartarm2_moveit_config/launch/demo_gazebo.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | [move_group/fake_controller_joint_states] 43 | [/joint_states] 44 | 45 | 46 | [move_group/fake_controller_joint_states] 47 | [/joint_states] 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /smartarm2_moveit_config/launch/fake_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /smartarm2_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 | -------------------------------------------------------------------------------- /smartarm2_moveit_config/launch/joystick_control.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /smartarm2_moveit_config/launch/move_group.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 32 | 33 | 34 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /smartarm2_moveit_config/launch/moveit_rviz.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /smartarm2_moveit_config/launch/ompl_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 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /smartarm2_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 | -------------------------------------------------------------------------------- /smartarm2_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 | -------------------------------------------------------------------------------- /smartarm2_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 | -------------------------------------------------------------------------------- /smartarm2_moveit_config/launch/ros_controllers.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /smartarm2_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 | -------------------------------------------------------------------------------- /smartarm2_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 | -------------------------------------------------------------------------------- /smartarm2_moveit_config/launch/setup_assistant.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /smartarm2_moveit_config/launch/smartarm2_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /smartarm2_moveit_config/launch/smartarm2_moveit_sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /smartarm2_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 | 25 | -------------------------------------------------------------------------------- /smartarm2_moveit_config/launch/warehouse.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /smartarm2_moveit_config/launch/warehouse_settings.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /smartarm2_moveit_config/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | smartarm2_moveit_config 4 | 0.3.0 5 | 6 | An automatically generated package with all the configuration and launch files for using the smartarm2 with the MoveIt Motion Planning Framework 7 | 8 | Xinrui Zu 9 | Xinrui Zu 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 | smartarm2_description 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /smartarm_description/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(smartarm_description) 3 | 4 | ## Compile as C++11, supported in ROS Kinetic and newer 5 | # add_compile_options(-std=c++11) 6 | 7 | ## Find catkin macros and libraries 8 | ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) 9 | ## is used, also find other catkin packages 10 | find_package(catkin REQUIRED COMPONENTS 11 | rospy 12 | ) 13 | 14 | ## System dependencies are found with CMake's conventions 15 | # find_package(Boost REQUIRED COMPONENTS system) 16 | 17 | 18 | ## Uncomment this if the package has a setup.py. This macro ensures 19 | ## modules and global scripts declared therein get installed 20 | ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html 21 | # catkin_python_setup() 22 | 23 | ################################################ 24 | ## Declare ROS messages, services and actions ## 25 | ################################################ 26 | 27 | ## To declare and build messages, services or actions from within this 28 | ## package, follow these steps: 29 | ## * Let MSG_DEP_SET be the set of packages whose message types you use in 30 | ## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). 31 | ## * In the file package.xml: 32 | ## * add a build_depend tag for "message_generation" 33 | ## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET 34 | ## * If MSG_DEP_SET isn't empty the following dependency has been pulled in 35 | ## but can be declared for certainty nonetheless: 36 | ## * add a exec_depend tag for "message_runtime" 37 | ## * In this file (CMakeLists.txt): 38 | ## * add "message_generation" and every package in MSG_DEP_SET to 39 | ## find_package(catkin REQUIRED COMPONENTS ...) 40 | ## * add "message_runtime" and every package in MSG_DEP_SET to 41 | ## catkin_package(CATKIN_DEPENDS ...) 42 | ## * uncomment the add_*_files sections below as needed 43 | ## and list every .msg/.srv/.action file to be processed 44 | ## * uncomment the generate_messages entry below 45 | ## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) 46 | 47 | ## Generate messages in the 'msg' folder 48 | # add_message_files( 49 | # FILES 50 | # Message1.msg 51 | # Message2.msg 52 | # ) 53 | 54 | ## Generate services in the 'srv' folder 55 | # add_service_files( 56 | # FILES 57 | # Service1.srv 58 | # Service2.srv 59 | # ) 60 | 61 | ## Generate actions in the 'action' folder 62 | # add_action_files( 63 | # FILES 64 | # Action1.action 65 | # Action2.action 66 | # ) 67 | 68 | ## Generate added messages and services with any dependencies listed here 69 | # generate_messages( 70 | # DEPENDENCIES 71 | # std_msgs # Or other packages containing msgs 72 | # ) 73 | 74 | ################################################ 75 | ## Declare ROS dynamic reconfigure parameters ## 76 | ################################################ 77 | 78 | ## To declare and build dynamic reconfigure parameters within this 79 | ## package, follow these steps: 80 | ## * In the file package.xml: 81 | ## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" 82 | ## * In this file (CMakeLists.txt): 83 | ## * add "dynamic_reconfigure" to 84 | ## find_package(catkin REQUIRED COMPONENTS ...) 85 | ## * uncomment the "generate_dynamic_reconfigure_options" section below 86 | ## and list every .cfg file to be processed 87 | 88 | ## Generate dynamic reconfigure parameters in the 'cfg' folder 89 | # generate_dynamic_reconfigure_options( 90 | # cfg/DynReconf1.cfg 91 | # cfg/DynReconf2.cfg 92 | # ) 93 | 94 | ################################### 95 | ## catkin specific configuration ## 96 | ################################### 97 | ## The catkin_package macro generates cmake config files for your package 98 | ## Declare things to be passed to dependent projects 99 | ## INCLUDE_DIRS: uncomment this if your package contains header files 100 | ## LIBRARIES: libraries you create in this project that dependent projects also need 101 | ## CATKIN_DEPENDS: catkin_packages dependent projects also need 102 | ## DEPENDS: system dependencies of this project that dependent projects also need 103 | catkin_package( 104 | # INCLUDE_DIRS include 105 | # LIBRARIES fusion2urdf 106 | # CATKIN_DEPENDS rospy 107 | # DEPENDS system_lib 108 | ) 109 | 110 | ########### 111 | ## Build ## 112 | ########### 113 | 114 | ## Specify additional locations of header files 115 | ## Your package locations should be listed before other locations 116 | include_directories( 117 | # include 118 | ${catkin_INCLUDE_DIRS} 119 | ) 120 | 121 | ## Declare a C++ library 122 | # add_library(${PROJECT_NAME} 123 | # src/${PROJECT_NAME}/fusion2urdf.cpp 124 | # ) 125 | 126 | ## Add cmake target dependencies of the library 127 | ## as an example, code may need to be generated before libraries 128 | ## either from message generation or dynamic reconfigure 129 | # add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 130 | 131 | ## Declare a C++ executable 132 | ## With catkin_make all packages are built within a single CMake context 133 | ## The recommended prefix ensures that target names across packages don't collide 134 | # add_executable(${PROJECT_NAME}_node src/fusion2urdf_node.cpp) 135 | 136 | ## Rename C++ executable without prefix 137 | ## The above recommended prefix causes long target names, the following renames the 138 | ## target back to the shorter version for ease of user use 139 | ## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" 140 | # set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") 141 | 142 | ## Add cmake target dependencies of the executable 143 | ## same as for the library above 144 | # add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 145 | 146 | ## Specify libraries to link a library or executable target against 147 | # target_link_libraries(${PROJECT_NAME}_node 148 | # ${catkin_LIBRARIES} 149 | # ) 150 | 151 | ############# 152 | ## Install ## 153 | ############# 154 | 155 | # all install targets should use catkin DESTINATION variables 156 | # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html 157 | 158 | ## Mark executable scripts (Python etc.) for installation 159 | ## in contrast to setup.py, you can choose the destination 160 | # install(PROGRAMS 161 | # scripts/my_python_script 162 | # DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 163 | # ) 164 | 165 | ## Mark executables and/or libraries for installation 166 | # install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_node 167 | # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 168 | # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 169 | # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 170 | # ) 171 | 172 | ## Mark cpp header files for installation 173 | # install(DIRECTORY include/${PROJECT_NAME}/ 174 | # DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} 175 | # FILES_MATCHING PATTERN "*.h" 176 | # PATTERN ".svn" EXCLUDE 177 | # ) 178 | 179 | ## Mark other files for installation (e.g. launch and bag files, etc.) 180 | # install(FILES 181 | # # myfile1 182 | # # myfile2 183 | # DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} 184 | # ) 185 | 186 | ############# 187 | ## Testing ## 188 | ############# 189 | 190 | ## Add gtest based cpp test target and link libraries 191 | # catkin_add_gtest(${PROJECT_NAME}-test test/test_fusion2urdf.cpp) 192 | # if(TARGET ${PROJECT_NAME}-test) 193 | # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) 194 | # endif() 195 | 196 | ## Add folders to be run by python nosetests 197 | # catkin_add_nosetests(test) 198 | -------------------------------------------------------------------------------- /smartarm_description/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Toshinori Kitamura 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /smartarm_description/launch/controller.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /smartarm_description/launch/controller.yaml: -------------------------------------------------------------------------------- 1 | smartarm_controller: 2 | # Publish all joint states ----------------------------------- 3 | joint_state_controller: 4 | type: joint_state_controller/JointStateController 5 | publish_rate: 50 6 | 7 | # Position Controllers -------------------------------------- 8 | joint1_position_controller: 9 | type: effort_controllers/JointPositionController 10 | joint: joint1 11 | pid: {p: 100.0, i: 0.01, d: 10.0} 12 | joint2_position_controller: 13 | type: effort_controllers/JointPositionController 14 | joint: joint2 15 | pid: {p: 100.0, i: 0.01, d: 10.0} 16 | joint3_position_controller: 17 | type: effort_controllers/JointPositionController 18 | joint: joint3 19 | pid: {p: 100.0, i: 0.01, d: 10.0} 20 | joint4_position_controller: 21 | type: effort_controllers/JointPositionController 22 | joint: joint4 23 | pid: {p: 100.0, i: 0.01, d: 10.0} 24 | joint5_position_controller: 25 | type: effort_controllers/JointPositionController 26 | joint: joint5 27 | pid: {p: 100.0, i: 0.01, d: 10.0} 28 | joint6_position_controller: 29 | type: effort_controllers/JointPositionController 30 | joint: joint6 31 | pid: {p: 100.0, i: 0.01, d: 10.0} 32 | joint7_position_controller: 33 | type: effort_controllers/JointPositionController 34 | joint: joint7 35 | pid: {p: 100.0, i: 0.01, d: 10.0} 36 | -------------------------------------------------------------------------------- /smartarm_description/launch/display.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /smartarm_description/launch/gazebo.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /smartarm_description/meshes/base_link.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/smartarm_description/meshes/base_link.stl -------------------------------------------------------------------------------- /smartarm_description/meshes/link1_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/smartarm_description/meshes/link1_1.stl -------------------------------------------------------------------------------- /smartarm_description/meshes/link2_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/smartarm_description/meshes/link2_1.stl -------------------------------------------------------------------------------- /smartarm_description/meshes/link3_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/smartarm_description/meshes/link3_1.stl -------------------------------------------------------------------------------- /smartarm_description/meshes/link4_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/smartarm_description/meshes/link4_1.stl -------------------------------------------------------------------------------- /smartarm_description/meshes/link5_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/smartarm_description/meshes/link5_1.stl -------------------------------------------------------------------------------- /smartarm_description/meshes/link6_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/smartarm_description/meshes/link6_1.stl -------------------------------------------------------------------------------- /smartarm_description/meshes/link7_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/smartarm_description/meshes/link7_1.stl -------------------------------------------------------------------------------- /smartarm_description/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | smartarm_description 4 | 0.0.0 5 | The smartarm_description package 6 | 7 | 8 | 9 | 10 | syuntoku14 11 | 12 | 13 | 14 | 15 | 16 | TODO 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 | 50 | 51 | catkin 52 | rospy 53 | rospy 54 | rospy 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /smartarm_description/urdf/materials.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /smartarm_description/urdf/smartarm.gazebo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ${body_color} 11 | 0.2 12 | 0.2 13 | true 14 | true 15 | 16 | 17 | 18 | ${body_color} 19 | 0.2 20 | 0.2 21 | true 22 | 23 | 24 | 25 | ${body_color} 26 | 0.2 27 | 0.2 28 | true 29 | 30 | 31 | 32 | ${body_color} 33 | 0.2 34 | 0.2 35 | true 36 | 37 | 38 | 39 | ${body_color} 40 | 0.2 41 | 0.2 42 | true 43 | 44 | 45 | 46 | ${body_color} 47 | 0.2 48 | 0.2 49 | true 50 | 51 | 52 | 53 | ${body_color} 54 | 0.2 55 | 0.2 56 | true 57 | 58 | 59 | 60 | ${body_color} 61 | 0.2 62 | 0.2 63 | true 64 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /smartarm_description/urdf/smartarm.trans: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | transmission_interface/SimpleTransmission 6 | 7 | hardware_interface/EffortJointInterface 8 | 9 | 10 | hardware_interface/EffortJointInterface 11 | 1 12 | 13 | 14 | 15 | 16 | transmission_interface/SimpleTransmission 17 | 18 | hardware_interface/EffortJointInterface 19 | 20 | 21 | hardware_interface/EffortJointInterface 22 | 1 23 | 24 | 25 | 26 | 27 | transmission_interface/SimpleTransmission 28 | 29 | hardware_interface/EffortJointInterface 30 | 31 | 32 | hardware_interface/EffortJointInterface 33 | 1 34 | 35 | 36 | 37 | 38 | transmission_interface/SimpleTransmission 39 | 40 | hardware_interface/EffortJointInterface 41 | 42 | 43 | hardware_interface/EffortJointInterface 44 | 1 45 | 46 | 47 | 48 | 49 | transmission_interface/SimpleTransmission 50 | 51 | hardware_interface/EffortJointInterface 52 | 53 | 54 | hardware_interface/EffortJointInterface 55 | 1 56 | 57 | 58 | 59 | 60 | transmission_interface/SimpleTransmission 61 | 62 | hardware_interface/EffortJointInterface 63 | 64 | 65 | hardware_interface/EffortJointInterface 66 | 1 67 | 68 | 69 | 70 | 71 | transmission_interface/SimpleTransmission 72 | 73 | hardware_interface/EffortJointInterface 74 | 75 | 76 | hardware_interface/EffortJointInterface 77 | 1 78 | 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /smartarm_description/urdf/smartarm.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 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | -------------------------------------------------------------------------------- /smartarm_moveit_config/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.1.3) 2 | project(smartarm_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 | -------------------------------------------------------------------------------- /smartarm_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 | -------------------------------------------------------------------------------- /smartarm_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 -------------------------------------------------------------------------------- /smartarm_moveit_config/config/fake_controllers.yaml: -------------------------------------------------------------------------------- 1 | controller_list: 2 | - name: fake_smartarm_controller 3 | type: $(arg execution_type) 4 | joints: 5 | - joint1 6 | - joint2 7 | - joint3 8 | - joint4 9 | - joint5 10 | - joint6 11 | initial: # Define initial robot poses. 12 | - group: smartarm 13 | pose: home -------------------------------------------------------------------------------- /smartarm_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 | 3 | # For beginners, we downscale velocity and acceleration limits. 4 | # You can always specify higher scaling factors (<= 1.0) in your motion requests. # Increase the values below to 1.0 to always move at maximum speed. 5 | default_velocity_scaling_factor: 0.1 6 | default_acceleration_scaling_factor: 0.1 7 | 8 | # Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration] 9 | # Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits] 10 | joint_limits: 11 | joint1: 12 | has_velocity_limits: true 13 | max_velocity: 3 14 | has_acceleration_limits: true 15 | max_acceleration: 5 16 | joint2: 17 | has_velocity_limits: true 18 | max_velocity: 3 19 | has_acceleration_limits: true 20 | max_acceleration: 5 21 | joint3: 22 | has_velocity_limits: true 23 | max_velocity: 3 24 | has_acceleration_limits: true 25 | max_acceleration: 5 26 | joint4: 27 | has_velocity_limits: true 28 | max_velocity: 3 29 | has_acceleration_limits: true 30 | max_acceleration: 5 31 | joint5: 32 | has_velocity_limits: true 33 | max_velocity: 3 34 | has_acceleration_limits: true 35 | max_acceleration: 5 36 | joint6: 37 | has_velocity_limits: true 38 | max_velocity: 3 39 | has_acceleration_limits: true 40 | max_acceleration: 5 -------------------------------------------------------------------------------- /smartarm_moveit_config/config/kinematics.yaml: -------------------------------------------------------------------------------- 1 | smartarm: 2 | # kinematics_solver: bio_ik/BioIKKinematicsPlugin 3 | kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin 4 | kinematics_solver_search_resolution: 0.005 5 | kinematics_solver_timeout: 0.05 -------------------------------------------------------------------------------- /smartarm_moveit_config/config/ompl_planning.yaml: -------------------------------------------------------------------------------- 1 | planner_configs: 2 | AnytimePathShortening: 3 | type: geometric::AnytimePathShortening 4 | shortcut: true # Attempt to shortcut all new solution paths 5 | hybridize: true # Compute hybrid solution trajectories 6 | max_hybrid_paths: 24 # Number of hybrid paths generated per iteration 7 | num_planners: 4 # The number of default planners to use for planning 8 | planners: "" # A comma-separated list of planner types (e.g., "PRM,EST,RRTConnect"Optionally, planner parameters can be passed to change the default:"PRM[max_nearest_neighbors=5],EST[goal_bias=.5],RRT[range=10. goal_bias=.1]" 9 | SBL: 10 | type: geometric::SBL 11 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 12 | EST: 13 | type: geometric::EST 14 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0 setup() 15 | goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05 16 | LBKPIECE: 17 | type: geometric::LBKPIECE 18 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 19 | border_fraction: 0.9 # Fraction of time focused on boarder default: 0.9 20 | min_valid_path_fraction: 0.5 # Accept partially valid moves above fraction. default: 0.5 21 | BKPIECE: 22 | type: geometric::BKPIECE 23 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 24 | border_fraction: 0.9 # Fraction of time focused on boarder default: 0.9 25 | failed_expansion_score_factor: 0.5 # When extending motion fails, scale score by factor. default: 0.5 26 | min_valid_path_fraction: 0.5 # Accept partially valid moves above fraction. default: 0.5 27 | KPIECE: 28 | type: geometric::KPIECE 29 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 30 | goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05 31 | border_fraction: 0.9 # Fraction of time focused on boarder default: 0.9 (0.0,1.] 32 | failed_expansion_score_factor: 0.5 # When extending motion fails, scale score by factor. default: 0.5 33 | min_valid_path_fraction: 0.5 # Accept partially valid moves above fraction. default: 0.5 34 | RRT: 35 | type: geometric::RRT 36 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 37 | goal_bias: 0.05 # When close to goal select goal, with this probability? default: 0.05 38 | RRTConnect: 39 | type: geometric::RRTConnect 40 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 41 | RRTstar: 42 | type: geometric::RRTstar 43 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 44 | goal_bias: 0.05 # When close to goal select goal, with this probability? default: 0.05 45 | delay_collision_checking: 1 # Stop collision checking as soon as C-free parent found. default 1 46 | TRRT: 47 | type: geometric::TRRT 48 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 49 | goal_bias: 0.05 # When close to goal select goal, with this probability? default: 0.05 50 | max_states_failed: 10 # when to start increasing temp. default: 10 51 | temp_change_factor: 2.0 # how much to increase or decrease temp. default: 2.0 52 | min_temperature: 10e-10 # lower limit of temp change. default: 10e-10 53 | init_temperature: 10e-6 # initial temperature. default: 10e-6 54 | frountier_threshold: 0.0 # dist new state to nearest neighbor to disqualify as frontier. default: 0.0 set in setup() 55 | frountierNodeRatio: 0.1 # 1/10, or 1 nonfrontier for every 10 frontier. default: 0.1 56 | k_constant: 0.0 # value used to normalize expresssion. default: 0.0 set in setup() 57 | PRM: 58 | type: geometric::PRM 59 | max_nearest_neighbors: 10 # use k nearest neighbors. default: 10 60 | PRMstar: 61 | type: geometric::PRMstar 62 | FMT: 63 | type: geometric::FMT 64 | num_samples: 1000 # number of states that the planner should sample. default: 1000 65 | radius_multiplier: 1.1 # multiplier used for the nearest neighbors search radius. default: 1.1 66 | nearest_k: 1 # use Knearest strategy. default: 1 67 | cache_cc: 1 # use collision checking cache. default: 1 68 | heuristics: 0 # activate cost to go heuristics. default: 0 69 | extended_fmt: 1 # activate the extended FMT*: adding new samples if planner does not finish successfully. default: 1 70 | BFMT: 71 | type: geometric::BFMT 72 | num_samples: 1000 # number of states that the planner should sample. default: 1000 73 | radius_multiplier: 1.0 # multiplier used for the nearest neighbors search radius. default: 1.0 74 | nearest_k: 1 # use the Knearest strategy. default: 1 75 | balanced: 0 # exploration strategy: balanced true expands one tree every iteration. False will select the tree with lowest maximum cost to go. default: 1 76 | optimality: 1 # termination strategy: optimality true finishes when the best possible path is found. Otherwise, the algorithm will finish when the first feasible path is found. default: 1 77 | heuristics: 1 # activates cost to go heuristics. default: 1 78 | cache_cc: 1 # use the collision checking cache. default: 1 79 | extended_fmt: 1 # Activates the extended FMT*: adding new samples if planner does not finish successfully. default: 1 80 | PDST: 81 | type: geometric::PDST 82 | STRIDE: 83 | type: geometric::STRIDE 84 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 85 | goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05 86 | use_projected_distance: 0 # whether nearest neighbors are computed based on distances in a projection of the state rather distances in the state space itself. default: 0 87 | degree: 16 # desired degree of a node in the Geometric Near-neightbor Access Tree (GNAT). default: 16 88 | max_degree: 18 # max degree of a node in the GNAT. default: 12 89 | min_degree: 12 # min degree of a node in the GNAT. default: 12 90 | max_pts_per_leaf: 6 # max points per leaf in the GNAT. default: 6 91 | estimated_dimension: 0.0 # estimated dimension of the free space. default: 0.0 92 | min_valid_path_fraction: 0.2 # Accept partially valid moves above fraction. default: 0.2 93 | BiTRRT: 94 | type: geometric::BiTRRT 95 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 96 | temp_change_factor: 0.1 # how much to increase or decrease temp. default: 0.1 97 | init_temperature: 100 # initial temperature. default: 100 98 | frountier_threshold: 0.0 # dist new state to nearest neighbor to disqualify as frontier. default: 0.0 set in setup() 99 | frountier_node_ratio: 0.1 # 1/10, or 1 nonfrontier for every 10 frontier. default: 0.1 100 | cost_threshold: 1e300 # the cost threshold. Any motion cost that is not better will not be expanded. default: inf 101 | LBTRRT: 102 | type: geometric::LBTRRT 103 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 104 | goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05 105 | epsilon: 0.4 # optimality approximation factor. default: 0.4 106 | BiEST: 107 | type: geometric::BiEST 108 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 109 | ProjEST: 110 | type: geometric::ProjEST 111 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 112 | goal_bias: 0.05 # When close to goal select goal, with this probability. default: 0.05 113 | LazyPRM: 114 | type: geometric::LazyPRM 115 | range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup() 116 | LazyPRMstar: 117 | type: geometric::LazyPRMstar 118 | SPARS: 119 | type: geometric::SPARS 120 | stretch_factor: 3.0 # roadmap spanner stretch factor. multiplicative upper bound on path quality. It does not make sense to make this parameter more than 3. default: 3.0 121 | sparse_delta_fraction: 0.25 # delta fraction for connection distance. This value represents the visibility range of sparse samples. default: 0.25 122 | dense_delta_fraction: 0.001 # delta fraction for interface detection. default: 0.001 123 | max_failures: 1000 # maximum consecutive failure limit. default: 1000 124 | SPARStwo: 125 | type: geometric::SPARStwo 126 | stretch_factor: 3.0 # roadmap spanner stretch factor. multiplicative upper bound on path quality. It does not make sense to make this parameter more than 3. default: 3.0 127 | sparse_delta_fraction: 0.25 # delta fraction for connection distance. This value represents the visibility range of sparse samples. default: 0.25 128 | dense_delta_fraction: 0.001 # delta fraction for interface detection. default: 0.001 129 | max_failures: 5000 # maximum consecutive failure limit. default: 5000 130 | smartarm: 131 | planner_configs: 132 | - AnytimePathShortening 133 | - SBL 134 | - EST 135 | - LBKPIECE 136 | - BKPIECE 137 | - KPIECE 138 | - RRT 139 | - RRTConnect 140 | - RRTstar 141 | - TRRT 142 | - PRM 143 | - PRMstar 144 | - FMT 145 | - BFMT 146 | - PDST 147 | - STRIDE 148 | - BiTRRT 149 | - LBTRRT 150 | - BiEST 151 | - ProjEST 152 | - LazyPRM 153 | - LazyPRMstar 154 | - SPARS 155 | - SPARStwo 156 | -------------------------------------------------------------------------------- /smartarm_moveit_config/config/ros_controllers.yaml: -------------------------------------------------------------------------------- 1 | # Simulation settings for using moveit_sim_controllers 2 | moveit_sim_hw_interface: 3 | joint_model_group: smartarm 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 | - joint1 13 | - joint2 14 | - joint3 15 | - joint4 16 | - joint5 17 | - 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 | [] 26 | smartarm_controller: 27 | type: pos_vel_acc_controllers/JointTrajectoryController 28 | joints: 29 | - joint1 30 | - joint2 31 | - joint3 32 | - joint4 33 | - joint5 34 | - joint6 35 | gains: 36 | joint1: 37 | p: 100 38 | d: 1 39 | i: 1 40 | i_clamp: 1 41 | joint2: 42 | p: 100 43 | d: 1 44 | i: 1 45 | i_clamp: 1 46 | joint3: 47 | p: 100 48 | d: 1 49 | i: 1 50 | i_clamp: 1 51 | joint4: 52 | p: 100 53 | d: 1 54 | i: 1 55 | i_clamp: 1 56 | joint5: 57 | p: 100 58 | d: 1 59 | i: 1 60 | i_clamp: 1 61 | joint6: 62 | p: 100 63 | d: 1 64 | i: 1 65 | i_clamp: 1 -------------------------------------------------------------------------------- /smartarm_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 | - {} -------------------------------------------------------------------------------- /smartarm_moveit_config/config/urdf_v2.srdf: -------------------------------------------------------------------------------- 1 | 2 | 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 | 50 | -------------------------------------------------------------------------------- /smartarm_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 | -------------------------------------------------------------------------------- /smartarm_moveit_config/launch/default_warehouse_db.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /smartarm_moveit_config/launch/demo.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | [move_group/fake_controller_joint_states] 34 | 35 | 36 | [move_group/fake_controller_joint_states] 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /smartarm_moveit_config/launch/demo2.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | [move_group/fake_controller_joint_states] 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /smartarm_moveit_config/launch/demo_gazebo.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | [move_group/fake_controller_joint_states] 43 | [/joint_states] 44 | 45 | 46 | [move_group/fake_controller_joint_states] 47 | [/joint_states] 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /smartarm_moveit_config/launch/fake_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /smartarm_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 | -------------------------------------------------------------------------------- /smartarm_moveit_config/launch/joystick_control.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /smartarm_moveit_config/launch/move_group.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /smartarm_moveit_config/launch/moveit_rviz.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /smartarm_moveit_config/launch/ompl_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 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /smartarm_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 | -------------------------------------------------------------------------------- /smartarm_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 | -------------------------------------------------------------------------------- /smartarm_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 | -------------------------------------------------------------------------------- /smartarm_moveit_config/launch/ros_controllers.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /smartarm_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 | -------------------------------------------------------------------------------- /smartarm_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 | -------------------------------------------------------------------------------- /smartarm_moveit_config/launch/setup_assistant.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /smartarm_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 | 25 | -------------------------------------------------------------------------------- /smartarm_moveit_config/launch/urdf_v2_moveit_controller_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /smartarm_moveit_config/launch/urdf_v2_moveit_sensor_manager.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /smartarm_moveit_config/launch/warehouse.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /smartarm_moveit_config/launch/warehouse_settings.launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /smartarm_moveit_config/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | smartarm_moveit_config 4 | 0.3.0 5 | 6 | An automatically generated package with all the configuration and launch files for using the urdf_v2 with the MoveIt Motion Planning Framework 7 | 8 | Xinrui Zu 9 | Xinrui Zu 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 | urdf_v2_description 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /smartarm_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0.2) 2 | project(smartarm_msgs) 3 | 4 | ## Compile as C++11, supported in ROS Kinetic and newer 5 | # add_compile_options(-std=c++11) 6 | 7 | ## Find catkin macros and libraries 8 | ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) 9 | ## is used, also find other catkin packages 10 | find_package(catkin REQUIRED COMPONENTS 11 | message_generation 12 | roscpp 13 | rospy 14 | std_msgs 15 | geometry_msgs 16 | ) 17 | 18 | ## System dependencies are found with CMake's conventions 19 | # find_package(Boost REQUIRED COMPONENTS system) 20 | 21 | 22 | ## Uncomment this if the package has a setup.py. This macro ensures 23 | ## modules and global scripts declared therein get installed 24 | ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html 25 | # catkin_python_setup() 26 | 27 | ################################################ 28 | ## Declare ROS messages, services and actions ## 29 | ################################################ 30 | 31 | ## To declare and build messages, services or actions from within this 32 | ## package, follow these steps: 33 | ## * Let MSG_DEP_SET be the set of packages whose message types you use in 34 | ## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). 35 | ## * In the file package.xml: 36 | ## * add a build_depend tag for "message_generation" 37 | ## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET 38 | ## * If MSG_DEP_SET isn't empty the following dependency has been pulled in 39 | ## but can be declared for certainty nonetheless: 40 | ## * add a exec_depend tag for "message_runtime" 41 | ## * In this file (CMakeLists.txt): 42 | ## * add "message_generation" and every package in MSG_DEP_SET to 43 | ## find_package(catkin REQUIRED COMPONENTS ...) 44 | ## * add "message_runtime" and every package in MSG_DEP_SET to 45 | ## catkin_package(CATKIN_DEPENDS ...) 46 | ## * uncomment the add_*_files sections below as needed 47 | ## and list every .msg/.srv/.action file to be processed 48 | ## * uncomment the generate_messages entry below 49 | ## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) 50 | 51 | ## Generate messages in the 'msg' folder 52 | add_message_files( 53 | FILES 54 | sonic_array_msg.msg 55 | Position.msg 56 | SonicArray.msg 57 | Imu.msg 58 | # Message1.msg 59 | # Message2.msg 60 | ) 61 | 62 | ## Generate services in the 'srv' folder 63 | # add_service_files( 64 | # FILES 65 | # Service1.srv 66 | # Service2.srv 67 | # ) 68 | 69 | ## Generate actions in the 'action' folder 70 | # add_action_files( 71 | # FILES 72 | # Action1.action 73 | # Action2.action 74 | # ) 75 | 76 | ## Generate added messages and services with any dependencies listed here 77 | generate_messages( 78 | DEPENDENCIES 79 | std_msgs 80 | geometry_msgs 81 | ) 82 | 83 | ################################################ 84 | ## Declare ROS dynamic reconfigure parameters ## 85 | ################################################ 86 | 87 | ## To declare and build dynamic reconfigure parameters within this 88 | ## package, follow these steps: 89 | ## * In the file package.xml: 90 | ## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" 91 | ## * In this file (CMakeLists.txt): 92 | ## * add "dynamic_reconfigure" to 93 | ## find_package(catkin REQUIRED COMPONENTS ...) 94 | ## * uncomment the "generate_dynamic_reconfigure_options" section below 95 | ## and list every .cfg file to be processed 96 | 97 | ## Generate dynamic reconfigure parameters in the 'cfg' folder 98 | # generate_dynamic_reconfigure_options( 99 | # cfg/DynReconf1.cfg 100 | # cfg/DynReconf2.cfg 101 | # ) 102 | 103 | ################################### 104 | ## catkin specific configuration ## 105 | ################################### 106 | ## The catkin_package macro generates cmake config files for your package 107 | ## Declare things to be passed to dependent projects 108 | ## INCLUDE_DIRS: uncomment this if your package contains header files 109 | ## LIBRARIES: libraries you create in this project that dependent projects also need 110 | ## CATKIN_DEPENDS: catkin_packages dependent projects also need 111 | ## DEPENDS: system dependencies of this project that dependent projects also need 112 | catkin_package( 113 | # INCLUDE_DIRS include 114 | # LIBRARIES smartarm_msgs 115 | CATKIN_DEPENDS message_runtime 116 | # DEPENDS system_lib 117 | ) 118 | 119 | ########### 120 | ## Build ## 121 | ########### 122 | 123 | ## Specify additional locations of header files 124 | ## Your package locations should be listed before other locations 125 | include_directories( 126 | # include 127 | ${catkin_INCLUDE_DIRS} 128 | ) 129 | 130 | ## Declare a C++ library 131 | # add_library(${PROJECT_NAME} 132 | # src/${PROJECT_NAME}/smartarm_msgs.cpp 133 | # ) 134 | 135 | ## Add cmake target dependencies of the library 136 | ## as an example, code may need to be generated before libraries 137 | ## either from message generation or dynamic reconfigure 138 | # add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 139 | 140 | ## Declare a C++ executable 141 | ## With catkin_make all packages are built within a single CMake context 142 | ## The recommended prefix ensures that target names across packages don't collide 143 | # add_executable(${PROJECT_NAME}_node src/smartarm_msgs_node.cpp) 144 | 145 | ## Rename C++ executable without prefix 146 | ## The above recommended prefix causes long target names, the following renames the 147 | ## target back to the shorter version for ease of user use 148 | ## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" 149 | # set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") 150 | 151 | ## Add cmake target dependencies of the executable 152 | ## same as for the library above 153 | # add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 154 | 155 | ## Specify libraries to link a library or executable target against 156 | # target_link_libraries(${PROJECT_NAME}_node 157 | # ${catkin_LIBRARIES} 158 | # ) 159 | 160 | ############# 161 | ## Install ## 162 | ############# 163 | 164 | # all install targets should use catkin DESTINATION variables 165 | # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html 166 | 167 | ## Mark executable scripts (Python etc.) for installation 168 | ## in contrast to setup.py, you can choose the destination 169 | # catkin_install_python(PROGRAMS 170 | # scripts/my_python_script 171 | # DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 172 | # ) 173 | 174 | ## Mark executables for installation 175 | ## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_executables.html 176 | # install(TARGETS ${PROJECT_NAME}_node 177 | # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 178 | # ) 179 | 180 | ## Mark libraries for installation 181 | ## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_libraries.html 182 | # install(TARGETS ${PROJECT_NAME} 183 | # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 184 | # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 185 | # RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} 186 | # ) 187 | 188 | ## Mark cpp header files for installation 189 | # install(DIRECTORY include/${PROJECT_NAME}/ 190 | # DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} 191 | # FILES_MATCHING PATTERN "*.h" 192 | # PATTERN ".svn" EXCLUDE 193 | # ) 194 | 195 | ## Mark other files for installation (e.g. launch and bag files, etc.) 196 | # install(FILES 197 | # # myfile1 198 | # # myfile2 199 | # DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} 200 | # ) 201 | 202 | ############# 203 | ## Testing ## 204 | ############# 205 | 206 | ## Add gtest based cpp test target and link libraries 207 | # catkin_add_gtest(${PROJECT_NAME}-test test/test_smartarm_msgs.cpp) 208 | # if(TARGET ${PROJECT_NAME}-test) 209 | # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) 210 | # endif() 211 | 212 | ## Add folders to be run by python nosetests 213 | # catkin_add_nosetests(test) 214 | -------------------------------------------------------------------------------- /smartarm_msgs/msg/Imu.msg: -------------------------------------------------------------------------------- 1 | geometry_msgs/Vector3 linear_acceleration 2 | geometry_msgs/Vector3 angular_velocity 3 | geometry_msgs/Vector3 magnetic_field 4 | -------------------------------------------------------------------------------- /smartarm_msgs/msg/Position.msg: -------------------------------------------------------------------------------- 1 | float32 num 2 | float32 x 3 | float32 y 4 | float32 z -------------------------------------------------------------------------------- /smartarm_msgs/msg/SonicArray.msg: -------------------------------------------------------------------------------- 1 | uint8 number 2 | float32 length1 3 | float32 length2 4 | float32 length3 -------------------------------------------------------------------------------- /smartarm_msgs/msg/sonic_array_msg.msg: -------------------------------------------------------------------------------- 1 | float32 length1 2 | float32 length2 3 | float32 length3 -------------------------------------------------------------------------------- /smartarm_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | smartarm_msgs 4 | 0.0.0 5 | The smartarm_msgs package 6 | 7 | 8 | 9 | 10 | zuxinrui 11 | 12 | 13 | 14 | 15 | 16 | TODO 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 | 50 | 51 | catkin 52 | roscpp 53 | rospy 54 | std_msgs 55 | geometry_msgs 56 | message_generation 57 | roscpp 58 | rospy 59 | std_msgs 60 | roscpp 61 | rospy 62 | std_msgs 63 | geometry_msgs 64 | message_runtime 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /urdf_v2_description/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(urdf_v2_description) 3 | 4 | ## Compile as C++11, supported in ROS Kinetic and newer 5 | # add_compile_options(-std=c++11) 6 | 7 | ## Find catkin macros and libraries 8 | ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) 9 | ## is used, also find other catkin packages 10 | find_package(catkin REQUIRED COMPONENTS 11 | rospy 12 | ) 13 | 14 | ## System dependencies are found with CMake's conventions 15 | # find_package(Boost REQUIRED COMPONENTS system) 16 | 17 | 18 | ## Uncomment this if the package has a setup.py. This macro ensures 19 | ## modules and global scripts declared therein get installed 20 | ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html 21 | # catkin_python_setup() 22 | 23 | ################################################ 24 | ## Declare ROS messages, services and actions ## 25 | ################################################ 26 | 27 | ## To declare and build messages, services or actions from within this 28 | ## package, follow these steps: 29 | ## * Let MSG_DEP_SET be the set of packages whose message types you use in 30 | ## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). 31 | ## * In the file package.xml: 32 | ## * add a build_depend tag for "message_generation" 33 | ## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET 34 | ## * If MSG_DEP_SET isn't empty the following dependency has been pulled in 35 | ## but can be declared for certainty nonetheless: 36 | ## * add a exec_depend tag for "message_runtime" 37 | ## * In this file (CMakeLists.txt): 38 | ## * add "message_generation" and every package in MSG_DEP_SET to 39 | ## find_package(catkin REQUIRED COMPONENTS ...) 40 | ## * add "message_runtime" and every package in MSG_DEP_SET to 41 | ## catkin_package(CATKIN_DEPENDS ...) 42 | ## * uncomment the add_*_files sections below as needed 43 | ## and list every .msg/.srv/.action file to be processed 44 | ## * uncomment the generate_messages entry below 45 | ## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) 46 | 47 | ## Generate messages in the 'msg' folder 48 | # add_message_files( 49 | # FILES 50 | # Message1.msg 51 | # Message2.msg 52 | # ) 53 | 54 | ## Generate services in the 'srv' folder 55 | # add_service_files( 56 | # FILES 57 | # Service1.srv 58 | # Service2.srv 59 | # ) 60 | 61 | ## Generate actions in the 'action' folder 62 | # add_action_files( 63 | # FILES 64 | # Action1.action 65 | # Action2.action 66 | # ) 67 | 68 | ## Generate added messages and services with any dependencies listed here 69 | # generate_messages( 70 | # DEPENDENCIES 71 | # std_msgs # Or other packages containing msgs 72 | # ) 73 | 74 | ################################################ 75 | ## Declare ROS dynamic reconfigure parameters ## 76 | ################################################ 77 | 78 | ## To declare and build dynamic reconfigure parameters within this 79 | ## package, follow these steps: 80 | ## * In the file package.xml: 81 | ## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" 82 | ## * In this file (CMakeLists.txt): 83 | ## * add "dynamic_reconfigure" to 84 | ## find_package(catkin REQUIRED COMPONENTS ...) 85 | ## * uncomment the "generate_dynamic_reconfigure_options" section below 86 | ## and list every .cfg file to be processed 87 | 88 | ## Generate dynamic reconfigure parameters in the 'cfg' folder 89 | # generate_dynamic_reconfigure_options( 90 | # cfg/DynReconf1.cfg 91 | # cfg/DynReconf2.cfg 92 | # ) 93 | 94 | ################################### 95 | ## catkin specific configuration ## 96 | ################################### 97 | ## The catkin_package macro generates cmake config files for your package 98 | ## Declare things to be passed to dependent projects 99 | ## INCLUDE_DIRS: uncomment this if your package contains header files 100 | ## LIBRARIES: libraries you create in this project that dependent projects also need 101 | ## CATKIN_DEPENDS: catkin_packages dependent projects also need 102 | ## DEPENDS: system dependencies of this project that dependent projects also need 103 | catkin_package( 104 | # INCLUDE_DIRS include 105 | # LIBRARIES fusion2urdf 106 | # CATKIN_DEPENDS rospy 107 | # DEPENDS system_lib 108 | ) 109 | 110 | ########### 111 | ## Build ## 112 | ########### 113 | 114 | ## Specify additional locations of header files 115 | ## Your package locations should be listed before other locations 116 | include_directories( 117 | # include 118 | ${catkin_INCLUDE_DIRS} 119 | ) 120 | 121 | ## Declare a C++ library 122 | # add_library(${PROJECT_NAME} 123 | # src/${PROJECT_NAME}/fusion2urdf.cpp 124 | # ) 125 | 126 | ## Add cmake target dependencies of the library 127 | ## as an example, code may need to be generated before libraries 128 | ## either from message generation or dynamic reconfigure 129 | # add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 130 | 131 | ## Declare a C++ executable 132 | ## With catkin_make all packages are built within a single CMake context 133 | ## The recommended prefix ensures that target names across packages don't collide 134 | # add_executable(${PROJECT_NAME}_node src/fusion2urdf_node.cpp) 135 | 136 | ## Rename C++ executable without prefix 137 | ## The above recommended prefix causes long target names, the following renames the 138 | ## target back to the shorter version for ease of user use 139 | ## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" 140 | # set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") 141 | 142 | ## Add cmake target dependencies of the executable 143 | ## same as for the library above 144 | # add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 145 | 146 | ## Specify libraries to link a library or executable target against 147 | # target_link_libraries(${PROJECT_NAME}_node 148 | # ${catkin_LIBRARIES} 149 | # ) 150 | 151 | ############# 152 | ## Install ## 153 | ############# 154 | 155 | # all install targets should use catkin DESTINATION variables 156 | # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html 157 | 158 | ## Mark executable scripts (Python etc.) for installation 159 | ## in contrast to setup.py, you can choose the destination 160 | # install(PROGRAMS 161 | # scripts/my_python_script 162 | # DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 163 | # ) 164 | 165 | ## Mark executables and/or libraries for installation 166 | # install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_node 167 | # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 168 | # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 169 | # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 170 | # ) 171 | 172 | ## Mark cpp header files for installation 173 | # install(DIRECTORY include/${PROJECT_NAME}/ 174 | # DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} 175 | # FILES_MATCHING PATTERN "*.h" 176 | # PATTERN ".svn" EXCLUDE 177 | # ) 178 | 179 | ## Mark other files for installation (e.g. launch and bag files, etc.) 180 | # install(FILES 181 | # # myfile1 182 | # # myfile2 183 | # DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} 184 | # ) 185 | 186 | ############# 187 | ## Testing ## 188 | ############# 189 | 190 | ## Add gtest based cpp test target and link libraries 191 | # catkin_add_gtest(${PROJECT_NAME}-test test/test_fusion2urdf.cpp) 192 | # if(TARGET ${PROJECT_NAME}-test) 193 | # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) 194 | # endif() 195 | 196 | ## Add folders to be run by python nosetests 197 | # catkin_add_nosetests(test) 198 | -------------------------------------------------------------------------------- /urdf_v2_description/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Toshinori Kitamura 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /urdf_v2_description/launch/controller.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /urdf_v2_description/launch/controller.yaml: -------------------------------------------------------------------------------- 1 | urdf_v2_controller: 2 | # Publish all joint states ----------------------------------- 3 | joint_state_controller: 4 | type: joint_state_controller/JointStateController 5 | publish_rate: 50 6 | 7 | # Position Controllers -------------------------------------- 8 | joint1_position_controller: 9 | type: effort_controllers/JointPositionController 10 | joint: joint1 11 | pid: {p: 100.0, i: 0.01, d: 10.0} 12 | joint2_position_controller: 13 | type: effort_controllers/JointPositionController 14 | joint: joint2 15 | pid: {p: 100.0, i: 0.01, d: 10.0} 16 | joint3_position_controller: 17 | type: effort_controllers/JointPositionController 18 | joint: joint3 19 | pid: {p: 100.0, i: 0.01, d: 10.0} 20 | joint4_position_controller: 21 | type: effort_controllers/JointPositionController 22 | joint: joint4 23 | pid: {p: 100.0, i: 0.01, d: 10.0} 24 | joint5_position_controller: 25 | type: effort_controllers/JointPositionController 26 | joint: joint5 27 | pid: {p: 100.0, i: 0.01, d: 10.0} 28 | joint6_position_controller: 29 | type: effort_controllers/JointPositionController 30 | joint: joint6 31 | pid: {p: 100.0, i: 0.01, d: 10.0} 32 | -------------------------------------------------------------------------------- /urdf_v2_description/launch/display.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /urdf_v2_description/launch/gazebo.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /urdf_v2_description/launch/urdf.rviz: -------------------------------------------------------------------------------- 1 | Panels: 2 | - Class: rviz/Displays 3 | Help Height: 85 4 | Name: Displays 5 | Property Tree Widget: 6 | Expanded: 7 | - /Global Options1 8 | - /Status1 9 | - /RobotModel1 10 | - /TF1 11 | Splitter Ratio: 0.5 12 | Tree Height: 1754 13 | - Class: rviz/Selection 14 | Name: Selection 15 | - Class: rviz/Tool Properties 16 | Expanded: 17 | - /2D Pose Estimate1 18 | - /2D Nav Goal1 19 | - /Publish Point1 20 | Name: Tool Properties 21 | Splitter Ratio: 0.5886790156364441 22 | - Class: rviz/Views 23 | Expanded: 24 | - /Current View1 25 | Name: Views 26 | Splitter Ratio: 0.5 27 | - Class: rviz/Time 28 | Experimental: false 29 | Name: Time 30 | SyncMode: 0 31 | SyncSource: "" 32 | Preferences: 33 | PromptSaveOnExit: true 34 | Toolbars: 35 | toolButtonStyle: 2 36 | Visualization Manager: 37 | Class: "" 38 | Displays: 39 | - Alpha: 0.5 40 | Cell Size: 1 41 | Class: rviz/Grid 42 | Color: 160; 160; 164 43 | Enabled: true 44 | Line Style: 45 | Line Width: 0.029999999329447746 46 | Value: Lines 47 | Name: Grid 48 | Normal Cell Count: 0 49 | Offset: 50 | X: 0 51 | Y: 0 52 | Z: 0 53 | Plane: XY 54 | Plane Cell Count: 10 55 | Reference Frame: 56 | Value: true 57 | - Alpha: 1 58 | Class: rviz/RobotModel 59 | Collision Enabled: false 60 | Enabled: true 61 | Links: 62 | All Links Enabled: true 63 | Expand Joint Details: false 64 | Expand Link Details: false 65 | Expand Tree: false 66 | Link Tree Style: Links in Alphabetic Order 67 | base_link: 68 | Alpha: 1 69 | Show Axes: false 70 | Show Trail: false 71 | Value: true 72 | link1_1: 73 | Alpha: 1 74 | Show Axes: false 75 | Show Trail: false 76 | Value: true 77 | link2_1: 78 | Alpha: 1 79 | Show Axes: false 80 | Show Trail: false 81 | Value: true 82 | link3_1: 83 | Alpha: 1 84 | Show Axes: false 85 | Show Trail: false 86 | Value: true 87 | link4_1: 88 | Alpha: 1 89 | Show Axes: false 90 | Show Trail: false 91 | Value: true 92 | link5_1: 93 | Alpha: 1 94 | Show Axes: false 95 | Show Trail: false 96 | Value: true 97 | link6_1: 98 | Alpha: 1 99 | Show Axes: false 100 | Show Trail: false 101 | Value: true 102 | Name: RobotModel 103 | Robot Description: robot_description 104 | TF Prefix: "" 105 | Update Interval: 0 106 | Value: true 107 | Visual Enabled: true 108 | - Class: rviz/TF 109 | Enabled: true 110 | Frame Timeout: 15 111 | Frames: 112 | All Enabled: true 113 | base_link: 114 | Value: true 115 | link1_1: 116 | Value: true 117 | link2_1: 118 | Value: true 119 | link3_1: 120 | Value: true 121 | link4_1: 122 | Value: true 123 | link5_1: 124 | Value: true 125 | link6_1: 126 | Value: true 127 | Marker Alpha: 1 128 | Marker Scale: 0.5 129 | Name: TF 130 | Show Arrows: true 131 | Show Axes: true 132 | Show Names: true 133 | Tree: 134 | base_link: 135 | link1_1: 136 | link2_1: 137 | link3_1: 138 | link4_1: 139 | link5_1: 140 | link6_1: 141 | {} 142 | Update Interval: 0 143 | Value: true 144 | Enabled: true 145 | Global Options: 146 | Background Color: 48; 48; 48 147 | Default Light: true 148 | Fixed Frame: base_link 149 | Frame Rate: 30 150 | Name: root 151 | Tools: 152 | - Class: rviz/Interact 153 | Hide Inactive Objects: true 154 | - Class: rviz/MoveCamera 155 | - Class: rviz/Select 156 | - Class: rviz/FocusCamera 157 | - Class: rviz/Measure 158 | - Class: rviz/SetInitialPose 159 | Theta std deviation: 0.2617993950843811 160 | Topic: /initialpose 161 | X std deviation: 0.5 162 | Y std deviation: 0.5 163 | - Class: rviz/SetGoal 164 | Topic: /move_base_simple/goal 165 | - Class: rviz/PublishPoint 166 | Single click: true 167 | Topic: /clicked_point 168 | Value: true 169 | Views: 170 | Current: 171 | Class: rviz/Orbit 172 | Distance: 3.133693218231201 173 | Enable Stereo Rendering: 174 | Stereo Eye Separation: 0.05999999865889549 175 | Stereo Focal Distance: 1 176 | Swap Stereo Eyes: false 177 | Value: false 178 | Field of View: 0.7853981852531433 179 | Focal Point: 180 | X: -0.0016349668148905039 181 | Y: -0.014781012199819088 182 | Z: 0.017814036458730698 183 | Focal Shape Fixed Size: true 184 | Focal Shape Size: 0.05000000074505806 185 | Invert Z Axis: false 186 | Name: Current View 187 | Near Clip Distance: 0.009999999776482582 188 | Pitch: 0.5453969240188599 189 | Target Frame: 190 | Yaw: 0.7485821843147278 191 | Saved: ~ 192 | Window Geometry: 193 | Displays: 194 | collapsed: false 195 | Height: 2089 196 | Hide Left Dock: false 197 | Hide Right Dock: false 198 | QMainWindow State: 000000ff00000000fd00000004000000000000025500000776fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006e00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000004700000776000000f100fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f00000776fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000004700000776000000c200fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e1000001970000000300000ea800000044fc0100000002fb0000000800540069006d0065010000000000000ea80000037100fffffffb0000000800540069006d0065010000000000000450000000000000000000000b360000077600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 199 | Selection: 200 | collapsed: false 201 | Time: 202 | collapsed: false 203 | Tool Properties: 204 | collapsed: false 205 | Views: 206 | collapsed: false 207 | Width: 3752 208 | X: 88 209 | Y: 34 210 | -------------------------------------------------------------------------------- /urdf_v2_description/meshes/base_link.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/urdf_v2_description/meshes/base_link.stl -------------------------------------------------------------------------------- /urdf_v2_description/meshes/link1_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/urdf_v2_description/meshes/link1_1.stl -------------------------------------------------------------------------------- /urdf_v2_description/meshes/link2_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/urdf_v2_description/meshes/link2_1.stl -------------------------------------------------------------------------------- /urdf_v2_description/meshes/link3_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/urdf_v2_description/meshes/link3_1.stl -------------------------------------------------------------------------------- /urdf_v2_description/meshes/link4_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/urdf_v2_description/meshes/link4_1.stl -------------------------------------------------------------------------------- /urdf_v2_description/meshes/link5_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/urdf_v2_description/meshes/link5_1.stl -------------------------------------------------------------------------------- /urdf_v2_description/meshes/link6_1.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zuxinrui/Smartarm/9e6d140fb93c003b417de4468807358831b79e97/urdf_v2_description/meshes/link6_1.stl -------------------------------------------------------------------------------- /urdf_v2_description/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | urdf_v2_description 4 | 0.0.0 5 | The urdf_v2_description package 6 | 7 | 8 | 9 | 10 | syuntoku14 11 | 12 | 13 | 14 | 15 | 16 | TODO 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 | 50 | 51 | catkin 52 | rospy 53 | rospy 54 | rospy 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /urdf_v2_description/urdf/materials.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /urdf_v2_description/urdf/urdf_v2.gazebo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ${body_color} 11 | 0.2 12 | 0.2 13 | true 14 | true 15 | 16 | 17 | 18 | ${body_color} 19 | 0.2 20 | 0.2 21 | true 22 | 23 | 24 | 25 | ${body_color} 26 | 0.2 27 | 0.2 28 | true 29 | 30 | 31 | 32 | ${body_color} 33 | 0.2 34 | 0.2 35 | true 36 | 37 | 38 | 39 | ${body_color} 40 | 0.2 41 | 0.2 42 | true 43 | 44 | 45 | 46 | ${body_color} 47 | 0.2 48 | 0.2 49 | true 50 | 51 | 52 | 53 | ${body_color} 54 | 0.2 55 | 0.2 56 | true 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /urdf_v2_description/urdf/urdf_v2.trans: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | transmission_interface/SimpleTransmission 6 | 7 | hardware_interface/EffortJointInterface 8 | 9 | 10 | hardware_interface/EffortJointInterface 11 | 1 12 | 13 | 14 | 15 | 16 | transmission_interface/SimpleTransmission 17 | 18 | hardware_interface/EffortJointInterface 19 | 20 | 21 | hardware_interface/EffortJointInterface 22 | 1 23 | 24 | 25 | 26 | 27 | transmission_interface/SimpleTransmission 28 | 29 | hardware_interface/EffortJointInterface 30 | 31 | 32 | hardware_interface/EffortJointInterface 33 | 1 34 | 35 | 36 | 37 | 38 | transmission_interface/SimpleTransmission 39 | 40 | hardware_interface/EffortJointInterface 41 | 42 | 43 | hardware_interface/EffortJointInterface 44 | 1 45 | 46 | 47 | 48 | 49 | transmission_interface/SimpleTransmission 50 | 51 | hardware_interface/EffortJointInterface 52 | 53 | 54 | hardware_interface/EffortJointInterface 55 | 1 56 | 57 | 58 | 59 | 60 | transmission_interface/SimpleTransmission 61 | 62 | hardware_interface/EffortJointInterface 63 | 64 | 65 | hardware_interface/EffortJointInterface 66 | 1 67 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /urdf_v2_description/urdf/urdf_v2.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 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | --------------------------------------------------------------------------------