roboticstoolbox-python 1.3.0__cp313-cp313-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.
- roboticstoolbox/__init__.py +104 -0
- roboticstoolbox/backends/Connector.py +107 -0
- roboticstoolbox/backends/Dynamixel/README.md +9 -0
- roboticstoolbox/backends/Dynamixel/dynamixel.json +581 -0
- roboticstoolbox/backends/Dynamixel/dynamixel_io.py +450 -0
- roboticstoolbox/backends/Dynamixel/dynamixel_sdk/LICENSE +201 -0
- roboticstoolbox/backends/Dynamixel/dynamixel_sdk/README.md +28 -0
- roboticstoolbox/backends/Dynamixel/dynamixel_sdk/ReleaseNote.md +181 -0
- roboticstoolbox/backends/Dynamixel/dynamixel_sdk/__init__.py +27 -0
- roboticstoolbox/backends/Dynamixel/dynamixel_sdk/group_bulk_read.py +163 -0
- roboticstoolbox/backends/Dynamixel/dynamixel_sdk/group_bulk_write.py +109 -0
- roboticstoolbox/backends/Dynamixel/dynamixel_sdk/group_sync_read.py +166 -0
- roboticstoolbox/backends/Dynamixel/dynamixel_sdk/group_sync_write.py +99 -0
- roboticstoolbox/backends/Dynamixel/dynamixel_sdk/packet_handler.py +33 -0
- roboticstoolbox/backends/Dynamixel/dynamixel_sdk/port_handler.py +155 -0
- roboticstoolbox/backends/Dynamixel/dynamixel_sdk/protocol1_packet_handler.py +548 -0
- roboticstoolbox/backends/Dynamixel/dynamixel_sdk/protocol2_packet_handler.py +1080 -0
- roboticstoolbox/backends/Dynamixel/dynamixel_sdk/robotis_def.py +75 -0
- roboticstoolbox/backends/Dynamixel/dyndata.py +121 -0
- roboticstoolbox/backends/PyPlot/EllipsePlot.py +253 -0
- roboticstoolbox/backends/PyPlot/PyPlot.py +769 -0
- roboticstoolbox/backends/PyPlot/PyPlot2.py +526 -0
- roboticstoolbox/backends/PyPlot/README.md +67 -0
- roboticstoolbox/backends/PyPlot/RobotPlot.py +247 -0
- roboticstoolbox/backends/PyPlot/RobotPlot2.py +123 -0
- roboticstoolbox/backends/PyPlot/__init__.py +4 -0
- roboticstoolbox/backends/ROS/ROS.py +129 -0
- roboticstoolbox/backends/ROS/__init__.py +3 -0
- roboticstoolbox/backends/__init__.py +39 -0
- roboticstoolbox/backends/swift/__init__.py +26 -0
- roboticstoolbox/bin/__init__.py +0 -0
- roboticstoolbox/bin/rtbtool.py +307 -0
- roboticstoolbox/blocks/Icons/250x250/armplot.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/bicycle.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/camera.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/circlepath.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/coriolis.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/ctraj.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/delta2tr.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/diffsteer.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/fdyn.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/fdynx.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/fkine.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/gravload.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/idyn.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/idynx.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/ikine.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/inertia.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/jacobian.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/jtraj.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/lspb.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/multirotor.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/multirotormixer.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/multirotorplot.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/point2tr.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/tr2delta.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/tr2t.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/unicycle.png +0 -0
- roboticstoolbox/blocks/Icons/250x250/vehicleplot.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/armplot.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/bicycle.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/camera.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/circlepath.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/coriolis.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/delta2tr.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/diffsteer.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/fdyn.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/fdynx.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/fkine.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/gravload.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/idyn.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/idynx.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/ikine.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/inertia.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/jacobian.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/jtraj.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/lspb.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/multirotor.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/multirotormixer.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/multirotorplot.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/point2tr.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/tr2delta.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/tr2t.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/unicycle.png +0 -0
- roboticstoolbox/blocks/Icons/50x50/vehicleplot.png +0 -0
- roboticstoolbox/blocks/Icons/armplot.png +0 -0
- roboticstoolbox/blocks/Icons/bicycle.png +0 -0
- roboticstoolbox/blocks/Icons/camera.png +0 -0
- roboticstoolbox/blocks/Icons/circlepath.png +0 -0
- roboticstoolbox/blocks/Icons/coriolis.png +0 -0
- roboticstoolbox/blocks/Icons/ctraj.png +0 -0
- roboticstoolbox/blocks/Icons/delta2tr.png +0 -0
- roboticstoolbox/blocks/Icons/diffsteer.png +0 -0
- roboticstoolbox/blocks/Icons/fdyn.png +0 -0
- roboticstoolbox/blocks/Icons/fdynx.png +0 -0
- roboticstoolbox/blocks/Icons/fkine.png +0 -0
- roboticstoolbox/blocks/Icons/gravload.png +0 -0
- roboticstoolbox/blocks/Icons/idyn.png +0 -0
- roboticstoolbox/blocks/Icons/idynx.png +0 -0
- roboticstoolbox/blocks/Icons/ikine.png +0 -0
- roboticstoolbox/blocks/Icons/inertia.png +0 -0
- roboticstoolbox/blocks/Icons/jacobian.png +0 -0
- roboticstoolbox/blocks/Icons/jtraj.png +0 -0
- roboticstoolbox/blocks/Icons/lspb.png +0 -0
- roboticstoolbox/blocks/Icons/multirotor.png +0 -0
- roboticstoolbox/blocks/Icons/multirotormixer.png +0 -0
- roboticstoolbox/blocks/Icons/multirotorplot.png +0 -0
- roboticstoolbox/blocks/Icons/point2tr.png +0 -0
- roboticstoolbox/blocks/Icons/tr2delta.png +0 -0
- roboticstoolbox/blocks/Icons/tr2t.png +0 -0
- roboticstoolbox/blocks/Icons/unicycle.png +0 -0
- roboticstoolbox/blocks/Icons/vehicleplot.png +0 -0
- roboticstoolbox/blocks/README.md +43 -0
- roboticstoolbox/blocks/__init__.py +6 -0
- roboticstoolbox/blocks/arm.py +1587 -0
- roboticstoolbox/blocks/mobile.py +500 -0
- roboticstoolbox/blocks/quad_model.py +132 -0
- roboticstoolbox/blocks/spatial.py +245 -0
- roboticstoolbox/blocks/uav.py +949 -0
- roboticstoolbox/core/Eigen/Cholesky +45 -0
- roboticstoolbox/core/Eigen/CholmodSupport +48 -0
- roboticstoolbox/core/Eigen/Core +384 -0
- roboticstoolbox/core/Eigen/Dense +7 -0
- roboticstoolbox/core/Eigen/Eigen +2 -0
- roboticstoolbox/core/Eigen/Eigenvalues +60 -0
- roboticstoolbox/core/Eigen/Geometry +59 -0
- roboticstoolbox/core/Eigen/Householder +29 -0
- roboticstoolbox/core/Eigen/IterativeLinearSolvers +48 -0
- roboticstoolbox/core/Eigen/Jacobi +32 -0
- roboticstoolbox/core/Eigen/KLUSupport +41 -0
- roboticstoolbox/core/Eigen/LU +47 -0
- roboticstoolbox/core/Eigen/MetisSupport +35 -0
- roboticstoolbox/core/Eigen/OrderingMethods +70 -0
- roboticstoolbox/core/Eigen/PaStiXSupport +49 -0
- roboticstoolbox/core/Eigen/PardisoSupport +35 -0
- roboticstoolbox/core/Eigen/QR +50 -0
- roboticstoolbox/core/Eigen/QtAlignedMalloc +39 -0
- roboticstoolbox/core/Eigen/SPQRSupport +34 -0
- roboticstoolbox/core/Eigen/SVD +50 -0
- roboticstoolbox/core/Eigen/Sparse +34 -0
- roboticstoolbox/core/Eigen/SparseCholesky +37 -0
- roboticstoolbox/core/Eigen/SparseCore +69 -0
- roboticstoolbox/core/Eigen/SparseLU +50 -0
- roboticstoolbox/core/Eigen/SparseQR +36 -0
- roboticstoolbox/core/Eigen/StdDeque +27 -0
- roboticstoolbox/core/Eigen/StdList +26 -0
- roboticstoolbox/core/Eigen/StdVector +27 -0
- roboticstoolbox/core/Eigen/SuperLUSupport +64 -0
- roboticstoolbox/core/Eigen/UmfPackSupport +40 -0
- roboticstoolbox/core/Eigen/src/Cholesky/LDLT.h +688 -0
- roboticstoolbox/core/Eigen/src/Cholesky/LLT.h +558 -0
- roboticstoolbox/core/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
- roboticstoolbox/core/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
- roboticstoolbox/core/Eigen/src/Core/ArithmeticSequence.h +413 -0
- roboticstoolbox/core/Eigen/src/Core/Array.h +417 -0
- roboticstoolbox/core/Eigen/src/Core/ArrayBase.h +226 -0
- roboticstoolbox/core/Eigen/src/Core/ArrayWrapper.h +209 -0
- roboticstoolbox/core/Eigen/src/Core/Assign.h +90 -0
- roboticstoolbox/core/Eigen/src/Core/AssignEvaluator.h +1010 -0
- roboticstoolbox/core/Eigen/src/Core/Assign_MKL.h +178 -0
- roboticstoolbox/core/Eigen/src/Core/BandMatrix.h +353 -0
- roboticstoolbox/core/Eigen/src/Core/Block.h +448 -0
- roboticstoolbox/core/Eigen/src/Core/BooleanRedux.h +162 -0
- roboticstoolbox/core/Eigen/src/Core/CommaInitializer.h +164 -0
- roboticstoolbox/core/Eigen/src/Core/ConditionEstimator.h +175 -0
- roboticstoolbox/core/Eigen/src/Core/CoreEvaluators.h +1741 -0
- roboticstoolbox/core/Eigen/src/Core/CoreIterators.h +132 -0
- roboticstoolbox/core/Eigen/src/Core/CwiseBinaryOp.h +183 -0
- roboticstoolbox/core/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
- roboticstoolbox/core/Eigen/src/Core/CwiseTernaryOp.h +197 -0
- roboticstoolbox/core/Eigen/src/Core/CwiseUnaryOp.h +103 -0
- roboticstoolbox/core/Eigen/src/Core/CwiseUnaryView.h +132 -0
- roboticstoolbox/core/Eigen/src/Core/DenseBase.h +701 -0
- roboticstoolbox/core/Eigen/src/Core/DenseCoeffsBase.h +685 -0
- roboticstoolbox/core/Eigen/src/Core/DenseStorage.h +652 -0
- roboticstoolbox/core/Eigen/src/Core/Diagonal.h +258 -0
- roboticstoolbox/core/Eigen/src/Core/DiagonalMatrix.h +391 -0
- roboticstoolbox/core/Eigen/src/Core/DiagonalProduct.h +28 -0
- roboticstoolbox/core/Eigen/src/Core/Dot.h +318 -0
- roboticstoolbox/core/Eigen/src/Core/EigenBase.h +160 -0
- roboticstoolbox/core/Eigen/src/Core/ForceAlignedAccess.h +150 -0
- roboticstoolbox/core/Eigen/src/Core/Fuzzy.h +155 -0
- roboticstoolbox/core/Eigen/src/Core/GeneralProduct.h +465 -0
- roboticstoolbox/core/Eigen/src/Core/GenericPacketMath.h +1040 -0
- roboticstoolbox/core/Eigen/src/Core/GlobalFunctions.h +194 -0
- roboticstoolbox/core/Eigen/src/Core/IO.h +258 -0
- roboticstoolbox/core/Eigen/src/Core/IndexedView.h +237 -0
- roboticstoolbox/core/Eigen/src/Core/Inverse.h +117 -0
- roboticstoolbox/core/Eigen/src/Core/Map.h +171 -0
- roboticstoolbox/core/Eigen/src/Core/MapBase.h +310 -0
- roboticstoolbox/core/Eigen/src/Core/MathFunctions.h +2057 -0
- roboticstoolbox/core/Eigen/src/Core/MathFunctionsImpl.h +200 -0
- roboticstoolbox/core/Eigen/src/Core/Matrix.h +565 -0
- roboticstoolbox/core/Eigen/src/Core/MatrixBase.h +547 -0
- roboticstoolbox/core/Eigen/src/Core/NestByValue.h +85 -0
- roboticstoolbox/core/Eigen/src/Core/NoAlias.h +109 -0
- roboticstoolbox/core/Eigen/src/Core/NumTraits.h +335 -0
- roboticstoolbox/core/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
- roboticstoolbox/core/Eigen/src/Core/PermutationMatrix.h +605 -0
- roboticstoolbox/core/Eigen/src/Core/PlainObjectBase.h +1128 -0
- roboticstoolbox/core/Eigen/src/Core/Product.h +191 -0
- roboticstoolbox/core/Eigen/src/Core/ProductEvaluators.h +1179 -0
- roboticstoolbox/core/Eigen/src/Core/Random.h +218 -0
- roboticstoolbox/core/Eigen/src/Core/Redux.h +515 -0
- roboticstoolbox/core/Eigen/src/Core/Ref.h +381 -0
- roboticstoolbox/core/Eigen/src/Core/Replicate.h +142 -0
- roboticstoolbox/core/Eigen/src/Core/Reshaped.h +454 -0
- roboticstoolbox/core/Eigen/src/Core/ReturnByValue.h +119 -0
- roboticstoolbox/core/Eigen/src/Core/Reverse.h +217 -0
- roboticstoolbox/core/Eigen/src/Core/Select.h +164 -0
- roboticstoolbox/core/Eigen/src/Core/SelfAdjointView.h +365 -0
- roboticstoolbox/core/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
- roboticstoolbox/core/Eigen/src/Core/Solve.h +188 -0
- roboticstoolbox/core/Eigen/src/Core/SolveTriangular.h +235 -0
- roboticstoolbox/core/Eigen/src/Core/SolverBase.h +168 -0
- roboticstoolbox/core/Eigen/src/Core/StableNorm.h +251 -0
- roboticstoolbox/core/Eigen/src/Core/StlIterators.h +463 -0
- roboticstoolbox/core/Eigen/src/Core/Stride.h +116 -0
- roboticstoolbox/core/Eigen/src/Core/Swap.h +68 -0
- roboticstoolbox/core/Eigen/src/Core/Transpose.h +464 -0
- roboticstoolbox/core/Eigen/src/Core/Transpositions.h +386 -0
- roboticstoolbox/core/Eigen/src/Core/TriangularMatrix.h +1001 -0
- roboticstoolbox/core/Eigen/src/Core/VectorBlock.h +96 -0
- roboticstoolbox/core/Eigen/src/Core/VectorwiseOp.h +784 -0
- roboticstoolbox/core/Eigen/src/Core/Visitor.h +381 -0
- roboticstoolbox/core/Eigen/src/Core/arch/AVX/Complex.h +372 -0
- roboticstoolbox/core/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
- roboticstoolbox/core/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
- roboticstoolbox/core/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
- roboticstoolbox/core/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
- roboticstoolbox/core/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
- roboticstoolbox/core/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
- roboticstoolbox/core/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
- roboticstoolbox/core/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
- roboticstoolbox/core/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
- roboticstoolbox/core/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
- roboticstoolbox/core/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
- roboticstoolbox/core/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
- roboticstoolbox/core/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
- roboticstoolbox/core/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
- roboticstoolbox/core/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
- roboticstoolbox/core/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
- roboticstoolbox/core/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
- roboticstoolbox/core/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
- roboticstoolbox/core/Eigen/src/Core/arch/Default/Half.h +942 -0
- roboticstoolbox/core/Eigen/src/Core/arch/Default/Settings.h +49 -0
- roboticstoolbox/core/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
- roboticstoolbox/core/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
- roboticstoolbox/core/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
- roboticstoolbox/core/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
- roboticstoolbox/core/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
- roboticstoolbox/core/Eigen/src/Core/arch/MSA/Complex.h +648 -0
- roboticstoolbox/core/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
- roboticstoolbox/core/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
- roboticstoolbox/core/Eigen/src/Core/arch/NEON/Complex.h +584 -0
- roboticstoolbox/core/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
- roboticstoolbox/core/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
- roboticstoolbox/core/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
- roboticstoolbox/core/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
- roboticstoolbox/core/Eigen/src/Core/arch/SSE/Complex.h +351 -0
- roboticstoolbox/core/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
- roboticstoolbox/core/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
- roboticstoolbox/core/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
- roboticstoolbox/core/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
- roboticstoolbox/core/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
- roboticstoolbox/core/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
- roboticstoolbox/core/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
- roboticstoolbox/core/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
- roboticstoolbox/core/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
- roboticstoolbox/core/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
- roboticstoolbox/core/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
- roboticstoolbox/core/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
- roboticstoolbox/core/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
- roboticstoolbox/core/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
- roboticstoolbox/core/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
- roboticstoolbox/core/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
- roboticstoolbox/core/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
- roboticstoolbox/core/Eigen/src/Core/functors/StlFunctors.h +166 -0
- roboticstoolbox/core/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
- roboticstoolbox/core/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
- roboticstoolbox/core/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
- roboticstoolbox/core/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
- roboticstoolbox/core/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
- roboticstoolbox/core/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
- roboticstoolbox/core/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
- roboticstoolbox/core/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
- roboticstoolbox/core/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
- roboticstoolbox/core/Eigen/src/Core/products/Parallelizer.h +180 -0
- roboticstoolbox/core/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
- roboticstoolbox/core/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
- roboticstoolbox/core/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
- roboticstoolbox/core/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
- roboticstoolbox/core/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
- roboticstoolbox/core/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
- roboticstoolbox/core/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
- roboticstoolbox/core/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
- roboticstoolbox/core/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
- roboticstoolbox/core/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
- roboticstoolbox/core/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
- roboticstoolbox/core/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
- roboticstoolbox/core/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
- roboticstoolbox/core/Eigen/src/Core/util/BlasUtil.h +583 -0
- roboticstoolbox/core/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
- roboticstoolbox/core/Eigen/src/Core/util/Constants.h +563 -0
- roboticstoolbox/core/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
- roboticstoolbox/core/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
- roboticstoolbox/core/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
- roboticstoolbox/core/Eigen/src/Core/util/IntegralConstant.h +272 -0
- roboticstoolbox/core/Eigen/src/Core/util/MKL_support.h +137 -0
- roboticstoolbox/core/Eigen/src/Core/util/Macros.h +1464 -0
- roboticstoolbox/core/Eigen/src/Core/util/Memory.h +1163 -0
- roboticstoolbox/core/Eigen/src/Core/util/Meta.h +812 -0
- roboticstoolbox/core/Eigen/src/Core/util/NonMPL2.h +3 -0
- roboticstoolbox/core/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
- roboticstoolbox/core/Eigen/src/Core/util/ReshapedHelper.h +51 -0
- roboticstoolbox/core/Eigen/src/Core/util/StaticAssert.h +221 -0
- roboticstoolbox/core/Eigen/src/Core/util/SymbolicIndex.h +293 -0
- roboticstoolbox/core/Eigen/src/Core/util/XprHelper.h +856 -0
- roboticstoolbox/core/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
- roboticstoolbox/core/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
- roboticstoolbox/core/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
- roboticstoolbox/core/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
- roboticstoolbox/core/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
- roboticstoolbox/core/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
- roboticstoolbox/core/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
- roboticstoolbox/core/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
- roboticstoolbox/core/Eigen/src/Eigenvalues/RealQZ.h +657 -0
- roboticstoolbox/core/Eigen/src/Eigenvalues/RealSchur.h +558 -0
- roboticstoolbox/core/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
- roboticstoolbox/core/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
- roboticstoolbox/core/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
- roboticstoolbox/core/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
- roboticstoolbox/core/Eigen/src/Geometry/AlignedBox.h +486 -0
- roboticstoolbox/core/Eigen/src/Geometry/AngleAxis.h +247 -0
- roboticstoolbox/core/Eigen/src/Geometry/EulerAngles.h +114 -0
- roboticstoolbox/core/Eigen/src/Geometry/Homogeneous.h +501 -0
- roboticstoolbox/core/Eigen/src/Geometry/Hyperplane.h +282 -0
- roboticstoolbox/core/Eigen/src/Geometry/OrthoMethods.h +235 -0
- roboticstoolbox/core/Eigen/src/Geometry/ParametrizedLine.h +232 -0
- roboticstoolbox/core/Eigen/src/Geometry/Quaternion.h +870 -0
- roboticstoolbox/core/Eigen/src/Geometry/Rotation2D.h +199 -0
- roboticstoolbox/core/Eigen/src/Geometry/RotationBase.h +206 -0
- roboticstoolbox/core/Eigen/src/Geometry/Scaling.h +188 -0
- roboticstoolbox/core/Eigen/src/Geometry/Transform.h +1563 -0
- roboticstoolbox/core/Eigen/src/Geometry/Translation.h +202 -0
- roboticstoolbox/core/Eigen/src/Geometry/Umeyama.h +166 -0
- roboticstoolbox/core/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
- roboticstoolbox/core/Eigen/src/Householder/BlockHouseholder.h +110 -0
- roboticstoolbox/core/Eigen/src/Householder/Householder.h +176 -0
- roboticstoolbox/core/Eigen/src/Householder/HouseholderSequence.h +545 -0
- roboticstoolbox/core/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
- roboticstoolbox/core/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
- roboticstoolbox/core/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
- roboticstoolbox/core/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
- roboticstoolbox/core/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
- roboticstoolbox/core/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
- roboticstoolbox/core/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
- roboticstoolbox/core/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
- roboticstoolbox/core/Eigen/src/Jacobi/Jacobi.h +483 -0
- roboticstoolbox/core/Eigen/src/KLUSupport/KLUSupport.h +358 -0
- roboticstoolbox/core/Eigen/src/LU/Determinant.h +117 -0
- roboticstoolbox/core/Eigen/src/LU/FullPivLU.h +877 -0
- roboticstoolbox/core/Eigen/src/LU/InverseImpl.h +432 -0
- roboticstoolbox/core/Eigen/src/LU/PartialPivLU.h +624 -0
- roboticstoolbox/core/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
- roboticstoolbox/core/Eigen/src/LU/arch/InverseSize4.h +351 -0
- roboticstoolbox/core/Eigen/src/MetisSupport/MetisSupport.h +137 -0
- roboticstoolbox/core/Eigen/src/OrderingMethods/Amd.h +435 -0
- roboticstoolbox/core/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
- roboticstoolbox/core/Eigen/src/OrderingMethods/Ordering.h +153 -0
- roboticstoolbox/core/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
- roboticstoolbox/core/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
- roboticstoolbox/core/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
- roboticstoolbox/core/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
- roboticstoolbox/core/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
- roboticstoolbox/core/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
- roboticstoolbox/core/Eigen/src/QR/HouseholderQR.h +434 -0
- roboticstoolbox/core/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
- roboticstoolbox/core/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
- roboticstoolbox/core/Eigen/src/SVD/BDCSVD.h +1366 -0
- roboticstoolbox/core/Eigen/src/SVD/JacobiSVD.h +812 -0
- roboticstoolbox/core/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
- roboticstoolbox/core/Eigen/src/SVD/SVDBase.h +376 -0
- roboticstoolbox/core/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
- roboticstoolbox/core/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
- roboticstoolbox/core/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
- roboticstoolbox/core/Eigen/src/SparseCore/AmbiVector.h +378 -0
- roboticstoolbox/core/Eigen/src/SparseCore/CompressedStorage.h +274 -0
- roboticstoolbox/core/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
- roboticstoolbox/core/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseAssign.h +270 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseBlock.h +571 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseColEtree.h +206 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseDot.h +98 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseMap.h +305 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparsePermutation.h +178 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseProduct.h +181 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseRedux.h +49 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseRef.h +397 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseTranspose.h +92 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseUtil.h +186 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseVector.h +478 -0
- roboticstoolbox/core/Eigen/src/SparseCore/SparseView.h +254 -0
- roboticstoolbox/core/Eigen/src/SparseCore/TriangularSolver.h +315 -0
- roboticstoolbox/core/Eigen/src/SparseLU/SparseLU.h +923 -0
- roboticstoolbox/core/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
- roboticstoolbox/core/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
- roboticstoolbox/core/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
- roboticstoolbox/core/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
- roboticstoolbox/core/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
- roboticstoolbox/core/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
- roboticstoolbox/core/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
- roboticstoolbox/core/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
- roboticstoolbox/core/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
- roboticstoolbox/core/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
- roboticstoolbox/core/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
- roboticstoolbox/core/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
- roboticstoolbox/core/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
- roboticstoolbox/core/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
- roboticstoolbox/core/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
- roboticstoolbox/core/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
- roboticstoolbox/core/Eigen/src/SparseQR/SparseQR.h +758 -0
- roboticstoolbox/core/Eigen/src/StlSupport/StdDeque.h +116 -0
- roboticstoolbox/core/Eigen/src/StlSupport/StdList.h +106 -0
- roboticstoolbox/core/Eigen/src/StlSupport/StdVector.h +131 -0
- roboticstoolbox/core/Eigen/src/StlSupport/details.h +84 -0
- roboticstoolbox/core/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
- roboticstoolbox/core/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
- roboticstoolbox/core/Eigen/src/misc/Image.h +82 -0
- roboticstoolbox/core/Eigen/src/misc/Kernel.h +79 -0
- roboticstoolbox/core/Eigen/src/misc/RealSvd2x2.h +55 -0
- roboticstoolbox/core/Eigen/src/misc/blas.h +440 -0
- roboticstoolbox/core/Eigen/src/misc/lapack.h +152 -0
- roboticstoolbox/core/Eigen/src/misc/lapacke.h +16292 -0
- roboticstoolbox/core/Eigen/src/misc/lapacke_mangling.h +17 -0
- roboticstoolbox/core/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
- roboticstoolbox/core/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
- roboticstoolbox/core/Eigen/src/plugins/BlockMethods.h +1442 -0
- roboticstoolbox/core/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
- roboticstoolbox/core/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
- roboticstoolbox/core/Eigen/src/plugins/IndexedViewMethods.h +262 -0
- roboticstoolbox/core/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
- roboticstoolbox/core/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
- roboticstoolbox/core/Eigen/src/plugins/ReshapedMethods.h +149 -0
- roboticstoolbox/core/fknm.cpp +1557 -0
- roboticstoolbox/core/fknm.h +55 -0
- roboticstoolbox/core/frne.c +351 -0
- roboticstoolbox/core/frne.h +96 -0
- roboticstoolbox/core/ik.cpp +301 -0
- roboticstoolbox/core/ik.h +59 -0
- roboticstoolbox/core/linalg.cpp +316 -0
- roboticstoolbox/core/linalg.h +64 -0
- roboticstoolbox/core/methods.cpp +372 -0
- roboticstoolbox/core/methods.h +32 -0
- roboticstoolbox/core/ne.c +493 -0
- roboticstoolbox/core/structs.cpp +24 -0
- roboticstoolbox/core/structs.h +62 -0
- roboticstoolbox/core/vmath.c +163 -0
- roboticstoolbox/core/vmath.h +32 -0
- roboticstoolbox/fknm.cp313-win_amd64.pyd +0 -0
- roboticstoolbox/frne.cp313-win_amd64.pyd +0 -0
- roboticstoolbox/mobile/Animations.py +485 -0
- roboticstoolbox/mobile/Bug2.py +455 -0
- roboticstoolbox/mobile/CurvaturePolyPlanner.py +179 -0
- roboticstoolbox/mobile/DistanceTransformPlanner.py +395 -0
- roboticstoolbox/mobile/DstarPlanner.py +591 -0
- roboticstoolbox/mobile/DubinsPlanner.py +474 -0
- roboticstoolbox/mobile/EKF.py +1617 -0
- roboticstoolbox/mobile/LatticePlanner.py +419 -0
- roboticstoolbox/mobile/OccGrid.py +613 -0
- roboticstoolbox/mobile/PRMPlanner.py +348 -0
- roboticstoolbox/mobile/ParticleFilter.py +706 -0
- roboticstoolbox/mobile/PlannerBase.py +1009 -0
- roboticstoolbox/mobile/PoseGraph.py +544 -0
- roboticstoolbox/mobile/QuinticPolyPlanner.py +349 -0
- roboticstoolbox/mobile/RRTPlanner.py +359 -0
- roboticstoolbox/mobile/ReedsSheppPlanner.py +545 -0
- roboticstoolbox/mobile/Vehicle.py +1909 -0
- roboticstoolbox/mobile/__init__.py +193 -0
- roboticstoolbox/mobile/drivers.py +390 -0
- roboticstoolbox/mobile/landmarkmap.py +181 -0
- roboticstoolbox/mobile/sensors.py +771 -0
- roboticstoolbox/models/DH/AL5D.py +121 -0
- roboticstoolbox/models/DH/Ball.py +87 -0
- roboticstoolbox/models/DH/Baxter.py +91 -0
- roboticstoolbox/models/DH/Cobra600.py +63 -0
- roboticstoolbox/models/DH/Coil.py +80 -0
- roboticstoolbox/models/DH/Hyper.py +83 -0
- roboticstoolbox/models/DH/Hyper3d.py +85 -0
- roboticstoolbox/models/DH/IRB140.py +159 -0
- roboticstoolbox/models/DH/Jaco.py +102 -0
- roboticstoolbox/models/DH/KR5.py +112 -0
- roboticstoolbox/models/DH/LWR4.py +85 -0
- roboticstoolbox/models/DH/Mico.py +102 -0
- roboticstoolbox/models/DH/Orion5.py +91 -0
- roboticstoolbox/models/DH/P8.py +80 -0
- roboticstoolbox/models/DH/Panda.py +178 -0
- roboticstoolbox/models/DH/Planar2.py +69 -0
- roboticstoolbox/models/DH/Planar3.py +51 -0
- roboticstoolbox/models/DH/Puma560.py +326 -0
- roboticstoolbox/models/DH/README.md +216 -0
- roboticstoolbox/models/DH/Sawyer.py +85 -0
- roboticstoolbox/models/DH/Stanford.py +147 -0
- roboticstoolbox/models/DH/TwoLink.py +109 -0
- roboticstoolbox/models/DH/UR10.py +124 -0
- roboticstoolbox/models/DH/UR3.py +98 -0
- roboticstoolbox/models/DH/UR5.py +98 -0
- roboticstoolbox/models/DH/Uprighttl.py +24 -0
- roboticstoolbox/models/DH/__init__.py +52 -0
- roboticstoolbox/models/ETS/Frankie.py +90 -0
- roboticstoolbox/models/ETS/GenericSeven.py +54 -0
- roboticstoolbox/models/ETS/Omni.py +74 -0
- roboticstoolbox/models/ETS/Panda.py +69 -0
- roboticstoolbox/models/ETS/Planar2.py +49 -0
- roboticstoolbox/models/ETS/Planar_Y.py +65 -0
- roboticstoolbox/models/ETS/Puma560.py +69 -0
- roboticstoolbox/models/ETS/XYPanda.py +84 -0
- roboticstoolbox/models/ETS/__init__.py +20 -0
- roboticstoolbox/models/README.md +9 -0
- roboticstoolbox/models/URDF/AL5D.py +54 -0
- roboticstoolbox/models/URDF/Fetch.py +70 -0
- roboticstoolbox/models/URDF/FetchCamera.py +71 -0
- roboticstoolbox/models/URDF/Frankie.py +75 -0
- roboticstoolbox/models/URDF/FrankieOmni.py +94 -0
- roboticstoolbox/models/URDF/KinovaGen3.py +71 -0
- roboticstoolbox/models/URDF/LBR.py +59 -0
- roboticstoolbox/models/URDF/Mico.py +68 -0
- roboticstoolbox/models/URDF/PR2.py +64 -0
- roboticstoolbox/models/URDF/Panda.py +67 -0
- roboticstoolbox/models/URDF/Puma560.py +97 -0
- roboticstoolbox/models/URDF/UR10.py +53 -0
- roboticstoolbox/models/URDF/UR3.py +53 -0
- roboticstoolbox/models/URDF/UR5.py +74 -0
- roboticstoolbox/models/URDF/Valkyrie.py +84 -0
- roboticstoolbox/models/URDF/YuMi.py +109 -0
- roboticstoolbox/models/URDF/__init__.py +53 -0
- roboticstoolbox/models/URDF/px100.py +56 -0
- roboticstoolbox/models/URDF/px150.py +56 -0
- roboticstoolbox/models/URDF/rx150.py +56 -0
- roboticstoolbox/models/URDF/rx200.py +56 -0
- roboticstoolbox/models/URDF/vx300.py +56 -0
- roboticstoolbox/models/URDF/vx300s.py +56 -0
- roboticstoolbox/models/URDF/wx200.py +56 -0
- roboticstoolbox/models/URDF/wx250.py +56 -0
- roboticstoolbox/models/URDF/wx250s.py +56 -0
- roboticstoolbox/models/__init__.py +7 -0
- roboticstoolbox/models/list.py +119 -0
- roboticstoolbox/robot/BaseRobot.py +3133 -0
- roboticstoolbox/robot/DHFactor.py +522 -0
- roboticstoolbox/robot/DHLink.py +981 -0
- roboticstoolbox/robot/DHRobot.py +2520 -0
- roboticstoolbox/robot/Dynamics.py +1620 -0
- roboticstoolbox/robot/ELink.py +23 -0
- roboticstoolbox/robot/ERobot.py +25 -0
- roboticstoolbox/robot/ET.py +1097 -0
- roboticstoolbox/robot/ETS.py +3542 -0
- roboticstoolbox/robot/Gripper.py +282 -0
- roboticstoolbox/robot/IK.py +1522 -0
- roboticstoolbox/robot/Link.py +1698 -0
- roboticstoolbox/robot/PoERobot.py +348 -0
- roboticstoolbox/robot/Robot.py +2100 -0
- roboticstoolbox/robot/RobotKinematics.py +1725 -0
- roboticstoolbox/robot/RobotProto.py +92 -0
- roboticstoolbox/robot/__init__.py +54 -0
- roboticstoolbox/tools/DHFactor.py +375 -0
- roboticstoolbox/tools/Ticker.py +53 -0
- roboticstoolbox/tools/__init__.py +54 -0
- roboticstoolbox/tools/data.py +187 -0
- roboticstoolbox/tools/jsingu.py +51 -0
- roboticstoolbox/tools/null.py +48 -0
- roboticstoolbox/tools/numerical.py +96 -0
- roboticstoolbox/tools/p_servo.py +106 -0
- roboticstoolbox/tools/params.py +11 -0
- roboticstoolbox/tools/plot.py +109 -0
- roboticstoolbox/tools/trajectory.py +1152 -0
- roboticstoolbox/tools/types.py +13 -0
- roboticstoolbox/tools/urdf/__init__.py +45 -0
- roboticstoolbox/tools/urdf/tests/data/ur5.urdf +341 -0
- roboticstoolbox/tools/urdf/tests/test_urdf.py +116 -0
- roboticstoolbox/tools/urdf/urdf.py +1976 -0
- roboticstoolbox/tools/urdf/utils.py +50 -0
- roboticstoolbox/tools/xacro/__init__.py +1148 -0
- roboticstoolbox/tools/xacro/cli.py +128 -0
- roboticstoolbox/tools/xacro/color.py +66 -0
- roboticstoolbox/tools/xacro/tests/CMakeLists.txt +4 -0
- roboticstoolbox/tools/xacro/tests/broken.xacro +1 -0
- roboticstoolbox/tools/xacro/tests/emoji.xacro +5 -0
- roboticstoolbox/tools/xacro/tests/include1.xacro +4 -0
- roboticstoolbox/tools/xacro/tests/include1.xml +1 -0
- roboticstoolbox/tools/xacro/tests/include2.xacro +4 -0
- roboticstoolbox/tools/xacro/tests/include2.xml +1 -0
- roboticstoolbox/tools/xacro/tests/robots/README +4 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/base_v0/base.gazebo.xacro +59 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/base_v0/base.transmission.xacro +24 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/base_v0/base.urdf.xacro +264 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/common.xacro +71 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/forearm_v0/forearm.gazebo.xacro +36 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/forearm_v0/forearm.transmission.xacro +20 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/forearm_v0/forearm.urdf.xacro +130 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/gazebo/gazebo.urdf.xacro +24 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/gripper_v0/gripper.gazebo.xacro +288 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/gripper_v0/gripper.transmission.xacro +50 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/gripper_v0/gripper.urdf.xacro +374 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/head_v0/head.gazebo.xacro +16 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/head_v0/head.transmission.xacro +34 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/head_v0/head.urdf.xacro +147 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/materials.urdf.xacro +52 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/pr2.urdf.xacro +157 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/pr2_1.11.4.xml +3781 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/double_stereo_camera.gazebo.xacro +16 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/double_stereo_camera.urdf.xacro +61 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/head_sensor_package.gazebo.xacro +20 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/head_sensor_package.urdf.xacro +63 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/hokuyo_lx30_laser.gazebo.xacro +39 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/hokuyo_lx30_laser.urdf.xacro +27 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/kinect_camera.gazebo.xacro +87 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/kinect_camera.urdf.xacro +55 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/kinect_prosilica_camera.gazebo.xacro +193 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/kinect_prosilica_camera.urdf.xacro +181 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/microstrain_3dmgx2_imu.gazebo.xacro +20 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/microstrain_3dmgx2_imu.urdf.xacro +25 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/projector_wg6802418.gazebo.xacro +31 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/projector_wg6802418.urdf.xacro +42 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/prosilica_gc2450_camera.gazebo.xacro +43 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/prosilica_gc2450_camera.urdf.xacro +49 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/stereo_camera.gazebo.xacro +23 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/stereo_camera.urdf.xacro +71 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/wge100_camera.gazebo.xacro +46 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/sensors/wge100_camera.urdf.xacro +47 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/shoulder_v0/shoulder.gazebo.xacro +40 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/shoulder_v0/shoulder.transmission.xacro +35 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/shoulder_v0/shoulder.urdf.xacro +167 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/tilting_laser_v0/tilting_laser.gazebo.xacro +11 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/tilting_laser_v0/tilting_laser.transmission.xacro +14 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/tilting_laser_v0/tilting_laser.urdf.xacro +60 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/torso_v0/torso.gazebo.xacro +37 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/torso_v0/torso.transmission.xacro +22 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/torso_v0/torso.urdf.xacro +122 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/upper_arm_v0/upper_arm.gazebo.xacro +39 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/upper_arm_v0/upper_arm.transmission.xacro +28 -0
- roboticstoolbox/tools/xacro/tests/robots/pr2/upper_arm_v0/upper_arm.urdf.xacro +173 -0
- roboticstoolbox/tools/xacro/tests/settings.yaml +9 -0
- roboticstoolbox/tools/xacro/tests/subdir/foo.xacro +3 -0
- roboticstoolbox/tools/xacro/tests/subdir/include-recursive.xacro +5 -0
- roboticstoolbox/tools/xacro/tests/subdir/include1.xml +1 -0
- roboticstoolbox/tools/xacro/tests/test_xacro.py +1418 -0
- roboticstoolbox/tools/xacro/xmlutils.py +152 -0
- roboticstoolbox_python-1.3.0.dist-info/METADATA +552 -0
- roboticstoolbox_python-1.3.0.dist-info/RECORD +673 -0
- roboticstoolbox_python-1.3.0.dist-info/WHEEL +5 -0
- roboticstoolbox_python-1.3.0.dist-info/entry_points.txt +6 -0
- roboticstoolbox_python-1.3.0.dist-info/licenses/LICENSE +21 -0
- spatialgeometry/__init__.py +32 -0
- spatialgeometry/geom/CollisionShape.py +419 -0
- spatialgeometry/geom/SceneGroup.py +26 -0
- spatialgeometry/geom/SceneNode.py +315 -0
- spatialgeometry/geom/Shape.py +420 -0
- spatialgeometry/geom/__init__.py +26 -0
- spatialgeometry/scene.py +107 -0
- spatialgeometry/tools/__init__.py +0 -0
- spatialgeometry/tools/stdout_supress.py +302 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# Dynamixel SDK Release Notes
|
|
2
|
+
|
|
3
|
+
3.7.31 (2020-07-13)
|
|
4
|
+
-------------------
|
|
5
|
+
* ROS 1 Noetic Ninjemys support
|
|
6
|
+
* 3x faster getError member function of GroupSyncRead Class
|
|
7
|
+
* Contributors: developer0hye, Zerom, Will Son
|
|
8
|
+
|
|
9
|
+
3.7.21 (2019-09-06)
|
|
10
|
+
-------------------
|
|
11
|
+
* Fixed buffer overflow bug (rxpacket size)
|
|
12
|
+
* Fixed typo in the package.xml and header files
|
|
13
|
+
|
|
14
|
+
3.7.11 (2019-08-19)
|
|
15
|
+
-------------------
|
|
16
|
+
* Updated C lib and DLL file
|
|
17
|
+
* Changed C# / win32 / protocol_combined output path
|
|
18
|
+
* Fixed "protocol_combined" example bug
|
|
19
|
+
* Fixed typo in bulk_read_write.py
|
|
20
|
+
|
|
21
|
+
3.7.0 (2019-01-03)
|
|
22
|
+
------------------
|
|
23
|
+
* Added clear instruction [#269](https://github.com/ROBOTIS-GIT/DynamixelSDK/issues/269)
|
|
24
|
+
* Removed busy waiting for rxPacket()
|
|
25
|
+
* Fixed addStuffing() function (reduced stack memory usage)
|
|
26
|
+
* Fixed memory issues [#268](https://github.com/ROBOTIS-GIT/DynamixelSDK/issues/268)
|
|
27
|
+
* Fixed the broadcast ping bug in dxl_monitor
|
|
28
|
+
|
|
29
|
+
3.6.2 (2018-07-17)
|
|
30
|
+
------------------
|
|
31
|
+
* Added python modules for ROS to ros folder
|
|
32
|
+
* Moved cpp library files for ROS to ros folder
|
|
33
|
+
* Created an ROS package separately `#187 <https://github.com/ROBOTIS-GIT/DynamixelSDK/issues/187>`_
|
|
34
|
+
* Modified the e-Manual address to emanual.robotis.com
|
|
35
|
+
|
|
36
|
+
3.6.1 (2018-06-14)
|
|
37
|
+
------------------
|
|
38
|
+
* Removed printTxRxResult(), printRxPacketError() `#193 <https://github.com/ROBOTIS-GIT/DynamixelSDK/issues/193>`_
|
|
39
|
+
* Removed cache files
|
|
40
|
+
|
|
41
|
+
3.6.0 (2018-03-16)
|
|
42
|
+
------------------
|
|
43
|
+
* Replaced: DynamixelSDK Python as a native language (Python 2 and 3 for Windows, Linux, Mac OS X) #93 #122 #147 #181 #182 #185
|
|
44
|
+
* Added: CONTRIBUTING.md added
|
|
45
|
+
* Changes: ISSUE_TEMPLATE.md modified
|
|
46
|
+
* Changes: C++ version - SyncRead / BulkRead - getError functions added
|
|
47
|
+
* Changes: Deprecated functions removed
|
|
48
|
+
* Fixes: DynamixelSDK MATLAB 2017 - new typedef (int8_t / int16_t / int32_t) applied in robotis_def.h #161 #179
|
|
49
|
+
* Fixes: Added missing header file for reset and factory_reset examples #167
|
|
50
|
+
|
|
51
|
+
3.5.4 (2017-12-01)
|
|
52
|
+
------------------
|
|
53
|
+
* Added: Deprecated is now being shown by attributes #67 #107
|
|
54
|
+
* Fixes: DynamixelSDK ROS Indigo Issue - target_sources func in CMake
|
|
55
|
+
* Fixes: Bug in protocol1_packet_handler.cpp, line 222 checking the returned Error Mask #120
|
|
56
|
+
* Fixes: Packet Handlers - array param uint8_t to uint16_t to avoid closure loop when the packet is too long to be in uint8_t appropriately
|
|
57
|
+
* Fixes: Group Syncwrite using multiple ports in c library issue solved (test code is also in this issue bulletin) #124
|
|
58
|
+
* Fixes: Support getting of time on MacOSX/XCode versions that doesn't support (CLOCK_REALTIME issue) #141 #144
|
|
59
|
+
* Changes: DynamixelSDK Ubuntu Linux usb ftdi latency timer fix issue - changes the default latency timer as 16 ms in all OS, but some about how to change the latency timer was commented in the codes (now the latency timer should be adjusted by yourself... see port_handler_linux source code to see details) #116
|
|
60
|
+
|
|
61
|
+
3.5.3 (2017-10-30)
|
|
62
|
+
------------------
|
|
63
|
+
* Fixes: DynamixelSDK ROS Kinetic Issue - ARM - Debian Jessie solved by replacing target_sources func in CMake to set_property #136
|
|
64
|
+
|
|
65
|
+
3.5.2 (2017-09-18)
|
|
66
|
+
------------------
|
|
67
|
+
* Recover: Check if the id of rxpacket is the same as the id of txpacket (c++) #82
|
|
68
|
+
* Changes: Ping examples now will not show Dynamixel model number when communication is failed
|
|
69
|
+
|
|
70
|
+
3.5.1 (2017-08-18)
|
|
71
|
+
------------------
|
|
72
|
+
* Mac OS supports DynamixelSDK #51
|
|
73
|
+
* DynamixelSDK lib for Arduino (Arduino / OpenCR / OpenCM9.04) uploaded (TODO: Arduino Uno compatible DynamixelSDK light version)
|
|
74
|
+
* DynamixelSDK example for Arduino uploaded. It can be referred in OpenCR Repository (https://github.com/ROBOTIS-GIT/OpenCR/tree/master/arduino/opencr_arduino/opencr/libraries/OpenCR/examples/07.%20DynamixelSDK)
|
|
75
|
+
* DynamixelSDK LabVIEW can get communication result and Dynamixel error
|
|
76
|
+
* Standardizes folder structure of c, c++, ROS and Arduino c++ languages
|
|
77
|
+
* Fixes: Inconvenient way of getting meaning of packet result and error value #67
|
|
78
|
+
* Fixes: Misleading indentation warning in group_sync_read.c #91
|
|
79
|
+
* Fixes: Maximum length of port name is expanded to 100 #100
|
|
80
|
+
* Alternative: Include port_handler.h through relative path. #90
|
|
81
|
+
* Changes: Indent correction / Example tests & refresh / OS IFDEF
|
|
82
|
+
* Changes: Default Baudrate from 1000000(1M) bps to 57600 bps
|
|
83
|
+
* Changes: Macro for control table value changed to uints
|
|
84
|
+
* Changes: API references will be provided as doxygen (updates in c++ @ 3.5.1)
|
|
85
|
+
* Changes: License changed into Apache License .2.0 (Who are using SDK in previous license can use it as it is)
|
|
86
|
+
* Deprecated: printTxRxResult, printRxPacketError function will be unavailable in Dynamixel SDK 3.6.1
|
|
87
|
+
|
|
88
|
+
3.4.7 (2017-07-18)
|
|
89
|
+
------------------
|
|
90
|
+
* hotfix - Bug in Dynamixel group control is solved temporarily
|
|
91
|
+
|
|
92
|
+
3.4.6 (2017-07-07)
|
|
93
|
+
------------------
|
|
94
|
+
* hotfix - now DynamixelSDK for protocol1.0 supports read/write 4Byte (for XM series)
|
|
95
|
+
|
|
96
|
+
3.4.5 (2017-05-23)
|
|
97
|
+
------------------
|
|
98
|
+
* Merge branch 'kinetic-devel' of github.com:ROBOTIS-GIT/DynamixelSDK into kinetic-devel
|
|
99
|
+
|
|
100
|
+
3.4.4 (2017-04-26)
|
|
101
|
+
------------------
|
|
102
|
+
* hotfix - return delay time is changed from 4 into 8 due to the Ubuntu update 16.04.2
|
|
103
|
+
|
|
104
|
+
3.4.3 (2017-02-17)
|
|
105
|
+
------------------
|
|
106
|
+
* DynamixelSDK C++ ver. and ROS ver. in Windows platform now can use the port number of over then 10 #45
|
|
107
|
+
|
|
108
|
+
3.4.2 (2017-02-16)
|
|
109
|
+
------------------
|
|
110
|
+
* fprintf output in GroupBulkRead of C++ removed
|
|
111
|
+
* MATLAB library compiler error solving
|
|
112
|
+
* Makefile for build example sources in SBC added
|
|
113
|
+
* build files of windows c and c++ SDK rebuilt by using renewed SDK libraries
|
|
114
|
+
* example source of dxl_monitor - c and cpp ver modified #50
|
|
115
|
+
* Solved issue: #31, #34, #36, #50
|
|
116
|
+
|
|
117
|
+
3.4.1 (2016-08-22)
|
|
118
|
+
------------------
|
|
119
|
+
* Added ROS package folder for ROS users
|
|
120
|
+
* Modified c++'s original header files for ROS package
|
|
121
|
+
|
|
122
|
+
3.4.0 (2016-08-12)
|
|
123
|
+
------------------
|
|
124
|
+
* Added a ROS package information for ROS users
|
|
125
|
+
|
|
126
|
+
3.3.3 (2016-08-03)
|
|
127
|
+
------------------
|
|
128
|
+
* SDK C# Resource Files comments Korean -> English
|
|
129
|
+
* SDK C# properties comments Korean removed
|
|
130
|
+
* SDK C# example default device path modified
|
|
131
|
+
* SDK All License marks for example codes updated
|
|
132
|
+
* SDK Java example source - folder name changed
|
|
133
|
+
* SDK MATLAB example code modified as platform version auto-detection #1
|
|
134
|
+
* SDK C/C++ build file for linux used by SBC(Single Board Computer)s updated #15
|
|
135
|
+
* Solved issue: #1, #15
|
|
136
|
+
|
|
137
|
+
3.3.2 (2016-06-30)
|
|
138
|
+
------------------
|
|
139
|
+
* SDK Python strange printout problem solved
|
|
140
|
+
|
|
141
|
+
3.3.1 (2016-06-30)
|
|
142
|
+
------------------
|
|
143
|
+
* SDK Python Errors in linux debugged
|
|
144
|
+
|
|
145
|
+
3.3.0 (2016-06-28)
|
|
146
|
+
------------------
|
|
147
|
+
* SDK C# example as C version library binded source - released
|
|
148
|
+
* SDK Python example as C version library binded source - released
|
|
149
|
+
* SDK Java example as C version library binded source - released
|
|
150
|
+
* SDK MATLAB example as C version library binded source - released
|
|
151
|
+
* SDK LabVIEW example as C version library binded source - released
|
|
152
|
+
* SDK C - Bug fixed (#8)
|
|
153
|
+
* Solved issue: #8
|
|
154
|
+
|
|
155
|
+
3.2.0 (2016-06-07)
|
|
156
|
+
------------------
|
|
157
|
+
* SDK C version - Code Refactoring
|
|
158
|
+
* SDK C version - Code style modified into ROS c++ code style
|
|
159
|
+
|
|
160
|
+
3.1.0 (2016-05-31)
|
|
161
|
+
------------------
|
|
162
|
+
* Code Refactoring
|
|
163
|
+
* Code style modified into ROS c++ code style
|
|
164
|
+
* License specified in the source code
|
|
165
|
+
* Solved issue: #3
|
|
166
|
+
|
|
167
|
+
3.0.3 (2016-05-18)
|
|
168
|
+
------------------
|
|
169
|
+
* Linux C version source codes uploaded
|
|
170
|
+
|
|
171
|
+
3.0.2 (2016-05-17)
|
|
172
|
+
------------------
|
|
173
|
+
* Windows C version source codes uploaded
|
|
174
|
+
|
|
175
|
+
3.0.1 (2016-04-26)
|
|
176
|
+
------------------
|
|
177
|
+
* Windows C++ version begun to be serviced
|
|
178
|
+
|
|
179
|
+
3.0.0 (2016-03-08)
|
|
180
|
+
------------------
|
|
181
|
+
* Linux C++ version source codes uploaded
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
|
|
4
|
+
################################################################################
|
|
5
|
+
# Copyright 2017 ROBOTIS CO., LTD.
|
|
6
|
+
#
|
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License at
|
|
10
|
+
#
|
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
# See the License for the specific language governing permissions and
|
|
17
|
+
# limitations under the License.
|
|
18
|
+
################################################################################
|
|
19
|
+
|
|
20
|
+
# Author: Ryu Woon Jung (Leon)
|
|
21
|
+
|
|
22
|
+
from .port_handler import * # lgtm [py/polluting-import]
|
|
23
|
+
from .packet_handler import * # lgtm [py/polluting-import]
|
|
24
|
+
from .group_sync_read import * # lgtm [py/polluting-import]
|
|
25
|
+
from .group_sync_write import * # lgtm [py/polluting-import]
|
|
26
|
+
from .group_bulk_read import * # lgtm [py/polluting-import]
|
|
27
|
+
from .group_bulk_write import * # lgtm [py/polluting-import]
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
|
|
4
|
+
################################################################################
|
|
5
|
+
# Copyright 2017 ROBOTIS CO., LTD.
|
|
6
|
+
#
|
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License at
|
|
10
|
+
#
|
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
# See the License for the specific language governing permissions and
|
|
17
|
+
# limitations under the License.
|
|
18
|
+
################################################################################
|
|
19
|
+
|
|
20
|
+
# Author: Ryu Woon Jung (Leon)
|
|
21
|
+
|
|
22
|
+
from .robotis_def import * # lgtm [py/polluting-import]
|
|
23
|
+
|
|
24
|
+
PARAM_NUM_DATA = 0
|
|
25
|
+
PARAM_NUM_ADDRESS = 1
|
|
26
|
+
PARAM_NUM_LENGTH = 2
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class GroupBulkRead:
|
|
30
|
+
def __init__(self, port, ph):
|
|
31
|
+
self.port = port
|
|
32
|
+
self.ph = ph
|
|
33
|
+
|
|
34
|
+
self.last_result = False
|
|
35
|
+
self.is_param_changed = False
|
|
36
|
+
self.param = []
|
|
37
|
+
self.data_dict = {}
|
|
38
|
+
|
|
39
|
+
self.clearParam()
|
|
40
|
+
|
|
41
|
+
def makeParam(self):
|
|
42
|
+
if not self.data_dict:
|
|
43
|
+
return
|
|
44
|
+
|
|
45
|
+
self.param = []
|
|
46
|
+
|
|
47
|
+
for dxl_id in self.data_dict:
|
|
48
|
+
if self.ph.getProtocolVersion() == 1.0:
|
|
49
|
+
self.param.append(self.data_dict[dxl_id][2]) # LEN
|
|
50
|
+
self.param.append(dxl_id) # ID
|
|
51
|
+
self.param.append(self.data_dict[dxl_id][1]) # ADDR
|
|
52
|
+
else:
|
|
53
|
+
self.param.append(dxl_id) # ID
|
|
54
|
+
self.param.append(DXL_LOBYTE(self.data_dict[dxl_id][1])) # ADDR_L
|
|
55
|
+
self.param.append(DXL_HIBYTE(self.data_dict[dxl_id][1])) # ADDR_H
|
|
56
|
+
self.param.append(DXL_LOBYTE(self.data_dict[dxl_id][2])) # LEN_L
|
|
57
|
+
self.param.append(DXL_HIBYTE(self.data_dict[dxl_id][2])) # LEN_H
|
|
58
|
+
|
|
59
|
+
def addParam(self, dxl_id, start_address, data_length):
|
|
60
|
+
if dxl_id in self.data_dict: # dxl_id already exist
|
|
61
|
+
return False
|
|
62
|
+
|
|
63
|
+
data = [] # [0] * data_length
|
|
64
|
+
self.data_dict[dxl_id] = [data, start_address, data_length]
|
|
65
|
+
|
|
66
|
+
self.is_param_changed = True
|
|
67
|
+
return True
|
|
68
|
+
|
|
69
|
+
def removeParam(self, dxl_id):
|
|
70
|
+
if dxl_id not in self.data_dict: # NOT exist
|
|
71
|
+
return
|
|
72
|
+
|
|
73
|
+
del self.data_dict[dxl_id]
|
|
74
|
+
|
|
75
|
+
self.is_param_changed = True
|
|
76
|
+
|
|
77
|
+
def clearParam(self):
|
|
78
|
+
self.data_dict.clear()
|
|
79
|
+
return
|
|
80
|
+
|
|
81
|
+
def txPacket(self):
|
|
82
|
+
if len(self.data_dict.keys()) == 0:
|
|
83
|
+
return COMM_NOT_AVAILABLE
|
|
84
|
+
|
|
85
|
+
if self.is_param_changed is True or not self.param:
|
|
86
|
+
self.makeParam()
|
|
87
|
+
|
|
88
|
+
if self.ph.getProtocolVersion() == 1.0:
|
|
89
|
+
return self.ph.bulkReadTx(
|
|
90
|
+
self.port, self.param, len(self.data_dict.keys()) * 3
|
|
91
|
+
)
|
|
92
|
+
else:
|
|
93
|
+
return self.ph.bulkReadTx(
|
|
94
|
+
self.port, self.param, len(self.data_dict.keys()) * 5
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
def rxPacket(self):
|
|
98
|
+
self.last_result = False
|
|
99
|
+
|
|
100
|
+
result = COMM_RX_FAIL
|
|
101
|
+
|
|
102
|
+
if len(self.data_dict.keys()) == 0:
|
|
103
|
+
return COMM_NOT_AVAILABLE
|
|
104
|
+
|
|
105
|
+
for dxl_id in self.data_dict:
|
|
106
|
+
self.data_dict[dxl_id][PARAM_NUM_DATA], result, _ = self.ph.readRx(
|
|
107
|
+
self.port, dxl_id, self.data_dict[dxl_id][PARAM_NUM_LENGTH]
|
|
108
|
+
)
|
|
109
|
+
if result != COMM_SUCCESS:
|
|
110
|
+
return result
|
|
111
|
+
|
|
112
|
+
if result == COMM_SUCCESS:
|
|
113
|
+
self.last_result = True
|
|
114
|
+
|
|
115
|
+
return result
|
|
116
|
+
|
|
117
|
+
def txRxPacket(self):
|
|
118
|
+
result = self.txPacket()
|
|
119
|
+
if result != COMM_SUCCESS:
|
|
120
|
+
return result
|
|
121
|
+
|
|
122
|
+
return self.rxPacket()
|
|
123
|
+
|
|
124
|
+
def isAvailable(self, dxl_id, address, data_length):
|
|
125
|
+
if self.last_result is False or dxl_id not in self.data_dict:
|
|
126
|
+
return False
|
|
127
|
+
|
|
128
|
+
start_addr = self.data_dict[dxl_id][PARAM_NUM_ADDRESS]
|
|
129
|
+
|
|
130
|
+
if (address < start_addr) or (
|
|
131
|
+
start_addr + self.data_dict[dxl_id][PARAM_NUM_LENGTH] - data_length
|
|
132
|
+
< address
|
|
133
|
+
):
|
|
134
|
+
return False
|
|
135
|
+
|
|
136
|
+
return True
|
|
137
|
+
|
|
138
|
+
def getData(self, dxl_id, address, data_length):
|
|
139
|
+
if not self.isAvailable(dxl_id, address, data_length):
|
|
140
|
+
return 0
|
|
141
|
+
|
|
142
|
+
start_addr = self.data_dict[dxl_id][PARAM_NUM_ADDRESS]
|
|
143
|
+
|
|
144
|
+
if data_length == 1:
|
|
145
|
+
return self.data_dict[dxl_id][PARAM_NUM_DATA][address - start_addr]
|
|
146
|
+
elif data_length == 2:
|
|
147
|
+
return DXL_MAKEWORD(
|
|
148
|
+
self.data_dict[dxl_id][PARAM_NUM_DATA][address - start_addr],
|
|
149
|
+
self.data_dict[dxl_id][PARAM_NUM_DATA][address - start_addr + 1],
|
|
150
|
+
)
|
|
151
|
+
elif data_length == 4:
|
|
152
|
+
return DXL_MAKEDWORD(
|
|
153
|
+
DXL_MAKEWORD(
|
|
154
|
+
self.data_dict[dxl_id][PARAM_NUM_DATA][address - start_addr + 0],
|
|
155
|
+
self.data_dict[dxl_id][PARAM_NUM_DATA][address - start_addr + 1],
|
|
156
|
+
),
|
|
157
|
+
DXL_MAKEWORD(
|
|
158
|
+
self.data_dict[dxl_id][PARAM_NUM_DATA][address - start_addr + 2],
|
|
159
|
+
self.data_dict[dxl_id][PARAM_NUM_DATA][address - start_addr + 3],
|
|
160
|
+
),
|
|
161
|
+
)
|
|
162
|
+
else:
|
|
163
|
+
return 0
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
|
|
4
|
+
################################################################################
|
|
5
|
+
# Copyright 2017 ROBOTIS CO., LTD.
|
|
6
|
+
#
|
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License at
|
|
10
|
+
#
|
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
# See the License for the specific language governing permissions and
|
|
17
|
+
# limitations under the License.
|
|
18
|
+
################################################################################
|
|
19
|
+
|
|
20
|
+
# Author: Ryu Woon Jung (Leon)
|
|
21
|
+
|
|
22
|
+
from .robotis_def import * # lgtm [py/polluting-import]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class GroupBulkWrite:
|
|
26
|
+
def __init__(self, port, ph):
|
|
27
|
+
self.port = port
|
|
28
|
+
self.ph = ph
|
|
29
|
+
|
|
30
|
+
self.is_param_changed = False
|
|
31
|
+
self.param = []
|
|
32
|
+
self.data_list = {}
|
|
33
|
+
|
|
34
|
+
self.clearParam()
|
|
35
|
+
|
|
36
|
+
def makeParam(self):
|
|
37
|
+
if self.ph.getProtocolVersion() == 1.0 or not self.data_list:
|
|
38
|
+
return
|
|
39
|
+
|
|
40
|
+
self.param = []
|
|
41
|
+
|
|
42
|
+
for dxl_id in self.data_list:
|
|
43
|
+
if not self.data_list[dxl_id]:
|
|
44
|
+
return
|
|
45
|
+
|
|
46
|
+
self.param.append(dxl_id)
|
|
47
|
+
self.param.append(DXL_LOBYTE(self.data_list[dxl_id][1]))
|
|
48
|
+
self.param.append(DXL_HIBYTE(self.data_list[dxl_id][1]))
|
|
49
|
+
self.param.append(DXL_LOBYTE(self.data_list[dxl_id][2]))
|
|
50
|
+
self.param.append(DXL_HIBYTE(self.data_list[dxl_id][2]))
|
|
51
|
+
|
|
52
|
+
self.param.extend(self.data_list[dxl_id][0])
|
|
53
|
+
|
|
54
|
+
def addParam(self, dxl_id, start_address, data_length, data):
|
|
55
|
+
if self.ph.getProtocolVersion() == 1.0:
|
|
56
|
+
return False
|
|
57
|
+
|
|
58
|
+
if dxl_id in self.data_list: # dxl_id already exist
|
|
59
|
+
return False
|
|
60
|
+
|
|
61
|
+
if len(data) > data_length: # input data is longer than set
|
|
62
|
+
return False
|
|
63
|
+
|
|
64
|
+
self.data_list[dxl_id] = [data, start_address, data_length]
|
|
65
|
+
|
|
66
|
+
self.is_param_changed = True
|
|
67
|
+
return True
|
|
68
|
+
|
|
69
|
+
def removeParam(self, dxl_id):
|
|
70
|
+
if self.ph.getProtocolVersion() == 1.0:
|
|
71
|
+
return
|
|
72
|
+
|
|
73
|
+
if dxl_id not in self.data_list: # NOT exist
|
|
74
|
+
return
|
|
75
|
+
|
|
76
|
+
del self.data_list[dxl_id]
|
|
77
|
+
|
|
78
|
+
self.is_param_changed = True
|
|
79
|
+
|
|
80
|
+
def changeParam(self, dxl_id, start_address, data_length, data):
|
|
81
|
+
if self.ph.getProtocolVersion() == 1.0:
|
|
82
|
+
return False
|
|
83
|
+
|
|
84
|
+
if dxl_id not in self.data_list: # NOT exist
|
|
85
|
+
return False
|
|
86
|
+
|
|
87
|
+
if len(data) > data_length: # input data is longer than set
|
|
88
|
+
return False
|
|
89
|
+
|
|
90
|
+
self.data_list[dxl_id] = [data, start_address, data_length]
|
|
91
|
+
|
|
92
|
+
self.is_param_changed = True
|
|
93
|
+
return True
|
|
94
|
+
|
|
95
|
+
def clearParam(self):
|
|
96
|
+
if self.ph.getProtocolVersion() == 1.0:
|
|
97
|
+
return
|
|
98
|
+
|
|
99
|
+
self.data_list.clear()
|
|
100
|
+
return
|
|
101
|
+
|
|
102
|
+
def txPacket(self):
|
|
103
|
+
if self.ph.getProtocolVersion() == 1.0 or len(self.data_list.keys()) == 0:
|
|
104
|
+
return COMM_NOT_AVAILABLE
|
|
105
|
+
|
|
106
|
+
if self.is_param_changed is True or len(self.param) == 0:
|
|
107
|
+
self.makeParam()
|
|
108
|
+
|
|
109
|
+
return self.ph.bulkWriteTxOnly(self.port, self.param, len(self.param))
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
|
|
4
|
+
################################################################################
|
|
5
|
+
# Copyright 2017 ROBOTIS CO., LTD.
|
|
6
|
+
#
|
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License at
|
|
10
|
+
#
|
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
# See the License for the specific language governing permissions and
|
|
17
|
+
# limitations under the License.
|
|
18
|
+
################################################################################
|
|
19
|
+
|
|
20
|
+
# Author: Ryu Woon Jung (Leon)
|
|
21
|
+
|
|
22
|
+
from .robotis_def import * # lgtm [py/polluting-import]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class GroupSyncRead:
|
|
26
|
+
def __init__(self, port, ph, start_address, data_length):
|
|
27
|
+
self.port = port
|
|
28
|
+
self.ph = ph
|
|
29
|
+
self.start_address = start_address
|
|
30
|
+
self.data_length = data_length
|
|
31
|
+
|
|
32
|
+
self.last_result = False
|
|
33
|
+
self.is_param_changed = False
|
|
34
|
+
self.param = []
|
|
35
|
+
self.data_dict = {}
|
|
36
|
+
|
|
37
|
+
self.clearParam()
|
|
38
|
+
|
|
39
|
+
def makeParam(self):
|
|
40
|
+
if self.ph.getProtocolVersion() == 1.0:
|
|
41
|
+
return
|
|
42
|
+
|
|
43
|
+
if not self.data_dict: # len(self.data_dict.keys()) == 0:
|
|
44
|
+
return
|
|
45
|
+
|
|
46
|
+
self.param = []
|
|
47
|
+
|
|
48
|
+
for dxl_id in self.data_dict:
|
|
49
|
+
self.param.append(dxl_id)
|
|
50
|
+
|
|
51
|
+
def addParam(self, dxl_id):
|
|
52
|
+
if self.ph.getProtocolVersion() == 1.0:
|
|
53
|
+
return False
|
|
54
|
+
|
|
55
|
+
if dxl_id in self.data_dict: # dxl_id already exist
|
|
56
|
+
return False
|
|
57
|
+
|
|
58
|
+
self.data_dict[dxl_id] = [] # [0] * self.data_length
|
|
59
|
+
|
|
60
|
+
self.is_param_changed = True
|
|
61
|
+
return True
|
|
62
|
+
|
|
63
|
+
def removeParam(self, dxl_id):
|
|
64
|
+
if self.ph.getProtocolVersion() == 1.0:
|
|
65
|
+
return
|
|
66
|
+
|
|
67
|
+
if dxl_id not in self.data_dict: # NOT exist
|
|
68
|
+
return
|
|
69
|
+
|
|
70
|
+
del self.data_dict[dxl_id]
|
|
71
|
+
|
|
72
|
+
self.is_param_changed = True
|
|
73
|
+
|
|
74
|
+
def clearParam(self):
|
|
75
|
+
if self.ph.getProtocolVersion() == 1.0:
|
|
76
|
+
return
|
|
77
|
+
|
|
78
|
+
self.data_dict.clear()
|
|
79
|
+
|
|
80
|
+
def txPacket(self):
|
|
81
|
+
if self.ph.getProtocolVersion() == 1.0 or len(self.data_dict.keys()) == 0:
|
|
82
|
+
return COMM_NOT_AVAILABLE
|
|
83
|
+
|
|
84
|
+
if self.is_param_changed is True or not self.param:
|
|
85
|
+
self.makeParam()
|
|
86
|
+
|
|
87
|
+
return self.ph.syncReadTx(
|
|
88
|
+
self.port,
|
|
89
|
+
self.start_address,
|
|
90
|
+
self.data_length,
|
|
91
|
+
self.param,
|
|
92
|
+
len(self.data_dict.keys()) * 1,
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
def rxPacket(self):
|
|
96
|
+
self.last_result = False
|
|
97
|
+
|
|
98
|
+
if self.ph.getProtocolVersion() == 1.0:
|
|
99
|
+
return COMM_NOT_AVAILABLE
|
|
100
|
+
|
|
101
|
+
result = COMM_RX_FAIL
|
|
102
|
+
|
|
103
|
+
if len(self.data_dict.keys()) == 0:
|
|
104
|
+
return COMM_NOT_AVAILABLE
|
|
105
|
+
|
|
106
|
+
for dxl_id in self.data_dict:
|
|
107
|
+
self.data_dict[dxl_id], result, _ = self.ph.readRx(
|
|
108
|
+
self.port, dxl_id, self.data_length
|
|
109
|
+
)
|
|
110
|
+
if result != COMM_SUCCESS:
|
|
111
|
+
return result
|
|
112
|
+
|
|
113
|
+
if result == COMM_SUCCESS:
|
|
114
|
+
self.last_result = True
|
|
115
|
+
|
|
116
|
+
return result
|
|
117
|
+
|
|
118
|
+
def txRxPacket(self):
|
|
119
|
+
if self.ph.getProtocolVersion() == 1.0:
|
|
120
|
+
return COMM_NOT_AVAILABLE
|
|
121
|
+
|
|
122
|
+
result = self.txPacket()
|
|
123
|
+
if result != COMM_SUCCESS:
|
|
124
|
+
return result
|
|
125
|
+
|
|
126
|
+
return self.rxPacket()
|
|
127
|
+
|
|
128
|
+
def isAvailable(self, dxl_id, address, data_length):
|
|
129
|
+
if (
|
|
130
|
+
self.ph.getProtocolVersion() == 1.0
|
|
131
|
+
or self.last_result is False
|
|
132
|
+
or dxl_id not in self.data_dict
|
|
133
|
+
):
|
|
134
|
+
return False
|
|
135
|
+
|
|
136
|
+
if (address < self.start_address) or (
|
|
137
|
+
self.start_address + self.data_length - data_length < address
|
|
138
|
+
):
|
|
139
|
+
return False
|
|
140
|
+
|
|
141
|
+
return True
|
|
142
|
+
|
|
143
|
+
def getData(self, dxl_id, address, data_length):
|
|
144
|
+
if not self.isAvailable(dxl_id, address, data_length):
|
|
145
|
+
return 0
|
|
146
|
+
|
|
147
|
+
if data_length == 1:
|
|
148
|
+
return self.data_dict[dxl_id][address - self.start_address]
|
|
149
|
+
elif data_length == 2:
|
|
150
|
+
return DXL_MAKEWORD(
|
|
151
|
+
self.data_dict[dxl_id][address - self.start_address],
|
|
152
|
+
self.data_dict[dxl_id][address - self.start_address + 1],
|
|
153
|
+
)
|
|
154
|
+
elif data_length == 4:
|
|
155
|
+
return DXL_MAKEDWORD(
|
|
156
|
+
DXL_MAKEWORD(
|
|
157
|
+
self.data_dict[dxl_id][address - self.start_address + 0],
|
|
158
|
+
self.data_dict[dxl_id][address - self.start_address + 1],
|
|
159
|
+
),
|
|
160
|
+
DXL_MAKEWORD(
|
|
161
|
+
self.data_dict[dxl_id][address - self.start_address + 2],
|
|
162
|
+
self.data_dict[dxl_id][address - self.start_address + 3],
|
|
163
|
+
),
|
|
164
|
+
)
|
|
165
|
+
else:
|
|
166
|
+
return 0
|