roboticstoolbox-python 1.4.0__cp314-cp314-win_amd64.whl

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 (615) hide show
  1. roboticstoolbox/__init__.py +121 -0
  2. roboticstoolbox/_fknm_c.cp314-win_amd64.pyd +0 -0
  3. roboticstoolbox/_frne_c.cp314-win_amd64.pyd +0 -0
  4. roboticstoolbox/backends/Connector.py +113 -0
  5. roboticstoolbox/backends/Dynamixel/README.md +9 -0
  6. roboticstoolbox/backends/Dynamixel/dynamixel.json +581 -0
  7. roboticstoolbox/backends/Dynamixel/dynamixel_io.py +450 -0
  8. roboticstoolbox/backends/Dynamixel/dynamixel_sdk/LICENSE +201 -0
  9. roboticstoolbox/backends/Dynamixel/dynamixel_sdk/README.md +28 -0
  10. roboticstoolbox/backends/Dynamixel/dynamixel_sdk/ReleaseNote.md +181 -0
  11. roboticstoolbox/backends/Dynamixel/dynamixel_sdk/__init__.py +27 -0
  12. roboticstoolbox/backends/Dynamixel/dynamixel_sdk/group_bulk_read.py +163 -0
  13. roboticstoolbox/backends/Dynamixel/dynamixel_sdk/group_bulk_write.py +109 -0
  14. roboticstoolbox/backends/Dynamixel/dynamixel_sdk/group_sync_read.py +166 -0
  15. roboticstoolbox/backends/Dynamixel/dynamixel_sdk/group_sync_write.py +99 -0
  16. roboticstoolbox/backends/Dynamixel/dynamixel_sdk/packet_handler.py +33 -0
  17. roboticstoolbox/backends/Dynamixel/dynamixel_sdk/port_handler.py +155 -0
  18. roboticstoolbox/backends/Dynamixel/dynamixel_sdk/protocol1_packet_handler.py +548 -0
  19. roboticstoolbox/backends/Dynamixel/dynamixel_sdk/protocol2_packet_handler.py +1080 -0
  20. roboticstoolbox/backends/Dynamixel/dynamixel_sdk/robotis_def.py +75 -0
  21. roboticstoolbox/backends/Dynamixel/dyndata.py +121 -0
  22. roboticstoolbox/backends/PyPlot/EllipsePlot.py +256 -0
  23. roboticstoolbox/backends/PyPlot/PyPlot.py +778 -0
  24. roboticstoolbox/backends/PyPlot/PyPlot2.py +537 -0
  25. roboticstoolbox/backends/PyPlot/README.md +67 -0
  26. roboticstoolbox/backends/PyPlot/RobotPlot.py +247 -0
  27. roboticstoolbox/backends/PyPlot/RobotPlot2.py +123 -0
  28. roboticstoolbox/backends/PyPlot/__init__.py +4 -0
  29. roboticstoolbox/backends/ROS/ROS.py +129 -0
  30. roboticstoolbox/backends/ROS/__init__.py +3 -0
  31. roboticstoolbox/backends/__init__.py +39 -0
  32. roboticstoolbox/backends/swift/__init__.py +165 -0
  33. roboticstoolbox/bin/__init__.py +0 -0
  34. roboticstoolbox/bin/_bintools.py +61 -0
  35. roboticstoolbox/bin/rtbtool.py +404 -0
  36. roboticstoolbox/blocks/Icons/250x250/armplot.png +0 -0
  37. roboticstoolbox/blocks/Icons/250x250/bicycle.png +0 -0
  38. roboticstoolbox/blocks/Icons/250x250/camera.png +0 -0
  39. roboticstoolbox/blocks/Icons/250x250/circlepath.png +0 -0
  40. roboticstoolbox/blocks/Icons/250x250/coriolis.png +0 -0
  41. roboticstoolbox/blocks/Icons/250x250/ctraj.png +0 -0
  42. roboticstoolbox/blocks/Icons/250x250/delta2tr.png +0 -0
  43. roboticstoolbox/blocks/Icons/250x250/diffsteer.png +0 -0
  44. roboticstoolbox/blocks/Icons/250x250/fdyn.png +0 -0
  45. roboticstoolbox/blocks/Icons/250x250/fdynx.png +0 -0
  46. roboticstoolbox/blocks/Icons/250x250/fkine.png +0 -0
  47. roboticstoolbox/blocks/Icons/250x250/gravload.png +0 -0
  48. roboticstoolbox/blocks/Icons/250x250/idyn.png +0 -0
  49. roboticstoolbox/blocks/Icons/250x250/idynx.png +0 -0
  50. roboticstoolbox/blocks/Icons/250x250/ikine.png +0 -0
  51. roboticstoolbox/blocks/Icons/250x250/inertia.png +0 -0
  52. roboticstoolbox/blocks/Icons/250x250/jacobian.png +0 -0
  53. roboticstoolbox/blocks/Icons/250x250/jtraj.png +0 -0
  54. roboticstoolbox/blocks/Icons/250x250/lspb.png +0 -0
  55. roboticstoolbox/blocks/Icons/250x250/multirotor.png +0 -0
  56. roboticstoolbox/blocks/Icons/250x250/multirotormixer.png +0 -0
  57. roboticstoolbox/blocks/Icons/250x250/multirotorplot.png +0 -0
  58. roboticstoolbox/blocks/Icons/250x250/point2tr.png +0 -0
  59. roboticstoolbox/blocks/Icons/250x250/tr2delta.png +0 -0
  60. roboticstoolbox/blocks/Icons/250x250/tr2t.png +0 -0
  61. roboticstoolbox/blocks/Icons/250x250/unicycle.png +0 -0
  62. roboticstoolbox/blocks/Icons/250x250/vehicleplot.png +0 -0
  63. roboticstoolbox/blocks/Icons/50x50/armplot.png +0 -0
  64. roboticstoolbox/blocks/Icons/50x50/bicycle.png +0 -0
  65. roboticstoolbox/blocks/Icons/50x50/camera.png +0 -0
  66. roboticstoolbox/blocks/Icons/50x50/circlepath.png +0 -0
  67. roboticstoolbox/blocks/Icons/50x50/coriolis.png +0 -0
  68. roboticstoolbox/blocks/Icons/50x50/delta2tr.png +0 -0
  69. roboticstoolbox/blocks/Icons/50x50/diffsteer.png +0 -0
  70. roboticstoolbox/blocks/Icons/50x50/fdyn.png +0 -0
  71. roboticstoolbox/blocks/Icons/50x50/fdynx.png +0 -0
  72. roboticstoolbox/blocks/Icons/50x50/fkine.png +0 -0
  73. roboticstoolbox/blocks/Icons/50x50/gravload.png +0 -0
  74. roboticstoolbox/blocks/Icons/50x50/idyn.png +0 -0
  75. roboticstoolbox/blocks/Icons/50x50/idynx.png +0 -0
  76. roboticstoolbox/blocks/Icons/50x50/ikine.png +0 -0
  77. roboticstoolbox/blocks/Icons/50x50/inertia.png +0 -0
  78. roboticstoolbox/blocks/Icons/50x50/jacobian.png +0 -0
  79. roboticstoolbox/blocks/Icons/50x50/jtraj.png +0 -0
  80. roboticstoolbox/blocks/Icons/50x50/lspb.png +0 -0
  81. roboticstoolbox/blocks/Icons/50x50/multirotor.png +0 -0
  82. roboticstoolbox/blocks/Icons/50x50/multirotormixer.png +0 -0
  83. roboticstoolbox/blocks/Icons/50x50/multirotorplot.png +0 -0
  84. roboticstoolbox/blocks/Icons/50x50/point2tr.png +0 -0
  85. roboticstoolbox/blocks/Icons/50x50/tr2delta.png +0 -0
  86. roboticstoolbox/blocks/Icons/50x50/tr2t.png +0 -0
  87. roboticstoolbox/blocks/Icons/50x50/unicycle.png +0 -0
  88. roboticstoolbox/blocks/Icons/50x50/vehicleplot.png +0 -0
  89. roboticstoolbox/blocks/Icons/armplot.png +0 -0
  90. roboticstoolbox/blocks/Icons/bicycle.png +0 -0
  91. roboticstoolbox/blocks/Icons/camera.png +0 -0
  92. roboticstoolbox/blocks/Icons/circlepath.png +0 -0
  93. roboticstoolbox/blocks/Icons/coriolis.png +0 -0
  94. roboticstoolbox/blocks/Icons/ctraj.png +0 -0
  95. roboticstoolbox/blocks/Icons/delta2tr.png +0 -0
  96. roboticstoolbox/blocks/Icons/diffsteer.png +0 -0
  97. roboticstoolbox/blocks/Icons/fdyn.png +0 -0
  98. roboticstoolbox/blocks/Icons/fdynx.png +0 -0
  99. roboticstoolbox/blocks/Icons/fkine.png +0 -0
  100. roboticstoolbox/blocks/Icons/gravload.png +0 -0
  101. roboticstoolbox/blocks/Icons/idyn.png +0 -0
  102. roboticstoolbox/blocks/Icons/idynx.png +0 -0
  103. roboticstoolbox/blocks/Icons/ikine.png +0 -0
  104. roboticstoolbox/blocks/Icons/inertia.png +0 -0
  105. roboticstoolbox/blocks/Icons/jacobian.png +0 -0
  106. roboticstoolbox/blocks/Icons/jtraj.png +0 -0
  107. roboticstoolbox/blocks/Icons/lspb.png +0 -0
  108. roboticstoolbox/blocks/Icons/multirotor.png +0 -0
  109. roboticstoolbox/blocks/Icons/multirotormixer.png +0 -0
  110. roboticstoolbox/blocks/Icons/multirotorplot.png +0 -0
  111. roboticstoolbox/blocks/Icons/point2tr.png +0 -0
  112. roboticstoolbox/blocks/Icons/tr2delta.png +0 -0
  113. roboticstoolbox/blocks/Icons/tr2t.png +0 -0
  114. roboticstoolbox/blocks/Icons/unicycle.png +0 -0
  115. roboticstoolbox/blocks/Icons/vehicleplot.png +0 -0
  116. roboticstoolbox/blocks/README.md +43 -0
  117. roboticstoolbox/blocks/__init__.py +6 -0
  118. roboticstoolbox/blocks/arm.py +1591 -0
  119. roboticstoolbox/blocks/mobile.py +522 -0
  120. roboticstoolbox/blocks/quad_model.py +132 -0
  121. roboticstoolbox/blocks/spatial.py +245 -0
  122. roboticstoolbox/blocks/uav.py +949 -0
  123. roboticstoolbox/demo/__init__.py +0 -0
  124. roboticstoolbox/demo/eigdemo.py +112 -0
  125. roboticstoolbox/demo/tripleangledemo.py +239 -0
  126. roboticstoolbox/demo/twistdemo.py +175 -0
  127. roboticstoolbox/ets/ET.py +439 -0
  128. roboticstoolbox/ets/ET2.py +179 -0
  129. roboticstoolbox/ets/ETS.py +2013 -0
  130. roboticstoolbox/ets/ETS2.py +449 -0
  131. roboticstoolbox/ets/_ET.py +668 -0
  132. roboticstoolbox/ets/_ETS.py +781 -0
  133. roboticstoolbox/ets/__init__.py +11 -0
  134. roboticstoolbox/ets/cpp-extensions/Eigen/Cholesky +45 -0
  135. roboticstoolbox/ets/cpp-extensions/Eigen/CholmodSupport +48 -0
  136. roboticstoolbox/ets/cpp-extensions/Eigen/Core +384 -0
  137. roboticstoolbox/ets/cpp-extensions/Eigen/Dense +7 -0
  138. roboticstoolbox/ets/cpp-extensions/Eigen/Eigen +2 -0
  139. roboticstoolbox/ets/cpp-extensions/Eigen/Eigenvalues +60 -0
  140. roboticstoolbox/ets/cpp-extensions/Eigen/Geometry +59 -0
  141. roboticstoolbox/ets/cpp-extensions/Eigen/Householder +29 -0
  142. roboticstoolbox/ets/cpp-extensions/Eigen/IterativeLinearSolvers +48 -0
  143. roboticstoolbox/ets/cpp-extensions/Eigen/Jacobi +32 -0
  144. roboticstoolbox/ets/cpp-extensions/Eigen/KLUSupport +41 -0
  145. roboticstoolbox/ets/cpp-extensions/Eigen/LU +47 -0
  146. roboticstoolbox/ets/cpp-extensions/Eigen/MetisSupport +35 -0
  147. roboticstoolbox/ets/cpp-extensions/Eigen/OrderingMethods +70 -0
  148. roboticstoolbox/ets/cpp-extensions/Eigen/PaStiXSupport +49 -0
  149. roboticstoolbox/ets/cpp-extensions/Eigen/PardisoSupport +35 -0
  150. roboticstoolbox/ets/cpp-extensions/Eigen/QR +50 -0
  151. roboticstoolbox/ets/cpp-extensions/Eigen/QtAlignedMalloc +39 -0
  152. roboticstoolbox/ets/cpp-extensions/Eigen/SPQRSupport +34 -0
  153. roboticstoolbox/ets/cpp-extensions/Eigen/SVD +50 -0
  154. roboticstoolbox/ets/cpp-extensions/Eigen/Sparse +34 -0
  155. roboticstoolbox/ets/cpp-extensions/Eigen/SparseCholesky +37 -0
  156. roboticstoolbox/ets/cpp-extensions/Eigen/SparseCore +69 -0
  157. roboticstoolbox/ets/cpp-extensions/Eigen/SparseLU +50 -0
  158. roboticstoolbox/ets/cpp-extensions/Eigen/SparseQR +36 -0
  159. roboticstoolbox/ets/cpp-extensions/Eigen/StdDeque +27 -0
  160. roboticstoolbox/ets/cpp-extensions/Eigen/StdList +26 -0
  161. roboticstoolbox/ets/cpp-extensions/Eigen/StdVector +27 -0
  162. roboticstoolbox/ets/cpp-extensions/Eigen/SuperLUSupport +64 -0
  163. roboticstoolbox/ets/cpp-extensions/Eigen/UmfPackSupport +40 -0
  164. roboticstoolbox/ets/cpp-extensions/Eigen/src/Cholesky/LDLT.h +688 -0
  165. roboticstoolbox/ets/cpp-extensions/Eigen/src/Cholesky/LLT.h +558 -0
  166. roboticstoolbox/ets/cpp-extensions/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
  167. roboticstoolbox/ets/cpp-extensions/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
  168. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/ArithmeticSequence.h +413 -0
  169. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Array.h +417 -0
  170. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/ArrayBase.h +226 -0
  171. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/ArrayWrapper.h +209 -0
  172. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Assign.h +90 -0
  173. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/AssignEvaluator.h +1010 -0
  174. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Assign_MKL.h +178 -0
  175. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/BandMatrix.h +353 -0
  176. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Block.h +448 -0
  177. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/BooleanRedux.h +162 -0
  178. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/CommaInitializer.h +164 -0
  179. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/ConditionEstimator.h +175 -0
  180. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/CoreEvaluators.h +1741 -0
  181. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/CoreIterators.h +132 -0
  182. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/CwiseBinaryOp.h +183 -0
  183. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
  184. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/CwiseTernaryOp.h +197 -0
  185. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/CwiseUnaryOp.h +103 -0
  186. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/CwiseUnaryView.h +132 -0
  187. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/DenseBase.h +701 -0
  188. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/DenseCoeffsBase.h +685 -0
  189. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/DenseStorage.h +652 -0
  190. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Diagonal.h +258 -0
  191. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/DiagonalMatrix.h +391 -0
  192. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/DiagonalProduct.h +28 -0
  193. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Dot.h +318 -0
  194. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/EigenBase.h +160 -0
  195. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/ForceAlignedAccess.h +150 -0
  196. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Fuzzy.h +155 -0
  197. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/GeneralProduct.h +465 -0
  198. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/GenericPacketMath.h +1040 -0
  199. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/GlobalFunctions.h +194 -0
  200. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/IO.h +258 -0
  201. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/IndexedView.h +237 -0
  202. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Inverse.h +117 -0
  203. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Map.h +171 -0
  204. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/MapBase.h +310 -0
  205. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/MathFunctions.h +2057 -0
  206. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/MathFunctionsImpl.h +200 -0
  207. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Matrix.h +565 -0
  208. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/MatrixBase.h +547 -0
  209. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/NestByValue.h +85 -0
  210. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/NoAlias.h +109 -0
  211. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/NumTraits.h +335 -0
  212. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
  213. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/PermutationMatrix.h +605 -0
  214. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/PlainObjectBase.h +1128 -0
  215. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Product.h +191 -0
  216. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/ProductEvaluators.h +1179 -0
  217. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Random.h +218 -0
  218. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Redux.h +515 -0
  219. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Ref.h +381 -0
  220. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Replicate.h +142 -0
  221. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Reshaped.h +454 -0
  222. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/ReturnByValue.h +119 -0
  223. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Reverse.h +217 -0
  224. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Select.h +164 -0
  225. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/SelfAdjointView.h +365 -0
  226. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
  227. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Solve.h +188 -0
  228. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/SolveTriangular.h +235 -0
  229. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/SolverBase.h +168 -0
  230. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/StableNorm.h +251 -0
  231. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/StlIterators.h +463 -0
  232. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Stride.h +116 -0
  233. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Swap.h +68 -0
  234. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Transpose.h +464 -0
  235. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Transpositions.h +386 -0
  236. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/TriangularMatrix.h +1001 -0
  237. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/VectorBlock.h +96 -0
  238. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/VectorwiseOp.h +784 -0
  239. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Visitor.h +381 -0
  240. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AVX/Complex.h +372 -0
  241. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
  242. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
  243. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
  244. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
  245. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
  246. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
  247. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
  248. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
  249. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
  250. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
  251. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
  252. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
  253. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
  254. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
  255. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
  256. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
  257. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
  258. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
  259. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/Default/Half.h +942 -0
  260. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/Default/Settings.h +49 -0
  261. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
  262. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
  263. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
  264. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
  265. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  266. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/MSA/Complex.h +648 -0
  267. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
  268. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
  269. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/NEON/Complex.h +584 -0
  270. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
  271. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
  272. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
  273. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
  274. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SSE/Complex.h +351 -0
  275. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
  276. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
  277. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
  278. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
  279. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
  280. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
  281. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
  282. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
  283. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
  284. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
  285. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
  286. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
  287. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
  288. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
  289. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
  290. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
  291. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
  292. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/functors/StlFunctors.h +166 -0
  293. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
  294. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
  295. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
  296. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
  297. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
  298. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
  299. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
  300. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
  301. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
  302. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/Parallelizer.h +180 -0
  303. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
  304. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
  305. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
  306. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
  307. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
  308. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
  309. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
  310. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
  311. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
  312. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
  313. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
  314. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
  315. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
  316. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/BlasUtil.h +583 -0
  317. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
  318. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/Constants.h +563 -0
  319. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
  320. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
  321. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
  322. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/IntegralConstant.h +272 -0
  323. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/MKL_support.h +137 -0
  324. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/Macros.h +1464 -0
  325. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/Memory.h +1163 -0
  326. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/Meta.h +812 -0
  327. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/NonMPL2.h +3 -0
  328. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
  329. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/ReshapedHelper.h +51 -0
  330. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/StaticAssert.h +221 -0
  331. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/SymbolicIndex.h +293 -0
  332. roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/XprHelper.h +856 -0
  333. roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
  334. roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
  335. roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
  336. roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
  337. roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
  338. roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
  339. roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
  340. roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
  341. roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/RealQZ.h +657 -0
  342. roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/RealSchur.h +558 -0
  343. roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
  344. roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
  345. roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
  346. roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
  347. roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/AlignedBox.h +486 -0
  348. roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/AngleAxis.h +247 -0
  349. roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/EulerAngles.h +114 -0
  350. roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/Homogeneous.h +501 -0
  351. roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/Hyperplane.h +282 -0
  352. roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/OrthoMethods.h +235 -0
  353. roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/ParametrizedLine.h +232 -0
  354. roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/Quaternion.h +870 -0
  355. roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/Rotation2D.h +199 -0
  356. roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/RotationBase.h +206 -0
  357. roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/Scaling.h +188 -0
  358. roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/Transform.h +1563 -0
  359. roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/Translation.h +202 -0
  360. roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/Umeyama.h +166 -0
  361. roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
  362. roboticstoolbox/ets/cpp-extensions/Eigen/src/Householder/BlockHouseholder.h +110 -0
  363. roboticstoolbox/ets/cpp-extensions/Eigen/src/Householder/Householder.h +176 -0
  364. roboticstoolbox/ets/cpp-extensions/Eigen/src/Householder/HouseholderSequence.h +545 -0
  365. roboticstoolbox/ets/cpp-extensions/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
  366. roboticstoolbox/ets/cpp-extensions/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
  367. roboticstoolbox/ets/cpp-extensions/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
  368. roboticstoolbox/ets/cpp-extensions/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
  369. roboticstoolbox/ets/cpp-extensions/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
  370. roboticstoolbox/ets/cpp-extensions/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
  371. roboticstoolbox/ets/cpp-extensions/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
  372. roboticstoolbox/ets/cpp-extensions/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
  373. roboticstoolbox/ets/cpp-extensions/Eigen/src/Jacobi/Jacobi.h +483 -0
  374. roboticstoolbox/ets/cpp-extensions/Eigen/src/KLUSupport/KLUSupport.h +358 -0
  375. roboticstoolbox/ets/cpp-extensions/Eigen/src/LU/Determinant.h +117 -0
  376. roboticstoolbox/ets/cpp-extensions/Eigen/src/LU/FullPivLU.h +877 -0
  377. roboticstoolbox/ets/cpp-extensions/Eigen/src/LU/InverseImpl.h +432 -0
  378. roboticstoolbox/ets/cpp-extensions/Eigen/src/LU/PartialPivLU.h +624 -0
  379. roboticstoolbox/ets/cpp-extensions/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
  380. roboticstoolbox/ets/cpp-extensions/Eigen/src/LU/arch/InverseSize4.h +351 -0
  381. roboticstoolbox/ets/cpp-extensions/Eigen/src/MetisSupport/MetisSupport.h +137 -0
  382. roboticstoolbox/ets/cpp-extensions/Eigen/src/OrderingMethods/Amd.h +435 -0
  383. roboticstoolbox/ets/cpp-extensions/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
  384. roboticstoolbox/ets/cpp-extensions/Eigen/src/OrderingMethods/Ordering.h +153 -0
  385. roboticstoolbox/ets/cpp-extensions/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
  386. roboticstoolbox/ets/cpp-extensions/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
  387. roboticstoolbox/ets/cpp-extensions/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
  388. roboticstoolbox/ets/cpp-extensions/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
  389. roboticstoolbox/ets/cpp-extensions/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
  390. roboticstoolbox/ets/cpp-extensions/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
  391. roboticstoolbox/ets/cpp-extensions/Eigen/src/QR/HouseholderQR.h +434 -0
  392. roboticstoolbox/ets/cpp-extensions/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
  393. roboticstoolbox/ets/cpp-extensions/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
  394. roboticstoolbox/ets/cpp-extensions/Eigen/src/SVD/BDCSVD.h +1366 -0
  395. roboticstoolbox/ets/cpp-extensions/Eigen/src/SVD/JacobiSVD.h +812 -0
  396. roboticstoolbox/ets/cpp-extensions/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
  397. roboticstoolbox/ets/cpp-extensions/Eigen/src/SVD/SVDBase.h +376 -0
  398. roboticstoolbox/ets/cpp-extensions/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
  399. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
  400. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
  401. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/AmbiVector.h +378 -0
  402. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/CompressedStorage.h +274 -0
  403. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
  404. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
  405. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseAssign.h +270 -0
  406. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseBlock.h +571 -0
  407. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseColEtree.h +206 -0
  408. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
  409. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
  410. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
  411. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
  412. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
  413. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseDot.h +98 -0
  414. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
  415. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseMap.h +305 -0
  416. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
  417. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
  418. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparsePermutation.h +178 -0
  419. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseProduct.h +181 -0
  420. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseRedux.h +49 -0
  421. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseRef.h +397 -0
  422. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
  423. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
  424. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
  425. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseTranspose.h +92 -0
  426. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
  427. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseUtil.h +186 -0
  428. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseVector.h +478 -0
  429. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseView.h +254 -0
  430. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/TriangularSolver.h +315 -0
  431. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU.h +923 -0
  432. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
  433. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
  434. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
  435. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
  436. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
  437. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
  438. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
  439. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
  440. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
  441. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
  442. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
  443. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
  444. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
  445. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
  446. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
  447. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
  448. roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseQR/SparseQR.h +758 -0
  449. roboticstoolbox/ets/cpp-extensions/Eigen/src/StlSupport/StdDeque.h +116 -0
  450. roboticstoolbox/ets/cpp-extensions/Eigen/src/StlSupport/StdList.h +106 -0
  451. roboticstoolbox/ets/cpp-extensions/Eigen/src/StlSupport/StdVector.h +131 -0
  452. roboticstoolbox/ets/cpp-extensions/Eigen/src/StlSupport/details.h +84 -0
  453. roboticstoolbox/ets/cpp-extensions/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
  454. roboticstoolbox/ets/cpp-extensions/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
  455. roboticstoolbox/ets/cpp-extensions/Eigen/src/misc/Image.h +82 -0
  456. roboticstoolbox/ets/cpp-extensions/Eigen/src/misc/Kernel.h +79 -0
  457. roboticstoolbox/ets/cpp-extensions/Eigen/src/misc/RealSvd2x2.h +55 -0
  458. roboticstoolbox/ets/cpp-extensions/Eigen/src/misc/blas.h +440 -0
  459. roboticstoolbox/ets/cpp-extensions/Eigen/src/misc/lapack.h +152 -0
  460. roboticstoolbox/ets/cpp-extensions/Eigen/src/misc/lapacke.h +16292 -0
  461. roboticstoolbox/ets/cpp-extensions/Eigen/src/misc/lapacke_mangling.h +17 -0
  462. roboticstoolbox/ets/cpp-extensions/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
  463. roboticstoolbox/ets/cpp-extensions/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
  464. roboticstoolbox/ets/cpp-extensions/Eigen/src/plugins/BlockMethods.h +1442 -0
  465. roboticstoolbox/ets/cpp-extensions/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
  466. roboticstoolbox/ets/cpp-extensions/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
  467. roboticstoolbox/ets/cpp-extensions/Eigen/src/plugins/IndexedViewMethods.h +262 -0
  468. roboticstoolbox/ets/cpp-extensions/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
  469. roboticstoolbox/ets/cpp-extensions/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
  470. roboticstoolbox/ets/cpp-extensions/Eigen/src/plugins/ReshapedMethods.h +149 -0
  471. roboticstoolbox/ets/cpp-extensions/README.md +73 -0
  472. roboticstoolbox/ets/cpp-extensions/fknm_nb.cpp +534 -0
  473. roboticstoolbox/ets/cpp-extensions/ik.cpp +301 -0
  474. roboticstoolbox/ets/cpp-extensions/ik.h +59 -0
  475. roboticstoolbox/ets/cpp-extensions/linalg.cpp +316 -0
  476. roboticstoolbox/ets/cpp-extensions/linalg.h +64 -0
  477. roboticstoolbox/ets/cpp-extensions/methods.cpp +372 -0
  478. roboticstoolbox/ets/cpp-extensions/methods.h +32 -0
  479. roboticstoolbox/ets/cpp-extensions/structs.cpp +24 -0
  480. roboticstoolbox/ets/cpp-extensions/structs.h +62 -0
  481. roboticstoolbox/ets/fknm.py +366 -0
  482. roboticstoolbox/mobile/Animations.py +485 -0
  483. roboticstoolbox/mobile/Bug2.py +455 -0
  484. roboticstoolbox/mobile/CurvaturePolyPlanner.py +179 -0
  485. roboticstoolbox/mobile/DistanceTransformPlanner.py +393 -0
  486. roboticstoolbox/mobile/DstarPlanner.py +591 -0
  487. roboticstoolbox/mobile/DubinsPlanner.py +474 -0
  488. roboticstoolbox/mobile/EKF.py +1617 -0
  489. roboticstoolbox/mobile/LatticePlanner.py +419 -0
  490. roboticstoolbox/mobile/OccGrid.py +613 -0
  491. roboticstoolbox/mobile/PRMPlanner.py +348 -0
  492. roboticstoolbox/mobile/ParticleFilter.py +706 -0
  493. roboticstoolbox/mobile/PlannerBase.py +1009 -0
  494. roboticstoolbox/mobile/PoseGraph.py +544 -0
  495. roboticstoolbox/mobile/QuinticPolyPlanner.py +349 -0
  496. roboticstoolbox/mobile/RRTPlanner.py +359 -0
  497. roboticstoolbox/mobile/ReedsSheppPlanner.py +545 -0
  498. roboticstoolbox/mobile/Vehicle.py +1909 -0
  499. roboticstoolbox/mobile/__init__.py +194 -0
  500. roboticstoolbox/mobile/drivers.py +397 -0
  501. roboticstoolbox/mobile/landmarkmap.py +181 -0
  502. roboticstoolbox/mobile/sensors.py +789 -0
  503. roboticstoolbox/models/DH/AL5D.py +121 -0
  504. roboticstoolbox/models/DH/Ball.py +87 -0
  505. roboticstoolbox/models/DH/Baxter.py +91 -0
  506. roboticstoolbox/models/DH/Cobra600.py +63 -0
  507. roboticstoolbox/models/DH/Coil.py +80 -0
  508. roboticstoolbox/models/DH/Hyper.py +81 -0
  509. roboticstoolbox/models/DH/Hyper3d.py +83 -0
  510. roboticstoolbox/models/DH/IRB140.py +159 -0
  511. roboticstoolbox/models/DH/Jaco.py +102 -0
  512. roboticstoolbox/models/DH/KR5.py +112 -0
  513. roboticstoolbox/models/DH/LWR4.py +80 -0
  514. roboticstoolbox/models/DH/Mico.py +102 -0
  515. roboticstoolbox/models/DH/Orion5.py +91 -0
  516. roboticstoolbox/models/DH/P8.py +80 -0
  517. roboticstoolbox/models/DH/Panda.py +213 -0
  518. roboticstoolbox/models/DH/Planar2.py +69 -0
  519. roboticstoolbox/models/DH/Planar3.py +51 -0
  520. roboticstoolbox/models/DH/Puma560.py +326 -0
  521. roboticstoolbox/models/DH/README.md +216 -0
  522. roboticstoolbox/models/DH/Sawyer.py +85 -0
  523. roboticstoolbox/models/DH/Stanford.py +147 -0
  524. roboticstoolbox/models/DH/TwoLink.py +153 -0
  525. roboticstoolbox/models/DH/UR10.py +124 -0
  526. roboticstoolbox/models/DH/UR3.py +98 -0
  527. roboticstoolbox/models/DH/UR5.py +98 -0
  528. roboticstoolbox/models/DH/Uprighttl.py +24 -0
  529. roboticstoolbox/models/DH/__init__.py +52 -0
  530. roboticstoolbox/models/ETS/Frankie.py +90 -0
  531. roboticstoolbox/models/ETS/GenericSeven.py +54 -0
  532. roboticstoolbox/models/ETS/Omni.py +74 -0
  533. roboticstoolbox/models/ETS/Panda.py +69 -0
  534. roboticstoolbox/models/ETS/Planar2.py +49 -0
  535. roboticstoolbox/models/ETS/Planar_Y.py +65 -0
  536. roboticstoolbox/models/ETS/Puma560.py +70 -0
  537. roboticstoolbox/models/ETS/XYPanda.py +84 -0
  538. roboticstoolbox/models/ETS/__init__.py +20 -0
  539. roboticstoolbox/models/README.md +9 -0
  540. roboticstoolbox/models/URDF/AL5D.py +45 -0
  541. roboticstoolbox/models/URDF/Fetch.py +96 -0
  542. roboticstoolbox/models/URDF/Frankie.py +67 -0
  543. roboticstoolbox/models/URDF/FrankieOmni.py +94 -0
  544. roboticstoolbox/models/URDF/Jaco.py +49 -0
  545. roboticstoolbox/models/URDF/KinovaGen3.py +63 -0
  546. roboticstoolbox/models/URDF/LBR.py +57 -0
  547. roboticstoolbox/models/URDF/PR2.py +66 -0
  548. roboticstoolbox/models/URDF/Panda.py +60 -0
  549. roboticstoolbox/models/URDF/Puma560.py +90 -0
  550. roboticstoolbox/models/URDF/UR10.py +43 -0
  551. roboticstoolbox/models/URDF/UR3.py +43 -0
  552. roboticstoolbox/models/URDF/UR5.py +64 -0
  553. roboticstoolbox/models/URDF/URDFRobot.py +402 -0
  554. roboticstoolbox/models/URDF/Valkyrie.py +110 -0
  555. roboticstoolbox/models/URDF/YuMi.py +107 -0
  556. roboticstoolbox/models/URDF/__init__.py +51 -0
  557. roboticstoolbox/models/URDF/px100.py +48 -0
  558. roboticstoolbox/models/URDF/px150.py +48 -0
  559. roboticstoolbox/models/URDF/rx150.py +48 -0
  560. roboticstoolbox/models/URDF/rx200.py +48 -0
  561. roboticstoolbox/models/URDF/vx300.py +48 -0
  562. roboticstoolbox/models/URDF/vx300s.py +48 -0
  563. roboticstoolbox/models/URDF/wx200.py +48 -0
  564. roboticstoolbox/models/URDF/wx250.py +48 -0
  565. roboticstoolbox/models/URDF/wx250s.py +48 -0
  566. roboticstoolbox/models/__init__.py +7 -0
  567. roboticstoolbox/models/catalog.py +226 -0
  568. roboticstoolbox/robot/BaseRobot.py +2591 -0
  569. roboticstoolbox/robot/DHFactor.py +522 -0
  570. roboticstoolbox/robot/DHLink.py +949 -0
  571. roboticstoolbox/robot/DHRobot.py +2591 -0
  572. roboticstoolbox/robot/Dynamics.py +1537 -0
  573. roboticstoolbox/robot/ELink.py +23 -0
  574. roboticstoolbox/robot/ERobot.py +25 -0
  575. roboticstoolbox/robot/Gripper.py +242 -0
  576. roboticstoolbox/robot/IK.py +1378 -0
  577. roboticstoolbox/robot/Link.py +1557 -0
  578. roboticstoolbox/robot/PoERobot.py +352 -0
  579. roboticstoolbox/robot/Robot.py +2157 -0
  580. roboticstoolbox/robot/RobotKinematics.py +1505 -0
  581. roboticstoolbox/robot/RobotPlottingMPL.py +355 -0
  582. roboticstoolbox/robot/RobotProto.py +156 -0
  583. roboticstoolbox/robot/__init__.py +57 -0
  584. roboticstoolbox/robot/cpp-extensions/README.md +29 -0
  585. roboticstoolbox/robot/cpp-extensions/frne.h +96 -0
  586. roboticstoolbox/robot/cpp-extensions/frne_nb.cpp +237 -0
  587. roboticstoolbox/robot/cpp-extensions/ne.c +495 -0
  588. roboticstoolbox/robot/cpp-extensions/vmath.c +163 -0
  589. roboticstoolbox/robot/cpp-extensions/vmath.h +32 -0
  590. roboticstoolbox/robot/frne.py +51 -0
  591. roboticstoolbox/tools/DHFactor.py +375 -0
  592. roboticstoolbox/tools/Ticker.py +53 -0
  593. roboticstoolbox/tools/__init__.py +58 -0
  594. roboticstoolbox/tools/data.py +187 -0
  595. roboticstoolbox/tools/jsingu.py +51 -0
  596. roboticstoolbox/tools/null.py +48 -0
  597. roboticstoolbox/tools/numerical.py +96 -0
  598. roboticstoolbox/tools/p_servo.py +108 -0
  599. roboticstoolbox/tools/params.py +11 -0
  600. roboticstoolbox/tools/plot.py +109 -0
  601. roboticstoolbox/tools/trajectory.py +1152 -0
  602. roboticstoolbox/tools/trchain.py +233 -0
  603. roboticstoolbox/tools/types.py +13 -0
  604. roboticstoolbox/tools/urdf/__init__.py +45 -0
  605. roboticstoolbox/tools/urdf/tests/data/ur5.urdf +341 -0
  606. roboticstoolbox/tools/urdf/tests/test_urdf.py +116 -0
  607. roboticstoolbox/tools/urdf/urdf.py +1930 -0
  608. roboticstoolbox/tools/urdf/utils.py +50 -0
  609. roboticstoolbox_python-1.4.0.dist-info/DELVEWHEEL +2 -0
  610. roboticstoolbox_python-1.4.0.dist-info/METADATA +665 -0
  611. roboticstoolbox_python-1.4.0.dist-info/RECORD +615 -0
  612. roboticstoolbox_python-1.4.0.dist-info/WHEEL +5 -0
  613. roboticstoolbox_python-1.4.0.dist-info/entry_points.txt +6 -0
  614. roboticstoolbox_python-1.4.0.dist-info/licenses/LICENSE +21 -0
  615. roboticstoolbox_python.libs/msvcp140-a4c2229bdc2a2a630acdc095b4d86008.dll +0 -0
