panda-python 0.6.2__tar.gz → 0.7.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. panda_python-0.7.1/.github/workflows/main.yml +49 -0
  2. panda_python-0.7.1/.github/workflows/pull_request.yml +19 -0
  3. panda_python-0.7.1/.github/workflows/release.yml +68 -0
  4. {panda_python-0.6.2 → panda_python-0.7.1}/.vscode/settings.json +14 -7
  5. {panda_python-0.6.2 → panda_python-0.7.1}/CMakeLists.txt +5 -0
  6. {panda_python-0.6.2 → panda_python-0.7.1}/PKG-INFO +14 -8
  7. {panda_python-0.6.2 → panda_python-0.7.1}/README.md +13 -7
  8. panda_python-0.7.1/bin/build.sh +65 -0
  9. {panda_python-0.6.2 → panda_python-0.7.1}/docs/conf.py +1 -2
  10. panda_python-0.7.1/examples/vacuum_object.py +57 -0
  11. panda_python-0.7.1/libfranka/.ci/Dockerfile.bionic +18 -0
  12. panda_python-0.7.1/libfranka/.ci/Dockerfile.focal +19 -0
  13. panda_python-0.7.1/libfranka/.ci/checkgithistory.sh +35 -0
  14. panda_python-0.7.1/libfranka/.ci/coverage.sh +12 -0
  15. panda_python-0.7.1/libfranka/.ci/debug.sh +12 -0
  16. panda_python-0.7.1/libfranka/.ci/libonly.sh +11 -0
  17. panda_python-0.7.1/libfranka/.ci/lint.sh +11 -0
  18. panda_python-0.7.1/libfranka/.ci/release.sh +20 -0
  19. panda_python-0.7.1/libfranka/.clang-format +4 -0
  20. panda_python-0.7.1/libfranka/.clang-tidy +60 -0
  21. panda_python-0.7.1/libfranka/.gitignore +7 -0
  22. panda_python-0.7.1/libfranka/.gitmodules +3 -0
  23. panda_python-0.7.1/libfranka/.travis.yml +48 -0
  24. panda_python-0.7.1/libfranka/CHANGELOG.md +196 -0
  25. panda_python-0.7.1/libfranka/CMakeLists.txt +249 -0
  26. panda_python-0.7.1/libfranka/Jenkinsfile +207 -0
  27. panda_python-0.7.1/libfranka/LICENSE +176 -0
  28. panda_python-0.7.1/libfranka/NOTICE +15 -0
  29. panda_python-0.7.1/libfranka/README.md +18 -0
  30. panda_python-0.7.1/libfranka/build/CMakeCache.txt +574 -0
  31. panda_python-0.7.1/libfranka/build/CMakeFiles/3.28.1/CMakeCXXCompiler.cmake +85 -0
  32. panda_python-0.7.1/libfranka/build/CMakeFiles/3.28.1/CMakeDetermineCompilerABI_CXX.bin +0 -0
  33. panda_python-0.7.1/libfranka/build/CMakeFiles/3.28.1/CMakeSystem.cmake +15 -0
  34. panda_python-0.7.1/libfranka/build/CMakeFiles/3.28.1/CompilerIdCXX/CMakeCXXCompilerId.cpp +869 -0
  35. panda_python-0.7.1/libfranka/build/CMakeFiles/3.28.1/CompilerIdCXX/a.out +0 -0
  36. panda_python-0.7.1/libfranka/build/CMakeFiles/CMakeConfigureLog.yaml +316 -0
  37. panda_python-0.7.1/libfranka/build/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
  38. panda_python-0.7.1/libfranka/build/CMakeFiles/Export/b99263ce54765e680b47d65446dafe94/FrankaTargets-release.cmake +20 -0
  39. panda_python-0.7.1/libfranka/build/CMakeFiles/Export/b99263ce54765e680b47d65446dafe94/FrankaTargets.cmake +103 -0
  40. panda_python-0.7.1/libfranka/build/CMakeFiles/Makefile.cmake +147 -0
  41. panda_python-0.7.1/libfranka/build/CMakeFiles/Makefile2 +129 -0
  42. panda_python-0.7.1/libfranka/build/CMakeFiles/TargetDirectories.txt +17 -0
  43. panda_python-0.7.1/libfranka/build/CMakeFiles/cmake.check_cache +1 -0
  44. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/DependInfo.cmake +52 -0
  45. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/build.make +473 -0
  46. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/cmake_clean.cmake +58 -0
  47. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/compiler_depend.internal +6911 -0
  48. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/compiler_depend.make +8154 -0
  49. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/compiler_depend.ts +2 -0
  50. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/depend.make +2 -0
  51. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/flags.make +10 -0
  52. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/link.txt +1 -0
  53. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/progress.make +25 -0
  54. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/control_loop.cpp.o +0 -0
  55. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/control_loop.cpp.o.d +199 -0
  56. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/control_tools.cpp.o +0 -0
  57. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/control_tools.cpp.o.d +172 -0
  58. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/control_types.cpp.o +0 -0
  59. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/control_types.cpp.o.d +149 -0
  60. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/duration.cpp.o +0 -0
  61. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/duration.cpp.o.d +45 -0
  62. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/errors.cpp.o +0 -0
  63. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/errors.cpp.o.d +160 -0
  64. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/exception.cpp.o +0 -0
  65. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/exception.cpp.o.d +177 -0
  66. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/gripper.cpp.o +0 -0
  67. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/gripper.cpp.o.d +297 -0
  68. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/gripper_state.cpp.o +0 -0
  69. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/gripper_state.cpp.o.d +159 -0
  70. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/library_downloader.cpp.o +0 -0
  71. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/library_downloader.cpp.o.d +296 -0
  72. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/library_loader.cpp.o +0 -0
  73. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/library_loader.cpp.o.d +186 -0
  74. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/load_calculations.cpp.o +0 -0
  75. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/load_calculations.cpp.o.d +321 -0
  76. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/log.cpp.o +0 -0
  77. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/log.cpp.o.d +179 -0
  78. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/logger.cpp.o +0 -0
  79. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/logger.cpp.o.d +179 -0
  80. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/lowpass_filter.cpp.o +0 -0
  81. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/lowpass_filter.cpp.o.d +382 -0
  82. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/model.cpp.o +0 -0
  83. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/model.cpp.o.d +441 -0
  84. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/model_library.cpp.o +0 -0
  85. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/model_library.cpp.o.d +292 -0
  86. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/network.cpp.o +0 -0
  87. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/network.cpp.o.d +296 -0
  88. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/rate_limiting.cpp.o +0 -0
  89. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/rate_limiting.cpp.o.d +381 -0
  90. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/robot.cpp.o +0 -0
  91. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/robot.cpp.o.d +307 -0
  92. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/robot_impl.cpp.o +0 -0
  93. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/robot_impl.cpp.o.d +442 -0
  94. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/robot_state.cpp.o +0 -0
  95. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/robot_state.cpp.o.d +165 -0
  96. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/vacuum_gripper.cpp.o +0 -0
  97. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/vacuum_gripper.cpp.o.d +298 -0
  98. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/vacuum_gripper_state.cpp.o +0 -0
  99. panda_python-0.7.1/libfranka/build/CMakeFiles/franka.dir/src/vacuum_gripper_state.cpp.o.d +159 -0
  100. panda_python-0.7.1/libfranka/build/CMakeFiles/progress.marks +1 -0
  101. panda_python-0.7.1/libfranka/build/CPackConfig.cmake +74 -0
  102. panda_python-0.7.1/libfranka/build/CPackSourceConfig.cmake +82 -0
  103. panda_python-0.7.1/libfranka/build/FrankaConfig.cmake +12 -0
  104. panda_python-0.7.1/libfranka/build/FrankaConfigVersion.cmake +65 -0
  105. panda_python-0.7.1/libfranka/build/FrankaTargets.cmake +70 -0
  106. panda_python-0.7.1/libfranka/build/Makefile +846 -0
  107. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/control +11 -0
  108. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/control.tar.gz +0 -0
  109. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/data.tar.gz +0 -0
  110. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/debian-binary +1 -0
  111. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/md5sums +21 -0
  112. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/include/franka/command_types.h +42 -0
  113. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/include/franka/control_tools.h +77 -0
  114. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/include/franka/control_types.h +359 -0
  115. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/include/franka/duration.h +265 -0
  116. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/include/franka/errors.h +258 -0
  117. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/include/franka/exception.h +109 -0
  118. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/include/franka/gripper.h +156 -0
  119. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/include/franka/gripper_state.h +61 -0
  120. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/include/franka/log.h +70 -0
  121. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/include/franka/lowpass_filter.h +60 -0
  122. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/include/franka/model.h +290 -0
  123. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/include/franka/rate_limiting.h +288 -0
  124. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/include/franka/robot.h +724 -0
  125. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/include/franka/robot_state.h +425 -0
  126. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/include/franka/vacuum_gripper.h +137 -0
  127. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/include/franka/vacuum_gripper_state.h +80 -0
  128. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/lib/cmake/Franka/FrankaConfig.cmake +12 -0
  129. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/lib/cmake/Franka/FrankaConfigVersion.cmake +65 -0
  130. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/lib/cmake/Franka/FrankaTargets-release.cmake +20 -0
  131. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/lib/cmake/Franka/FrankaTargets.cmake +103 -0
  132. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/lib/libfranka.so +1 -0
  133. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/lib/libfranka.so.0.9 +1 -0
  134. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64/usr/lib/libfranka.so.0.9.2 +0 -0
  135. panda_python-0.7.1/libfranka/build/_CPack_Packages/x86_64/DEB/libfranka-0.9.2-x86_64.deb +0 -0
  136. panda_python-0.7.1/libfranka/build/cmake_install.cmake +127 -0
  137. panda_python-0.7.1/libfranka/build/common/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
  138. panda_python-0.7.1/libfranka/build/common/CMakeFiles/progress.marks +1 -0
  139. panda_python-0.7.1/libfranka/build/common/Makefile +211 -0
  140. panda_python-0.7.1/libfranka/build/common/cmake_install.cmake +44 -0
  141. panda_python-0.7.1/libfranka/build/compile_commands.json +140 -0
  142. panda_python-0.7.1/libfranka/build/install_manifest.txt +23 -0
  143. panda_python-0.7.1/libfranka/build/libfranka-0.9.2-x86_64.deb +0 -0
  144. panda_python-0.7.1/libfranka/build/libfranka.so +1 -0
  145. panda_python-0.7.1/libfranka/build/libfranka.so.0.9 +1 -0
  146. panda_python-0.7.1/libfranka/build/libfranka.so.0.9.2 +0 -0
  147. panda_python-0.7.1/libfranka/cmake/FindEigen3.cmake +16 -0
  148. panda_python-0.7.1/libfranka/cmake/FindPoco.cmake +32 -0
  149. panda_python-0.7.1/libfranka/cmake/FrankaConfig.cmake.in +12 -0
  150. panda_python-0.7.1/libfranka/cmake/GoogleTest-CMakeLists.txt.in +16 -0
  151. panda_python-0.7.1/libfranka/cmake/SetupGoogleTest.cmake +31 -0
  152. panda_python-0.7.1/libfranka/codecov.yml +1 -0
  153. panda_python-0.7.1/libfranka/common/.git +1 -0
  154. panda_python-0.7.1/libfranka/common/CMakeLists.txt +6 -0
  155. panda_python-0.7.1/libfranka/common/LICENSE +176 -0
  156. panda_python-0.7.1/libfranka/common/NOTICE +15 -0
  157. panda_python-0.7.1/libfranka/common/README.md +11 -0
  158. panda_python-0.7.1/libfranka/common/include/research_interface/gripper/types.h +145 -0
  159. panda_python-0.7.1/libfranka/common/include/research_interface/robot/error.h +141 -0
  160. panda_python-0.7.1/libfranka/common/include/research_interface/robot/rbk_types.h +110 -0
  161. panda_python-0.7.1/libfranka/common/include/research_interface/robot/service_traits.h +74 -0
  162. panda_python-0.7.1/libfranka/common/include/research_interface/robot/service_types.h +353 -0
  163. panda_python-0.7.1/libfranka/common/include/research_interface/vacuum_gripper/types.h +145 -0
  164. panda_python-0.7.1/libfranka/doc/CMakeLists.txt +25 -0
  165. panda_python-0.7.1/libfranka/doc/Doxyfile.in +2427 -0
  166. panda_python-0.7.1/libfranka/doc/Logo_FRANKA_EMIKA_dark.png +0 -0
  167. panda_python-0.7.1/libfranka/doc/main.md +10 -0
  168. panda_python-0.7.1/libfranka/examples/CMakeLists.txt +56 -0
  169. panda_python-0.7.1/libfranka/examples/cartesian_impedance_control.cpp +126 -0
  170. panda_python-0.7.1/libfranka/examples/communication_test.cpp +125 -0
  171. panda_python-0.7.1/libfranka/examples/echo_robot_state.cpp +37 -0
  172. panda_python-0.7.1/libfranka/examples/examples_common.cpp +132 -0
  173. panda_python-0.7.1/libfranka/examples/examples_common.h +75 -0
  174. panda_python-0.7.1/libfranka/examples/force_control.cpp +120 -0
  175. panda_python-0.7.1/libfranka/examples/generate_cartesian_pose_motion.cpp +76 -0
  176. panda_python-0.7.1/libfranka/examples/generate_cartesian_velocity_motion.cpp +86 -0
  177. panda_python-0.7.1/libfranka/examples/generate_consecutive_motions.cpp +80 -0
  178. panda_python-0.7.1/libfranka/examples/generate_elbow_motion.cpp +76 -0
  179. panda_python-0.7.1/libfranka/examples/generate_joint_position_motion.cpp +74 -0
  180. panda_python-0.7.1/libfranka/examples/generate_joint_velocity_motion.cpp +69 -0
  181. panda_python-0.7.1/libfranka/examples/grasp_object.cpp +68 -0
  182. panda_python-0.7.1/libfranka/examples/joint_impedance_control.cpp +228 -0
  183. panda_python-0.7.1/libfranka/examples/joint_point_to_point_motion.cpp +58 -0
  184. panda_python-0.7.1/libfranka/examples/motion_with_control.cpp +210 -0
  185. panda_python-0.7.1/libfranka/examples/print_joint_poses.cpp +46 -0
  186. panda_python-0.7.1/libfranka/examples/vacuum_object.cpp +54 -0
  187. panda_python-0.7.1/libfranka/include/franka/command_types.h +42 -0
  188. panda_python-0.7.1/libfranka/include/franka/control_tools.h +77 -0
  189. panda_python-0.7.1/libfranka/include/franka/control_types.h +359 -0
  190. panda_python-0.7.1/libfranka/include/franka/duration.h +265 -0
  191. panda_python-0.7.1/libfranka/include/franka/errors.h +258 -0
  192. panda_python-0.7.1/libfranka/include/franka/exception.h +109 -0
  193. panda_python-0.7.1/libfranka/include/franka/gripper.h +156 -0
  194. panda_python-0.7.1/libfranka/include/franka/gripper_state.h +61 -0
  195. panda_python-0.7.1/libfranka/include/franka/log.h +70 -0
  196. panda_python-0.7.1/libfranka/include/franka/lowpass_filter.h +60 -0
  197. panda_python-0.7.1/libfranka/include/franka/model.h +290 -0
  198. panda_python-0.7.1/libfranka/include/franka/rate_limiting.h +288 -0
  199. panda_python-0.7.1/libfranka/include/franka/robot.h +724 -0
  200. panda_python-0.7.1/libfranka/include/franka/robot_state.h +425 -0
  201. panda_python-0.7.1/libfranka/include/franka/vacuum_gripper.h +137 -0
  202. panda_python-0.7.1/libfranka/include/franka/vacuum_gripper_state.h +80 -0
  203. panda_python-0.7.1/libfranka/scripts/fail-on-output.sh +6 -0
  204. panda_python-0.7.1/libfranka/scripts/format-check.sh +8 -0
  205. panda_python-0.7.1/libfranka/src/control_loop.cpp +308 -0
  206. panda_python-0.7.1/libfranka/src/control_loop.h +66 -0
  207. panda_python-0.7.1/libfranka/src/control_tools.cpp +86 -0
  208. panda_python-0.7.1/libfranka/src/control_types.cpp +110 -0
  209. panda_python-0.7.1/libfranka/src/duration.cpp +112 -0
  210. panda_python-0.7.1/libfranka/src/errors.cpp +132 -0
  211. panda_python-0.7.1/libfranka/src/exception.cpp +31 -0
  212. panda_python-0.7.1/libfranka/src/gripper.cpp +95 -0
  213. panda_python-0.7.1/libfranka/src/gripper_state.cpp +17 -0
  214. panda_python-0.7.1/libfranka/src/libfcimodels.h +55 -0
  215. panda_python-0.7.1/libfranka/src/library_downloader.cpp +74 -0
  216. panda_python-0.7.1/libfranka/src/library_downloader.h +24 -0
  217. panda_python-0.7.1/libfranka/src/library_loader.cpp +38 -0
  218. panda_python-0.7.1/libfranka/src/library_loader.h +23 -0
  219. panda_python-0.7.1/libfranka/src/load_calculations.cpp +80 -0
  220. panda_python-0.7.1/libfranka/src/load_calculations.h +29 -0
  221. panda_python-0.7.1/libfranka/src/log.cpp +84 -0
  222. panda_python-0.7.1/libfranka/src/logger.cpp +48 -0
  223. panda_python-0.7.1/libfranka/src/logger.h +32 -0
  224. panda_python-0.7.1/libfranka/src/lowpass_filter.cpp +63 -0
  225. panda_python-0.7.1/libfranka/src/model.cpp +246 -0
  226. panda_python-0.7.1/libfranka/src/model_library.cpp +42 -0
  227. panda_python-0.7.1/libfranka/src/model_library.h +57 -0
  228. panda_python-0.7.1/libfranka/src/motion_generator_traits.h +37 -0
  229. panda_python-0.7.1/libfranka/src/network.cpp +80 -0
  230. panda_python-0.7.1/libfranka/src/network.h +276 -0
  231. panda_python-0.7.1/libfranka/src/platform.h +27 -0
  232. panda_python-0.7.1/libfranka/src/rate_limiting.cpp +251 -0
  233. panda_python-0.7.1/libfranka/src/robot.cpp +310 -0
  234. panda_python-0.7.1/libfranka/src/robot_control.h +38 -0
  235. panda_python-0.7.1/libfranka/src/robot_impl.cpp +390 -0
  236. panda_python-0.7.1/libfranka/src/robot_impl.h +303 -0
  237. panda_python-0.7.1/libfranka/src/robot_state.cpp +90 -0
  238. panda_python-0.7.1/libfranka/src/vacuum_gripper.cpp +122 -0
  239. panda_python-0.7.1/libfranka/src/vacuum_gripper_state.cpp +37 -0
  240. panda_python-0.7.1/libfranka/test/CMakeLists.txt +137 -0
  241. panda_python-0.7.1/libfranka/test/calculations_tests.cpp +128 -0
  242. panda_python-0.7.1/libfranka/test/control_loop_tests.cpp +1307 -0
  243. panda_python-0.7.1/libfranka/test/control_types_tests.cpp +125 -0
  244. panda_python-0.7.1/libfranka/test/duration_tests.cpp +118 -0
  245. panda_python-0.7.1/libfranka/test/errors_tests.cpp +49 -0
  246. panda_python-0.7.1/libfranka/test/gripper_command_tests.cpp +178 -0
  247. panda_python-0.7.1/libfranka/test/gripper_tests.cpp +43 -0
  248. panda_python-0.7.1/libfranka/test/helpers.cpp +753 -0
  249. panda_python-0.7.1/libfranka/test/helpers.h +76 -0
  250. panda_python-0.7.1/libfranka/test/libfcimodels_stub.cpp +191 -0
  251. panda_python-0.7.1/libfranka/test/logger_tests.cpp +146 -0
  252. panda_python-0.7.1/libfranka/test/lowpass_filter_tests.cpp +68 -0
  253. panda_python-0.7.1/libfranka/test/mock_robot_control.h +33 -0
  254. panda_python-0.7.1/libfranka/test/mock_server.cpp +227 -0
  255. panda_python-0.7.1/libfranka/test/mock_server.h +268 -0
  256. panda_python-0.7.1/libfranka/test/model_library_interface.h +67 -0
  257. panda_python-0.7.1/libfranka/test/model_tests.cpp +397 -0
  258. panda_python-0.7.1/libfranka/test/rate_limiting_tests.cpp +518 -0
  259. panda_python-0.7.1/libfranka/test/robot_command_tests.cpp +466 -0
  260. panda_python-0.7.1/libfranka/test/robot_impl_tests.cpp +1271 -0
  261. panda_python-0.7.1/libfranka/test/robot_state_tests.cpp +100 -0
  262. panda_python-0.7.1/libfranka/test/robot_tests.cpp +458 -0
  263. panda_python-0.7.1/libfranka/test/vacuum_gripper_command_tests.cpp +168 -0
  264. panda_python-0.7.1/libfranka/test/vacuum_gripper_tests.cpp +43 -0
  265. {panda_python-0.6.2 → panda_python-0.7.1}/pyproject.toml +4 -1
  266. {panda_python-0.6.2 → panda_python-0.7.1}/src/libfranka.cpp +41 -1
  267. {panda_python-0.6.2 → panda_python-0.7.1}/src/panda_py/__init__.py +2 -0
  268. panda_python-0.6.2/.github/workflows/docs.yml +0 -32
  269. panda_python-0.6.2/.github/workflows/release.yml +0 -105
  270. panda_python-0.6.2/.github/workflows/test.yml +0 -15
  271. panda_python-0.6.2/.github/workflows/test_all.yml +0 -16
  272. panda_python-0.6.2/bin/build_all.sh +0 -56
  273. {panda_python-0.6.2 → panda_python-0.7.1}/.gitignore +0 -0
  274. {panda_python-0.6.2 → panda_python-0.7.1}/.pylintrc +0 -0
  275. {panda_python-0.6.2 → panda_python-0.7.1}/.vscode/c_cpp_properties.json +0 -0
  276. {panda_python-0.6.2 → panda_python-0.7.1}/.vscode/generate_docs_api.sh +0 -0
  277. {panda_python-0.6.2 → panda_python-0.7.1}/.vscode/tasks.json +0 -0
  278. {panda_python-0.6.2 → panda_python-0.7.1}/CITATION.cff +0 -0
  279. {panda_python-0.6.2 → panda_python-0.7.1}/LICENSE +0 -0
  280. {panda_python-0.6.2 → panda_python-0.7.1}/bin/before_install_centos.sh +0 -0
  281. {panda_python-0.6.2 → panda_python-0.7.1}/bin/before_install_ubuntu.sh +0 -0
  282. {panda_python-0.6.2 → panda_python-0.7.1}/docs/Makefile +0 -0
  283. {panda_python-0.6.2 → panda_python-0.7.1}/docs/index.rst +0 -0
  284. {panda_python-0.6.2 → panda_python-0.7.1}/docs/make.bat +0 -0
  285. {panda_python-0.6.2 → panda_python-0.7.1}/docs/panda_py.cli.rst +0 -0
  286. {panda_python-0.6.2 → panda_python-0.7.1}/docs/panda_py.constants.rst +0 -0
  287. {panda_python-0.6.2 → panda_python-0.7.1}/docs/panda_py.controllers.rst +0 -0
  288. {panda_python-0.6.2 → panda_python-0.7.1}/docs/panda_py.libfranka.rst +0 -0
  289. {panda_python-0.6.2 → panda_python-0.7.1}/docs/panda_py.motion.rst +0 -0
  290. {panda_python-0.6.2 → panda_python-0.7.1}/docs/panda_py.rst +0 -0
  291. {panda_python-0.6.2 → panda_python-0.7.1}/examples/cartesian_impedance.py +0 -0
  292. {panda_python-0.6.2 → panda_python-0.7.1}/examples/communication_test.py +0 -0
  293. {panda_python-0.6.2 → panda_python-0.7.1}/examples/mmc.py +0 -0
  294. {panda_python-0.6.2 → panda_python-0.7.1}/examples/notebooks/benchmark.ipynb +0 -0
  295. {panda_python-0.6.2 → panda_python-0.7.1}/examples/notebooks/motion.ipynb +0 -0
  296. {panda_python-0.6.2 → panda_python-0.7.1}/examples/notebooks/tutorial.ipynb +0 -0
  297. {panda_python-0.6.2 → panda_python-0.7.1}/examples/pilot_buttons.py +0 -0
  298. {panda_python-0.6.2 → panda_python-0.7.1}/examples/teaching.py +0 -0
  299. {panda_python-0.6.2 → panda_python-0.7.1}/include/constants.h +0 -0
  300. {panda_python-0.6.2 → panda_python-0.7.1}/include/controllers/applied_force.h +0 -0
  301. {panda_python-0.6.2 → panda_python-0.7.1}/include/controllers/applied_torque.h +0 -0
  302. {panda_python-0.6.2 → panda_python-0.7.1}/include/controllers/cartesian_impedance.h +0 -0
  303. {panda_python-0.6.2 → panda_python-0.7.1}/include/controllers/controller.h +0 -0
  304. {panda_python-0.6.2 → panda_python-0.7.1}/include/controllers/force.h +0 -0
  305. {panda_python-0.6.2 → panda_python-0.7.1}/include/controllers/integrated_velocity.h +0 -0
  306. {panda_python-0.6.2 → panda_python-0.7.1}/include/controllers/joint_limits/virtual_wall.h +0 -0
  307. {panda_python-0.6.2 → panda_python-0.7.1}/include/controllers/joint_limits/virtual_wall_controller.h +0 -0
  308. {panda_python-0.6.2 → panda_python-0.7.1}/include/controllers/joint_position.h +0 -0
  309. {panda_python-0.6.2 → panda_python-0.7.1}/include/controllers/trajectory.h +0 -0
  310. {panda_python-0.6.2 → panda_python-0.7.1}/include/kinematics/fk.h +0 -0
  311. {panda_python-0.6.2 → panda_python-0.7.1}/include/kinematics/ik.h +0 -0
  312. {panda_python-0.6.2 → panda_python-0.7.1}/include/motion/generators.h +0 -0
  313. {panda_python-0.6.2 → panda_python-0.7.1}/include/motion/time_optimal/path.h +0 -0
  314. {panda_python-0.6.2 → panda_python-0.7.1}/include/motion/time_optimal/trajectory.h +0 -0
  315. {panda_python-0.6.2 → panda_python-0.7.1}/include/panda.h +0 -0
  316. {panda_python-0.6.2 → panda_python-0.7.1}/include/utils.h +0 -0
  317. {panda_python-0.6.2 → panda_python-0.7.1}/logo.jpg +0 -0
  318. {panda_python-0.6.2 → panda_python-0.7.1}/src/_core.cpp +0 -0
  319. {panda_python-0.6.2 → panda_python-0.7.1}/src/controllers/applied_force.cpp +0 -0
  320. {panda_python-0.6.2 → panda_python-0.7.1}/src/controllers/applied_torque.cpp +0 -0
  321. {panda_python-0.6.2 → panda_python-0.7.1}/src/controllers/cartesian_impedance.cpp +0 -0
  322. {panda_python-0.6.2 → panda_python-0.7.1}/src/controllers/force.cpp +0 -0
  323. {panda_python-0.6.2 → panda_python-0.7.1}/src/controllers/integrated_velocity.cpp +0 -0
  324. {panda_python-0.6.2 → panda_python-0.7.1}/src/controllers/joint_limits/virtual_wall.cpp +0 -0
  325. {panda_python-0.6.2 → panda_python-0.7.1}/src/controllers/joint_position.cpp +0 -0
  326. {panda_python-0.6.2 → panda_python-0.7.1}/src/controllers/trajectory.cpp +0 -0
  327. {panda_python-0.6.2 → panda_python-0.7.1}/src/motion/generators.cpp +0 -0
  328. {panda_python-0.6.2 → panda_python-0.7.1}/src/motion/time_optimal/path.cpp +0 -0
  329. {panda_python-0.6.2 → panda_python-0.7.1}/src/motion/time_optimal/trajectory.cpp +0 -0
  330. {panda_python-0.6.2 → panda_python-0.7.1}/src/panda.cpp +0 -0
  331. {panda_python-0.6.2 → panda_python-0.7.1}/src/panda_py/__init__.pyi +0 -0
  332. {panda_python-0.6.2 → panda_python-0.7.1}/src/panda_py/_core/__init__.pyi +0 -0
  333. {panda_python-0.6.2 → panda_python-0.7.1}/src/panda_py/cli.py +0 -0
  334. {panda_python-0.6.2 → panda_python-0.7.1}/src/panda_py/constants.py +0 -0
  335. {panda_python-0.6.2 → panda_python-0.7.1}/src/panda_py/controllers.py +0 -0
  336. {panda_python-0.6.2 → panda_python-0.7.1}/src/panda_py/libfranka/__init__.pyi +0 -0
  337. {panda_python-0.6.2 → panda_python-0.7.1}/src/panda_py/motion.py +0 -0
