├── 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 | 
6 | 
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 | 
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 | 
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 | 
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 | 
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 |
--------------------------------------------------------------------------------