@@ -0,0 +1,665 @@
1
+ Metadata-Version: 2.2
2
+ Name: roboticstoolbox-python
3
+ Version: 1.4.0
4
+ Summary: A Python library for robotics education and research
5
+ Keywords: python,robotics,robotics-toolbox,kinematics,dynamics,motion-planning,trajectory-generation,jacobian,hessian,control,simulation,robot-manipulator,mobile-robot
6
+ Author-Email: Jesse Haviland <j.haviland@qut.edu.au>, Peter Corke <rvc@petercorke.com>
7
+ License: MIT License
8
+
9
+ Copyright (c) 2020 jhavl
10
+
11
+ Permission is hereby granted, free of charge, to any person obtaining a copy
12
+ of this software and associated documentation files (the "Software"), to deal
13
+ in the Software without restriction, including without limitation the rights
14
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ copies of the Software, and to permit persons to whom the Software is
16
+ furnished to do so, subject to the following conditions:
17
+
18
+ The above copyright notice and this permission notice shall be included in all
19
+ copies or substantial portions of the Software.
20
+
21
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
+ SOFTWARE.
28
+
29
+ Classifier: Development Status :: 5 - Production/Stable
30
+ Classifier: Intended Audience :: Developers
31
+ Classifier: License :: OSI Approved :: MIT License
32
+ Classifier: Programming Language :: Python :: 3.10
33
+ Classifier: Programming Language :: Python :: 3.11
34
+ Classifier: Programming Language :: Python :: 3.12
35
+ Classifier: Programming Language :: Python :: 3.13
36
+ Classifier: Programming Language :: Python :: 3.14
37
+ Project-URL: homepage, https://petercorke.github.io/robotics-toolbox-python/
38
+ Project-URL: documentation, https://petercorke.github.io/robotics-toolbox-python/
39
+ Project-URL: repository, https://github.com/petercorke/robotics-toolbox-python
40
+ Requires-Python: >=3.10
41
+ Requires-Dist: numpy
42
+ Requires-Dist: spatialmath-python>=1.1.16
43
+ Requires-Dist: spatialgeometry>=1.4.0
44
+ Requires-Dist: pgraph-python
45
+ Requires-Dist: scipy
46
+ Requires-Dist: matplotlib
47
+ Requires-Dist: ansitable
48
+ Requires-Dist: rtb-data>=2.0
49
+ Requires-Dist: progress
50
+ Requires-Dist: typing_extensions
51
+ Requires-Dist: colored>2.0.0
52
+ Requires-Dist: xacrodoc
53
+ Requires-Dist: robot_descriptions<3.0,>=2.0
54
+ Provides-Extra: swift
55
+ Requires-Dist: swift-sim>=2.0.0; extra == "swift"
56
+ Requires-Dist: websockets; extra == "swift"
57
+ Provides-Extra: collision
58
+ Requires-Dist: coal; sys_platform != "win32" and extra == "collision"
59
+ Requires-Dist: trimesh; extra == "collision"
60
+ Provides-Extra: qp
61
+ Requires-Dist: qpsolvers; extra == "qp"
62
+ Requires-Dist: quadprog; extra == "qp"
63
+ Provides-Extra: tool
64
+ Requires-Dist: ipython; extra == "tool"
65
+ Requires-Dist: pygments; extra == "tool"
66
+ Provides-Extra: all
67
+ Requires-Dist: swift-sim>=2.0.0; extra == "all"
68
+ Requires-Dist: websockets; extra == "all"
69
+ Requires-Dist: qpsolvers; extra == "all"
70
+ Requires-Dist: quadprog; extra == "all"
71
+ Requires-Dist: coal; sys_platform != "win32" and extra == "all"
72
+ Requires-Dist: trimesh; extra == "all"
73
+ Requires-Dist: ipython; extra == "all"
74
+ Requires-Dist: pygments; extra == "all"
75
+ Provides-Extra: dev
76
+ Requires-Dist: pytest; extra == "dev"
77
+ Requires-Dist: pytest-cov; extra == "dev"
78
+ Requires-Dist: pytest-timeout; extra == "dev"
79
+ Requires-Dist: pyyaml; extra == "dev"
80
+ Requires-Dist: sympy; extra == "dev"
81
+ Requires-Dist: qpsolvers; extra == "dev"
82
+ Requires-Dist: quadprog; extra == "dev"
83
+ Requires-Dist: bdsim; extra == "dev"
84
+ Requires-Dist: ruff; extra == "dev"
85
+ Requires-Dist: coal; sys_platform != "win32" and extra == "dev"
86
+ Requires-Dist: trimesh; extra == "dev"
87
+ Requires-Dist: nbmake; extra == "dev"
88
+ Provides-Extra: nb
89
+ Requires-Dist: nbmake; extra == "nb"
90
+ Provides-Extra: docs
91
+ Requires-Dist: sphinx; extra == "docs"
92
+ Requires-Dist: sphinx_rtd_theme; extra == "docs"
93
+ Requires-Dist: sphinx-pyrunblock; extra == "docs"
94
+ Requires-Dist: sphinx_autodoc_typehints; extra == "docs"
95
+ Requires-Dist: sphinx-favicon; extra == "docs"
96
+ Requires-Dist: sphinxcontrib-bibtex; extra == "docs"
97
+ Requires-Dist: sphinx-copybutton; extra == "docs"
98
+ Requires-Dist: sphinx-codeautolink; extra == "docs"
99
+ Description-Content-Type: text/markdown
100
+
101
+ # Robotics Toolbox for Python
102
+
103
+ <div align="center">
104
+ <img src="https://raw.githubusercontent.com/petercorke/robotics-toolbox-python/main/docs/figs/RobToolBox_RoundLogoB.png" width="390">
105
+ <br>
106
+ <em>Robotics without the cruft</em>
107
+ <br>
108
+ <strong>A high-productivity framework for robotics research and education.</strong>
109
+ <br><br>
110
+
111
+ [![JupyterLite](https://img.shields.io/badge/Try_it_Now-JupyterLite-orange?style=for-the-badge&logo=jupyter)](https://petercorke.github.io/robotics-toolbox-python/lite/lab?path=robotics.ipynb)
112
+ [![PyPI version](https://img.shields.io/pypi/v/roboticstoolbox-python?style=for-the-badge&color=blue)](https://pypi.org/project/roboticstoolbox-python/)
113
+ [![Documentation](https://img.shields.io/badge/Docs-View_Online-blue?style=for-the-badge)](https://petercorke.github.io/robotics-toolbox-python)
114
+
115
+ <p>
116
+ <a href="https://github.com/petercorke/robotics-toolbox-python">GitHub</a> •
117
+ <a href="https://github.com/petercorke/robotics-toolbox-python/wiki">Wiki</a> •
118
+ <a href="https://github.com/petercorke/robotics-toolbox-python/blob/main/CHANGELOG.md">Changelog</a> •
119
+ <a href="#getting-going">Installation</a>
120
+ </p>
121
+ </div>
122
+
123
+ ---
124
+
125
+ ### Status & Project Health
126
+
127
+ [![Build Status](https://github.com/petercorke/robotics-toolbox-python/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/petercorke/robotics-toolbox-python/actions/workflows/ci.yml)
128
+ [![Downloads](https://static.pepy.tech/badge/roboticstoolbox-python/month)](https://pepy.tech/projects/roboticstoolbox-python)
129
+ ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/roboticstoolbox-python.svg)
130
+ [![codecov](https://codecov.io/gh/petercorke/robotics-toolbox-python/graph/badge.svg?token=0rqN39PDEO)](https://codecov.io/gh/petercorke/robotics-toolbox-python)
131
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
132
+
133
+ ### Ecosystem & Dependencies
134
+
135
+ [![A Python Robotics Package](https://raw.githubusercontent.com/petercorke/robotics-toolbox-python/main/.github/svg/py_collection.min.svg)](https://github.com/petercorke/robotics-toolbox-python)
136
+ [![QUT Centre for Robotics Open Source](https://github.com/qcr/qcr.github.io/raw/master/misc/badge.svg)](https://qcr.github.io)
137
+
138
+ [![powered by NumPy](https://img.shields.io/badge/powered_by-NumPy-013243?logo=numpy&logoColor=white)](https://numpy.org)
139
+ [![powered by SciPy](https://img.shields.io/badge/powered_by-SciPy-0054a6?logo=scipy&logoColor=white)](https://scipy.org)
140
+ [![powered by Matplotlib](https://img.shields.io/badge/powered_by-Matplotlib-11557c?logo=matplotlib&logoColor=white)](https://matplotlib.org)
141
+ [![Powered by Spatial Maths](https://raw.githubusercontent.com/petercorke/spatialmath-python/master/.github/svg/sm_powered.min.svg)](https://github.com/petercorke/spatialmath-python)
142
+
143
+ <!-- <br> -->
144
+
145
+ ## Contents
146
+
147
+ <!-- Kept as a manual list deliberately: this file is also PyPI's project
148
+ description (see pyproject.toml's `readme`), which has no native
149
+ table-of-contents widget the way GitHub does. Keep in sync with the
150
+ headings below when adding/renaming a section. -->
151
+
152
+ - [Synopsis](#synopsis)
153
+ - [Getting going](#getting-going)
154
+ - [Tutorials](#tutorials)
155
+ - [Code Examples](#code-examples)
156
+ - [Toolbox Research Applications](#toolbox-research-applications)
157
+ - [References](#references)
158
+ - [Using the Toolbox in your Open Source Code?](#using-the-toolbox-in-your-open-source-code)
159
+ - [Common Issues and Solutions](#common-issues-and-solutions)
160
+ - [Build a JupyterLite/Pyodide Wasm wheel](#build-a-jupyterlitepyodide-wasm-wheel)
161
+
162
+ <br>
163
+
164
+ ## Synopsis
165
+
166
+ This toolbox brings robotics-specific functionality to Python, and leverages
167
+ Python's advantages of portability, ubiquity and support, and the capability of
168
+ the open-source ecosystem for linear algebra (numpy, scipy), graphics
169
+ (matplotlib, three.js, WebGL), interactive development (Jupyter, JupyterLab,
170
+ mybinder.org), and documentation (sphinx).
171
+
172
+ The Toolbox provides tools for representing the kinematics and dynamics of
173
+ serial-link manipulators - you can easily create your own in Denavit-Hartenberg
174
+ form, import a URDF file, or use over 50 supplied models for well-known
175
+ contemporary robots from Franka-Emika, Kinova, Universal Robotics, Rethink as
176
+ well as classical robots such as the Puma 560 and the Stanford arm.
177
+
178
+ The Toolbox contains fast implementations of kinematic operations. The forward
179
+ kinematics and the manipulator Jacobian can be computed in less than 1 microsecond
180
+ while numerical inverse kinematics can be solved in as little as 4 microseconds.
181
+
182
+ The toolbox also supports mobile robots with functions for robot motion models
183
+ (unicycle, bicycle), path planning algorithms (bug, distance transform, D\*,
184
+ PRM), kinodynamic planning (lattice, RRT), localization (EKF, particle filter),
185
+ map building (EKF) and simultaneous localization and mapping (EKF).
186
+
187
+ The Toolbox provides:
188
+
189
+ - code that is mature and provides a point of comparison for other
190
+ implementations of the same algorithms;
191
+ - routines which are generally written in a straightforward manner which
192
+ allows for easy understanding, perhaps at the expense of computational
193
+ efficiency;
194
+ - source code which can be read for learning and teaching;
195
+ - backward compatability with the Robotics Toolbox for MATLAB
196
+
197
+ The Toolbox leverages the [Spatial Maths Toolbox for Python](https://github.com/petercorke/spatialmath-python) to
198
+ provide support for data types such as SO(n) and SE(n) matrices, quaternions, twists and spatial vectors.
199
+
200
+ <br>
201
+
202
+ ## Getting going
203
+
204
+ You will need Python >= 3.10
205
+
206
+ ### Using pip
207
+
208
+ Install a snapshot from PyPI
209
+
210
+ ```shell script
211
+ pip install roboticstoolbox-python
212
+ ```
213
+
214
+ Available options are:
215
+
216
+ - `swift` install [Swift](https://github.com/jhavl/swift), a web-based visualizer
217
+ - `qp` install quadratic-programming IK dependencies (`qpsolvers`, `quadprog`)
218
+ - `collision` install collision checking with [coal](https://github.com/coal-library/coal) and `trimesh`
219
+ - `tool` install `IPython` and `pygments`, needed to run the `rtbtool` interactive shell
220
+ - `all` install `swift`, `qp`, `collision`, and `tool`
221
+
222
+ > **Windows note:** `coal` does not publish Windows wheels on PyPI, so the
223
+ > `collision`/`all` extras skip it there and collision checking is
224
+ > unavailable via `pip` on Windows. It's available via
225
+ > `conda install -c conda-forge coal-python` if needed. Everything else in
226
+ > the Toolbox works normally.
227
+
228
+ Put the options in a comma separated list like
229
+
230
+ ```shell script
231
+ pip install roboticstoolbox-python[optionlist]
232
+ ```
233
+
234
+ If you want the Swift visualizer, install the `swift` extra.
235
+
236
+ Install matrix:
237
+
238
+ - Core only
239
+
240
+ ```shell script
241
+ pip install roboticstoolbox-python
242
+ ```
243
+
244
+ - Swift visualizer only
245
+
246
+ ```shell script
247
+ pip install roboticstoolbox-python[swift]
248
+ ```
249
+
250
+ - QP solver dependencies only
251
+
252
+ ```shell script
253
+ pip install roboticstoolbox-python[qp]
254
+ ```
255
+
256
+ - Collision checking dependencies only
257
+
258
+ ```shell script
259
+ pip install roboticstoolbox-python[collision]
260
+ ```
261
+
262
+ - `rtbtool` interactive shell dependencies only
263
+
264
+ ```shell script
265
+ pip install roboticstoolbox-python[tool]
266
+ ```
267
+
268
+ - Everything (swift + qp + collision + tool)
269
+
270
+ ```shell script
271
+ pip install roboticstoolbox-python[all]
272
+ ```
273
+
274
+ - Multiple extras explicitly
275
+
276
+ ```shell script
277
+ pip install roboticstoolbox-python[swift,qp,collision]
278
+ ```
279
+
280
+ ### From GitHub
281
+
282
+ To install the bleeding-edge version from GitHub
283
+
284
+ ```shell script
285
+ git clone https://github.com/petercorke/robotics-toolbox-python.git
286
+ cd robotics-toolbox-python
287
+ pip install -e .
288
+ ```
289
+
290
+ To generate a Wasm wheel that will run in the browser see the [instructions here](#build-a-jupyterlitepyodide-wasm-wheel).
291
+
292
+
293
+ ## Tutorials
294
+
295
+ <table style="border:0px">
296
+ <tr style="border:0px">
297
+ <td style="border:0px"><a href="https://bit.ly/3ak5GDi"><img src="https://github.com/jhavl/dkt/raw/main/img/article1.png" width="400"></a></td>
298
+ <td style="border:0px"><a href="https://bit.ly/3ak5GDi"><img src="https://github.com/jhavl/dkt/raw/main/img/article2.png" width="400"></a></td>
299
+ <td style="border:0px">
300
+ Do you want to learn about manipulator kinematics, differential kinematics, inverse-kinematics and motion control? Have a look at our
301
+ <a href="https://bit.ly/3ak5GDi">tutorial</a>.
302
+ This tutorial comes with two articles to cover the theory and 12 Jupyter Notebooks providing full code implementations and examples. Most of the Notebooks are also Google Colab compatible allowing them to run online.
303
+ </td>
304
+ </tr>
305
+ </table>
306
+
307
+ <br>
308
+
309
+ ## Code Examples
310
+
311
+ We will load a model of the Franka-Emika Panda robot defined by a URDF file
312
+
313
+ ```python
314
+ import roboticstoolbox as rtb
315
+ robot = rtb.models.Panda()
316
+ print(robot)
317
+
318
+ ERobot: panda (by Franka Emika), 7 joints (RRRRRRR), 1 gripper, geometry, collision
319
+ ┌─────┬──────────────┬───────┬─────────────┬────────────────────────────────────────────────┐
320
+ │link │ link │ joint │ parent │ ETS: parent to link │
321
+ ├─────┼──────────────┼───────┼─────────────┼────────────────────────────────────────────────┤
322
+ │ 0 │ panda_link0 │ │ BASE │ │
323
+ │ 1 │ panda_link1 │ 0 │ panda_link0 │ SE3(0, 0, 0.333) ⊕ Rz(q0) │
324
+ │ 2 │ panda_link2 │ 1 │ panda_link1 │ SE3(-90°, -0°, 0°) ⊕ Rz(q1) │
325
+ │ 3 │ panda_link3 │ 2 │ panda_link2 │ SE3(0, -0.316, 0; 90°, -0°, 0°) ⊕ Rz(q2) │
326
+ │ 4 │ panda_link4 │ 3 │ panda_link3 │ SE3(0.0825, 0, 0; 90°, -0°, 0°) ⊕ Rz(q3) │
327
+ │ 5 │ panda_link5 │ 4 │ panda_link4 │ SE3(-0.0825, 0.384, 0; -90°, -0°, 0°) ⊕ Rz(q4) │
328
+ │ 6 │ panda_link6 │ 5 │ panda_link5 │ SE3(90°, -0°, 0°) ⊕ Rz(q5) │
329
+ │ 7 │ panda_link7 │ 6 │ panda_link6 │ SE3(0.088, 0, 0; 90°, -0°, 0°) ⊕ Rz(q6) │
330
+ │ 8 │ @panda_link8 │ │ panda_link7 │ SE3(0, 0, 0.107) │
331
+ └─────┴──────────────┴───────┴─────────────┴────────────────────────────────────────────────┘
332
+
333
+ ┌─────┬─────┬────────┬─────┬───────┬─────┬───────┬──────┐
334
+ │name │ q0 │ q1 │ q2 │ q3 │ q4 │ q5 │ q6 │
335
+ ├─────┼─────┼────────┼─────┼───────┼─────┼───────┼──────┤
336
+ │ qr │ 0° │ -17.2° │ 0° │ -126° │ 0° │ 115° │ 45° │
337
+ │ qz │ 0° │ 0° │ 0° │ 0° │ 0° │ 0° │ 0° │
338
+ └─────┴─────┴────────┴─────┴───────┴─────┴───────┴──────┘
339
+ ```
340
+
341
+ The symbol `@` indicates the link as an end-effector, a leaf node in the rigid-body
342
+ tree (Python prompts are not shown to make it easy to copy+paste the code, console output is indented).
343
+ We will compute the forward kinematics next
344
+
345
+ ```
346
+ Te = robot.fkine(robot.qr) # forward kinematics
347
+ print(Te)
348
+
349
+ 0.995 0 0.09983 0.484
350
+ 0 -1 0 0
351
+ 0.09983 0 -0.995 0.4126
352
+ 0 0 0 1
353
+ ```
354
+
355
+ We can solve inverse kinematics very easily. We first choose an SE(3) pose
356
+ defined in terms of position and orientation (end-effector z-axis down (A=-Z) and finger
357
+ orientation parallel to y-axis (O=+Y)).
358
+
359
+ ```python
360
+ from spatialmath import SE3
361
+
362
+ Tep = SE3.Trans(0.6, -0.3, 0.1) * SE3.OA([0, 1, 0], [0, 0, -1])
363
+ sol = robot.ik_LM(Tep) # solve IK
364
+ print(sol)
365
+
366
+ (array([ 0.20592815, 0.86609481, -0.79473206, -1.68254794, 0.74872915,
367
+ 2.21764746, -0.10255606]), 1, 114, 7, 2.890164057230228e-07)
368
+
369
+ q_pickup = sol[0]
370
+ print(robot.fkine(q_pickup)) # FK shows that desired end-effector pose was achieved
371
+
372
+ 1 -8.913e-05 -0.0003334 0.5996
373
+ -8.929e-05 -1 -0.0004912 -0.2998
374
+ -0.0003334 0.0004912 -1 0.1001
375
+ 0 0 0 1
376
+ ```
377
+
378
+ We can animate a path from the ready pose `qr` configuration to this pickup configuration
379
+
380
+ ```python
381
+ qt = rtb.jtraj(robot.qr, q_pickup, 50)
382
+ robot.plot(qt.q, backend='pyplot', movie='panda1.gif')
383
+ ```
384
+
385
+ <p align="center">
386
+ <img src="./docs/figs/panda1.gif">
387
+ </p>
388
+
389
+ where we have specified the matplotlib `pyplot` backend. Blue arrows show the joint axes and the coloured frame shows the end-effector pose.
390
+
391
+ We can also plot the trajectory in the Swift simulator (a browser-based 3d-simulation environment built to work with the Toolbox)
392
+
393
+ ```python
394
+ robot.plot(qt.q)
395
+ ```
396
+
397
+ <p align="center">
398
+ <img src="./docs/figs/panda2.gif">
399
+ </p>
400
+
401
+ We can also experiment with velocity controllers in Swift. Here is a resolved-rate motion control example
402
+
403
+ ```python
404
+ import swift
405
+ import roboticstoolbox as rtb
406
+ import spatialmath as sm
407
+ import numpy as np
408
+
409
+ env = swift.Swift()
410
+ env.launch(realtime=True)
411
+
412
+ panda = rtb.models.Panda()
413
+ handle = env.add(panda)
414
+ handle.q = panda.qr
415
+
416
+ Tep = panda.fkine(handle.q) * sm.SE3.Trans(0.2, 0.2, 0.45)
417
+
418
+ arrived = False
419
+
420
+ dt = 0.05
421
+
422
+ while not arrived:
423
+
424
+ v, arrived = rtb.p_servo(panda.fkine(handle.q), Tep, 1)
425
+ handle.qd = np.linalg.pinv(panda.jacobe(handle.q)) @ v
426
+ env.step(dt)
427
+
428
+ # Uncomment to stop the browser tab from closing
429
+ # env.hold()
430
+ ```
431
+
432
+ `env.add(panda)` returns a handle owning this instance's live joint state --
433
+ drive the simulation via `handle.q`/`handle.qd`, not `panda.q`/`panda.qd`
434
+ directly. `panda` itself stays a plain, shareable kinematic model, so the
435
+ same `panda` object can back several independent handles/instances at once.
436
+
437
+ <p align="center">
438
+ <img src="./docs/figs/panda3.gif">
439
+ </p>
440
+
441
+ ### Loading models from robot_descriptions
442
+
443
+ The Panda example above uses one of the ~50 models shipped with the Toolbox, but many more
444
+ robots are available on demand via the [robot_descriptions](https://github.com/robot-descriptions/robot_descriptions.py)
445
+ package, which is installed automatically as a dependency. Passing a bare name (no file suffix)
446
+ to `URDFRobot` fetches and loads it from there:
447
+
448
+ ```python
449
+ from roboticstoolbox.models.URDF.URDFRobot import URDFRobot
450
+ ur5 = URDFRobot("ur5")
451
+ ```
452
+
453
+ `rtb.models.catalog()` lists everything available — the models built into the Toolbox as well
454
+ as those it can load from `robot_descriptions` — with filtering by keyword/DoF/model type and
455
+ column sorting:
456
+
457
+ ```python
458
+ rtb.models.catalog(mtype="URDF", sorton="name")
459
+ ```
460
+
461
+ ### Run some examples
462
+
463
+ The [`notebooks`](https://github.com/petercorke/robotics-toolbox-python/tree/main/notebooks) folder contains some tutorial Jupyter notebooks which you can browse on GitHub. Additionally, have a look in the [`examples`](https://github.com/petercorke/robotics-toolbox-python/tree/main/roboticstoolbox/examples) folder for many ready to run examples.
464
+
465
+ <br>
466
+
467
+ ## References
468
+
469
+ ### Key papers
470
+
471
+ - P. Corke, "A computer tool for simulation and analysis: the Robotics Toolbox for MATLAB," Proc. National Conf. Australian Robot Association, pp. 319–330, Melbourne, July 1995. [[PDF]](http://www.petercorke.com/RTB/ARA95.pdf)
472
+ - P. Corke, "A robotics toolbox for MATLAB," IEEE Robotics and Automation Magazine, 3(1):24–32, Sept. 1996. [[IEEE Xplore]](https://ieeexplore.ieee.org/document/486658)
473
+ - P. Corke, "A simple and systematic approach to assigning Denavit-Hartenberg parameters," IEEE Transactions on Robotics, 23(3):590–594, 2007. [[IEEE Xplore]](https://ieeexplore.ieee.org/document/4252158) — introduces the Elementary Transform Sequence (ETS) notation used throughout the Toolbox.
474
+ - J. Haviland and P. Corke, "A systematic approach to computing the manipulator Jacobian and Hessian using the elementary transform sequence," arXiv preprint, 2020. [[arXiv]](https://arxiv.org/abs/2010.08696)
475
+ - P. Corke and J. Haviland, "Not your grandmother's toolbox – the Robotics Toolbox reinvented for Python," Proc. ICRA 2021. [[IEEE Xplore]](https://ieeexplore.ieee.org/document/9561366) [[PDF]](https://bit.ly/3ChcyNp)
476
+
477
+ ### Talks
478
+
479
+ - [Peter Corke – The Robotics Toolbox: 30 Years Old and Still Going Strong](https://www.youtube.com/watch?v=U37NMe7anXc&list=PL1pxneANaikCP5jwrw91UBkrCklkQXlyr&index=1) — a retrospective on the Toolbox's history and motivation, a good starting point before diving into the API.
480
+
481
+ ### Related book
482
+
483
+ The Toolbox is a companion to Peter Corke's textbook [*Robotics, Vision & Control*](https://petercorke.com/books/robotics-vision-control-all-versions/) (Springer) — many docstrings and examples reference specific figures/sections from the book.
484
+
485
+ ### Citing the Toolbox
486
+
487
+ If the toolbox helped you in your research, please cite
488
+
489
+ ```
490
+ @inproceedings{rtb,
491
+ title={Not your grandmother’s toolbox--the Robotics Toolbox reinvented for Python},
492
+ author={Corke, Peter and Haviland, Jesse},
493
+ booktitle={2021 IEEE International Conference on Robotics and Automation (ICRA)},
494
+ pages={11357--11363},
495
+ year={2021},
496
+ organization={IEEE}
497
+ }
498
+ ```
499
+
500
+ <br>
501
+
502
+ ## Using the Toolbox in your Open Source Code?
503
+
504
+ If you are using the Toolbox in your open source code, feel free to add our badge to your readme!
505
+
506
+ For the powered by robotics toolbox badge
507
+
508
+ [![Powered by the Robotics Toolbox](https://raw.githubusercontent.com/petercorke/robotics-toolbox-python/main/.github/svg/rtb_powered.min.svg)](https://github.com/petercorke/robotics-toolbox-python)
509
+
510
+ copy the following
511
+
512
+ ```
513
+ [![Powered by the Robotics Toolbox](https://raw.githubusercontent.com/petercorke/robotics-toolbox-python/main/.github/svg/rtb_powered.min.svg)](https://github.com/petercorke/robotics-toolbox-python)
514
+ ```
515
+
516
+ For the powered by python robotics badge
517
+
518
+ [![Powered by Python Robotics](https://raw.githubusercontent.com/petercorke/robotics-toolbox-python/main/.github/svg/pr_powered.min.svg)](https://github.com/petercorke/robotics-toolbox-python)
519
+
520
+ copy the following
521
+
522
+ ```
523
+ [![Powered by Python Robotics](https://raw.githubusercontent.com/petercorke/robotics-toolbox-python/main/.github/svg/pr_powered.min.svg)](https://github.com/petercorke/robotics-toolbox-python)
524
+ ```
525
+
526
+ <br>
527
+
528
+ ## Common Issues and Solutions
529
+
530
+ See the common issues with fixes [here](https://github.com/petercorke/robotics-toolbox-python/wiki/FAQ).
531
+
532
+ ### Using the Toolbox with Windows?
533
+
534
+ Graphical visualisation via Swift is currently not supported under Windows. However there is a hotfix, by changing in ```SwiftRoute.py```
535
+
536
+ ```self.path[9:]``` to ```self.path[10:]```
537
+
538
+ <br>
539
+
540
+ <br>
541
+
542
+ ## Toolbox Research Applications
543
+
544
+ The toolbox is incredibly useful for developing and prototyping algorithms for research, thanks to the exhaustive set of well documented and mature robotic functions exposed through clean and painless APIs. Additionally, the ease at which a user can visualize their algorithm supports a rapid prototyping paradigm.
545
+
546
+ ### Publication List
547
+
548
+ J. Haviland, N. Sünderhauf and P. Corke, "**A Holistic Approach to Reactive Mobile Manipulation**," in _IEEE Robotics and Automation Letters_, doi: 10.1109/LRA.2022.3146554. In the video, the robot is controlled using the Robotics toolbox for Python and features a recording from the [Swift](https://github.com/jhavl/swift) Simulator.
549
+
550
+ [[Arxiv Paper](https://arxiv.org/abs/2109.04749)] [[IEEE Xplore](https://ieeexplore.ieee.org/abstract/document/9695298)] [[Project Website](https://jhavl.github.io/holistic/)] [[Video](https://youtu.be/-DXBQPeLIV4)] [[Code Example](https://github.com/petercorke/robotics-toolbox-python/blob/main/roboticstoolbox/examples/holistic_mm_non_holonomic.py)]
551
+
552
+ <p>
553
+ <a href="https://youtu.be/-DXBQPeLIV4">
554
+ <img src="https://raw.githubusercontent.com/petercorke/robotics-toolbox-python/main/docs/figs/holistic_youtube.png" width="560">
555
+ </a>
556
+ </p>
557
+
558
+ J. Haviland and P. Corke, "**NEO: A Novel Expeditious Optimisation Algorithm for Reactive Motion Control of Manipulators**," in _IEEE Robotics and Automation Letters_, doi: 10.1109/LRA.2021.3056060. In the video, the robot is controlled using the Robotics toolbox for Python and features a recording from the [Swift](https://github.com/jhavl/swift) Simulator.
559
+
560
+ [[Arxiv Paper](https://arxiv.org/abs/2010.08686)] [[IEEE Xplore](https://ieeexplore.ieee.org/document/9343718)] [[Project Website](https://jhavl.github.io/neo/)] [[Video](https://youtu.be/jSLPJBr8QTY)] [[Code Example](https://github.com/petercorke/robotics-toolbox-python/blob/main/roboticstoolbox/examples/neo.py)]
561
+
562
+ <p>
563
+ <a href="https://youtu.be/jSLPJBr8QTY">
564
+ <img src="https://raw.githubusercontent.com/petercorke/robotics-toolbox-python/main/docs/figs/neo_youtube.png" width="560">
565
+ </a>
566
+ </p>
567
+
568
+ K. He, R. Newbury, T. Tran, J. Haviland, B. Burgess-Limerick, D. Kulić, P. Corke, A. Cosgun, "**Visibility Maximization Controller for Robotic Manipulation**", in _IEEE Robotics and Automation Letters_, doi: 10.1109/LRA.2022.3188430. In the video, the robot is controlled using the Robotics toolbox for Python and features a recording from the [Swift](https://github.com/jhavl/swift) Simulator.
569
+
570
+ [[Arxiv Paper](https://arxiv.org/abs/2202.12557)] [[IEEE Xplore](https://ieeexplore.ieee.org/abstract/document/9815144)] [[Project Website](https://rhys-newbury.github.io/projects/vmc/)] [[Video](https://youtu.be/vobLvg4E3kM)] [[Code Example](https://github.com/petercorke/robotics-toolbox-python/blob/main/roboticstoolbox/examples/fetch_vision.py)]
571
+
572
+ <p>
573
+ <a href="https://youtu.be/vobLvg4E3kM">
574
+ <img src="https://raw.githubusercontent.com/petercorke/robotics-toolbox-python/main/docs/figs/vmc_youtube.png" width="560">
575
+ </a>
576
+ </p>
577
+
578
+ **A Purely-Reactive Manipulability-Maximising Motion Controller**, J. Haviland and P. Corke. In the video, the robot is controlled using the Robotics toolbox for Python.
579
+
580
+ [[Paper](https://arxiv.org/abs/2002.11901)] [[Project Website](https://jhavl.github.io/mmc/)] [[Video](https://youtu.be/Vu_rcPlaADI)] [[Code Example](https://github.com/petercorke/robotics-toolbox-python/blob/main/roboticstoolbox/examples/mmc.py)]
581
+
582
+ <p>
583
+ <a href="https://youtu.be/Vu_rcPlaADI">
584
+ <img src="https://raw.githubusercontent.com/petercorke/robotics-toolbox-python/main/docs/figs/mmc_youtube.png" width="560">
585
+ </a>
586
+ </p>
587
+
588
+ <br>
589
+
590
+ ## Build a JupyterLite/Pyodide Wasm wheel
591
+
592
+ [Pyodide](https://pyodide.org/) is a full CPython distribution compiled to
593
+ WebAssembly, which is what lets the "Try it Now" JupyterLite deployment above
594
+ run this toolbox entirely client-side, no server required. Each Pyodide
595
+ release embeds one specific CPython version, and a wasm wheel is tagged with
596
+ the CPython version it was built for (`cp312`, `cp313`, ...) -— a wheel only
597
+ loads if its tag matches the CPython embedded in the Pyodide runtime actually
598
+ running. JupyterLite doesn't bundle Pyodide directly either: the
599
+ `jupyterlite-pyodide-kernel` package pulls in a specific Pyodide version per
600
+ its own release, so bumping that one package can silently change which wheel
601
+ tag your deployment now needs -— this is the single sharpest edge in this
602
+ whole pipeline. This repo's live deployment currently pins
603
+ `jupyterlite-pyodide-kernel==0.6.1` (see `.github/workflows/ci.yml`), which
604
+ embeds Pyodide 0.27.6 / CPython 3.12 — hence `cp312` below.
605
+
606
+ Also note Pyodide's own version numbering changed in 2026: releases up to
607
+ `0.29.x` used an independent `0.x` scheme, but from Pyodide `314.0.0` onward
608
+ the version number tracks the embedded CPython version directly (`314` =
609
+ Python 3.14). "Current" no longer means a `0.x` version.
610
+
611
+ ### Use the published wheel (recommended)
612
+
613
+ PyPI rejects the `pyodide_*` platform tag, so Wasm wheels can't be published
614
+ there -— instead, every GitHub release attaches ready-built wheels (for each
615
+ supported CPython version) as release assets. Download the one matching your
616
+ deployment's CPython version, e.g.:
617
+
618
+ ```shell script
619
+ gh release download --repo petercorke/robotics-toolbox-python --pattern '*cp312*pyodide*'
620
+ ```
621
+
622
+ This is exactly what `ci.yml`'s `docs-build` job does to populate the live
623
+ "Try it Now" site — most people should do this rather than building locally.
624
+
625
+ ### Build locally
626
+
627
+ Only needed to test an unreleased change, or to target a different
628
+ CPython/Pyodide pin than the current release. Uses cibuildwheel's Pyodide
629
+ platform:
630
+
631
+ ```shell script
632
+ make wheel-pyodide
633
+ ```
634
+
635
+ Optionally pin the Pyodide runtime to match a different JupyterLite
636
+ deployment than this project's own:
637
+
638
+ ```shell script
639
+ PYODIDE_VERSION=0.27.6 make wheel-pyodide
640
+ ```
641
+
642
+ The target writes to `dist/` and runs `make wheel-pyodide-check`, which validates
643
+ the wheel filename contains:
644
+
645
+ - `cp312-cp312`
646
+ - `wasm32`
647
+ - `pyemscripten_<major>_<minor>` or `pyodide_<major>_<minor>`
648
+
649
+ To inspect the produced artifact path:
650
+
651
+ ```shell script
652
+ ls -1 dist/*wasm32*.whl
653
+ ```
654
+
655
+ ### References
656
+
657
+ - [Pyodide release notes](https://github.com/pyodide/pyodide/releases) —
658
+ confirms what CPython version a given Pyodide tag embeds, including the
659
+ 2026 versioning-scheme change.
660
+ - [jupyterlite-pyodide-kernel changelog](https://github.com/jupyterlite/pyodide-kernel/blob/main/CHANGELOG.md) —
661
+ the authoritative source for which Pyodide version a given kernel package
662
+ release bundles.
663
+ - [cibuildwheel Pyodide platform docs](https://cibuildwheel.pypa.io/en/stable/platforms/#pyodide-webassembly).
664
+
665
+ <br>