roboticstoolbox-python 1.4.0__py3-none-any.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 +107 -0
- roboticstoolbox/backends/Connector.py +113 -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 +256 -0
- roboticstoolbox/backends/PyPlot/PyPlot.py +778 -0
- roboticstoolbox/backends/PyPlot/PyPlot2.py +537 -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 +165 -0
- roboticstoolbox/bin/__init__.py +0 -0
- roboticstoolbox/bin/_bintools.py +61 -0
- roboticstoolbox/bin/rtbtool.py +404 -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 +1591 -0
- roboticstoolbox/blocks/mobile.py +522 -0
- roboticstoolbox/blocks/quad_model.py +132 -0
- roboticstoolbox/blocks/spatial.py +245 -0
- roboticstoolbox/blocks/uav.py +949 -0
- roboticstoolbox/demo/__init__.py +0 -0
- roboticstoolbox/demo/eigdemo.py +112 -0
- roboticstoolbox/demo/tripleangledemo.py +239 -0
- roboticstoolbox/demo/twistdemo.py +175 -0
- roboticstoolbox/ets/ET.py +439 -0
- roboticstoolbox/ets/ET2.py +179 -0
- roboticstoolbox/ets/ETS.py +2013 -0
- roboticstoolbox/ets/ETS2.py +449 -0
- roboticstoolbox/ets/_ET.py +668 -0
- roboticstoolbox/ets/_ETS.py +781 -0
- roboticstoolbox/ets/__init__.py +11 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/Cholesky +45 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/CholmodSupport +48 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/Core +384 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/Dense +7 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/Eigen +2 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/Eigenvalues +60 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/Geometry +59 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/Householder +29 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/IterativeLinearSolvers +48 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/Jacobi +32 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/KLUSupport +41 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/LU +47 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/MetisSupport +35 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/OrderingMethods +70 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/PaStiXSupport +49 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/PardisoSupport +35 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/QR +50 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/QtAlignedMalloc +39 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/SPQRSupport +34 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/SVD +50 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/Sparse +34 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/SparseCholesky +37 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/SparseCore +69 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/SparseLU +50 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/SparseQR +36 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/StdDeque +27 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/StdList +26 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/StdVector +27 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/SuperLUSupport +64 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/UmfPackSupport +40 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Cholesky/LDLT.h +688 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Cholesky/LLT.h +558 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/ArithmeticSequence.h +413 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Array.h +417 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/ArrayBase.h +226 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/ArrayWrapper.h +209 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Assign.h +90 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/AssignEvaluator.h +1010 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Assign_MKL.h +178 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/BandMatrix.h +353 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Block.h +448 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/BooleanRedux.h +162 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/CommaInitializer.h +164 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/ConditionEstimator.h +175 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/CoreEvaluators.h +1741 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/CoreIterators.h +132 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/CwiseBinaryOp.h +183 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/CwiseTernaryOp.h +197 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/CwiseUnaryOp.h +103 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/CwiseUnaryView.h +132 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/DenseBase.h +701 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/DenseCoeffsBase.h +685 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/DenseStorage.h +652 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Diagonal.h +258 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/DiagonalMatrix.h +391 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/DiagonalProduct.h +28 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Dot.h +318 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/EigenBase.h +160 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/ForceAlignedAccess.h +150 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Fuzzy.h +155 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/GeneralProduct.h +465 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/GenericPacketMath.h +1040 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/GlobalFunctions.h +194 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/IO.h +258 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/IndexedView.h +237 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Inverse.h +117 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Map.h +171 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/MapBase.h +310 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/MathFunctions.h +2057 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/MathFunctionsImpl.h +200 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Matrix.h +565 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/MatrixBase.h +547 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/NestByValue.h +85 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/NoAlias.h +109 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/NumTraits.h +335 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/PermutationMatrix.h +605 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/PlainObjectBase.h +1128 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Product.h +191 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/ProductEvaluators.h +1179 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Random.h +218 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Redux.h +515 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Ref.h +381 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Replicate.h +142 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Reshaped.h +454 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/ReturnByValue.h +119 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Reverse.h +217 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Select.h +164 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/SelfAdjointView.h +365 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Solve.h +188 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/SolveTriangular.h +235 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/SolverBase.h +168 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/StableNorm.h +251 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/StlIterators.h +463 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Stride.h +116 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Swap.h +68 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Transpose.h +464 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Transpositions.h +386 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/TriangularMatrix.h +1001 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/VectorBlock.h +96 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/VectorwiseOp.h +784 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/Visitor.h +381 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AVX/Complex.h +372 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/Default/Half.h +942 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/Default/Settings.h +49 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/MSA/Complex.h +648 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/NEON/Complex.h +584 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SSE/Complex.h +351 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/functors/StlFunctors.h +166 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/Parallelizer.h +180 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/BlasUtil.h +583 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/Constants.h +563 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/IntegralConstant.h +272 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/MKL_support.h +137 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/Macros.h +1464 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/Memory.h +1163 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/Meta.h +812 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/NonMPL2.h +3 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/ReshapedHelper.h +51 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/StaticAssert.h +221 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/SymbolicIndex.h +293 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Core/util/XprHelper.h +856 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/RealQZ.h +657 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/RealSchur.h +558 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/AlignedBox.h +486 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/AngleAxis.h +247 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/EulerAngles.h +114 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/Homogeneous.h +501 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/Hyperplane.h +282 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/OrthoMethods.h +235 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/ParametrizedLine.h +232 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/Quaternion.h +870 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/Rotation2D.h +199 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/RotationBase.h +206 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/Scaling.h +188 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/Transform.h +1563 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/Translation.h +202 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/Umeyama.h +166 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Householder/BlockHouseholder.h +110 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Householder/Householder.h +176 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Householder/HouseholderSequence.h +545 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/Jacobi/Jacobi.h +483 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/KLUSupport/KLUSupport.h +358 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/LU/Determinant.h +117 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/LU/FullPivLU.h +877 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/LU/InverseImpl.h +432 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/LU/PartialPivLU.h +624 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/LU/arch/InverseSize4.h +351 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/MetisSupport/MetisSupport.h +137 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/OrderingMethods/Amd.h +435 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/OrderingMethods/Ordering.h +153 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/QR/HouseholderQR.h +434 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SVD/BDCSVD.h +1366 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SVD/JacobiSVD.h +812 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SVD/SVDBase.h +376 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/AmbiVector.h +378 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/CompressedStorage.h +274 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseAssign.h +270 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseBlock.h +571 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseColEtree.h +206 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseDot.h +98 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseMap.h +305 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparsePermutation.h +178 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseProduct.h +181 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseRedux.h +49 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseRef.h +397 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseTranspose.h +92 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseUtil.h +186 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseVector.h +478 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/SparseView.h +254 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseCore/TriangularSolver.h +315 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU.h +923 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SparseQR/SparseQR.h +758 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/StlSupport/StdDeque.h +116 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/StlSupport/StdList.h +106 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/StlSupport/StdVector.h +131 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/StlSupport/details.h +84 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/misc/Image.h +82 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/misc/Kernel.h +79 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/misc/RealSvd2x2.h +55 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/misc/blas.h +440 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/misc/lapack.h +152 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/misc/lapacke.h +16292 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/misc/lapacke_mangling.h +17 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/plugins/BlockMethods.h +1442 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/plugins/IndexedViewMethods.h +262 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
- roboticstoolbox/ets/cpp-extensions/Eigen/src/plugins/ReshapedMethods.h +149 -0
- roboticstoolbox/ets/cpp-extensions/README.md +73 -0
- roboticstoolbox/ets/cpp-extensions/fknm_nb.cpp +534 -0
- roboticstoolbox/ets/cpp-extensions/ik.cpp +301 -0
- roboticstoolbox/ets/cpp-extensions/ik.h +59 -0
- roboticstoolbox/ets/cpp-extensions/linalg.cpp +316 -0
- roboticstoolbox/ets/cpp-extensions/linalg.h +64 -0
- roboticstoolbox/ets/cpp-extensions/methods.cpp +372 -0
- roboticstoolbox/ets/cpp-extensions/methods.h +32 -0
- roboticstoolbox/ets/cpp-extensions/structs.cpp +24 -0
- roboticstoolbox/ets/cpp-extensions/structs.h +62 -0
- roboticstoolbox/ets/fknm.py +366 -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 +194 -0
- roboticstoolbox/mobile/drivers.py +397 -0
- roboticstoolbox/mobile/landmarkmap.py +181 -0
- roboticstoolbox/mobile/sensors.py +789 -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 +81 -0
- roboticstoolbox/models/DH/Hyper3d.py +83 -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 +80 -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 +213 -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 +153 -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 +70 -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 +45 -0
- roboticstoolbox/models/URDF/Fetch.py +96 -0
- roboticstoolbox/models/URDF/Frankie.py +67 -0
- roboticstoolbox/models/URDF/FrankieOmni.py +94 -0
- roboticstoolbox/models/URDF/Jaco.py +49 -0
- roboticstoolbox/models/URDF/KinovaGen3.py +63 -0
- roboticstoolbox/models/URDF/LBR.py +57 -0
- roboticstoolbox/models/URDF/PR2.py +66 -0
- roboticstoolbox/models/URDF/Panda.py +60 -0
- roboticstoolbox/models/URDF/Puma560.py +90 -0
- roboticstoolbox/models/URDF/UR10.py +43 -0
- roboticstoolbox/models/URDF/UR3.py +43 -0
- roboticstoolbox/models/URDF/UR5.py +64 -0
- roboticstoolbox/models/URDF/URDFRobot.py +402 -0
- roboticstoolbox/models/URDF/Valkyrie.py +110 -0
- roboticstoolbox/models/URDF/YuMi.py +107 -0
- roboticstoolbox/models/URDF/__init__.py +51 -0
- roboticstoolbox/models/URDF/px100.py +48 -0
- roboticstoolbox/models/URDF/px150.py +48 -0
- roboticstoolbox/models/URDF/rx150.py +48 -0
- roboticstoolbox/models/URDF/rx200.py +48 -0
- roboticstoolbox/models/URDF/vx300.py +48 -0
- roboticstoolbox/models/URDF/vx300s.py +48 -0
- roboticstoolbox/models/URDF/wx200.py +48 -0
- roboticstoolbox/models/URDF/wx250.py +48 -0
- roboticstoolbox/models/URDF/wx250s.py +48 -0
- roboticstoolbox/models/__init__.py +7 -0
- roboticstoolbox/models/catalog.py +226 -0
- roboticstoolbox/robot/BaseRobot.py +2589 -0
- roboticstoolbox/robot/DHFactor.py +522 -0
- roboticstoolbox/robot/DHLink.py +949 -0
- roboticstoolbox/robot/DHRobot.py +2591 -0
- roboticstoolbox/robot/Dynamics.py +1537 -0
- roboticstoolbox/robot/ELink.py +23 -0
- roboticstoolbox/robot/ERobot.py +25 -0
- roboticstoolbox/robot/Gripper.py +242 -0
- roboticstoolbox/robot/IK.py +1378 -0
- roboticstoolbox/robot/Link.py +1557 -0
- roboticstoolbox/robot/PoERobot.py +352 -0
- roboticstoolbox/robot/Robot.py +2157 -0
- roboticstoolbox/robot/RobotKinematics.py +1505 -0
- roboticstoolbox/robot/RobotPlottingMPL.py +355 -0
- roboticstoolbox/robot/RobotProto.py +156 -0
- roboticstoolbox/robot/__init__.py +57 -0
- roboticstoolbox/robot/cpp-extensions/README.md +29 -0
- roboticstoolbox/robot/cpp-extensions/frne.h +96 -0
- roboticstoolbox/robot/cpp-extensions/frne_nb.cpp +237 -0
- roboticstoolbox/robot/cpp-extensions/ne.c +495 -0
- roboticstoolbox/robot/cpp-extensions/vmath.c +163 -0
- roboticstoolbox/robot/cpp-extensions/vmath.h +32 -0
- roboticstoolbox/robot/frne.py +51 -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 +108 -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 +1930 -0
- roboticstoolbox/tools/urdf/utils.py +50 -0
- roboticstoolbox_python-1.4.0.dist-info/METADATA +664 -0
- roboticstoolbox_python-1.4.0.dist-info/RECORD +610 -0
- roboticstoolbox_python-1.4.0.dist-info/WHEEL +5 -0
- roboticstoolbox_python-1.4.0.dist-info/entry_points.txt +6 -0
- roboticstoolbox_python-1.4.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
@author: Jesse Haviland
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import roboticstoolbox as rtb
|
|
8
|
+
from numpy import array, ndarray, pi
|
|
9
|
+
from spatialmath.base import trotx, troty, trotz
|
|
10
|
+
# Aliased: the bottom of this module rebinds the bare name `SE3` to the
|
|
11
|
+
# ET.SE3 classmethod (the free-function alias), so the spatialmath class
|
|
12
|
+
# needs its own name here.
|
|
13
|
+
from spatialmath import SE3 as SE3T
|
|
14
|
+
|
|
15
|
+
from roboticstoolbox.ets._ET import BaseET, Sym, _AXIS_TO_INT, _resolve_param
|
|
16
|
+
from roboticstoolbox.ets.fknm import ET_T, ET_init, ET_update
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class ET(BaseET):
|
|
20
|
+
# See BaseET._deepcopy_skip: the compiled acceleration handle is
|
|
21
|
+
# rebuilt by _accel_init() rather than deep-copied.
|
|
22
|
+
_deepcopy_skip = ("_ET__fknm",)
|
|
23
|
+
|
|
24
|
+
def __init__(self, **kwargs):
|
|
25
|
+
# Set before super().__init__() runs: BaseET.__init__ may invoke
|
|
26
|
+
# the `param` setter (for a static ET), which calls _accel_update()
|
|
27
|
+
# below. `None` here tells _accel_update() the compiled struct
|
|
28
|
+
# doesn't exist yet, so it skips the sync instead of touching an
|
|
29
|
+
# attribute that isn't there yet.
|
|
30
|
+
self.__fknm = None
|
|
31
|
+
super().__init__(**kwargs)
|
|
32
|
+
# Now that BaseET.__init__ has finished (axis/param/T/joint/etc. are
|
|
33
|
+
# all final), do the one real build of the compiled struct.
|
|
34
|
+
self._accel_init()
|
|
35
|
+
|
|
36
|
+
def __mul__(self, other: "ET") -> "rtb.ETS":
|
|
37
|
+
return rtb.ETS([self, other])
|
|
38
|
+
|
|
39
|
+
def __add__(self, other: "ET") -> "rtb.ETS":
|
|
40
|
+
return self.__mul__(other)
|
|
41
|
+
|
|
42
|
+
# ------------------------------------------------------------------
|
|
43
|
+
# Compiled C++ acceleration. ET2 has none of this - see BaseET's
|
|
44
|
+
# no-op _accel_init/_accel_update and pure-Python A().
|
|
45
|
+
# ------------------------------------------------------------------
|
|
46
|
+
def __axis_to_number(self, axis: str) -> int:
|
|
47
|
+
"""
|
|
48
|
+
Private convenience function which converts the axis string to an
|
|
49
|
+
integer for faster processing in the C extensions
|
|
50
|
+
"""
|
|
51
|
+
return _AXIS_TO_INT.get(axis, 0)
|
|
52
|
+
|
|
53
|
+
def _accel_init(self) -> None:
|
|
54
|
+
"""
|
|
55
|
+
Build the compiled struct that holds this ET's data, from the
|
|
56
|
+
current (final) Python-side state.
|
|
57
|
+
"""
|
|
58
|
+
if self.jindex is None:
|
|
59
|
+
jindex = 0
|
|
60
|
+
else:
|
|
61
|
+
jindex = self.jindex
|
|
62
|
+
|
|
63
|
+
if self.qlim is None:
|
|
64
|
+
if self.kind[0] == "R":
|
|
65
|
+
qlim = array([-pi, pi])
|
|
66
|
+
else:
|
|
67
|
+
qlim = array([0, 1])
|
|
68
|
+
else:
|
|
69
|
+
qlim = self.qlim
|
|
70
|
+
|
|
71
|
+
self.__fknm = ET_init(
|
|
72
|
+
self._isstaticsym,
|
|
73
|
+
self.isjoint,
|
|
74
|
+
self.isflip,
|
|
75
|
+
jindex,
|
|
76
|
+
self.__axis_to_number(self.kind),
|
|
77
|
+
self._T,
|
|
78
|
+
qlim,
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
def _accel_update(self) -> None:
|
|
82
|
+
"""
|
|
83
|
+
Push current Python-side state to the compiled struct. Called
|
|
84
|
+
whenever param/qlim/jindex change after construction. A no-op while
|
|
85
|
+
the struct doesn't exist yet (i.e. mid-__init__, before
|
|
86
|
+
_accel_init() has run for the first time).
|
|
87
|
+
"""
|
|
88
|
+
if self.__fknm is None:
|
|
89
|
+
return
|
|
90
|
+
|
|
91
|
+
if self.jindex is None:
|
|
92
|
+
jindex = 0
|
|
93
|
+
else:
|
|
94
|
+
jindex = self.jindex
|
|
95
|
+
|
|
96
|
+
if self.qlim is None:
|
|
97
|
+
if self.kind[0] == "R":
|
|
98
|
+
qlim = array([-pi, pi])
|
|
99
|
+
else:
|
|
100
|
+
qlim = array([0, 1])
|
|
101
|
+
else:
|
|
102
|
+
qlim = self.qlim
|
|
103
|
+
|
|
104
|
+
ET_update(
|
|
105
|
+
self.__fknm,
|
|
106
|
+
self._isstaticsym,
|
|
107
|
+
self.isjoint,
|
|
108
|
+
self.isflip,
|
|
109
|
+
jindex,
|
|
110
|
+
self.__axis_to_number(self.kind),
|
|
111
|
+
self._T,
|
|
112
|
+
qlim,
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
@property
|
|
116
|
+
def fknm(self):
|
|
117
|
+
return self.__fknm
|
|
118
|
+
|
|
119
|
+
def A(self, q: float | Sym = 0.0) -> ndarray:
|
|
120
|
+
"""
|
|
121
|
+
Evaluate an elementary transformation
|
|
122
|
+
|
|
123
|
+
:param q: Is used if this ET is variable (a joint)
|
|
124
|
+
:returns: The SE(3) matrix value of the ET
|
|
125
|
+
:rtype: ndarray
|
|
126
|
+
|
|
127
|
+
Examples
|
|
128
|
+
--------
|
|
129
|
+
|
|
130
|
+
.. runblock:: pycon
|
|
131
|
+
|
|
132
|
+
>>> from roboticstoolbox import ET
|
|
133
|
+
>>> e = ET.tx(1)
|
|
134
|
+
>>> e.A()
|
|
135
|
+
>>> e = ET.tx()
|
|
136
|
+
>>> e.A(0.7)
|
|
137
|
+
|
|
138
|
+
"""
|
|
139
|
+
try:
|
|
140
|
+
# Try and use the C implementation, flip is handled in C
|
|
141
|
+
return ET_T(self.__fknm, q)
|
|
142
|
+
except TypeError:
|
|
143
|
+
# We can't use the fast version (e.g. symbolic q), fall back
|
|
144
|
+
# to the pure-Python evaluation shared with ET2
|
|
145
|
+
return super().A(q)
|
|
146
|
+
|
|
147
|
+
@property
|
|
148
|
+
def s(self) -> ndarray: # pragma: nocover
|
|
149
|
+
if self.kind[1] == "x":
|
|
150
|
+
if self.kind[0] == "R":
|
|
151
|
+
return array([0, 0, 0, 1, 0, 0])
|
|
152
|
+
else:
|
|
153
|
+
return array([1, 0, 0, 0, 0, 0])
|
|
154
|
+
elif self.kind[1] == "y":
|
|
155
|
+
if self.kind[0] == "R":
|
|
156
|
+
return array([0, 0, 0, 0, 1, 0])
|
|
157
|
+
else:
|
|
158
|
+
return array([0, 1, 0, 0, 0, 0])
|
|
159
|
+
else:
|
|
160
|
+
if self.kind[0] == "R":
|
|
161
|
+
return array([0, 0, 0, 0, 0, 1])
|
|
162
|
+
else:
|
|
163
|
+
return array([0, 0, 1, 0, 0, 0])
|
|
164
|
+
|
|
165
|
+
@classmethod
|
|
166
|
+
def Rx(
|
|
167
|
+
cls,
|
|
168
|
+
param: float | Sym | str | None = None,
|
|
169
|
+
unit: str = "rad",
|
|
170
|
+
*,
|
|
171
|
+
eta: float | None = None,
|
|
172
|
+
**kwargs,
|
|
173
|
+
) -> "ET":
|
|
174
|
+
"""
|
|
175
|
+
Pure rotation about the x-axis
|
|
176
|
+
|
|
177
|
+
:param param: rotation about the x-axis
|
|
178
|
+
:param unit: angular unit, "rad" [default] or "deg"
|
|
179
|
+
:param j: Explicit joint number within the robot
|
|
180
|
+
:param flip: Joint moves in opposite direction
|
|
181
|
+
:returns: An elementary transform
|
|
182
|
+
:rtype: ET
|
|
183
|
+
|
|
184
|
+
- ``ET.Rx(param)`` is an elementary rotation about the x-axis by a
|
|
185
|
+
constant angle
|
|
186
|
+
- ``ET.Rx()`` is an elementary rotation about the x-axis by a variable
|
|
187
|
+
angle, i.e. a revolute robot joint. ``j`` or ``flip`` can be set in
|
|
188
|
+
this case.
|
|
189
|
+
|
|
190
|
+
See Also
|
|
191
|
+
--------
|
|
192
|
+
:func:`ET`
|
|
193
|
+
:func:`isrotation`
|
|
194
|
+
|
|
195
|
+
:SymPy: supported
|
|
196
|
+
"""
|
|
197
|
+
param = _resolve_param(param, eta)
|
|
198
|
+
return cls(axis="Rx", param=param, axis_func=trotx, unit=unit, **kwargs)
|
|
199
|
+
|
|
200
|
+
@classmethod
|
|
201
|
+
def Ry(
|
|
202
|
+
cls,
|
|
203
|
+
param: float | Sym | str | None = None,
|
|
204
|
+
unit: str = "rad",
|
|
205
|
+
*,
|
|
206
|
+
eta: float | None = None,
|
|
207
|
+
**kwargs,
|
|
208
|
+
) -> "ET":
|
|
209
|
+
"""
|
|
210
|
+
Pure rotation about the y-axis
|
|
211
|
+
|
|
212
|
+
:param param: rotation about the y-axis
|
|
213
|
+
:param unit: angular unit, "rad" [default] or "deg"
|
|
214
|
+
:param j: Explicit joint number within the robot
|
|
215
|
+
:param flip: Joint moves in opposite direction
|
|
216
|
+
:returns: An elementary transform
|
|
217
|
+
:rtype: ET
|
|
218
|
+
|
|
219
|
+
- ``ET.Ry(param)`` is an elementary rotation about the y-axis by a
|
|
220
|
+
constant angle
|
|
221
|
+
- ``ET.Ry()`` is an elementary rotation about the y-axis by a variable
|
|
222
|
+
angle, i.e. a revolute robot joint. ``j`` or ``flip`` can be set in
|
|
223
|
+
this case.
|
|
224
|
+
|
|
225
|
+
See Also
|
|
226
|
+
--------
|
|
227
|
+
:func:`ET`
|
|
228
|
+
:func:`isrotation`
|
|
229
|
+
|
|
230
|
+
:SymPy: supported
|
|
231
|
+
"""
|
|
232
|
+
param = _resolve_param(param, eta)
|
|
233
|
+
return cls(axis="Ry", param=param, axis_func=troty, unit=unit, **kwargs)
|
|
234
|
+
|
|
235
|
+
@classmethod
|
|
236
|
+
def Rz(
|
|
237
|
+
cls,
|
|
238
|
+
param: float | Sym | str | None = None,
|
|
239
|
+
unit: str = "rad",
|
|
240
|
+
*,
|
|
241
|
+
eta: float | None = None,
|
|
242
|
+
**kwargs,
|
|
243
|
+
) -> "ET":
|
|
244
|
+
"""
|
|
245
|
+
Pure rotation about the z-axis
|
|
246
|
+
|
|
247
|
+
:param param: rotation about the z-axis
|
|
248
|
+
:param unit: angular unit, "rad" [default] or "deg"
|
|
249
|
+
:param j: Explicit joint number within the robot
|
|
250
|
+
:param flip: Joint moves in opposite direction
|
|
251
|
+
:returns: An elementary transform
|
|
252
|
+
:rtype: ET
|
|
253
|
+
|
|
254
|
+
- ``ET.Rz(param)`` is an elementary rotation about the z-axis by a
|
|
255
|
+
constant angle
|
|
256
|
+
- ``ET.Rz()`` is an elementary rotation about the z-axis by a variable
|
|
257
|
+
angle, i.e. a revolute robot joint. ``j`` or ``flip`` can be set in
|
|
258
|
+
this case.
|
|
259
|
+
|
|
260
|
+
See Also
|
|
261
|
+
--------
|
|
262
|
+
:func:`ET`
|
|
263
|
+
:func:`isrotation`
|
|
264
|
+
|
|
265
|
+
:SymPy: supported
|
|
266
|
+
"""
|
|
267
|
+
param = _resolve_param(param, eta)
|
|
268
|
+
return cls(axis="Rz", param=param, axis_func=trotz, unit=unit, **kwargs)
|
|
269
|
+
|
|
270
|
+
@classmethod
|
|
271
|
+
def tx(
|
|
272
|
+
cls,
|
|
273
|
+
param: float | Sym | str | None = None,
|
|
274
|
+
*,
|
|
275
|
+
eta: float | None = None,
|
|
276
|
+
**kwargs,
|
|
277
|
+
) -> "ET":
|
|
278
|
+
"""
|
|
279
|
+
Pure translation along the x-axis
|
|
280
|
+
|
|
281
|
+
:param param: translation distance along the x-axis
|
|
282
|
+
:param j: Explicit joint number within the robot
|
|
283
|
+
:param flip: Joint moves in opposite direction
|
|
284
|
+
:returns: An elementary transform
|
|
285
|
+
:rtype: ET
|
|
286
|
+
|
|
287
|
+
- ``ET.tx(param)`` is an elementary translation along the x-axis by a
|
|
288
|
+
distance constant
|
|
289
|
+
- ``ET.tx()`` is an elementary translation along the x-axis by a
|
|
290
|
+
variable distance, i.e. a prismatic robot joint. ``j`` or ``flip``
|
|
291
|
+
can be set in this case.
|
|
292
|
+
|
|
293
|
+
See Also
|
|
294
|
+
--------
|
|
295
|
+
:func:`ET`
|
|
296
|
+
:func:`istranslation`
|
|
297
|
+
|
|
298
|
+
:SymPy: supported
|
|
299
|
+
"""
|
|
300
|
+
param = _resolve_param(param, eta)
|
|
301
|
+
|
|
302
|
+
# this method is 3x faster than using lambda x: transl(x, 0, 0)
|
|
303
|
+
def axis_func(param):
|
|
304
|
+
# fmt: off
|
|
305
|
+
return array([
|
|
306
|
+
[1, 0, 0, param],
|
|
307
|
+
[0, 1, 0, 0],
|
|
308
|
+
[0, 0, 1, 0],
|
|
309
|
+
[0, 0, 0, 1]
|
|
310
|
+
])
|
|
311
|
+
# fmt: on
|
|
312
|
+
|
|
313
|
+
return cls(axis="tx", axis_func=axis_func, param=param, **kwargs)
|
|
314
|
+
|
|
315
|
+
@classmethod
|
|
316
|
+
def ty(
|
|
317
|
+
cls,
|
|
318
|
+
param: float | Sym | str | None = None,
|
|
319
|
+
*,
|
|
320
|
+
eta: float | None = None,
|
|
321
|
+
**kwargs,
|
|
322
|
+
) -> "ET":
|
|
323
|
+
"""
|
|
324
|
+
Pure translation along the y-axis
|
|
325
|
+
|
|
326
|
+
:param param: translation distance along the y-axis
|
|
327
|
+
:param j: Explicit joint number within the robot
|
|
328
|
+
:param flip: Joint moves in opposite direction
|
|
329
|
+
:returns: An elementary transform
|
|
330
|
+
:rtype: ET
|
|
331
|
+
|
|
332
|
+
- ``ET.ty(param)`` is an elementary translation along the y-axis by a
|
|
333
|
+
distance constant
|
|
334
|
+
- ``ET.ty()`` is an elementary translation along the y-axis by a
|
|
335
|
+
variable distance, i.e. a prismatic robot joint. ``j`` or ``flip``
|
|
336
|
+
can be set in this case.
|
|
337
|
+
|
|
338
|
+
See Also
|
|
339
|
+
--------
|
|
340
|
+
:func:`ET`
|
|
341
|
+
:func:`istranslation`
|
|
342
|
+
|
|
343
|
+
:SymPy: supported
|
|
344
|
+
"""
|
|
345
|
+
param = _resolve_param(param, eta)
|
|
346
|
+
|
|
347
|
+
def axis_func(param):
|
|
348
|
+
# fmt: off
|
|
349
|
+
return array([
|
|
350
|
+
[1, 0, 0, 0],
|
|
351
|
+
[0, 1, 0, param],
|
|
352
|
+
[0, 0, 1, 0],
|
|
353
|
+
[0, 0, 0, 1]
|
|
354
|
+
])
|
|
355
|
+
# fmt: on
|
|
356
|
+
|
|
357
|
+
return cls(axis="ty", param=param, axis_func=axis_func, **kwargs)
|
|
358
|
+
|
|
359
|
+
@classmethod
|
|
360
|
+
def tz(
|
|
361
|
+
cls,
|
|
362
|
+
param: float | Sym | str | None = None,
|
|
363
|
+
*,
|
|
364
|
+
eta: float | None = None,
|
|
365
|
+
**kwargs,
|
|
366
|
+
) -> "ET":
|
|
367
|
+
"""
|
|
368
|
+
Pure translation along the z-axis
|
|
369
|
+
|
|
370
|
+
:param param: translation distance along the z-axis
|
|
371
|
+
:param j: Explicit joint number within the robot
|
|
372
|
+
:param flip: Joint moves in opposite direction
|
|
373
|
+
:returns: An elementary transform
|
|
374
|
+
:rtype: ET
|
|
375
|
+
|
|
376
|
+
- ``ET.tz(param)`` is an elementary translation along the z-axis by a
|
|
377
|
+
distance constant
|
|
378
|
+
- ``ET.tz()`` is an elementary translation along the z-axis by a
|
|
379
|
+
variable distance, i.e. a prismatic robot joint. ``j`` or ``flip``
|
|
380
|
+
can be set in this case.
|
|
381
|
+
|
|
382
|
+
See Also
|
|
383
|
+
--------
|
|
384
|
+
:func:`ET`
|
|
385
|
+
:func:`istranslation`
|
|
386
|
+
|
|
387
|
+
:SymPy: supported
|
|
388
|
+
"""
|
|
389
|
+
param = _resolve_param(param, eta)
|
|
390
|
+
|
|
391
|
+
def axis_func(param):
|
|
392
|
+
# fmt: off
|
|
393
|
+
return array([
|
|
394
|
+
[1, 0, 0, 0],
|
|
395
|
+
[0, 1, 0, 0],
|
|
396
|
+
[0, 0, 1, param],
|
|
397
|
+
[0, 0, 0, 1]
|
|
398
|
+
])
|
|
399
|
+
# fmt: on
|
|
400
|
+
|
|
401
|
+
return cls(axis="tz", axis_func=axis_func, param=param, **kwargs)
|
|
402
|
+
|
|
403
|
+
@classmethod
|
|
404
|
+
def SE3(cls, T: ndarray | SE3T, **kwargs) -> "ET":
|
|
405
|
+
"""
|
|
406
|
+
A static SE3
|
|
407
|
+
|
|
408
|
+
:param T: The SE3 transformation matrix
|
|
409
|
+
:returns: An elementary transform
|
|
410
|
+
:rtype: ET
|
|
411
|
+
|
|
412
|
+
See Also
|
|
413
|
+
--------
|
|
414
|
+
:func:`ET`
|
|
415
|
+
:func:`istranslation`
|
|
416
|
+
|
|
417
|
+
:SymPy: supported
|
|
418
|
+
"""
|
|
419
|
+
|
|
420
|
+
trans = T.A if isinstance(T, SE3T) else T
|
|
421
|
+
|
|
422
|
+
return cls(axis="SE3", T=trans, **kwargs)
|
|
423
|
+
|
|
424
|
+
|
|
425
|
+
# ---------------------------------------------------------------------------
|
|
426
|
+
# Bare free-function aliases, so `from roboticstoolbox.ets.ET import *` pulls
|
|
427
|
+
# in exactly the 3D names (no ET2 tx/ty collision - see roboticstoolbox.ets.ET2
|
|
428
|
+
# for the 2D equivalents, which can't be wildcard-imported alongside these
|
|
429
|
+
# since they share the tx/ty names with different meanings).
|
|
430
|
+
# ---------------------------------------------------------------------------
|
|
431
|
+
Rx = ET.Rx
|
|
432
|
+
Ry = ET.Ry
|
|
433
|
+
Rz = ET.Rz
|
|
434
|
+
tx = ET.tx
|
|
435
|
+
ty = ET.ty
|
|
436
|
+
tz = ET.tz
|
|
437
|
+
SE3 = ET.SE3
|
|
438
|
+
|
|
439
|
+
__all__ = ["ET", "Rx", "Ry", "Rz", "tx", "ty", "tz", "SE3"]
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
@author: Jesse Haviland
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import roboticstoolbox as rtb
|
|
8
|
+
from numpy import array, ndarray
|
|
9
|
+
from spatialmath.base import trot2, transl2
|
|
10
|
+
# Aliased: the bottom of this module rebinds the bare name `SE2` to the
|
|
11
|
+
# ET2.SE2 classmethod (the free-function alias), so the spatialmath class
|
|
12
|
+
# needs its own name here.
|
|
13
|
+
from spatialmath import SE2 as SE2T
|
|
14
|
+
|
|
15
|
+
from roboticstoolbox.ets._ET import BaseET, Sym, _resolve_param
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class ET2(BaseET):
|
|
19
|
+
def __init__(self, **kwargs):
|
|
20
|
+
super().__init__(**kwargs)
|
|
21
|
+
|
|
22
|
+
def __mul__(self, other: "ET2") -> "rtb.ETS2":
|
|
23
|
+
return rtb.ETS2([self, other])
|
|
24
|
+
|
|
25
|
+
def __add__(self, other: "ET2") -> "rtb.ETS2":
|
|
26
|
+
return self.__mul__(other)
|
|
27
|
+
|
|
28
|
+
@property
|
|
29
|
+
def s(self) -> ndarray: # pragma: nocover
|
|
30
|
+
if self.kind[0] == "R":
|
|
31
|
+
return array([0, 0, 0, 1])
|
|
32
|
+
if self.kind[1] == "x":
|
|
33
|
+
return array([1, 0, 0, 0])
|
|
34
|
+
elif self.kind[1] == "y":
|
|
35
|
+
return array([0, 1, 0, 0])
|
|
36
|
+
else:
|
|
37
|
+
return array([0, 0, 1, 0])
|
|
38
|
+
|
|
39
|
+
@classmethod
|
|
40
|
+
def R(
|
|
41
|
+
cls,
|
|
42
|
+
param: float | Sym | str | None = None,
|
|
43
|
+
unit: str = "rad",
|
|
44
|
+
*,
|
|
45
|
+
eta: float | None = None,
|
|
46
|
+
**kwargs,
|
|
47
|
+
) -> "ET2":
|
|
48
|
+
"""
|
|
49
|
+
Pure rotation
|
|
50
|
+
|
|
51
|
+
:param param: rotation angle
|
|
52
|
+
:param unit: angular unit, "rad" [default] or "deg"
|
|
53
|
+
:param j: Explicit joint number within the robot
|
|
54
|
+
:param flip: Joint moves in opposite direction
|
|
55
|
+
:returns: An elementary transform
|
|
56
|
+
:rtype: ET2
|
|
57
|
+
|
|
58
|
+
- ``ET2.R(param)`` is an elementary rotation by a constant angle
|
|
59
|
+
- ``ET2.R()`` is an elementary rotation by a variable angle, i.e. a
|
|
60
|
+
revolute robot joint. ``j`` or ``flip`` can be set in
|
|
61
|
+
this case.
|
|
62
|
+
|
|
63
|
+
.. rubric:: Notes
|
|
64
|
+
|
|
65
|
+
- In the 2D case this is rotation around the normal to the
|
|
66
|
+
xy-plane.
|
|
67
|
+
|
|
68
|
+
See Also
|
|
69
|
+
--------
|
|
70
|
+
:func:`ET2`, :func:`isrotation`
|
|
71
|
+
|
|
72
|
+
"""
|
|
73
|
+
param = _resolve_param(param, eta)
|
|
74
|
+
return cls(
|
|
75
|
+
axis="R", param=param, axis_func=lambda theta: trot2(theta), unit=unit, **kwargs
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
@classmethod
|
|
79
|
+
def tx(
|
|
80
|
+
cls,
|
|
81
|
+
param: float | Sym | str | None = None,
|
|
82
|
+
unit: str = "rad",
|
|
83
|
+
*,
|
|
84
|
+
eta: float | None = None,
|
|
85
|
+
**kwargs,
|
|
86
|
+
) -> "ET2":
|
|
87
|
+
"""
|
|
88
|
+
Pure translation along the x-axis
|
|
89
|
+
|
|
90
|
+
:param param: translation distance along the x-axis
|
|
91
|
+
:param j: Explicit joint number within the robot
|
|
92
|
+
:param flip: Joint moves in opposite direction
|
|
93
|
+
:returns: An elementary transform
|
|
94
|
+
:rtype: ET2
|
|
95
|
+
|
|
96
|
+
- ``ET2.tx(param)`` is an elementary translation along the x-axis by a
|
|
97
|
+
distance constant
|
|
98
|
+
- ``ET2.tx()`` is an elementary translation along the x-axis by a
|
|
99
|
+
variable distance, i.e. a prismatic robot joint. ``j`` or ``flip``
|
|
100
|
+
can be set in this case.
|
|
101
|
+
|
|
102
|
+
See Also
|
|
103
|
+
--------
|
|
104
|
+
:func:`ET2`
|
|
105
|
+
:func:`istranslation`
|
|
106
|
+
|
|
107
|
+
"""
|
|
108
|
+
param = _resolve_param(param, eta)
|
|
109
|
+
return cls(axis="tx", param=param, axis_func=lambda x: transl2(x, 0), **kwargs)
|
|
110
|
+
|
|
111
|
+
@classmethod
|
|
112
|
+
def ty(
|
|
113
|
+
cls,
|
|
114
|
+
param: float | Sym | str | None = None,
|
|
115
|
+
unit: str = "rad",
|
|
116
|
+
*,
|
|
117
|
+
eta: float | None = None,
|
|
118
|
+
**kwargs,
|
|
119
|
+
) -> "ET2":
|
|
120
|
+
"""
|
|
121
|
+
Pure translation along the y-axis
|
|
122
|
+
|
|
123
|
+
:param param: translation distance along the y-axis
|
|
124
|
+
:param j: Explicit joint number within the robot
|
|
125
|
+
:param flip: Joint moves in opposite direction
|
|
126
|
+
:returns: An elementary transform
|
|
127
|
+
:rtype: ET2
|
|
128
|
+
|
|
129
|
+
- ``ET2.ty(param)`` is an elementary translation along the y-axis by a
|
|
130
|
+
distance constant
|
|
131
|
+
- ``ET2.ty()`` is an elementary translation along the y-axis by a
|
|
132
|
+
variable distance, i.e. a prismatic robot joint. ``j`` or ``flip``
|
|
133
|
+
can be set in this case.
|
|
134
|
+
|
|
135
|
+
See Also
|
|
136
|
+
--------
|
|
137
|
+
:func:`ET2`
|
|
138
|
+
|
|
139
|
+
"""
|
|
140
|
+
param = _resolve_param(param, eta)
|
|
141
|
+
return cls(axis="ty", param=param, axis_func=lambda y: transl2(0, y), **kwargs)
|
|
142
|
+
|
|
143
|
+
@classmethod
|
|
144
|
+
def SE2(cls, T: ndarray | SE2T, **kwargs) -> "ET2":
|
|
145
|
+
"""
|
|
146
|
+
A static SE2
|
|
147
|
+
|
|
148
|
+
:param T: The SE2 transformation matrix
|
|
149
|
+
:returns: An elementary transform
|
|
150
|
+
:rtype: ET2
|
|
151
|
+
|
|
152
|
+
See Also
|
|
153
|
+
--------
|
|
154
|
+
:func:`ET2`
|
|
155
|
+
:func:`istranslation`
|
|
156
|
+
|
|
157
|
+
:SymPy: supported
|
|
158
|
+
"""
|
|
159
|
+
|
|
160
|
+
trans = T.A if isinstance(T, SE2T) else T
|
|
161
|
+
|
|
162
|
+
return cls(axis="SE2", T=trans, **kwargs)
|
|
163
|
+
|
|
164
|
+
# A() is inherited from BaseET: ET2 has no compiled acceleration, so
|
|
165
|
+
# the shared pure-Python evaluation is all it ever needed.
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
# ---------------------------------------------------------------------------
|
|
169
|
+
# Bare free-function aliases, so `from roboticstoolbox.ets.ET2 import *` pulls
|
|
170
|
+
# in exactly the 2D names. Note tx/ty here are 2D and mean something
|
|
171
|
+
# different to roboticstoolbox.ets.ET's tx/ty (3D) - importing both modules'
|
|
172
|
+
# wildcards into the same namespace will have the second import's tx/ty win.
|
|
173
|
+
# ---------------------------------------------------------------------------
|
|
174
|
+
R = ET2.R
|
|
175
|
+
tx = ET2.tx
|
|
176
|
+
ty = ET2.ty
|
|
177
|
+
SE2 = ET2.SE2
|
|
178
|
+
|
|
179
|
+
__all__ = ["ET2", "R", "tx", "ty", "SE2"]
|