@@ -0,0 +1,49 @@
1
+ name: Check commit
2
+
3
+ permissions:
4
+ contents: write
5
+ id-token: write
6
+ pages: write
7
+
8
+ on:
9
+ push:
10
+ branches: ["main"]
11
+
12
+ jobs:
13
+ build_wheels:
14
+ name: Build wheels for libfranka ${{ matrix.libfranka-version }}
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ matrix:
18
+ libfranka-version: ["0.7.1", "0.8.0", "0.9.2", "0.10.0", "0.11.0", "0.12.1", "0.13.2"]
19
+ steps:
20
+ - uses: actions/checkout@v3
21
+ - uses: actions/setup-python@v3
22
+ - name: Install cibuildwheel
23
+ run: python -m pip install cibuildwheel==2.16.2
24
+ - name: Build using cibuildwheel
25
+ run: ./bin/build.sh "${{ matrix.libfranka-version }}"
26
+ documentation:
27
+ name: "Build and deploy documentation"
28
+ needs: [build_wheels]
29
+ runs-on: ubuntu-latest
30
+ env:
31
+ LIBFRANKA_VER: "0.9.2"
32
+ steps:
33
+ - uses: actions/checkout@v3
34
+ - uses: actions/setup-python@v3
35
+ - name: Install requirements
36
+ run: ./bin/before_install_ubuntu.sh
37
+ - name: Build package
38
+ run: pip install .[docs]
39
+ - name: Build documentation
40
+ run: cd docs && make html
41
+ - name: Setup Pages
42
+ uses: actions/configure-pages@v3
43
+ - name: Upload artifact
44
+ uses: actions/upload-pages-artifact@v2
45
+ with:
46
+ path: ./docs/_build/html
47
+ - name: Deploy to GitHub Pages
48
+ id: deployment
49
+ uses: actions/deploy-pages@v2
@@ -0,0 +1,19 @@
1
+ name: Check pull request
2
+
3
+ on:
4
+ pull_request:
5
+
6
+ jobs:
7
+ build_wheels:
8
+ name: Build wheels for libfranka ${{ matrix.libfranka-version }}
9
+ runs-on: ubuntu-latest
10
+ strategy:
11
+ matrix:
12
+ libfranka-version: ["0.7.1", "0.8.0", "0.9.2", "0.10.0", "0.11.0", "0.12.1", "0.13.2"]
13
+ steps:
14
+ - uses: actions/checkout@v3
15
+ - uses: actions/setup-python@v3
16
+ - name: Install cibuildwheel
17
+ run: python -m pip install cibuildwheel==2.16.2
18
+ - name: Build using cibuildwheel
19
+ run: ./bin/build.sh "${{ matrix.libfranka-version }}"
@@ -0,0 +1,68 @@
1
+ name: Release
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ env:
8
+ VERSION: 0.7.1
9
+
10
+ permissions: write-all
11
+
12
+ jobs:
13
+ build_wheels:
14
+ name: Build wheels for libfranka ${{ matrix.libfranka-version }}
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ matrix:
18
+ libfranka-version: ["0.7.1", "0.8.0", "0.9.2", "0.10.0", "0.11.0", "0.12.1", "0.13.2"]
19
+ steps:
20
+ - uses: actions/checkout@v3
21
+ - uses: actions/setup-python@v3
22
+ - name: Install cibuildwheel
23
+ run: python -m pip install cibuildwheel==2.16.2
24
+ - name: Build using cibuildwheel
25
+ run: ./bin/build.sh "${{ matrix.libfranka-version }}"
26
+ - uses: actions/upload-artifact@v3
27
+ with:
28
+ path: ./archive/panda_py_${{ env.VERSION }}_libfranka_${{ matrix.libfranka-version }}.zip
29
+ name: zip-${{ matrix.libfranka-version }}
30
+ upload_pypi:
31
+ name: "Upload wheels to pypi"
32
+ needs: [build_wheels]
33
+ runs-on: ubuntu-latest
34
+ env:
35
+ LIBFRANKA_VER: "0.9.2"
36
+ steps:
37
+ - uses: actions/checkout@v3
38
+ - uses: actions/setup-python@v3
39
+ - name: Install requirements
40
+ run: |
41
+ ./bin/before_install_ubuntu.sh
42
+ python -m pip install build
43
+ - name: Build package
44
+ run: python -m build .
45
+ - uses: pypa/gh-action-pypi-publish@v1.5.0
46
+ with:
47
+ user: __token__
48
+ password: ${{ secrets.PYPI_API_TOKEN }}
49
+ upload_assets:
50
+ name: "Upload libfranka ${{ matrix.libfranka-version }} release assets"
51
+ needs: [build_wheels]
52
+ runs-on: ubuntu-latest
53
+ strategy:
54
+ matrix:
55
+ libfranka-version: ["0.7.1", "0.8.0", "0.9.2", "0.10.0", "0.11.0", "0.12.1", "0.13.2"]
56
+ steps:
57
+ - uses: actions/download-artifact@v3
58
+ with:
59
+ name: zip-${{ matrix.libfranka-version }}
60
+ path: archive
61
+ - uses: actions/upload-release-asset@v1
62
+ with:
63
+ upload_url: ${{ github.event.release.upload_url }}
64
+ asset_path: ./archive/panda_py_${{ env.VERSION }}_libfranka_${{ matrix.libfranka-version }}.zip
65
+ asset_name: panda_py_${{ env.VERSION }}_libfranka_${{ matrix.libfranka-version }}.zip
66
+ asset_content_type: application/zip
67
+ env:
68
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -1,14 +1,21 @@
1
1
  {
2
- "python.formatting.provider": "yapf",
3
- "python.formatting.yapfArgs": [
2
+ "pylint.args": [
3
+ "--rcfile=.pylintrc"
4
+ ],
5
+
6
+ "yapf.args": [
4
7
  "--style",
5
8
  "{based_on_style: google, indent_width: 2}"
6
9
  ],
7
- "python.linting.pylintArgs": [
8
- "--indent-string=\" \""
9
- ],
10
- "python.linting.enabled": true,
11
- "python.linting.pylintEnabled": true,
10
+
11
+ "[python]": {
12
+ "editor.formatOnSaveMode": "file",
13
+ "editor.formatOnSave": true,
14
+ "editor.defaultFormatter": "eeyore.yapf",
15
+ "editor.codeActionsOnSave": {
16
+ "source.organizeImports": "explicit"
17
+ },
18
+ },
12
19
  "editor.tabSize": 2,
13
20
  "files.associations": {
14
21
  "cctype": "cpp",
@@ -8,6 +8,11 @@ set (CMAKE_CXX_STANDARD 17)
8
8
  set(CMAKE_BUILD_TYPE "Release")
9
9
  set(THREADS_PREFER_PTHREAD_FLAG ON)
10
10
 
11
+ option(VACUUM_GRIPPER OFF)
12
+ if (VACUUM_GRIPPER)
13
+ add_definitions(-DVACUUM_GRIPPER=${VACUUM_GRIPPER})
14
+ endif()
15
+
11
16
  find_package(Eigen3 REQUIRED)
12
17
  find_package(Threads REQUIRED)
13
18
  find_package(Franka REQUIRED)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: panda-python
3
- Version: 0.6.2
3
+ Version: 0.7.1
4
4
  Summary: Python bindings for the Panda robot
5
5
  Keywords: python real-time control robot franka emika
6
6
  Author-Email: Jean Elsner <jean.elsner@tum.de>
@@ -230,15 +230,17 @@ Provides-Extra: examples
230
230
  Provides-Extra: docs
231
231
  Description-Content-Type: text/markdown
232
232
 
233
- # panda-py
233
+ <div align="center"><img alt="panda-py Logo" src="https://raw.githubusercontent.com/JeanElsner/panda-py/main/logo.jpg" /></div>
234
234
 
235
- ![logo](https://github.com/JeanElsner/panda-py/blob/main/logo.jpg?raw=true)
235
+ <h1 align="center">panda-py</h1>
236
236
 
237
- [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/JeanElsner/panda-py/test.yml)](https://github.com/JeanElsner/panda-py/actions/workflows/test.yml)
238
- [![GitHub](https://img.shields.io/github/license/JeanElsner/panda-py)](https://www.apache.org/licenses/LICENSE-2.0)
239
- [![PyPI](https://img.shields.io/pypi/v/panda-python)](https://pypi.org/project/panda-python/)
240
- ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/panda-python)
241
- [![Documentation](https://shields.io/badge/-Documentation-informational)](https://jeanelsner.github.io/panda-py/)
237
+ <p align="center">
238
+ <a href="https://github.com/JeanElsner/panda-py/actions/workflows/main.yml"><img alt="Continuous Integration" src="https://img.shields.io/github/actions/workflow/status/JeanElsner/panda-py/main.yml" /></a>
239
+ <a href="https://github.com/JeanElsner/panda-py/blob/main/LICENSE"><img alt="Apache-2.0 License" src="https://img.shields.io/github/license/JeanElsner/panda-py" /></a>
240
+ <a href="https://pypi.org/project/panda-python/"><img alt="PyPI - Published Version" src="https://img.shields.io/pypi/v/panda-python"></a>
241
+ <img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/panda-python">
242
+ <a href="https://jeanelsner.github.io/panda-py"><img alt="Documentation" src="https://shields.io/badge/-Documentation-informational" /><a/>
243
+ </p>
242
244
 
243
245
  Finally, Python bindings for the Panda. These will increase your productivity by 1000%, guaranteed[^1]!
244
246
 
@@ -246,6 +248,10 @@ Finally, Python bindings for the Panda. These will increase your productivity by
246
248
 
247
249
  To get started, check out the [tutorial paper](https://www.sciencedirect.com/science/article/pii/S2352711023002285), Jupyter [notebooks](https://github.com/JeanElsner/panda-py/tree/main/examples/notebooks) and other examples you can run directly on your robot. For more details on the API, please refer to the [documentation](https://jeanelsner.github.io/panda-py/).
248
250
 
251
+ ## Extensions
252
+
253
+ * [dm_robotics_panda](https://github.com/JeanElsner/dm_robotics_panda) Panda model and tools for reinforcement learning in `dm_robotics`
254
+
249
255
  ## Install
250
256
 
251
257
  ```
@@ -1,12 +1,14 @@
1
- # panda-py
1
+ <div align="center"><img alt="panda-py Logo" src="https://raw.githubusercontent.com/JeanElsner/panda-py/main/logo.jpg" /></div>
2
2
 
3
- ![logo](https://github.com/JeanElsner/panda-py/blob/main/logo.jpg?raw=true)
3
+ <h1 align="center">panda-py</h1>
4
4
 
5
- [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/JeanElsner/panda-py/test.yml)](https://github.com/JeanElsner/panda-py/actions/workflows/test.yml)
6
- [![GitHub](https://img.shields.io/github/license/JeanElsner/panda-py)](https://www.apache.org/licenses/LICENSE-2.0)
7
- [![PyPI](https://img.shields.io/pypi/v/panda-python)](https://pypi.org/project/panda-python/)
8
- ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/panda-python)
9
- [![Documentation](https://shields.io/badge/-Documentation-informational)](https://jeanelsner.github.io/panda-py/)
5
+ <p align="center">
6
+ <a href="https://github.com/JeanElsner/panda-py/actions/workflows/main.yml"><img alt="Continuous Integration" src="https://img.shields.io/github/actions/workflow/status/JeanElsner/panda-py/main.yml" /></a>
7
+ <a href="https://github.com/JeanElsner/panda-py/blob/main/LICENSE"><img alt="Apache-2.0 License" src="https://img.shields.io/github/license/JeanElsner/panda-py" /></a>
8
+ <a href="https://pypi.org/project/panda-python/"><img alt="PyPI - Published Version" src="https://img.shields.io/pypi/v/panda-python"></a>
9
+ <img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/panda-python">
10
+ <a href="https://jeanelsner.github.io/panda-py"><img alt="Documentation" src="https://shields.io/badge/-Documentation-informational" /><a/>
11
+ </p>
10
12
 
11
13
  Finally, Python bindings for the Panda. These will increase your productivity by 1000%, guaranteed[^1]!
12
14
 
@@ -14,6 +16,10 @@ Finally, Python bindings for the Panda. These will increase your productivity by
14
16
 
15
17
  To get started, check out the [tutorial paper](https://www.sciencedirect.com/science/article/pii/S2352711023002285), Jupyter [notebooks](https://github.com/JeanElsner/panda-py/tree/main/examples/notebooks) and other examples you can run directly on your robot. For more details on the API, please refer to the [documentation](https://jeanelsner.github.io/panda-py/).
16
18
 
19
+ ## Extensions
20
+
21
+ * [dm_robotics_panda](https://github.com/JeanElsner/dm_robotics_panda) Panda model and tools for reinforcement learning in `dm_robotics`
22
+
17
23
  ## Install
18
24
 
19
25
  ```
@@ -0,0 +1,65 @@
1
+ #!/bin/bash
2
+
3
+ # Check if the libfranka version is provided as an argument
4
+ if [ -z "$1" ]; then
5
+ echo "Usage: $0 <libfranka_version>"
6
+ exit 1
7
+ fi
8
+
9
+ # Install Python dependencies
10
+ python -m pip install packaging toml cibuildwheel
11
+
12
+ # Set pyproject.toml path
13
+ root=$(dirname $0)/..
14
+ toml="$root/pyproject.toml"
15
+
16
+ # Store current version
17
+ version=$(python <<END
18
+ from packaging.version import parse
19
+ import toml
20
+ with open('$toml', 'r') as f:
21
+ data = toml.load(f)
22
+ version = parse(data['project']['version'])
23
+ print(f'{version.major}.{version.minor}.{version.micro}')
24
+ END
25
+ )
26
+
27
+ # Print the version
28
+ echo "Current version is $version"
29
+
30
+ change_version() {
31
+ local pandapy_version="$version+libfranka-$1"
32
+ local libfranka_version="LIBFRANKA_VER=$1"
33
+ local vacuum_gripper="ON"
34
+
35
+ if [[ "$1" == "0.7.1" ]]; then
36
+ vacuum_gripper="OFF"
37
+ fi
38
+ echo "VACUUM_GRIPPER: $vacuum_gripper"
39
+ python <<END
40
+ import toml
41
+
42
+ with open('$toml', 'r') as f:
43
+ data = toml.load(f)
44
+
45
+ data['project']['version'] = '$pandapy_version'
46
+ data['tool']['cibuildwheel']['environment'] = '$libfranka_version'
47
+ data['tool']['scikit-build']['cmake']['define']['VACUUM_GRIPPER'] = '$vacuum_gripper'
48
+
49
+ with open('$toml', 'w') as f:
50
+ toml.dump(data, f)
51
+ END
52
+ }
53
+
54
+ mkdir $root/archive
55
+
56
+ # Call the change_version function with the provided libfranka version
57
+ libfranka_version="$1"
58
+ echo "Changing libfranka version in pyproject.toml to: $libfranka_version"
59
+ change_version "$libfranka_version"
60
+ archive=panda_py_${version}_libfranka_${libfranka_version}
61
+ python -m cibuildwheel --output-dir $root/archive/$archive $root
62
+ zip -j $root/archive/$archive.zip $root/archive/$archive/*.whl
63
+
64
+ # Change back to default version
65
+ change_version $version
@@ -9,7 +9,7 @@
9
9
  project = 'panda-py'
10
10
  copyright = '2023, Jean Elsner'
11
11
  author = 'Jean Elsner'
12
- release = '0.6.2'
12
+ release = '0.7.1'
13
13
 
14
14
  # -- General configuration ---------------------------------------------------
15
15
  # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
@@ -36,7 +36,6 @@ redirects = {
36
36
  'index': 'panda_py.html',
37
37
  }
38
38
 
39
-
40
39
  # -- Options for HTML output -------------------------------------------------
41
40
  # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
42
41
 
@@ -0,0 +1,57 @@
1
+ """
2
+ Uses a vacuum gripper to pick up an object, then drops it.
3
+ """
4
+ import sys
5
+ import time
6
+ from datetime import timedelta
7
+
8
+ import panda_py
9
+ import panda_py.libfranka
10
+
11
+ if __name__ == '__main__':
12
+ if len(sys.argv) < 2:
13
+ raise RuntimeError(f'Usage: python {sys.argv[0]} <robot-hostname>')
14
+
15
+ # Connect to the gripper using the same IP as the robot arm
16
+ # This doesn't prevent you from connecting to the arm
17
+ gripper = panda_py.libfranka.VacuumGripper(sys.argv[1])
18
+
19
+ try:
20
+ # Print gripper state.
21
+ state = gripper.read_once()
22
+ print(f"""Gripper State:
23
+ is vacuum within setpoint: {state.in_control_range}
24
+ part detached: {state.part_detached}
25
+ part present: {state.part_present}
26
+ device status: {state.device_status}
27
+ actual power: {state.actual_power}
28
+ vacuum: {state.vacuum}""")
29
+
30
+ print("Vacuuming object")
31
+ # The first argument is the vacuum pressure level
32
+ # The second argument is how long to try vacuuming for before giving an error
33
+ try:
34
+ gripper.vacuum(3, timedelta(seconds=1))
35
+ print("Grabbed object.")
36
+ except:
37
+ # The finally block at the end stops the vacuuming with gripper.stop()
38
+ # otherwise it keeps going
39
+ raise RuntimeError("Failed to grab object.")
40
+
41
+ time.sleep(3)
42
+ # Check if the object is still grasped
43
+ # This works by checking if the pressure level of the vacuum
44
+ # is within a specified range
45
+ state = gripper.read_once()
46
+ if not state.in_control_range:
47
+ raise RuntimeError("Object lost.")
48
+
49
+ print("Releasing object.")
50
+ # The time argument specifies when to time-out.
51
+ try:
52
+ gripper.drop_off(timedelta(seconds=1))
53
+ except:
54
+ raise RuntimeError("Failed to drop object off.")
55
+ finally:
56
+ # Stop whatever the gripper is doing when program terminates.
57
+ gripper.stop()
@@ -0,0 +1,18 @@
1
+ FROM ubuntu:18.04
2
+ RUN apt-get update && apt-get install -y \
3
+ build-essential \
4
+ clang-6.0 \
5
+ clang-format-6.0 \
6
+ clang-tidy-6.0 \
7
+ cmake \
8
+ doxygen \
9
+ graphviz \
10
+ lcov \
11
+ libeigen3-dev \
12
+ libpoco-dev \
13
+ rename \
14
+ valgrind \
15
+ lsb-release \
16
+ dpkg \
17
+ git \
18
+ && rm -rf /var/lib/apt/lists/*
@@ -0,0 +1,19 @@
1
+ FROM ubuntu:20.04
2
+ ENV DEBIAN_FRONTEND=noninteractive
3
+ RUN apt-get update && apt-get install -y \
4
+ build-essential \
5
+ clang-6.0 \
6
+ clang-format-6.0 \
7
+ clang-tidy-6.0 \
8
+ cmake \
9
+ doxygen \
10
+ graphviz \
11
+ lcov \
12
+ libeigen3-dev \
13
+ libpoco-dev \
14
+ rename \
15
+ valgrind \
16
+ lsb-release \
17
+ dpkg \
18
+ git \
19
+ && rm -rf /var/lib/apt/lists/*
@@ -0,0 +1,35 @@
1
+ #!/bin/sh
2
+ # the script checks if the public repo and the local repo commit history are sync, otherwise it fails
3
+ set -e
4
+
5
+ PUBLIC_URL=$1
6
+ BRANCH=${2:-master} # if no second arg supplied, then "master" is used
7
+
8
+ if [ $# -lt 1 ]; then
9
+ >&2 echo "Not enough argument supplied. Usage: checkgithistory.sh PUBLIC_URL [BRANCH]"
10
+ exit 1
11
+ fi
12
+
13
+ if [ ! -d ".git/" ] ; then
14
+ echo "Current directory `pwd` does not appear to be a Git repository. Change directory before calling this script"
15
+ exit 1
16
+ fi
17
+
18
+ public_remote_name=$(git remote -v | grep ${PUBLIC_URL} | head -n 1 | sed -e 's/\s.*$//')
19
+
20
+ if [ -z "$public_remote_name" ]; then
21
+ public_remote_name="public"
22
+ git remote add $public_remote_name $PUBLIC_URL
23
+ fi
24
+
25
+ git fetch $public_remote_name
26
+
27
+ local_commit_hash=$(git rev-parse origin/${BRANCH})
28
+ public_commit_hash=$(git rev-parse ${public_remote_name}/${BRANCH})
29
+
30
+ if [ "$local_commit_hash" != "$public_commit_hash" ]; then
31
+ >&2 echo "Local and public commit hashes do not match. Please update local to the latest public commit"
32
+ exit 1
33
+ else
34
+ echo "Local and public commit hashes do match."
35
+ fi
@@ -0,0 +1,12 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+ set -x
5
+
6
+ rm -rf build-coverage
7
+ mkdir build-coverage
8
+ cd build-coverage
9
+ cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_COVERAGE=ON -DBUILD_DOCUMENTATION=OFF \
10
+ -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=ON ..
11
+ cmake --build .
12
+ cmake --build . --target coverage
@@ -0,0 +1,12 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+ set -x
5
+
6
+ rm -rf build-debug
7
+ mkdir build-debug
8
+ cd build-debug
9
+ cmake -DCMAKE_BUILD_TYPE=Debug -DSTRICT=ON -DBUILD_COVERAGE=OFF -DBUILD_DOCUMENTATION=OFF \
10
+ -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON ..
11
+ cmake --build .
12
+ ctest -V
@@ -0,0 +1,11 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+ set -x
5
+
6
+ rm -rf build-libonly
7
+ mkdir build-libonly
8
+ cd build-libonly
9
+ cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_COVERAGE=OFF -DBUILD_DOCUMENTATION=OFF \
10
+ -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF ..
11
+ cmake --build .
@@ -0,0 +1,11 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+ set -x
5
+
6
+ rm -rf build-lint
7
+ mkdir build-lint
8
+ cd build-lint
9
+ cmake -DBUILD_COVERAGE=OFF -DBUILD_DOCUMENTATION=OFF -DBUILD_EXAMPLES=ON -DBUILD_TESTS=OFF ..
10
+ cmake --build . --target check-format
11
+ cmake --build . --target check-tidy
@@ -0,0 +1,20 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+ set -x
5
+
6
+ rm -rf build-release
7
+ mkdir build-release
8
+ cd build-release
9
+ cmake -DCMAKE_BUILD_TYPE=Release -DSTRICT=ON -DBUILD_COVERAGE=OFF -DBUILD_DOCUMENTATION=ON \
10
+ -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON ..
11
+ cmake --build .
12
+ ctest -V
13
+ cpack
14
+
15
+ cd ..
16
+ rm -rf build-examples
17
+ mkdir build-examples
18
+ cd build-examples
19
+ cmake -DFranka_DIR:PATH=../build-release ../examples
20
+ cmake --build .
@@ -0,0 +1,4 @@
1
+ BasedOnStyle: Chromium
2
+ Standard: Cpp11
3
+ SortIncludes: true
4
+ ColumnLimit: 100
@@ -0,0 +1,60 @@
1
+ Checks: 'clang-diagnostic-*,clang-analyzer-*,-clang-analyzer-alpha*,google-*,misc-*,readability-*,modernize-*,performance-*,cppcoreguidelines-*,-cppcoreguidelines-pro-type-reinterpret-cast,-cppcoreguidelines-pro-bounds-pointer-arithmetic,-cppcoreguidelines-pro-bounds-constant-array-index,-google-explicit-constructor,-google-runtime-references,-cppcoreguidelines-pro-type-member-init,-cppcoreguidelines-special-member-functions'
2
+ HeaderFilterRegex: '^.*(src|include/franka).*$'
3
+ CheckOptions:
4
+ # Classes, structs, ...
5
+ - key: readability-identifier-naming.NamespaceCase
6
+ value: lower_case
7
+ - key: readability-identifier-naming.ClassCase
8
+ value: CamelCase
9
+ - key: readability-identifier-naming.StructCase
10
+ value: CamelCase
11
+ - key: readability-identifier-naming.EnumCase
12
+ value: CamelCase
13
+ - key: readability-identifier-naming.UnionCase
14
+ value: CamelCase
15
+ - key: readability-identifier-naming.TypedefCase
16
+ value: CamelCase
17
+
18
+ # Variables, member variables, ...
19
+ - key: readability-identifier-naming.ParameterCase
20
+ value: lower_case
21
+ - key: readability-identifier-naming.VariableCase
22
+ value: lower_case
23
+ - key: readability-identifier-naming.MemberCase
24
+ value: lower_case
25
+ - key: readability-identifier-naming.PublicMemberCase
26
+ value: lower_case
27
+ - key: readability-identifier-naming.ProtectedMemberCase
28
+ value: lower_case
29
+ - key: readability-identifier-naming.PrivateMemberCase
30
+ value: lower_case
31
+ - key: readability-identifier-naming.PrivateMemberSuffix
32
+ value: _
33
+
34
+ # Functions, methods, ...
35
+ - key: readability-identifier-naming.FunctionCase
36
+ value: camelBack
37
+ - key: readability-identifier-naming.MethodCase
38
+ value: camelBack
39
+
40
+ # Constants
41
+ - key: readability-identifier-naming.ConstantPrefix
42
+ value: k
43
+ - key: readability-identifier-naming.ConstantCase
44
+ value: CamelCase
45
+ - key: readability-identifier-naming.ConstantMemberPrefix
46
+ value: ''
47
+ - key: readability-identifier-naming.ConstantMemberCase
48
+ value: lower_case
49
+ - key: readability-identifier-naming.ConstantParameterPrefix
50
+ value: ''
51
+ - key: readability-identifier-naming.ConstantParameterCase
52
+ value: lower_case
53
+ - key: readability-identifier-naming.LocalConstantParameterPrefix
54
+ value: ''
55
+ - key: readability-identifier-naming.LocalConstantCase
56
+ value: lower_case
57
+ - key: readability-identifier-naming.ConstexprVariablePrefix
58
+ value: k
59
+ - key: readability-identifier-naming.ConstexprVariableCase
60
+ value: CamelCase
@@ -0,0 +1,7 @@
1
+ build*/
2
+ cmake-build-*/
3
+ /3rdparty/*
4
+ .vs*/
5
+ install*/
6
+ *.user
7
+ .cache
@@ -0,0 +1,3 @@
1
+ [submodule "common"]
2
+ path = common
3
+ url = https://github.com/frankaemika/libfranka-common.git