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,3781 @@
|
|
|
1
|
+
<?xml version="1.0" ?>
|
|
2
|
+
<!-- =================================================================================== -->
|
|
3
|
+
<!-- | This document was autogenerated by xacro from src/xacro/test/robots/pr2/pr2.urdf.xacro | -->
|
|
4
|
+
<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
|
|
5
|
+
<!-- =================================================================================== -->
|
|
6
|
+
<robot name="pr2" xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller" xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface" xmlns:joint="http://playerstage.sourceforge.net/gazebo/xmlschema/#slider" xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor">
|
|
7
|
+
<!--TODO Define and give source-->
|
|
8
|
+
<!-- ============================ Shoulder ============================ -->
|
|
9
|
+
<!-- ============================ Upper Arm ============================ -->
|
|
10
|
+
<!-- ============================ Forearm ============================ -->
|
|
11
|
+
<!-- DATA SOURCES -->
|
|
12
|
+
<!-- all link offsets, CG, limits are obtained from Function Engineering spreadsheet 090224_link_data.xls unless stated otherwise -->
|
|
13
|
+
<!-- all link geometry sizes are obtained from Function provided CAD model unless stated otherwise -->
|
|
14
|
+
<!-- all simplified collision geometry are hand approximated from CAD model, sometimes from respective bounding boxes -->
|
|
15
|
+
<!-- This is the 'effective' wheel radius. Wheel radius for uncompressed wheel is 0.079. mp 20080801 -->
|
|
16
|
+
<!-- FIXME: what is this offset? -->
|
|
17
|
+
<gazebo>
|
|
18
|
+
<plugin filename="libgazebo_ros_controller_manager.so" name="gazebo_ros_controller_manager">
|
|
19
|
+
<alwaysOn>true</alwaysOn>
|
|
20
|
+
<updateRate>1000.0</updateRate>
|
|
21
|
+
</plugin>
|
|
22
|
+
<plugin filename="libgazebo_ros_power_monitor.so" name="gazebo_ros_power_monitor_controller">
|
|
23
|
+
<alwaysOn>true</alwaysOn>
|
|
24
|
+
<updateRate>1.0</updateRate>
|
|
25
|
+
<timeout>5</timeout>
|
|
26
|
+
<powerStateTopic>power_state</powerStateTopic>
|
|
27
|
+
<powerStateRate>10.0</powerStateRate>
|
|
28
|
+
<fullChargeCapacity>87.78</fullChargeCapacity>
|
|
29
|
+
<dischargeRate>-474</dischargeRate>
|
|
30
|
+
<chargeRate>525</chargeRate>
|
|
31
|
+
<dischargeVoltage>15.52</dischargeVoltage>
|
|
32
|
+
<chargeVoltage>16.41</chargeVoltage>
|
|
33
|
+
</plugin>
|
|
34
|
+
</gazebo>
|
|
35
|
+
<material name="Blue">
|
|
36
|
+
<color rgba="0.0 0.0 0.8 1.0"/>
|
|
37
|
+
</material>
|
|
38
|
+
<material name="Green">
|
|
39
|
+
<color rgba="0.0 0.8 0.0 1.0"/>
|
|
40
|
+
</material>
|
|
41
|
+
<material name="Grey">
|
|
42
|
+
<color rgba="0.7 0.7 0.7 1.0"/>
|
|
43
|
+
</material>
|
|
44
|
+
<material name="Grey2">
|
|
45
|
+
<color rgba="0.9 0.9 0.9 1.0"/>
|
|
46
|
+
</material>
|
|
47
|
+
<material name="Red">
|
|
48
|
+
<color rgba="0.8 0.0 0.0 1.0"/>
|
|
49
|
+
</material>
|
|
50
|
+
<material name="White">
|
|
51
|
+
<color rgba="1.0 1.0 1.0 1.0"/>
|
|
52
|
+
</material>
|
|
53
|
+
<material name="Black">
|
|
54
|
+
<color rgba="0.1 0.1 0.1 1.0"/>
|
|
55
|
+
</material>
|
|
56
|
+
<material name="LightGrey">
|
|
57
|
+
<color rgba="0.6 0.6 0.6 1.0"/>
|
|
58
|
+
</material>
|
|
59
|
+
<material name="Caster">
|
|
60
|
+
<texture filename="package://pr2_description/materials/textures/pr2_caster_texture.png"/>
|
|
61
|
+
</material>
|
|
62
|
+
<material name="Wheel_l">
|
|
63
|
+
<texture filename="package://pr2_description/materials/textures/pr2_wheel_left.png"/>
|
|
64
|
+
</material>
|
|
65
|
+
<material name="Wheel_r">
|
|
66
|
+
<texture filename="package://pr2_description/materials/textures/pr2_wheel_right.png"/>
|
|
67
|
+
</material>
|
|
68
|
+
<material name="RollLinks">
|
|
69
|
+
<texture filename="package://pr2_description/materials/textures/pr2_wheel_left.png"/>
|
|
70
|
+
</material>
|
|
71
|
+
<!-- Now we can start using the macros included above to define the actual PR2 -->
|
|
72
|
+
<link name="base_link">
|
|
73
|
+
<inertial>
|
|
74
|
+
<mass value="116.0"/>
|
|
75
|
+
<origin xyz="-0.061 0.0 0.1465"/>
|
|
76
|
+
<inertia ixx="5.652232699207" ixy="-0.009719934438" ixz="1.293988226423" iyy="5.669473158652" iyz="-0.007379583694" izz="3.683196351726"/>
|
|
77
|
+
</inertial>
|
|
78
|
+
<visual>
|
|
79
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
80
|
+
<geometry>
|
|
81
|
+
<mesh filename="package://pr2_description/meshes/base_v0/base.dae"/>
|
|
82
|
+
</geometry>
|
|
83
|
+
<material name="White"/>
|
|
84
|
+
</visual>
|
|
85
|
+
<collision>
|
|
86
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
87
|
+
<geometry>
|
|
88
|
+
<mesh filename="package://pr2_description/meshes/base_v0/base_L.stl"/>
|
|
89
|
+
</geometry>
|
|
90
|
+
</collision>
|
|
91
|
+
</link>
|
|
92
|
+
<!-- base_footprint is a fictitious link(frame) that is on the ground right below base_link origin,
|
|
93
|
+
navigation stack dedpends on this frame -->
|
|
94
|
+
<link name="base_footprint">
|
|
95
|
+
<inertial>
|
|
96
|
+
<mass value="1.0"/>
|
|
97
|
+
<origin xyz="0 0 0"/>
|
|
98
|
+
<inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01"/>
|
|
99
|
+
</inertial>
|
|
100
|
+
<visual>
|
|
101
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
102
|
+
<geometry>
|
|
103
|
+
<box size="0.01 0.01 0.01"/>
|
|
104
|
+
</geometry>
|
|
105
|
+
<material name="White"/>
|
|
106
|
+
</visual>
|
|
107
|
+
<collision>
|
|
108
|
+
<!-- represent base collision with a simple rectangular model, positioned by base_size_z s.t. top
|
|
109
|
+
surface of the collision box matches the top surface of the PR2 base -->
|
|
110
|
+
<origin rpy="0 0 0" xyz="0 0 0.071"/>
|
|
111
|
+
<geometry>
|
|
112
|
+
<box size="0.001 0.001 0.001"/>
|
|
113
|
+
</geometry>
|
|
114
|
+
</collision>
|
|
115
|
+
</link>
|
|
116
|
+
<joint name="base_footprint_joint" type="fixed">
|
|
117
|
+
<origin rpy="0 0 0" xyz="0 0 0.051"/>
|
|
118
|
+
<child link="base_link"/>
|
|
119
|
+
<parent link="base_footprint"/>
|
|
120
|
+
</joint>
|
|
121
|
+
<!-- visualize bellow -->
|
|
122
|
+
<link name="base_bellow_link">
|
|
123
|
+
<inertial>
|
|
124
|
+
<mass value="1.0"/>
|
|
125
|
+
<origin xyz="0 0 0"/>
|
|
126
|
+
<inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01"/>
|
|
127
|
+
</inertial>
|
|
128
|
+
<visual>
|
|
129
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
130
|
+
<geometry>
|
|
131
|
+
<box size="0.05 0.37 0.3"/>
|
|
132
|
+
</geometry>
|
|
133
|
+
<material name="Black"/>
|
|
134
|
+
</visual>
|
|
135
|
+
<collision>
|
|
136
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
137
|
+
<geometry>
|
|
138
|
+
<box size="0.05 0.37 0.3"/>
|
|
139
|
+
</geometry>
|
|
140
|
+
</collision>
|
|
141
|
+
</link>
|
|
142
|
+
<joint name="base_bellow_joint" type="fixed">
|
|
143
|
+
<origin rpy="0 0 0" xyz="-0.29 0 0.8"/>
|
|
144
|
+
<parent link="base_link"/>
|
|
145
|
+
<child link="base_bellow_link"/>
|
|
146
|
+
</joint>
|
|
147
|
+
<joint name="base_laser_joint" type="fixed">
|
|
148
|
+
<axis xyz="0 1 0"/>
|
|
149
|
+
<origin rpy="0 0 0" xyz="0.275 0.0 0.252"/>
|
|
150
|
+
<parent link="base_link"/>
|
|
151
|
+
<child link="base_laser_link"/>
|
|
152
|
+
</joint>
|
|
153
|
+
<link name="base_laser_link" type="laser">
|
|
154
|
+
<inertial>
|
|
155
|
+
<mass value="0.001"/>
|
|
156
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
157
|
+
<inertia ixx="0.0001" ixy="0" ixz="0" iyy="0.000001" iyz="0" izz="0.0001"/>
|
|
158
|
+
</inertial>
|
|
159
|
+
</link>
|
|
160
|
+
<gazebo reference="base_laser_link">
|
|
161
|
+
<sensor name="base_laser" type="ray">
|
|
162
|
+
<always_on>true</always_on>
|
|
163
|
+
<update_rate>20</update_rate>
|
|
164
|
+
<pose>0 0 0 0 0 0</pose>
|
|
165
|
+
<visualize>false</visualize>
|
|
166
|
+
<ray>
|
|
167
|
+
<scan>
|
|
168
|
+
<horizontal>
|
|
169
|
+
<samples>640</samples>
|
|
170
|
+
<resolution>1</resolution>
|
|
171
|
+
<min_angle>-2.2689</min_angle>
|
|
172
|
+
<max_angle>2.2689</max_angle>
|
|
173
|
+
</horizontal>
|
|
174
|
+
</scan>
|
|
175
|
+
<range>
|
|
176
|
+
<min>0.08</min>
|
|
177
|
+
<max>10.0</max>
|
|
178
|
+
<resolution>0.01</resolution>
|
|
179
|
+
</range>
|
|
180
|
+
</ray>
|
|
181
|
+
<plugin filename="libgazebo_ros_laser.so" name="gazebo_ros_base_laser_controller">
|
|
182
|
+
<gaussianNoise>0.005</gaussianNoise>
|
|
183
|
+
<alwaysOn>true</alwaysOn>
|
|
184
|
+
<updateRate>20</updateRate>
|
|
185
|
+
<topicName>base_scan</topicName>
|
|
186
|
+
<frameName>base_laser_link</frameName>
|
|
187
|
+
<hokuyoMinIntensity>101</hokuyoMinIntensity>
|
|
188
|
+
</plugin>
|
|
189
|
+
</sensor>
|
|
190
|
+
</gazebo>
|
|
191
|
+
<joint name="fl_caster_rotation_joint" type="continuous">
|
|
192
|
+
<axis xyz="0 0 1"/>
|
|
193
|
+
<limit effort="6.5" velocity="10"/>
|
|
194
|
+
<!-- alpha tested velocity and effort limits -->
|
|
195
|
+
<safety_controller k_velocity="10"/>
|
|
196
|
+
<calibration rising="-0.785398163397"/>
|
|
197
|
+
<dynamics damping="1.0" friction="0.0"/>
|
|
198
|
+
<origin rpy="0 0 0" xyz="0.2246 0.2246 0.0282"/>
|
|
199
|
+
<parent link="base_link"/>
|
|
200
|
+
<child link="fl_caster_rotation_link"/>
|
|
201
|
+
</joint>
|
|
202
|
+
<link name="fl_caster_rotation_link">
|
|
203
|
+
<inertial>
|
|
204
|
+
<mass value="3.473082"/>
|
|
205
|
+
<origin xyz="0 0 0.07"/>
|
|
206
|
+
<inertia ixx="0.012411765597" ixy="-0.000711733678" ixz="0.00050272983" iyy="0.015218160428" iyz="-0.000004273467" izz="0.011763977943"/>
|
|
207
|
+
</inertial>
|
|
208
|
+
<visual>
|
|
209
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
210
|
+
<geometry>
|
|
211
|
+
<mesh filename="package://pr2_description/meshes/base_v0/caster.stl"/>
|
|
212
|
+
</geometry>
|
|
213
|
+
<material name="Caster"/>
|
|
214
|
+
</visual>
|
|
215
|
+
<collision>
|
|
216
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
217
|
+
<geometry>
|
|
218
|
+
<mesh filename="package://pr2_description/meshes/base_v0/caster_L.stl"/>
|
|
219
|
+
</geometry>
|
|
220
|
+
</collision>
|
|
221
|
+
</link>
|
|
222
|
+
<transmission name="fl_caster_rotation_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
223
|
+
<actuator name="fl_caster_rotation_motor"/>
|
|
224
|
+
<joint name="fl_caster_rotation_joint"/>
|
|
225
|
+
<mechanicalReduction>-79.2380952381</mechanicalReduction>
|
|
226
|
+
</transmission>
|
|
227
|
+
<joint name="fl_caster_l_wheel_joint" type="continuous">
|
|
228
|
+
<axis xyz="0 1 0"/>
|
|
229
|
+
<limit effort="7" velocity="15"/>
|
|
230
|
+
<!-- alpha tested effort and velocity limits -->
|
|
231
|
+
<safety_controller k_velocity="10"/>
|
|
232
|
+
<dynamics damping="1.0" friction="0.0"/>
|
|
233
|
+
<origin rpy="0 0 0" xyz="0 0.049 0"/>
|
|
234
|
+
<parent link="fl_caster_rotation_link"/>
|
|
235
|
+
<child link="fl_caster_l_wheel_link"/>
|
|
236
|
+
</joint>
|
|
237
|
+
<link name="fl_caster_l_wheel_link">
|
|
238
|
+
<inertial>
|
|
239
|
+
<mass value="0.44036"/>
|
|
240
|
+
<origin xyz="0 0 0"/>
|
|
241
|
+
<inertia ixx="0.012411765597" ixy="-0.000711733678" ixz="0.00050272983" iyy="0.015218160428" iyz="-0.000004273467" izz="0.011763977943"/>
|
|
242
|
+
</inertial>
|
|
243
|
+
<visual>
|
|
244
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
245
|
+
<geometry>
|
|
246
|
+
<mesh filename="package://pr2_description/meshes/base_v0/wheel.dae"/>
|
|
247
|
+
</geometry>
|
|
248
|
+
<material name="Wheel_l"/>
|
|
249
|
+
</visual>
|
|
250
|
+
<collision>
|
|
251
|
+
<origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
|
|
252
|
+
<!-- rotation because cyl. geom primitive has symmetry axis in +x direction -->
|
|
253
|
+
<geometry>
|
|
254
|
+
<cylinder length="0.034" radius="0.074792"/>
|
|
255
|
+
</geometry>
|
|
256
|
+
</collision>
|
|
257
|
+
</link>
|
|
258
|
+
<gazebo reference="fl_caster_l_wheel_link">
|
|
259
|
+
<mu1 value="100.0"/>
|
|
260
|
+
<mu2 value="100.0"/>
|
|
261
|
+
<kp value="1000000.0"/>
|
|
262
|
+
<kd value="1.0"/>
|
|
263
|
+
<maxVel value="100.0"/>
|
|
264
|
+
<minDepth value="0.0"/>
|
|
265
|
+
</gazebo>
|
|
266
|
+
<transmission name="fl_caster_l_wheel_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
267
|
+
<actuator name="fl_caster_l_wheel_motor"/>
|
|
268
|
+
<joint name="fl_caster_l_wheel_joint"/>
|
|
269
|
+
<mechanicalReduction>79.2380952381</mechanicalReduction>
|
|
270
|
+
</transmission>
|
|
271
|
+
<joint name="fl_caster_r_wheel_joint" type="continuous">
|
|
272
|
+
<axis xyz="0 1 0"/>
|
|
273
|
+
<limit effort="7" velocity="15"/>
|
|
274
|
+
<!-- alpha tested effort and velocity limits -->
|
|
275
|
+
<safety_controller k_velocity="10"/>
|
|
276
|
+
<dynamics damping="1.0" friction="0.0"/>
|
|
277
|
+
<origin rpy="0 0 0" xyz="0 -0.049 0"/>
|
|
278
|
+
<parent link="fl_caster_rotation_link"/>
|
|
279
|
+
<child link="fl_caster_r_wheel_link"/>
|
|
280
|
+
</joint>
|
|
281
|
+
<link name="fl_caster_r_wheel_link">
|
|
282
|
+
<inertial>
|
|
283
|
+
<mass value="0.44036"/>
|
|
284
|
+
<origin xyz="0 0 0"/>
|
|
285
|
+
<inertia ixx="0.012411765597" ixy="-0.000711733678" ixz="0.00050272983" iyy="0.015218160428" iyz="-0.000004273467" izz="0.011763977943"/>
|
|
286
|
+
</inertial>
|
|
287
|
+
<visual>
|
|
288
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
289
|
+
<geometry>
|
|
290
|
+
<mesh filename="package://pr2_description/meshes/base_v0/wheel.dae"/>
|
|
291
|
+
</geometry>
|
|
292
|
+
<material name="Wheel_r"/>
|
|
293
|
+
</visual>
|
|
294
|
+
<collision>
|
|
295
|
+
<origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
|
|
296
|
+
<!-- rotation because cyl. geom primitive has symmetry axis in +x direction -->
|
|
297
|
+
<geometry>
|
|
298
|
+
<cylinder length="0.034" radius="0.074792"/>
|
|
299
|
+
</geometry>
|
|
300
|
+
</collision>
|
|
301
|
+
</link>
|
|
302
|
+
<gazebo reference="fl_caster_r_wheel_link">
|
|
303
|
+
<mu1 value="100.0"/>
|
|
304
|
+
<mu2 value="100.0"/>
|
|
305
|
+
<kp value="1000000.0"/>
|
|
306
|
+
<kd value="1.0"/>
|
|
307
|
+
<maxVel value="100.0"/>
|
|
308
|
+
<minDepth value="0.0"/>
|
|
309
|
+
</gazebo>
|
|
310
|
+
<transmission name="fl_caster_r_wheel_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
311
|
+
<actuator name="fl_caster_r_wheel_motor"/>
|
|
312
|
+
<joint name="fl_caster_r_wheel_joint"/>
|
|
313
|
+
<mechanicalReduction>-79.2380952381</mechanicalReduction>
|
|
314
|
+
</transmission>
|
|
315
|
+
<gazebo reference="fl_caster_rotation_link">
|
|
316
|
+
<material value="PR2/caster_texture"/>
|
|
317
|
+
</gazebo>
|
|
318
|
+
<joint name="fr_caster_rotation_joint" type="continuous">
|
|
319
|
+
<axis xyz="0 0 1"/>
|
|
320
|
+
<limit effort="6.5" velocity="10"/>
|
|
321
|
+
<!-- alpha tested velocity and effort limits -->
|
|
322
|
+
<safety_controller k_velocity="10"/>
|
|
323
|
+
<calibration rising="-0.785398163397"/>
|
|
324
|
+
<dynamics damping="1.0" friction="0.0"/>
|
|
325
|
+
<origin rpy="0 0 0" xyz="0.2246 -0.2246 0.0282"/>
|
|
326
|
+
<parent link="base_link"/>
|
|
327
|
+
<child link="fr_caster_rotation_link"/>
|
|
328
|
+
</joint>
|
|
329
|
+
<link name="fr_caster_rotation_link">
|
|
330
|
+
<inertial>
|
|
331
|
+
<mass value="3.473082"/>
|
|
332
|
+
<origin xyz="0 0 0.07"/>
|
|
333
|
+
<inertia ixx="0.012411765597" ixy="-0.000711733678" ixz="0.00050272983" iyy="0.015218160428" iyz="-0.000004273467" izz="0.011763977943"/>
|
|
334
|
+
</inertial>
|
|
335
|
+
<visual>
|
|
336
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
337
|
+
<geometry>
|
|
338
|
+
<mesh filename="package://pr2_description/meshes/base_v0/caster.stl"/>
|
|
339
|
+
</geometry>
|
|
340
|
+
<material name="Caster"/>
|
|
341
|
+
</visual>
|
|
342
|
+
<collision>
|
|
343
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
344
|
+
<geometry>
|
|
345
|
+
<mesh filename="package://pr2_description/meshes/base_v0/caster_L.stl"/>
|
|
346
|
+
</geometry>
|
|
347
|
+
</collision>
|
|
348
|
+
</link>
|
|
349
|
+
<transmission name="fr_caster_rotation_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
350
|
+
<actuator name="fr_caster_rotation_motor"/>
|
|
351
|
+
<joint name="fr_caster_rotation_joint"/>
|
|
352
|
+
<mechanicalReduction>-79.2380952381</mechanicalReduction>
|
|
353
|
+
</transmission>
|
|
354
|
+
<joint name="fr_caster_l_wheel_joint" type="continuous">
|
|
355
|
+
<axis xyz="0 1 0"/>
|
|
356
|
+
<limit effort="7" velocity="15"/>
|
|
357
|
+
<!-- alpha tested effort and velocity limits -->
|
|
358
|
+
<safety_controller k_velocity="10"/>
|
|
359
|
+
<dynamics damping="1.0" friction="0.0"/>
|
|
360
|
+
<origin rpy="0 0 0" xyz="0 0.049 0"/>
|
|
361
|
+
<parent link="fr_caster_rotation_link"/>
|
|
362
|
+
<child link="fr_caster_l_wheel_link"/>
|
|
363
|
+
</joint>
|
|
364
|
+
<link name="fr_caster_l_wheel_link">
|
|
365
|
+
<inertial>
|
|
366
|
+
<mass value="0.44036"/>
|
|
367
|
+
<origin xyz="0 0 0"/>
|
|
368
|
+
<inertia ixx="0.012411765597" ixy="-0.000711733678" ixz="0.00050272983" iyy="0.015218160428" iyz="-0.000004273467" izz="0.011763977943"/>
|
|
369
|
+
</inertial>
|
|
370
|
+
<visual>
|
|
371
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
372
|
+
<geometry>
|
|
373
|
+
<mesh filename="package://pr2_description/meshes/base_v0/wheel.dae"/>
|
|
374
|
+
</geometry>
|
|
375
|
+
<material name="Wheel_l"/>
|
|
376
|
+
</visual>
|
|
377
|
+
<collision>
|
|
378
|
+
<origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
|
|
379
|
+
<!-- rotation because cyl. geom primitive has symmetry axis in +x direction -->
|
|
380
|
+
<geometry>
|
|
381
|
+
<cylinder length="0.034" radius="0.074792"/>
|
|
382
|
+
</geometry>
|
|
383
|
+
</collision>
|
|
384
|
+
</link>
|
|
385
|
+
<gazebo reference="fr_caster_l_wheel_link">
|
|
386
|
+
<mu1 value="100.0"/>
|
|
387
|
+
<mu2 value="100.0"/>
|
|
388
|
+
<kp value="1000000.0"/>
|
|
389
|
+
<kd value="1.0"/>
|
|
390
|
+
<maxVel value="100.0"/>
|
|
391
|
+
<minDepth value="0.0"/>
|
|
392
|
+
</gazebo>
|
|
393
|
+
<transmission name="fr_caster_l_wheel_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
394
|
+
<actuator name="fr_caster_l_wheel_motor"/>
|
|
395
|
+
<joint name="fr_caster_l_wheel_joint"/>
|
|
396
|
+
<mechanicalReduction>79.2380952381</mechanicalReduction>
|
|
397
|
+
</transmission>
|
|
398
|
+
<joint name="fr_caster_r_wheel_joint" type="continuous">
|
|
399
|
+
<axis xyz="0 1 0"/>
|
|
400
|
+
<limit effort="7" velocity="15"/>
|
|
401
|
+
<!-- alpha tested effort and velocity limits -->
|
|
402
|
+
<safety_controller k_velocity="10"/>
|
|
403
|
+
<dynamics damping="1.0" friction="0.0"/>
|
|
404
|
+
<origin rpy="0 0 0" xyz="0 -0.049 0"/>
|
|
405
|
+
<parent link="fr_caster_rotation_link"/>
|
|
406
|
+
<child link="fr_caster_r_wheel_link"/>
|
|
407
|
+
</joint>
|
|
408
|
+
<link name="fr_caster_r_wheel_link">
|
|
409
|
+
<inertial>
|
|
410
|
+
<mass value="0.44036"/>
|
|
411
|
+
<origin xyz="0 0 0"/>
|
|
412
|
+
<inertia ixx="0.012411765597" ixy="-0.000711733678" ixz="0.00050272983" iyy="0.015218160428" iyz="-0.000004273467" izz="0.011763977943"/>
|
|
413
|
+
</inertial>
|
|
414
|
+
<visual>
|
|
415
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
416
|
+
<geometry>
|
|
417
|
+
<mesh filename="package://pr2_description/meshes/base_v0/wheel.dae"/>
|
|
418
|
+
</geometry>
|
|
419
|
+
<material name="Wheel_r"/>
|
|
420
|
+
</visual>
|
|
421
|
+
<collision>
|
|
422
|
+
<origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
|
|
423
|
+
<!-- rotation because cyl. geom primitive has symmetry axis in +x direction -->
|
|
424
|
+
<geometry>
|
|
425
|
+
<cylinder length="0.034" radius="0.074792"/>
|
|
426
|
+
</geometry>
|
|
427
|
+
</collision>
|
|
428
|
+
</link>
|
|
429
|
+
<gazebo reference="fr_caster_r_wheel_link">
|
|
430
|
+
<mu1 value="100.0"/>
|
|
431
|
+
<mu2 value="100.0"/>
|
|
432
|
+
<kp value="1000000.0"/>
|
|
433
|
+
<kd value="1.0"/>
|
|
434
|
+
<maxVel value="100.0"/>
|
|
435
|
+
<minDepth value="0.0"/>
|
|
436
|
+
</gazebo>
|
|
437
|
+
<transmission name="fr_caster_r_wheel_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
438
|
+
<actuator name="fr_caster_r_wheel_motor"/>
|
|
439
|
+
<joint name="fr_caster_r_wheel_joint"/>
|
|
440
|
+
<mechanicalReduction>-79.2380952381</mechanicalReduction>
|
|
441
|
+
</transmission>
|
|
442
|
+
<gazebo reference="fr_caster_rotation_link">
|
|
443
|
+
<material value="PR2/caster_texture"/>
|
|
444
|
+
</gazebo>
|
|
445
|
+
<joint name="bl_caster_rotation_joint" type="continuous">
|
|
446
|
+
<axis xyz="0 0 1"/>
|
|
447
|
+
<limit effort="6.5" velocity="10"/>
|
|
448
|
+
<!-- alpha tested velocity and effort limits -->
|
|
449
|
+
<safety_controller k_velocity="10"/>
|
|
450
|
+
<calibration rising="2.35619449019"/>
|
|
451
|
+
<dynamics damping="1.0" friction="0.0"/>
|
|
452
|
+
<origin rpy="0 0 0" xyz="-0.2246 0.2246 0.0282"/>
|
|
453
|
+
<parent link="base_link"/>
|
|
454
|
+
<child link="bl_caster_rotation_link"/>
|
|
455
|
+
</joint>
|
|
456
|
+
<link name="bl_caster_rotation_link">
|
|
457
|
+
<inertial>
|
|
458
|
+
<mass value="3.473082"/>
|
|
459
|
+
<origin xyz="0 0 0.07"/>
|
|
460
|
+
<inertia ixx="0.012411765597" ixy="-0.000711733678" ixz="0.00050272983" iyy="0.015218160428" iyz="-0.000004273467" izz="0.011763977943"/>
|
|
461
|
+
</inertial>
|
|
462
|
+
<visual>
|
|
463
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
464
|
+
<geometry>
|
|
465
|
+
<mesh filename="package://pr2_description/meshes/base_v0/caster.stl"/>
|
|
466
|
+
</geometry>
|
|
467
|
+
<material name="Caster"/>
|
|
468
|
+
</visual>
|
|
469
|
+
<collision>
|
|
470
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
471
|
+
<geometry>
|
|
472
|
+
<mesh filename="package://pr2_description/meshes/base_v0/caster_L.stl"/>
|
|
473
|
+
</geometry>
|
|
474
|
+
</collision>
|
|
475
|
+
</link>
|
|
476
|
+
<transmission name="bl_caster_rotation_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
477
|
+
<actuator name="bl_caster_rotation_motor"/>
|
|
478
|
+
<joint name="bl_caster_rotation_joint"/>
|
|
479
|
+
<mechanicalReduction>-79.2380952381</mechanicalReduction>
|
|
480
|
+
</transmission>
|
|
481
|
+
<joint name="bl_caster_l_wheel_joint" type="continuous">
|
|
482
|
+
<axis xyz="0 1 0"/>
|
|
483
|
+
<limit effort="7" velocity="15"/>
|
|
484
|
+
<!-- alpha tested effort and velocity limits -->
|
|
485
|
+
<safety_controller k_velocity="10"/>
|
|
486
|
+
<dynamics damping="1.0" friction="0.0"/>
|
|
487
|
+
<origin rpy="0 0 0" xyz="0 0.049 0"/>
|
|
488
|
+
<parent link="bl_caster_rotation_link"/>
|
|
489
|
+
<child link="bl_caster_l_wheel_link"/>
|
|
490
|
+
</joint>
|
|
491
|
+
<link name="bl_caster_l_wheel_link">
|
|
492
|
+
<inertial>
|
|
493
|
+
<mass value="0.44036"/>
|
|
494
|
+
<origin xyz="0 0 0"/>
|
|
495
|
+
<inertia ixx="0.012411765597" ixy="-0.000711733678" ixz="0.00050272983" iyy="0.015218160428" iyz="-0.000004273467" izz="0.011763977943"/>
|
|
496
|
+
</inertial>
|
|
497
|
+
<visual>
|
|
498
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
499
|
+
<geometry>
|
|
500
|
+
<mesh filename="package://pr2_description/meshes/base_v0/wheel.dae"/>
|
|
501
|
+
</geometry>
|
|
502
|
+
<material name="Wheel_l"/>
|
|
503
|
+
</visual>
|
|
504
|
+
<collision>
|
|
505
|
+
<origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
|
|
506
|
+
<!-- rotation because cyl. geom primitive has symmetry axis in +x direction -->
|
|
507
|
+
<geometry>
|
|
508
|
+
<cylinder length="0.034" radius="0.074792"/>
|
|
509
|
+
</geometry>
|
|
510
|
+
</collision>
|
|
511
|
+
</link>
|
|
512
|
+
<gazebo reference="bl_caster_l_wheel_link">
|
|
513
|
+
<mu1 value="100.0"/>
|
|
514
|
+
<mu2 value="100.0"/>
|
|
515
|
+
<kp value="1000000.0"/>
|
|
516
|
+
<kd value="1.0"/>
|
|
517
|
+
<maxVel value="100.0"/>
|
|
518
|
+
<minDepth value="0.0"/>
|
|
519
|
+
</gazebo>
|
|
520
|
+
<transmission name="bl_caster_l_wheel_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
521
|
+
<actuator name="bl_caster_l_wheel_motor"/>
|
|
522
|
+
<joint name="bl_caster_l_wheel_joint"/>
|
|
523
|
+
<mechanicalReduction>79.2380952381</mechanicalReduction>
|
|
524
|
+
</transmission>
|
|
525
|
+
<joint name="bl_caster_r_wheel_joint" type="continuous">
|
|
526
|
+
<axis xyz="0 1 0"/>
|
|
527
|
+
<limit effort="7" velocity="15"/>
|
|
528
|
+
<!-- alpha tested effort and velocity limits -->
|
|
529
|
+
<safety_controller k_velocity="10"/>
|
|
530
|
+
<dynamics damping="1.0" friction="0.0"/>
|
|
531
|
+
<origin rpy="0 0 0" xyz="0 -0.049 0"/>
|
|
532
|
+
<parent link="bl_caster_rotation_link"/>
|
|
533
|
+
<child link="bl_caster_r_wheel_link"/>
|
|
534
|
+
</joint>
|
|
535
|
+
<link name="bl_caster_r_wheel_link">
|
|
536
|
+
<inertial>
|
|
537
|
+
<mass value="0.44036"/>
|
|
538
|
+
<origin xyz="0 0 0"/>
|
|
539
|
+
<inertia ixx="0.012411765597" ixy="-0.000711733678" ixz="0.00050272983" iyy="0.015218160428" iyz="-0.000004273467" izz="0.011763977943"/>
|
|
540
|
+
</inertial>
|
|
541
|
+
<visual>
|
|
542
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
543
|
+
<geometry>
|
|
544
|
+
<mesh filename="package://pr2_description/meshes/base_v0/wheel.dae"/>
|
|
545
|
+
</geometry>
|
|
546
|
+
<material name="Wheel_r"/>
|
|
547
|
+
</visual>
|
|
548
|
+
<collision>
|
|
549
|
+
<origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
|
|
550
|
+
<!-- rotation because cyl. geom primitive has symmetry axis in +x direction -->
|
|
551
|
+
<geometry>
|
|
552
|
+
<cylinder length="0.034" radius="0.074792"/>
|
|
553
|
+
</geometry>
|
|
554
|
+
</collision>
|
|
555
|
+
</link>
|
|
556
|
+
<gazebo reference="bl_caster_r_wheel_link">
|
|
557
|
+
<mu1 value="100.0"/>
|
|
558
|
+
<mu2 value="100.0"/>
|
|
559
|
+
<kp value="1000000.0"/>
|
|
560
|
+
<kd value="1.0"/>
|
|
561
|
+
<maxVel value="100.0"/>
|
|
562
|
+
<minDepth value="0.0"/>
|
|
563
|
+
</gazebo>
|
|
564
|
+
<transmission name="bl_caster_r_wheel_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
565
|
+
<actuator name="bl_caster_r_wheel_motor"/>
|
|
566
|
+
<joint name="bl_caster_r_wheel_joint"/>
|
|
567
|
+
<mechanicalReduction>-79.2380952381</mechanicalReduction>
|
|
568
|
+
</transmission>
|
|
569
|
+
<gazebo reference="bl_caster_rotation_link">
|
|
570
|
+
<material value="PR2/caster_texture"/>
|
|
571
|
+
</gazebo>
|
|
572
|
+
<joint name="br_caster_rotation_joint" type="continuous">
|
|
573
|
+
<axis xyz="0 0 1"/>
|
|
574
|
+
<limit effort="6.5" velocity="10"/>
|
|
575
|
+
<!-- alpha tested velocity and effort limits -->
|
|
576
|
+
<safety_controller k_velocity="10"/>
|
|
577
|
+
<calibration rising="2.35619449019"/>
|
|
578
|
+
<dynamics damping="1.0" friction="0.0"/>
|
|
579
|
+
<origin rpy="0 0 0" xyz="-0.2246 -0.2246 0.0282"/>
|
|
580
|
+
<parent link="base_link"/>
|
|
581
|
+
<child link="br_caster_rotation_link"/>
|
|
582
|
+
</joint>
|
|
583
|
+
<link name="br_caster_rotation_link">
|
|
584
|
+
<inertial>
|
|
585
|
+
<mass value="3.473082"/>
|
|
586
|
+
<origin xyz="0 0 0.07"/>
|
|
587
|
+
<inertia ixx="0.012411765597" ixy="-0.000711733678" ixz="0.00050272983" iyy="0.015218160428" iyz="-0.000004273467" izz="0.011763977943"/>
|
|
588
|
+
</inertial>
|
|
589
|
+
<visual>
|
|
590
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
591
|
+
<geometry>
|
|
592
|
+
<mesh filename="package://pr2_description/meshes/base_v0/caster.stl"/>
|
|
593
|
+
</geometry>
|
|
594
|
+
<material name="Caster"/>
|
|
595
|
+
</visual>
|
|
596
|
+
<collision>
|
|
597
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
598
|
+
<geometry>
|
|
599
|
+
<mesh filename="package://pr2_description/meshes/base_v0/caster_L.stl"/>
|
|
600
|
+
</geometry>
|
|
601
|
+
</collision>
|
|
602
|
+
</link>
|
|
603
|
+
<transmission name="br_caster_rotation_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
604
|
+
<actuator name="br_caster_rotation_motor"/>
|
|
605
|
+
<joint name="br_caster_rotation_joint"/>
|
|
606
|
+
<mechanicalReduction>-79.2380952381</mechanicalReduction>
|
|
607
|
+
</transmission>
|
|
608
|
+
<joint name="br_caster_l_wheel_joint" type="continuous">
|
|
609
|
+
<axis xyz="0 1 0"/>
|
|
610
|
+
<limit effort="7" velocity="15"/>
|
|
611
|
+
<!-- alpha tested effort and velocity limits -->
|
|
612
|
+
<safety_controller k_velocity="10"/>
|
|
613
|
+
<dynamics damping="1.0" friction="0.0"/>
|
|
614
|
+
<origin rpy="0 0 0" xyz="0 0.049 0"/>
|
|
615
|
+
<parent link="br_caster_rotation_link"/>
|
|
616
|
+
<child link="br_caster_l_wheel_link"/>
|
|
617
|
+
</joint>
|
|
618
|
+
<link name="br_caster_l_wheel_link">
|
|
619
|
+
<inertial>
|
|
620
|
+
<mass value="0.44036"/>
|
|
621
|
+
<origin xyz="0 0 0"/>
|
|
622
|
+
<inertia ixx="0.012411765597" ixy="-0.000711733678" ixz="0.00050272983" iyy="0.015218160428" iyz="-0.000004273467" izz="0.011763977943"/>
|
|
623
|
+
</inertial>
|
|
624
|
+
<visual>
|
|
625
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
626
|
+
<geometry>
|
|
627
|
+
<mesh filename="package://pr2_description/meshes/base_v0/wheel.dae"/>
|
|
628
|
+
</geometry>
|
|
629
|
+
<material name="Wheel_l"/>
|
|
630
|
+
</visual>
|
|
631
|
+
<collision>
|
|
632
|
+
<origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
|
|
633
|
+
<!-- rotation because cyl. geom primitive has symmetry axis in +x direction -->
|
|
634
|
+
<geometry>
|
|
635
|
+
<cylinder length="0.034" radius="0.074792"/>
|
|
636
|
+
</geometry>
|
|
637
|
+
</collision>
|
|
638
|
+
</link>
|
|
639
|
+
<gazebo reference="br_caster_l_wheel_link">
|
|
640
|
+
<mu1 value="100.0"/>
|
|
641
|
+
<mu2 value="100.0"/>
|
|
642
|
+
<kp value="1000000.0"/>
|
|
643
|
+
<kd value="1.0"/>
|
|
644
|
+
<maxVel value="100.0"/>
|
|
645
|
+
<minDepth value="0.0"/>
|
|
646
|
+
</gazebo>
|
|
647
|
+
<transmission name="br_caster_l_wheel_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
648
|
+
<actuator name="br_caster_l_wheel_motor"/>
|
|
649
|
+
<joint name="br_caster_l_wheel_joint"/>
|
|
650
|
+
<mechanicalReduction>79.2380952381</mechanicalReduction>
|
|
651
|
+
</transmission>
|
|
652
|
+
<joint name="br_caster_r_wheel_joint" type="continuous">
|
|
653
|
+
<axis xyz="0 1 0"/>
|
|
654
|
+
<limit effort="7" velocity="15"/>
|
|
655
|
+
<!-- alpha tested effort and velocity limits -->
|
|
656
|
+
<safety_controller k_velocity="10"/>
|
|
657
|
+
<dynamics damping="1.0" friction="0.0"/>
|
|
658
|
+
<origin rpy="0 0 0" xyz="0 -0.049 0"/>
|
|
659
|
+
<parent link="br_caster_rotation_link"/>
|
|
660
|
+
<child link="br_caster_r_wheel_link"/>
|
|
661
|
+
</joint>
|
|
662
|
+
<link name="br_caster_r_wheel_link">
|
|
663
|
+
<inertial>
|
|
664
|
+
<mass value="0.44036"/>
|
|
665
|
+
<origin xyz="0 0 0"/>
|
|
666
|
+
<inertia ixx="0.012411765597" ixy="-0.000711733678" ixz="0.00050272983" iyy="0.015218160428" iyz="-0.000004273467" izz="0.011763977943"/>
|
|
667
|
+
</inertial>
|
|
668
|
+
<visual>
|
|
669
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
670
|
+
<geometry>
|
|
671
|
+
<mesh filename="package://pr2_description/meshes/base_v0/wheel.dae"/>
|
|
672
|
+
</geometry>
|
|
673
|
+
<material name="Wheel_r"/>
|
|
674
|
+
</visual>
|
|
675
|
+
<collision>
|
|
676
|
+
<origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
|
|
677
|
+
<!-- rotation because cyl. geom primitive has symmetry axis in +x direction -->
|
|
678
|
+
<geometry>
|
|
679
|
+
<cylinder length="0.034" radius="0.074792"/>
|
|
680
|
+
</geometry>
|
|
681
|
+
</collision>
|
|
682
|
+
</link>
|
|
683
|
+
<gazebo reference="br_caster_r_wheel_link">
|
|
684
|
+
<mu1 value="100.0"/>
|
|
685
|
+
<mu2 value="100.0"/>
|
|
686
|
+
<kp value="1000000.0"/>
|
|
687
|
+
<kd value="1.0"/>
|
|
688
|
+
<maxVel value="100.0"/>
|
|
689
|
+
<minDepth value="0.0"/>
|
|
690
|
+
</gazebo>
|
|
691
|
+
<transmission name="br_caster_r_wheel_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
692
|
+
<actuator name="br_caster_r_wheel_motor"/>
|
|
693
|
+
<joint name="br_caster_r_wheel_joint"/>
|
|
694
|
+
<mechanicalReduction>-79.2380952381</mechanicalReduction>
|
|
695
|
+
</transmission>
|
|
696
|
+
<gazebo reference="br_caster_rotation_link">
|
|
697
|
+
<material value="PR2/caster_texture"/>
|
|
698
|
+
</gazebo>
|
|
699
|
+
<gazebo reference="base_link">
|
|
700
|
+
<selfCollide>false</selfCollide>
|
|
701
|
+
<sensor name="base_contact_sensor" type="contact">
|
|
702
|
+
<always_on>true</always_on>
|
|
703
|
+
<update_rate>100.0</update_rate>
|
|
704
|
+
<contact>
|
|
705
|
+
<collision>base_link_geom</collision>
|
|
706
|
+
</contact>
|
|
707
|
+
<plugin filename="libgazebo_ros_bumper.so" name="base_gazebo_ros_bumper_controller">
|
|
708
|
+
<alwaysOn>true</alwaysOn>
|
|
709
|
+
<updateRate>100.0</updateRate>
|
|
710
|
+
<bumperTopicName>base_bumper</bumperTopicName>
|
|
711
|
+
<frameName>world</frameName>
|
|
712
|
+
</plugin>
|
|
713
|
+
</sensor>
|
|
714
|
+
</gazebo>
|
|
715
|
+
<gazebo reference="base_bellow_link">
|
|
716
|
+
<material value="PR2/Black"/>
|
|
717
|
+
</gazebo>
|
|
718
|
+
<gazebo>
|
|
719
|
+
<plugin filename="libgazebo_ros_p3d.so" name="p3d_base_controller">
|
|
720
|
+
<alwaysOn>true</alwaysOn>
|
|
721
|
+
<updateRate>100.0</updateRate>
|
|
722
|
+
<bodyName>base_link</bodyName>
|
|
723
|
+
<topicName>base_pose_ground_truth</topicName>
|
|
724
|
+
<gaussianNoise>0.01</gaussianNoise>
|
|
725
|
+
<frameName>map</frameName>
|
|
726
|
+
<xyzOffsets>0 0 0</xyzOffsets>
|
|
727
|
+
<rpyOffsets>0 0 0</rpyOffsets>
|
|
728
|
+
</plugin>
|
|
729
|
+
</gazebo>
|
|
730
|
+
<joint name="torso_lift_joint" type="prismatic">
|
|
731
|
+
<axis xyz="0 0 1"/>
|
|
732
|
+
<limit effort="10000" lower="0.0" upper="0.33" velocity="0.013"/>
|
|
733
|
+
<!-- alpha tested velocity and effort limits -->
|
|
734
|
+
<safety_controller k_position="100" k_velocity="2000000" soft_lower_limit="0.0115" soft_upper_limit="0.325"/>
|
|
735
|
+
<calibration falling="0.00475"/>
|
|
736
|
+
<dynamics damping="20000.0"/>
|
|
737
|
+
<origin rpy="0 0 0" xyz="-0.05 0 0.739675"/>
|
|
738
|
+
<parent link="base_link"/>
|
|
739
|
+
<child link="torso_lift_link"/>
|
|
740
|
+
</joint>
|
|
741
|
+
<link name="torso_lift_link">
|
|
742
|
+
<inertial>
|
|
743
|
+
<mass value="36.248046"/>
|
|
744
|
+
<origin xyz="-0.1 0 -0.0885"/>
|
|
745
|
+
<inertia ixx="2.771653750257" ixy="0.004284522609" ixz="-0.160418504506" iyy="2.510019507959" iyz="0.029664468704" izz="0.526432355569"/>
|
|
746
|
+
</inertial>
|
|
747
|
+
<visual>
|
|
748
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
749
|
+
<geometry>
|
|
750
|
+
<mesh filename="package://pr2_description/meshes/torso_v0/torso_lift.dae"/>
|
|
751
|
+
</geometry>
|
|
752
|
+
<material name="Grey2"/>
|
|
753
|
+
</visual>
|
|
754
|
+
<collision name="torso_lift_collision">
|
|
755
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
756
|
+
<geometry>
|
|
757
|
+
<mesh filename="package://pr2_description/meshes/torso_v0/torso_lift_L.stl"/>
|
|
758
|
+
</geometry>
|
|
759
|
+
</collision>
|
|
760
|
+
</link>
|
|
761
|
+
<joint name="l_torso_lift_side_plate_joint" type="fixed">
|
|
762
|
+
<origin xyz="0.0535 0.209285 0.176625"/>
|
|
763
|
+
<!-- location of bottom front bolt hole location -->
|
|
764
|
+
<parent link="torso_lift_link"/>
|
|
765
|
+
<child link="l_torso_lift_side_plate_link"/>
|
|
766
|
+
</joint>
|
|
767
|
+
<link name="l_torso_lift_side_plate_link">
|
|
768
|
+
<inertial>
|
|
769
|
+
<mass value="0.1"/>
|
|
770
|
+
<origin xyz="-0.0625 0.0 0.05"/>
|
|
771
|
+
<!-- center of the 12.5cm by 10cm bolt hole pattern -->
|
|
772
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
|
|
773
|
+
</inertial>
|
|
774
|
+
</link>
|
|
775
|
+
<joint name="r_torso_lift_side_plate_joint" type="fixed">
|
|
776
|
+
<origin xyz="0.0535 -0.209285 0.176625"/>
|
|
777
|
+
<!-- location of bottom front bolt hole location -->
|
|
778
|
+
<parent link="torso_lift_link"/>
|
|
779
|
+
<child link="r_torso_lift_side_plate_link"/>
|
|
780
|
+
</joint>
|
|
781
|
+
<link name="r_torso_lift_side_plate_link">
|
|
782
|
+
<inertial>
|
|
783
|
+
<mass value="0.1"/>
|
|
784
|
+
<origin xyz="-0.0625 0.0 0.05"/>
|
|
785
|
+
<!-- center of the 12.5cm by 10cm bolt hole pattern -->
|
|
786
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
|
|
787
|
+
</inertial>
|
|
788
|
+
</link>
|
|
789
|
+
<!-- actuated motor screw joint -->
|
|
790
|
+
<link name="torso_lift_motor_screw_link">
|
|
791
|
+
<inertial>
|
|
792
|
+
<mass value="1.0"/>
|
|
793
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
794
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
|
|
795
|
+
</inertial>
|
|
796
|
+
<!-- for debugging only
|
|
797
|
+
<visual>
|
|
798
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
799
|
+
<geometry>
|
|
800
|
+
<box size="0.5 0.7 0.01" />
|
|
801
|
+
</geometry>
|
|
802
|
+
</visual>
|
|
803
|
+
<collision>
|
|
804
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
805
|
+
<geometry>
|
|
806
|
+
<box size="0.5 0.7 0.01" />
|
|
807
|
+
</geometry>
|
|
808
|
+
</collision>
|
|
809
|
+
-->
|
|
810
|
+
</link>
|
|
811
|
+
<joint name="torso_lift_motor_screw_joint" type="continuous">
|
|
812
|
+
<origin xyz="-0.15 0.0 0.7"/>
|
|
813
|
+
<axis xyz="0 0 1"/>
|
|
814
|
+
<parent link="base_link"/>
|
|
815
|
+
<child link="torso_lift_motor_screw_link"/>
|
|
816
|
+
<dynamics damping="0.0001"/>
|
|
817
|
+
</joint>
|
|
818
|
+
<gazebo reference="torso_lift_link">
|
|
819
|
+
<sensor name="torso_lift_contact_sensor" type="contact">
|
|
820
|
+
<contact>
|
|
821
|
+
<collision>torso_lift_link_geom</collision>
|
|
822
|
+
</contact>
|
|
823
|
+
<update_rate>100.0</update_rate>
|
|
824
|
+
<plugin filename="libgazebo_ros_bumper.so" name="torso_lift_gazebo_ros_bumper_controller">
|
|
825
|
+
<alwaysOn>true</alwaysOn>
|
|
826
|
+
<updateRate>100.0</updateRate>
|
|
827
|
+
<bumperTopicName>torso_lift_bumper</bumperTopicName>
|
|
828
|
+
<frameName>world</frameName>
|
|
829
|
+
</plugin>
|
|
830
|
+
</sensor>
|
|
831
|
+
</gazebo>
|
|
832
|
+
<gazebo>
|
|
833
|
+
<joint name="torso_lift_screw_torso_lift_joint" type="screw">
|
|
834
|
+
<parent>torso_lift_link</parent>
|
|
835
|
+
<child>torso_lift_motor_screw_link</child>
|
|
836
|
+
<axis>
|
|
837
|
+
<xyz>0 0 1</xyz>
|
|
838
|
+
</axis>
|
|
839
|
+
<thread_pitch>3141.6</thread_pitch>
|
|
840
|
+
</joint>
|
|
841
|
+
</gazebo>
|
|
842
|
+
<transmission name="torso_lift_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
843
|
+
<actuator name="torso_lift_motor"/>
|
|
844
|
+
<joint name="torso_lift_joint"/>
|
|
845
|
+
<mechanicalReduction>-47641.53</mechanicalReduction>
|
|
846
|
+
<simulated_actuated_joint name="torso_lift_motor_screw_joint" simulated_reduction="3141.6"/>
|
|
847
|
+
</transmission>
|
|
848
|
+
<joint name="imu_joint" type="fixed">
|
|
849
|
+
<axis xyz="0 1 0"/>
|
|
850
|
+
<origin rpy="0 3.14159265359 0" xyz="-0.02977 -0.1497 0.164"/>
|
|
851
|
+
<parent link="torso_lift_link"/>
|
|
852
|
+
<child link="imu_link"/>
|
|
853
|
+
</joint>
|
|
854
|
+
<link name="imu_link">
|
|
855
|
+
<inertial>
|
|
856
|
+
<mass value="0.001"/>
|
|
857
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
858
|
+
<inertia ixx="0.0001" ixy="0" ixz="0" iyy="0.000001" iyz="0" izz="0.0001"/>
|
|
859
|
+
</inertial>
|
|
860
|
+
</link>
|
|
861
|
+
<gazebo>
|
|
862
|
+
<plugin filename="libgazebo_ros_imu.so" name="imu_controller">
|
|
863
|
+
<alwaysOn>true</alwaysOn>
|
|
864
|
+
<updateRate>100.0</updateRate>
|
|
865
|
+
<bodyName>imu_link</bodyName>
|
|
866
|
+
<topicName>torso_lift_imu/data</topicName>
|
|
867
|
+
<gaussianNoise>2.89e-08</gaussianNoise>
|
|
868
|
+
<xyzOffset>0 0 0</xyzOffset>
|
|
869
|
+
<rpyOffset>0 -180.0 0</rpyOffset>
|
|
870
|
+
<serviceName>/default_imu</serviceName>
|
|
871
|
+
</plugin>
|
|
872
|
+
</gazebo>
|
|
873
|
+
<joint name="head_pan_joint" type="revolute">
|
|
874
|
+
<axis xyz="0 0 1"/>
|
|
875
|
+
<limit effort="2.645" lower="-3.007" upper="3.007" velocity="6"/>
|
|
876
|
+
<!-- alpha tested velocity and effort limits -->
|
|
877
|
+
<safety_controller k_position="100" k_velocity="1.5" soft_lower_limit="-2.857" soft_upper_limit="2.857"/>
|
|
878
|
+
<calibration rising="0.0"/>
|
|
879
|
+
<dynamics damping="0.5"/>
|
|
880
|
+
<origin rpy="0.0 0.0 0.0" xyz="-0.01707 0.0 0.38145"/>
|
|
881
|
+
<parent link="torso_lift_link"/>
|
|
882
|
+
<child link="head_pan_link"/>
|
|
883
|
+
</joint>
|
|
884
|
+
<link name="head_pan_link">
|
|
885
|
+
<inertial>
|
|
886
|
+
<mass value="6.339"/>
|
|
887
|
+
<!-- mass/cog/moi updated per 100505_link_data.xls -->
|
|
888
|
+
<origin rpy="0 0 0" xyz="0.010907 0.031693 0.090507"/>
|
|
889
|
+
<inertia ixx="0.032497592" ixy="0.00063604088" ixz="0.0025851534" iyy="0.046545627" iyz="-0.0024534295" izz="0.057652724"/>
|
|
890
|
+
</inertial>
|
|
891
|
+
<visual>
|
|
892
|
+
<origin rpy="0 0 0 " xyz="0 0 0.0"/>
|
|
893
|
+
<geometry>
|
|
894
|
+
<mesh filename="package://pr2_description/meshes/head_v0/head_pan.dae"/>
|
|
895
|
+
</geometry>
|
|
896
|
+
<material name="Blue"/>
|
|
897
|
+
</visual>
|
|
898
|
+
<collision>
|
|
899
|
+
<geometry>
|
|
900
|
+
<mesh filename="package://pr2_description/meshes/head_v0/head_pan_L.stl"/>
|
|
901
|
+
</geometry>
|
|
902
|
+
</collision>
|
|
903
|
+
</link>
|
|
904
|
+
<transmission name="head_pan_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
905
|
+
<actuator name="head_pan_motor"/>
|
|
906
|
+
<joint name="head_pan_joint"/>
|
|
907
|
+
<mechanicalReduction>6.0</mechanicalReduction>
|
|
908
|
+
</transmission>
|
|
909
|
+
<joint name="head_tilt_joint" type="revolute">
|
|
910
|
+
<axis xyz="0 1 0"/>
|
|
911
|
+
<limit effort="18" lower="-0.471238" upper="1.39626" velocity="5"/>
|
|
912
|
+
<!-- alpha tested velocity and effort limits -->
|
|
913
|
+
<safety_controller k_position="100" k_velocity="3.0" soft_lower_limit="-0.3712" soft_upper_limit="1.29626"/>
|
|
914
|
+
<calibration falling="0.0"/>
|
|
915
|
+
<dynamics damping="10.0"/>
|
|
916
|
+
<origin rpy="0 0 0" xyz="0.068 0 0"/>
|
|
917
|
+
<parent link="head_pan_link"/>
|
|
918
|
+
<child link="head_tilt_link"/>
|
|
919
|
+
</joint>
|
|
920
|
+
<link name="head_tilt_link">
|
|
921
|
+
<inertial>
|
|
922
|
+
<mass value="4.479"/>
|
|
923
|
+
<!-- mass/cog/moi updated per 100505_link_data.xls -->
|
|
924
|
+
<origin rpy="0 0 0" xyz="0.001716 -0.019556 0.055002"/>
|
|
925
|
+
<inertia ixx="0.024223222" ixy="0.00062063507" ixz="-0.000096909696" iyy="0.054723086" iyz="0.00279702400" izz="0.067306377"/>
|
|
926
|
+
</inertial>
|
|
927
|
+
<visual>
|
|
928
|
+
<origin rpy="0.0 0.0 0.0" xyz="0 0 0"/>
|
|
929
|
+
<geometry>
|
|
930
|
+
<mesh filename="package://pr2_description/meshes/head_v0/head_tilt.dae"/>
|
|
931
|
+
</geometry>
|
|
932
|
+
<material name="Green"/>
|
|
933
|
+
</visual>
|
|
934
|
+
<collision>
|
|
935
|
+
<origin rpy="0.0 0.0 0.0" xyz="0 0 0"/>
|
|
936
|
+
<geometry>
|
|
937
|
+
<mesh filename="package://pr2_description/meshes/head_v0/head_tilt_L.stl"/>
|
|
938
|
+
</geometry>
|
|
939
|
+
</collision>
|
|
940
|
+
</link>
|
|
941
|
+
<transmission name="head_tilt_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
942
|
+
<actuator name="head_tilt_motor"/>
|
|
943
|
+
<joint name="head_tilt_joint"/>
|
|
944
|
+
<mechanicalReduction>6.0</mechanicalReduction>
|
|
945
|
+
</transmission>
|
|
946
|
+
<!-- Head plate frame -->
|
|
947
|
+
<joint name="head_plate_frame_joint" type="fixed">
|
|
948
|
+
<origin rpy="0 0 0" xyz="0.0232 0 0.0645"/>
|
|
949
|
+
<parent link="head_tilt_link"/>
|
|
950
|
+
<child link="head_plate_frame"/>
|
|
951
|
+
</joint>
|
|
952
|
+
<link name="head_plate_frame">
|
|
953
|
+
<inertial>
|
|
954
|
+
<mass value="0.01"/>
|
|
955
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
956
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
|
|
957
|
+
</inertial>
|
|
958
|
+
<visual>
|
|
959
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
960
|
+
<geometry>
|
|
961
|
+
<box size="0.01 0.01 0.01"/>
|
|
962
|
+
</geometry>
|
|
963
|
+
<material name="Blue"/>
|
|
964
|
+
</visual>
|
|
965
|
+
<collision>
|
|
966
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
967
|
+
<geometry>
|
|
968
|
+
<box size="0.01 0.01 0.01"/>
|
|
969
|
+
</geometry>
|
|
970
|
+
</collision>
|
|
971
|
+
</link>
|
|
972
|
+
<gazebo reference="head_plate_frame">
|
|
973
|
+
<material value="Gazebo/Grey"/>
|
|
974
|
+
</gazebo>
|
|
975
|
+
<joint name="sensor_mount_frame_joint" type="fixed">
|
|
976
|
+
<origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
|
|
977
|
+
<parent link="head_plate_frame"/>
|
|
978
|
+
<child link="sensor_mount_link"/>
|
|
979
|
+
</joint>
|
|
980
|
+
<link name="sensor_mount_link">
|
|
981
|
+
<inertial>
|
|
982
|
+
<!-- Needs verification with CAD -->
|
|
983
|
+
<mass value="0.05"/>
|
|
984
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
985
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.01"/>
|
|
986
|
+
</inertial>
|
|
987
|
+
<!-- Should probably get real visuals here at some point -->
|
|
988
|
+
<visual>
|
|
989
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
990
|
+
<geometry>
|
|
991
|
+
<box size="0.01 0.01 0.01"/>
|
|
992
|
+
</geometry>
|
|
993
|
+
<material name="Blue"/>
|
|
994
|
+
</visual>
|
|
995
|
+
</link>
|
|
996
|
+
<joint name="high_def_frame_joint" type="fixed">
|
|
997
|
+
<origin rpy="0 0 0" xyz="0.046457 -0.110 0.054600"/>
|
|
998
|
+
<parent link="sensor_mount_link"/>
|
|
999
|
+
<child link="high_def_frame"/>
|
|
1000
|
+
</joint>
|
|
1001
|
+
<link name="high_def_frame">
|
|
1002
|
+
<inertial>
|
|
1003
|
+
<mass value="0.01"/>
|
|
1004
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1005
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
|
|
1006
|
+
</inertial>
|
|
1007
|
+
</link>
|
|
1008
|
+
<joint name="high_def_optical_frame_joint" type="fixed">
|
|
1009
|
+
<origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0.0 0.0 0.0"/>
|
|
1010
|
+
<parent link="high_def_frame"/>
|
|
1011
|
+
<child link="high_def_optical_frame"/>
|
|
1012
|
+
</joint>
|
|
1013
|
+
<link name="high_def_optical_frame">
|
|
1014
|
+
<inertial>
|
|
1015
|
+
<mass value="0.01"/>
|
|
1016
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1017
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
|
|
1018
|
+
</inertial>
|
|
1019
|
+
</link>
|
|
1020
|
+
<gazebo reference="high_def_frame">
|
|
1021
|
+
<sensor name="high_def_sensor" type="camera">
|
|
1022
|
+
<always_on>true</always_on>
|
|
1023
|
+
<update_rate>20.0</update_rate>
|
|
1024
|
+
<camera>
|
|
1025
|
+
<horizontal_fov>0.785398163397</horizontal_fov>
|
|
1026
|
+
<image>
|
|
1027
|
+
<format>R8G8B8</format>
|
|
1028
|
+
<width>2448</width>
|
|
1029
|
+
<height>2050</height>
|
|
1030
|
+
</image>
|
|
1031
|
+
<clip>
|
|
1032
|
+
<near>0.1</near>
|
|
1033
|
+
<far>100</far>
|
|
1034
|
+
</clip>
|
|
1035
|
+
</camera>
|
|
1036
|
+
<plugin filename="libgazebo_ros_prosilica.so" name="high_def_controller">
|
|
1037
|
+
<updateRate>20.0</updateRate>
|
|
1038
|
+
<cameraName>prosilica</cameraName>
|
|
1039
|
+
<imageTopicName>image_raw</imageTopicName>
|
|
1040
|
+
<cameraInfoTopicName>camera_info</cameraInfoTopicName>
|
|
1041
|
+
<pollServiceName>request_image</pollServiceName>
|
|
1042
|
+
<frameName>high_def_optical_frame</frameName>
|
|
1043
|
+
<CxPrime>1224.5</CxPrime>
|
|
1044
|
+
<Cx>1224.5</Cx>
|
|
1045
|
+
<Cy>1025.5</Cy>
|
|
1046
|
+
<focalLength>2954.998083</focalLength>
|
|
1047
|
+
<distortionK1>0.0</distortionK1>
|
|
1048
|
+
<distortionK2>0.0</distortionK2>
|
|
1049
|
+
<distortionK3>0.0</distortionK3>
|
|
1050
|
+
<distortionT1>0.0</distortionT1>
|
|
1051
|
+
<distortionT2>0.0</distortionT2>
|
|
1052
|
+
</plugin>
|
|
1053
|
+
</sensor>
|
|
1054
|
+
<material value="Gazebo/Black"/>
|
|
1055
|
+
</gazebo>
|
|
1056
|
+
<!-- Define link to stereo cameras, set origin relative to that -->
|
|
1057
|
+
<joint name="double_stereo_frame_joint" type="fixed">
|
|
1058
|
+
<origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
|
|
1059
|
+
<parent link="sensor_mount_link"/>
|
|
1060
|
+
<child link="double_stereo_link"/>
|
|
1061
|
+
</joint>
|
|
1062
|
+
<link name="double_stereo_link">
|
|
1063
|
+
<inertial>
|
|
1064
|
+
<!-- Needs verification with CAD -->
|
|
1065
|
+
<mass value="0.1"/>
|
|
1066
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1067
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.01"/>
|
|
1068
|
+
</inertial>
|
|
1069
|
+
<!-- Should probably get real visuals here at some point -->
|
|
1070
|
+
<visual>
|
|
1071
|
+
<origin rpy="0 0 0" xyz="-0.01 0 0.025"/>
|
|
1072
|
+
<geometry>
|
|
1073
|
+
<box size="0.02 0.12 0.05"/>
|
|
1074
|
+
</geometry>
|
|
1075
|
+
<material name="Blue"/>
|
|
1076
|
+
</visual>
|
|
1077
|
+
</link>
|
|
1078
|
+
<joint name="wide_stereo_frame_joint" type="fixed">
|
|
1079
|
+
<origin rpy="0.0 0.0 0.0" xyz="0.045 0.03 0.0501"/>
|
|
1080
|
+
<parent link="double_stereo_link"/>
|
|
1081
|
+
<child link="wide_stereo_link"/>
|
|
1082
|
+
</joint>
|
|
1083
|
+
<!-- camera link is at center of the optical frame, but in x-forward notation -->
|
|
1084
|
+
<link name="wide_stereo_link">
|
|
1085
|
+
<inertial>
|
|
1086
|
+
<mass value="0.1"/>
|
|
1087
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1088
|
+
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01"/>
|
|
1089
|
+
<!-- this inertia is made up for now. -->
|
|
1090
|
+
</inertial>
|
|
1091
|
+
</link>
|
|
1092
|
+
<!-- attach optical frame to the camera link -->
|
|
1093
|
+
<joint name="wide_stereo_optical_frame_joint" type="fixed">
|
|
1094
|
+
<origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0 0 0"/>
|
|
1095
|
+
<!-- rotate frame from x-forward to z-forward camera coords -->
|
|
1096
|
+
<parent link="wide_stereo_link"/>
|
|
1097
|
+
<child link="wide_stereo_optical_frame"/>
|
|
1098
|
+
</joint>
|
|
1099
|
+
<!-- optical frame for the stereo camera, with z-forward notation, this is the frame stereo camera images users should refer to -->
|
|
1100
|
+
<link name="wide_stereo_optical_frame" type="camera"/>
|
|
1101
|
+
<joint name="wide_stereo_l_stereo_camera_frame_joint" type="fixed">
|
|
1102
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1103
|
+
<parent link="wide_stereo_link"/>
|
|
1104
|
+
<child link="wide_stereo_l_stereo_camera_frame"/>
|
|
1105
|
+
</joint>
|
|
1106
|
+
<link name="wide_stereo_l_stereo_camera_frame">
|
|
1107
|
+
<inertial>
|
|
1108
|
+
<mass value="0.01"/>
|
|
1109
|
+
<origin xyz="0 0 0"/>
|
|
1110
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
|
|
1111
|
+
</inertial>
|
|
1112
|
+
</link>
|
|
1113
|
+
<joint name="wide_stereo_l_stereo_camera_optical_frame_joint" type="fixed">
|
|
1114
|
+
<origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0 0 0"/>
|
|
1115
|
+
<parent link="wide_stereo_l_stereo_camera_frame"/>
|
|
1116
|
+
<child link="wide_stereo_l_stereo_camera_optical_frame"/>
|
|
1117
|
+
</joint>
|
|
1118
|
+
<link name="wide_stereo_l_stereo_camera_optical_frame"/>
|
|
1119
|
+
<gazebo reference="wide_stereo_l_stereo_camera_frame">
|
|
1120
|
+
<sensor name="wide_stereo_l_stereo_camera_sensor" type="camera">
|
|
1121
|
+
<always_on>true</always_on>
|
|
1122
|
+
<update_rate>25.0</update_rate>
|
|
1123
|
+
<camera>
|
|
1124
|
+
<horizontal_fov>1.57079632679</horizontal_fov>
|
|
1125
|
+
<image>
|
|
1126
|
+
<format>BAYER_BGGR8</format>
|
|
1127
|
+
<width>640</width>
|
|
1128
|
+
<height>480</height>
|
|
1129
|
+
</image>
|
|
1130
|
+
<clip>
|
|
1131
|
+
<near>0.1</near>
|
|
1132
|
+
<far>100</far>
|
|
1133
|
+
</clip>
|
|
1134
|
+
</camera>
|
|
1135
|
+
<plugin filename="libgazebo_ros_camera.so" name="wide_stereo_l_stereo_camera_controller">
|
|
1136
|
+
<alwaysOn>true</alwaysOn>
|
|
1137
|
+
<updateRate>25.0</updateRate>
|
|
1138
|
+
<cameraName>wide_stereo/left</cameraName>
|
|
1139
|
+
<imageTopicName>image_raw</imageTopicName>
|
|
1140
|
+
<cameraInfoTopicName>camera_info</cameraInfoTopicName>
|
|
1141
|
+
<frameName>wide_stereo_optical_frame</frameName>
|
|
1142
|
+
<hackBaseline>0</hackBaseline>
|
|
1143
|
+
<CxPrime>320.5</CxPrime>
|
|
1144
|
+
<Cx>320.5</Cx>
|
|
1145
|
+
<Cy>240.5</Cy>
|
|
1146
|
+
<!-- image_width / (2*tan(hfov_radian /2)) -->
|
|
1147
|
+
<!-- 320 for wide and 772.55 for narrow stereo camera -->
|
|
1148
|
+
<focalLength>320.000105</focalLength>
|
|
1149
|
+
<distortionK1>0.0</distortionK1>
|
|
1150
|
+
<distortionK2>0.0</distortionK2>
|
|
1151
|
+
<distortionK3>0.0</distortionK3>
|
|
1152
|
+
<distortionT1>0.0</distortionT1>
|
|
1153
|
+
<distortionT2>0.0</distortionT2>
|
|
1154
|
+
</plugin>
|
|
1155
|
+
</sensor>
|
|
1156
|
+
<turnGravityOff>true</turnGravityOff>
|
|
1157
|
+
<material>PR2/Blue</material>
|
|
1158
|
+
</gazebo>
|
|
1159
|
+
<joint name="wide_stereo_r_stereo_camera_frame_joint" type="fixed">
|
|
1160
|
+
<origin rpy="0.0 0.0 0.0" xyz="0.0 -0.09 0.0"/>
|
|
1161
|
+
<parent link="wide_stereo_l_stereo_camera_frame"/>
|
|
1162
|
+
<child link="wide_stereo_r_stereo_camera_frame"/>
|
|
1163
|
+
</joint>
|
|
1164
|
+
<link name="wide_stereo_r_stereo_camera_frame">
|
|
1165
|
+
<inertial>
|
|
1166
|
+
<mass value="0.01"/>
|
|
1167
|
+
<origin xyz="0 0 0"/>
|
|
1168
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
|
|
1169
|
+
</inertial>
|
|
1170
|
+
</link>
|
|
1171
|
+
<joint name="wide_stereo_r_stereo_camera_optical_frame_joint" type="fixed">
|
|
1172
|
+
<origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0 0 0"/>
|
|
1173
|
+
<parent link="wide_stereo_r_stereo_camera_frame"/>
|
|
1174
|
+
<child link="wide_stereo_r_stereo_camera_optical_frame"/>
|
|
1175
|
+
</joint>
|
|
1176
|
+
<link name="wide_stereo_r_stereo_camera_optical_frame"/>
|
|
1177
|
+
<gazebo reference="wide_stereo_r_stereo_camera_frame">
|
|
1178
|
+
<sensor name="wide_stereo_r_stereo_camera_sensor" type="camera">
|
|
1179
|
+
<always_on>true</always_on>
|
|
1180
|
+
<update_rate>25.0</update_rate>
|
|
1181
|
+
<camera>
|
|
1182
|
+
<horizontal_fov>1.57079632679</horizontal_fov>
|
|
1183
|
+
<image>
|
|
1184
|
+
<format>BAYER_BGGR8</format>
|
|
1185
|
+
<width>640</width>
|
|
1186
|
+
<height>480</height>
|
|
1187
|
+
</image>
|
|
1188
|
+
<clip>
|
|
1189
|
+
<near>0.1</near>
|
|
1190
|
+
<far>100</far>
|
|
1191
|
+
</clip>
|
|
1192
|
+
</camera>
|
|
1193
|
+
<plugin filename="libgazebo_ros_camera.so" name="wide_stereo_r_stereo_camera_controller">
|
|
1194
|
+
<alwaysOn>true</alwaysOn>
|
|
1195
|
+
<updateRate>25.0</updateRate>
|
|
1196
|
+
<cameraName>wide_stereo/right</cameraName>
|
|
1197
|
+
<imageTopicName>image_raw</imageTopicName>
|
|
1198
|
+
<cameraInfoTopicName>camera_info</cameraInfoTopicName>
|
|
1199
|
+
<frameName>wide_stereo_optical_frame</frameName>
|
|
1200
|
+
<hackBaseline>0.09</hackBaseline>
|
|
1201
|
+
<CxPrime>320.5</CxPrime>
|
|
1202
|
+
<Cx>320.5</Cx>
|
|
1203
|
+
<Cy>240.5</Cy>
|
|
1204
|
+
<!-- image_width / (2*tan(hfov_radian /2)) -->
|
|
1205
|
+
<!-- 320 for wide and 772.55 for narrow stereo camera -->
|
|
1206
|
+
<focalLength>320.000105</focalLength>
|
|
1207
|
+
<distortionK1>0.0</distortionK1>
|
|
1208
|
+
<distortionK2>0.0</distortionK2>
|
|
1209
|
+
<distortionK3>0.0</distortionK3>
|
|
1210
|
+
<distortionT1>0.0</distortionT1>
|
|
1211
|
+
<distortionT2>0.0</distortionT2>
|
|
1212
|
+
</plugin>
|
|
1213
|
+
</sensor>
|
|
1214
|
+
<turnGravityOff>true</turnGravityOff>
|
|
1215
|
+
<material>PR2/Blue</material>
|
|
1216
|
+
</gazebo>
|
|
1217
|
+
<gazebo reference="wide_stereo_link">
|
|
1218
|
+
<material value="PR2/Blue"/>
|
|
1219
|
+
<turnGravityOff value="true"/>
|
|
1220
|
+
</gazebo>
|
|
1221
|
+
<gazebo reference="wide_stereo_optical_frame">
|
|
1222
|
+
<material value="Gazebo/White"/>
|
|
1223
|
+
<turnGravityOff value="true"/>
|
|
1224
|
+
</gazebo>
|
|
1225
|
+
<joint name="narrow_stereo_frame_joint" type="fixed">
|
|
1226
|
+
<origin rpy="0.0 0.0 0.0" xyz="0.045 0.06 0.0501"/>
|
|
1227
|
+
<parent link="double_stereo_link"/>
|
|
1228
|
+
<child link="narrow_stereo_link"/>
|
|
1229
|
+
</joint>
|
|
1230
|
+
<!-- camera link is at center of the optical frame, but in x-forward notation -->
|
|
1231
|
+
<link name="narrow_stereo_link">
|
|
1232
|
+
<inertial>
|
|
1233
|
+
<mass value="0.1"/>
|
|
1234
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1235
|
+
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01"/>
|
|
1236
|
+
<!-- this inertia is made up for now. -->
|
|
1237
|
+
</inertial>
|
|
1238
|
+
</link>
|
|
1239
|
+
<!-- attach optical frame to the camera link -->
|
|
1240
|
+
<joint name="narrow_stereo_optical_frame_joint" type="fixed">
|
|
1241
|
+
<origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0 0 0"/>
|
|
1242
|
+
<!-- rotate frame from x-forward to z-forward camera coords -->
|
|
1243
|
+
<parent link="narrow_stereo_link"/>
|
|
1244
|
+
<child link="narrow_stereo_optical_frame"/>
|
|
1245
|
+
</joint>
|
|
1246
|
+
<!-- optical frame for the stereo camera, with z-forward notation, this is the frame stereo camera images users should refer to -->
|
|
1247
|
+
<link name="narrow_stereo_optical_frame" type="camera"/>
|
|
1248
|
+
<joint name="narrow_stereo_l_stereo_camera_frame_joint" type="fixed">
|
|
1249
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1250
|
+
<parent link="narrow_stereo_link"/>
|
|
1251
|
+
<child link="narrow_stereo_l_stereo_camera_frame"/>
|
|
1252
|
+
</joint>
|
|
1253
|
+
<link name="narrow_stereo_l_stereo_camera_frame">
|
|
1254
|
+
<inertial>
|
|
1255
|
+
<mass value="0.01"/>
|
|
1256
|
+
<origin xyz="0 0 0"/>
|
|
1257
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
|
|
1258
|
+
</inertial>
|
|
1259
|
+
</link>
|
|
1260
|
+
<joint name="narrow_stereo_l_stereo_camera_optical_frame_joint" type="fixed">
|
|
1261
|
+
<origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0 0 0"/>
|
|
1262
|
+
<parent link="narrow_stereo_l_stereo_camera_frame"/>
|
|
1263
|
+
<child link="narrow_stereo_l_stereo_camera_optical_frame"/>
|
|
1264
|
+
</joint>
|
|
1265
|
+
<link name="narrow_stereo_l_stereo_camera_optical_frame"/>
|
|
1266
|
+
<gazebo reference="narrow_stereo_l_stereo_camera_frame">
|
|
1267
|
+
<sensor name="narrow_stereo_l_stereo_camera_sensor" type="camera">
|
|
1268
|
+
<always_on>true</always_on>
|
|
1269
|
+
<update_rate>25.0</update_rate>
|
|
1270
|
+
<camera>
|
|
1271
|
+
<horizontal_fov>0.785398163397</horizontal_fov>
|
|
1272
|
+
<image>
|
|
1273
|
+
<format>L8</format>
|
|
1274
|
+
<width>640</width>
|
|
1275
|
+
<height>480</height>
|
|
1276
|
+
</image>
|
|
1277
|
+
<clip>
|
|
1278
|
+
<near>0.1</near>
|
|
1279
|
+
<far>100</far>
|
|
1280
|
+
</clip>
|
|
1281
|
+
</camera>
|
|
1282
|
+
<plugin filename="libgazebo_ros_camera.so" name="narrow_stereo_l_stereo_camera_controller">
|
|
1283
|
+
<alwaysOn>true</alwaysOn>
|
|
1284
|
+
<updateRate>25.0</updateRate>
|
|
1285
|
+
<cameraName>narrow_stereo/left</cameraName>
|
|
1286
|
+
<imageTopicName>image_raw</imageTopicName>
|
|
1287
|
+
<cameraInfoTopicName>camera_info</cameraInfoTopicName>
|
|
1288
|
+
<frameName>narrow_stereo_optical_frame</frameName>
|
|
1289
|
+
<hackBaseline>0</hackBaseline>
|
|
1290
|
+
<CxPrime>320.5</CxPrime>
|
|
1291
|
+
<Cx>320.5</Cx>
|
|
1292
|
+
<Cy>240.5</Cy>
|
|
1293
|
+
<!-- image_width / (2*tan(hfov_radian /2)) -->
|
|
1294
|
+
<!-- 320 for wide and 772.55 for narrow stereo camera -->
|
|
1295
|
+
<focalLength>772.548518</focalLength>
|
|
1296
|
+
<distortionK1>0.0</distortionK1>
|
|
1297
|
+
<distortionK2>0.0</distortionK2>
|
|
1298
|
+
<distortionK3>0.0</distortionK3>
|
|
1299
|
+
<distortionT1>0.0</distortionT1>
|
|
1300
|
+
<distortionT2>0.0</distortionT2>
|
|
1301
|
+
</plugin>
|
|
1302
|
+
</sensor>
|
|
1303
|
+
<turnGravityOff>true</turnGravityOff>
|
|
1304
|
+
<material>PR2/Blue</material>
|
|
1305
|
+
</gazebo>
|
|
1306
|
+
<joint name="narrow_stereo_r_stereo_camera_frame_joint" type="fixed">
|
|
1307
|
+
<origin rpy="0.0 0.0 0.0" xyz="0.0 -0.09 0.0"/>
|
|
1308
|
+
<parent link="narrow_stereo_l_stereo_camera_frame"/>
|
|
1309
|
+
<child link="narrow_stereo_r_stereo_camera_frame"/>
|
|
1310
|
+
</joint>
|
|
1311
|
+
<link name="narrow_stereo_r_stereo_camera_frame">
|
|
1312
|
+
<inertial>
|
|
1313
|
+
<mass value="0.01"/>
|
|
1314
|
+
<origin xyz="0 0 0"/>
|
|
1315
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
|
|
1316
|
+
</inertial>
|
|
1317
|
+
</link>
|
|
1318
|
+
<joint name="narrow_stereo_r_stereo_camera_optical_frame_joint" type="fixed">
|
|
1319
|
+
<origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0 0 0"/>
|
|
1320
|
+
<parent link="narrow_stereo_r_stereo_camera_frame"/>
|
|
1321
|
+
<child link="narrow_stereo_r_stereo_camera_optical_frame"/>
|
|
1322
|
+
</joint>
|
|
1323
|
+
<link name="narrow_stereo_r_stereo_camera_optical_frame"/>
|
|
1324
|
+
<gazebo reference="narrow_stereo_r_stereo_camera_frame">
|
|
1325
|
+
<sensor name="narrow_stereo_r_stereo_camera_sensor" type="camera">
|
|
1326
|
+
<always_on>true</always_on>
|
|
1327
|
+
<update_rate>25.0</update_rate>
|
|
1328
|
+
<camera>
|
|
1329
|
+
<horizontal_fov>0.785398163397</horizontal_fov>
|
|
1330
|
+
<image>
|
|
1331
|
+
<format>L8</format>
|
|
1332
|
+
<width>640</width>
|
|
1333
|
+
<height>480</height>
|
|
1334
|
+
</image>
|
|
1335
|
+
<clip>
|
|
1336
|
+
<near>0.1</near>
|
|
1337
|
+
<far>100</far>
|
|
1338
|
+
</clip>
|
|
1339
|
+
</camera>
|
|
1340
|
+
<plugin filename="libgazebo_ros_camera.so" name="narrow_stereo_r_stereo_camera_controller">
|
|
1341
|
+
<alwaysOn>true</alwaysOn>
|
|
1342
|
+
<updateRate>25.0</updateRate>
|
|
1343
|
+
<cameraName>narrow_stereo/right</cameraName>
|
|
1344
|
+
<imageTopicName>image_raw</imageTopicName>
|
|
1345
|
+
<cameraInfoTopicName>camera_info</cameraInfoTopicName>
|
|
1346
|
+
<frameName>narrow_stereo_optical_frame</frameName>
|
|
1347
|
+
<hackBaseline>0.09</hackBaseline>
|
|
1348
|
+
<CxPrime>320.5</CxPrime>
|
|
1349
|
+
<Cx>320.5</Cx>
|
|
1350
|
+
<Cy>240.5</Cy>
|
|
1351
|
+
<!-- image_width / (2*tan(hfov_radian /2)) -->
|
|
1352
|
+
<!-- 320 for wide and 772.55 for narrow stereo camera -->
|
|
1353
|
+
<focalLength>772.548518</focalLength>
|
|
1354
|
+
<distortionK1>0.0</distortionK1>
|
|
1355
|
+
<distortionK2>0.0</distortionK2>
|
|
1356
|
+
<distortionK3>0.0</distortionK3>
|
|
1357
|
+
<distortionT1>0.0</distortionT1>
|
|
1358
|
+
<distortionT2>0.0</distortionT2>
|
|
1359
|
+
</plugin>
|
|
1360
|
+
</sensor>
|
|
1361
|
+
<turnGravityOff>true</turnGravityOff>
|
|
1362
|
+
<material>PR2/Blue</material>
|
|
1363
|
+
</gazebo>
|
|
1364
|
+
<gazebo reference="narrow_stereo_link">
|
|
1365
|
+
<material value="PR2/Blue"/>
|
|
1366
|
+
<turnGravityOff value="true"/>
|
|
1367
|
+
</gazebo>
|
|
1368
|
+
<gazebo reference="narrow_stereo_optical_frame">
|
|
1369
|
+
<material value="Gazebo/White"/>
|
|
1370
|
+
<turnGravityOff value="true"/>
|
|
1371
|
+
</gazebo>
|
|
1372
|
+
<!-- Define link to stereo cameras, set origin relative to that -->
|
|
1373
|
+
<gazebo reference="double_stereo_double_stereo_link">
|
|
1374
|
+
<material value="PR2/Blue"/>
|
|
1375
|
+
</gazebo>
|
|
1376
|
+
<gazebo reference="sensor_mount_sensor_link">
|
|
1377
|
+
<material value="PR2/Blue"/>
|
|
1378
|
+
</gazebo>
|
|
1379
|
+
<joint name="projector_wg6802418_frame_joint" type="fixed">
|
|
1380
|
+
<origin rpy="0 0 0" xyz="0 0.110 0.0546"/>
|
|
1381
|
+
<parent link="head_plate_frame"/>
|
|
1382
|
+
<child link="projector_wg6802418_frame"/>
|
|
1383
|
+
</joint>
|
|
1384
|
+
<link name="projector_wg6802418_frame">
|
|
1385
|
+
<inertial>
|
|
1386
|
+
<mass value="0.01"/>
|
|
1387
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1388
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
|
|
1389
|
+
</inertial>
|
|
1390
|
+
</link>
|
|
1391
|
+
<joint name="projector_wg6802418_child_frame_joint" type="fixed">
|
|
1392
|
+
<origin rpy="0 -1.57079632679 0" xyz="0 0 0"/>
|
|
1393
|
+
<parent link="projector_wg6802418_frame"/>
|
|
1394
|
+
<child link="projector_wg6802418_child_frame"/>
|
|
1395
|
+
</joint>
|
|
1396
|
+
<link name="projector_wg6802418_child_frame">
|
|
1397
|
+
<inertial>
|
|
1398
|
+
<mass value="0.01"/>
|
|
1399
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1400
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
|
|
1401
|
+
</inertial>
|
|
1402
|
+
</link>
|
|
1403
|
+
<gazebo reference="projector_wg6802418_child_frame">
|
|
1404
|
+
<projector name="projector_wg6802418_projector_wg6802418">
|
|
1405
|
+
<pose>0 0 0 0 -1.5707 0</pose>
|
|
1406
|
+
<texture>stereo_projection_pattern_high_res_red.png</texture>
|
|
1407
|
+
<fov>0.959931088597</fov>
|
|
1408
|
+
<near_clip>0.1</near_clip>
|
|
1409
|
+
<far_clip>10</far_clip>
|
|
1410
|
+
</projector>
|
|
1411
|
+
</gazebo>
|
|
1412
|
+
<gazebo>
|
|
1413
|
+
<plugin filename="libgazebo_ros_projector.so" name="projector_wg6802418_controller">
|
|
1414
|
+
<projector>projector_wg6802418_child_frame/projector_wg6802418_projector_wg6802418</projector>
|
|
1415
|
+
<alwaysOn>true</alwaysOn>
|
|
1416
|
+
<updateRate>15.0</updateRate>
|
|
1417
|
+
<textureName>stereo_projection_pattern_high_res_red.png</textureName>
|
|
1418
|
+
<filterTextureName>stereo_projection_pattern_filter.png</filterTextureName>
|
|
1419
|
+
<textureTopicName>projector_wg6802418_controller/image</textureTopicName>
|
|
1420
|
+
<projectorTopicName>projector_wg6802418_controller/projector</projectorTopicName>
|
|
1421
|
+
</plugin>
|
|
1422
|
+
</gazebo>
|
|
1423
|
+
<!-- stl contains structure + kinect + prosilica combo -->
|
|
1424
|
+
<joint name="head_mount_joint" type="fixed">
|
|
1425
|
+
<!-- <limit lower="0.1" upper="0.1" effort="10000" velocity="100.0"/> -->
|
|
1426
|
+
<!-- <insert_block name="origin" /> -->
|
|
1427
|
+
<origin rpy="0 0 0" xyz="-0.138 0 0.091"/>
|
|
1428
|
+
<parent link="head_plate_frame"/>
|
|
1429
|
+
<child link="head_mount_link"/>
|
|
1430
|
+
</joint>
|
|
1431
|
+
<link name="head_mount_link">
|
|
1432
|
+
<inertial>
|
|
1433
|
+
<mass value="0.1"/>
|
|
1434
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1435
|
+
<inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01"/>
|
|
1436
|
+
</inertial>
|
|
1437
|
+
<visual>
|
|
1438
|
+
<origin rpy="0 0 0" xyz="0.0 0.0 0"/>
|
|
1439
|
+
<geometry>
|
|
1440
|
+
<mesh filename="package://pr2_description/meshes/sensors/kinect_prosilica_v0/115x100_swept_back--coarse.STL" scale="0.001 0.001 0.001"/>
|
|
1441
|
+
</geometry>
|
|
1442
|
+
<material name="gray">
|
|
1443
|
+
<color rgba="0.5 0.5 0.5 1"/>
|
|
1444
|
+
</material>
|
|
1445
|
+
</visual>
|
|
1446
|
+
<collision>
|
|
1447
|
+
<origin rpy="0 0 0" xyz="0.0 0.0 0"/>
|
|
1448
|
+
<geometry>
|
|
1449
|
+
<sphere radius="0.0005"/>
|
|
1450
|
+
</geometry>
|
|
1451
|
+
</collision>
|
|
1452
|
+
</link>
|
|
1453
|
+
<!-- plugin for updating structure pose \
|
|
1454
|
+
<xacro:kinect_prosilica_gazebo joint_name="${name}_kinect_prosilica_joint"
|
|
1455
|
+
link_name="${name}_kinect_prosilica_link" />
|
|
1456
|
+
-->
|
|
1457
|
+
<!-- kinect ir sensor physical attachment -->
|
|
1458
|
+
<joint name="head_mount_kinect_ir_joint" type="fixed">
|
|
1459
|
+
<origin rpy="0 0 0" xyz="-0.032267 0.0125 0.136453"/>
|
|
1460
|
+
<parent link="head_mount_link"/>
|
|
1461
|
+
<child link="head_mount_kinect_ir_link"/>
|
|
1462
|
+
</joint>
|
|
1463
|
+
<link name="head_mount_kinect_ir_link">
|
|
1464
|
+
<inertial>
|
|
1465
|
+
<mass value="0.1"/>
|
|
1466
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1467
|
+
<inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01"/>
|
|
1468
|
+
</inertial>
|
|
1469
|
+
<visual>
|
|
1470
|
+
<origin rpy="0 0 0" xyz="0.0 0.0 0"/>
|
|
1471
|
+
<geometry>
|
|
1472
|
+
<sphere radius="0.0005"/>
|
|
1473
|
+
</geometry>
|
|
1474
|
+
</visual>
|
|
1475
|
+
<collision>
|
|
1476
|
+
<origin rpy="0 0 0" xyz="0.0 0.0 0"/>
|
|
1477
|
+
<geometry>
|
|
1478
|
+
<sphere radius="0.0005"/>
|
|
1479
|
+
</geometry>
|
|
1480
|
+
</collision>
|
|
1481
|
+
</link>
|
|
1482
|
+
<!-- kinect ir sensor frame -->
|
|
1483
|
+
<joint name="head_mount_kinect_ir_optical_frame_joint" type="fixed">
|
|
1484
|
+
<origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0.0 0.01 0.0"/>
|
|
1485
|
+
<parent link="head_mount_kinect_ir_link"/>
|
|
1486
|
+
<child link="head_mount_kinect_ir_optical_frame"/>
|
|
1487
|
+
</joint>
|
|
1488
|
+
<link name="head_mount_kinect_ir_optical_frame"/>
|
|
1489
|
+
<gazebo reference="head_mount_kinect_ir_link">
|
|
1490
|
+
<sensor name="head_mount_ir_sensor" type="depth">
|
|
1491
|
+
<always_on>true</always_on>
|
|
1492
|
+
<update_rate>1.0</update_rate>
|
|
1493
|
+
<camera>
|
|
1494
|
+
<horizontal_fov>0.994837673637</horizontal_fov>
|
|
1495
|
+
<image>
|
|
1496
|
+
<format>L8</format>
|
|
1497
|
+
<width>640</width>
|
|
1498
|
+
<height>480</height>
|
|
1499
|
+
</image>
|
|
1500
|
+
<clip>
|
|
1501
|
+
<near>0.01</near>
|
|
1502
|
+
<far>5</far>
|
|
1503
|
+
</clip>
|
|
1504
|
+
</camera>
|
|
1505
|
+
<plugin filename="libgazebo_ros_openni_kinect.so" name="head_mount_kinect_ir_link_controller">
|
|
1506
|
+
<baseline>0.2</baseline>
|
|
1507
|
+
<alwaysOn>true</alwaysOn>
|
|
1508
|
+
<updateRate>1.0</updateRate>
|
|
1509
|
+
<cameraName>head_mount_kinect_ir</cameraName>
|
|
1510
|
+
<imageTopicName>/head_mount_kinect/depth/image_raw</imageTopicName>
|
|
1511
|
+
<cameraInfoTopicName>/head_mount_kinect/depth/camera_info</cameraInfoTopicName>
|
|
1512
|
+
<depthImageTopicName>/head_mount_kinect/depth/image_raw</depthImageTopicName>
|
|
1513
|
+
<depthImageCameraInfoTopicName>/head_mount_kinect/depth/camera_info</depthImageCameraInfoTopicName>
|
|
1514
|
+
<pointCloudTopicName>/head_mount_kinect/depth/points</pointCloudTopicName>
|
|
1515
|
+
<frameName>head_mount_kinect_ir_optical_frame</frameName>
|
|
1516
|
+
<pointCloudCutoff>0.5</pointCloudCutoff>
|
|
1517
|
+
<distortionK1>0.00000001</distortionK1>
|
|
1518
|
+
<distortionK2>0.00000001</distortionK2>
|
|
1519
|
+
<distortionK3>0.00000001</distortionK3>
|
|
1520
|
+
<distortionT1>0.00000001</distortionT1>
|
|
1521
|
+
<distortionT2>0.00000001</distortionT2>
|
|
1522
|
+
<CxPrime>0</CxPrime>
|
|
1523
|
+
<Cx>0</Cx>
|
|
1524
|
+
<Cy>0</Cy>
|
|
1525
|
+
<focalLength>0</focalLength>
|
|
1526
|
+
<hackBaseline>0</hackBaseline>
|
|
1527
|
+
</plugin>
|
|
1528
|
+
</sensor>
|
|
1529
|
+
<material value="Gazebo/Red"/>
|
|
1530
|
+
</gazebo>
|
|
1531
|
+
<!-- kinect rgb sensor physical attachment -->
|
|
1532
|
+
<joint name="head_mount_kinect_rgb_joint" type="fixed">
|
|
1533
|
+
<origin rpy="0 0 0" xyz="0 -0.03 0"/>
|
|
1534
|
+
<parent link="head_mount_kinect_ir_link"/>
|
|
1535
|
+
<child link="head_mount_kinect_rgb_link"/>
|
|
1536
|
+
</joint>
|
|
1537
|
+
<link name="head_mount_kinect_rgb_link">
|
|
1538
|
+
<inertial>
|
|
1539
|
+
<mass value="0.1"/>
|
|
1540
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1541
|
+
<inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01"/>
|
|
1542
|
+
</inertial>
|
|
1543
|
+
<visual>
|
|
1544
|
+
<origin rpy="0 0 0" xyz="0.0 0.0 0"/>
|
|
1545
|
+
<geometry>
|
|
1546
|
+
<sphere radius="0.0005"/>
|
|
1547
|
+
</geometry>
|
|
1548
|
+
</visual>
|
|
1549
|
+
<collision>
|
|
1550
|
+
<origin rpy="0 0 0" xyz="0.0 0.0 0"/>
|
|
1551
|
+
<geometry>
|
|
1552
|
+
<sphere radius="0.0005"/>
|
|
1553
|
+
</geometry>
|
|
1554
|
+
</collision>
|
|
1555
|
+
</link>
|
|
1556
|
+
<!-- kinect rgb sensor frame -->
|
|
1557
|
+
<joint name="head_mount_kinect_rgb_optical_frame_joint" type="fixed">
|
|
1558
|
+
<origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0.0 0.0 0.0"/>
|
|
1559
|
+
<parent link="head_mount_kinect_rgb_link"/>
|
|
1560
|
+
<child link="head_mount_kinect_rgb_optical_frame"/>
|
|
1561
|
+
</joint>
|
|
1562
|
+
<link name="head_mount_kinect_rgb_optical_frame"/>
|
|
1563
|
+
<gazebo reference="head_mount_kinect_rgb_link">
|
|
1564
|
+
<sensor name="head_mount_rgb_sensor" type="depth">
|
|
1565
|
+
<always_on>true</always_on>
|
|
1566
|
+
<update_rate>1.0</update_rate>
|
|
1567
|
+
<camera>
|
|
1568
|
+
<horizontal_fov>0.994837673637</horizontal_fov>
|
|
1569
|
+
<image>
|
|
1570
|
+
<format>R8G8B8</format>
|
|
1571
|
+
<width>640</width>
|
|
1572
|
+
<height>480</height>
|
|
1573
|
+
</image>
|
|
1574
|
+
<clip>
|
|
1575
|
+
<near>0.01</near>
|
|
1576
|
+
<far>5</far>
|
|
1577
|
+
</clip>
|
|
1578
|
+
</camera>
|
|
1579
|
+
<plugin filename="libgazebo_ros_openni_kinect.so" name="head_mount_kinect_rgb_link_controller">
|
|
1580
|
+
<alwaysOn>true</alwaysOn>
|
|
1581
|
+
<updateRate>1.0</updateRate>
|
|
1582
|
+
<cameraName>head_mount_kinect_rgb</cameraName>
|
|
1583
|
+
<imageTopicName>/head_mount_kinect/rgb/image_raw</imageTopicName>
|
|
1584
|
+
<cameraInfoTopicName>/head_mount_kinect/rgb/camera_info</cameraInfoTopicName>
|
|
1585
|
+
<depthImageTopicName>/head_mount_kinect/depth/image_raw</depthImageTopicName>
|
|
1586
|
+
<depthImageCameraInfoTopicName>/head_mount_kinect/depth/camera_info</depthImageCameraInfoTopicName>
|
|
1587
|
+
<pointCloudTopicName>/head_mount_kinect/depth_registered/points</pointCloudTopicName>
|
|
1588
|
+
<frameName>head_mount_kinect_rgb_optical_frame</frameName>
|
|
1589
|
+
<pointCloudCutoff>0.5</pointCloudCutoff>
|
|
1590
|
+
<distortionK1>0.00000001</distortionK1>
|
|
1591
|
+
<distortionK2>0.00000001</distortionK2>
|
|
1592
|
+
<distortionK3>0.00000001</distortionK3>
|
|
1593
|
+
<distortionT1>0.00000001</distortionT1>
|
|
1594
|
+
<distortionT2>0.00000001</distortionT2>
|
|
1595
|
+
<CxPrime>0</CxPrime>
|
|
1596
|
+
<Cx>0</Cx>
|
|
1597
|
+
<Cy>0</Cy>
|
|
1598
|
+
<focalLength>0</focalLength>
|
|
1599
|
+
<hackBaseline>0</hackBaseline>
|
|
1600
|
+
</plugin>
|
|
1601
|
+
</sensor>
|
|
1602
|
+
<material value="Gazebo/Red"/>
|
|
1603
|
+
</gazebo>
|
|
1604
|
+
<!-- prosilica sensor physical attachment -->
|
|
1605
|
+
<joint name="head_mount_prosilica_joint" type="fixed">
|
|
1606
|
+
<origin rpy="0 0 0" xyz="-0.046457 0.0125 0.088921"/>
|
|
1607
|
+
<parent link="head_mount_link"/>
|
|
1608
|
+
<child link="head_mount_prosilica_link"/>
|
|
1609
|
+
</joint>
|
|
1610
|
+
<link name="head_mount_prosilica_link">
|
|
1611
|
+
<inertial>
|
|
1612
|
+
<mass value="0.1"/>
|
|
1613
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1614
|
+
<inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01"/>
|
|
1615
|
+
</inertial>
|
|
1616
|
+
<visual>
|
|
1617
|
+
<origin rpy="0 0 0" xyz="0.0 0.0 0"/>
|
|
1618
|
+
<geometry>
|
|
1619
|
+
<sphere radius="0.0005"/>
|
|
1620
|
+
</geometry>
|
|
1621
|
+
</visual>
|
|
1622
|
+
<collision>
|
|
1623
|
+
<origin rpy="0 0 0" xyz="0.0 0.0 0"/>
|
|
1624
|
+
<geometry>
|
|
1625
|
+
<sphere radius="0.0005"/>
|
|
1626
|
+
</geometry>
|
|
1627
|
+
</collision>
|
|
1628
|
+
</link>
|
|
1629
|
+
<!-- prosilica sensor frame -->
|
|
1630
|
+
<joint name="head_mount_prosilica_optical_frame_joint" type="fixed">
|
|
1631
|
+
<origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0.0 0.0 0.0"/>
|
|
1632
|
+
<parent link="head_mount_prosilica_link"/>
|
|
1633
|
+
<child link="head_mount_prosilica_optical_frame"/>
|
|
1634
|
+
</joint>
|
|
1635
|
+
<link name="head_mount_prosilica_optical_frame"/>
|
|
1636
|
+
<gazebo reference="head_mount_prosilica_link">
|
|
1637
|
+
<sensor name="head_mount_prosilica_link_sensor" type="camera">
|
|
1638
|
+
<always_on>true</always_on>
|
|
1639
|
+
<update_rate>1.0</update_rate>
|
|
1640
|
+
<camera>
|
|
1641
|
+
<horizontal_fov>1.12050137978</horizontal_fov>
|
|
1642
|
+
<image>
|
|
1643
|
+
<format>R8G8B8</format>
|
|
1644
|
+
<width>320</width>
|
|
1645
|
+
<height>240</height>
|
|
1646
|
+
</image>
|
|
1647
|
+
<clip>
|
|
1648
|
+
<near>0.1</near>
|
|
1649
|
+
<far>100</far>
|
|
1650
|
+
</clip>
|
|
1651
|
+
</camera>
|
|
1652
|
+
<plugin filename="libgazebo_ros_prosilica.so" name="head_mount_prosilica_link_controller">
|
|
1653
|
+
<alwaysOn>true</alwaysOn>
|
|
1654
|
+
<updateRate>1.0</updateRate>
|
|
1655
|
+
<cameraName>prosilica_camera_1mb</cameraName>
|
|
1656
|
+
<imageTopicName>image_raw</imageTopicName>
|
|
1657
|
+
<cameraInfoTopicName>camera_info</cameraInfoTopicName>
|
|
1658
|
+
<depthImageTopicName>depth/image_raw</depthImageTopicName>
|
|
1659
|
+
<depthImageCameraInfoTopicName>depth/camera_info</depthImageCameraInfoTopicName>
|
|
1660
|
+
<pollServiceName>request_image</pollServiceName>
|
|
1661
|
+
<pointCloudTopicName>points</pointCloudTopicName>
|
|
1662
|
+
<frameName>head_mount_prosilica_optical_frame</frameName>
|
|
1663
|
+
<pointCloudCutoff>0.4</pointCloudCutoff>
|
|
1664
|
+
<distortionK1>0.0</distortionK1>
|
|
1665
|
+
<distortionK2>0.0</distortionK2>
|
|
1666
|
+
<distortionK3>0.0</distortionK3>
|
|
1667
|
+
<distortionT1>0.0</distortionT1>
|
|
1668
|
+
<distortionT2>0.0</distortionT2>
|
|
1669
|
+
<CxPrime>0</CxPrime>
|
|
1670
|
+
<Cx>0</Cx>
|
|
1671
|
+
<Cy>0</Cy>
|
|
1672
|
+
<focalLength>0</focalLength>
|
|
1673
|
+
<hackBaseline>0</hackBaseline>
|
|
1674
|
+
</plugin>
|
|
1675
|
+
</sensor>
|
|
1676
|
+
<sensor name="head_mount_prosilica_link_sim_pcd_sensor" type="depth">
|
|
1677
|
+
<always_on>true</always_on>
|
|
1678
|
+
<update_rate>1.0</update_rate>
|
|
1679
|
+
<camera>
|
|
1680
|
+
<horizontal_fov>1.12050137978</horizontal_fov>
|
|
1681
|
+
<image>
|
|
1682
|
+
<format>R8G8B8</format>
|
|
1683
|
+
<width>320</width>
|
|
1684
|
+
<height>240</height>
|
|
1685
|
+
</image>
|
|
1686
|
+
<clip>
|
|
1687
|
+
<near>0.1</near>
|
|
1688
|
+
<far>100</far>
|
|
1689
|
+
</clip>
|
|
1690
|
+
</camera>
|
|
1691
|
+
<plugin filename="libgazebo_ros_openni_kinect.so" name="head_mount_prosilica_link_sim_pcd_controller">
|
|
1692
|
+
<alwaysOn>true</alwaysOn>
|
|
1693
|
+
<updateRate>1.0</updateRate>
|
|
1694
|
+
<cameraName>prosilica_camera_1mb_sim_pcd</cameraName>
|
|
1695
|
+
<imageTopicName>image_raw</imageTopicName>
|
|
1696
|
+
<depthImageTopicName>depth/image_raw</depthImageTopicName>
|
|
1697
|
+
<depthImageCameraInfoTopicName>depth/camera_info</depthImageCameraInfoTopicName>
|
|
1698
|
+
<cameraInfoTopicName>camera_info</cameraInfoTopicName>
|
|
1699
|
+
<pointCloudTopicName>points</pointCloudTopicName>
|
|
1700
|
+
<frameName>head_mount_prosilica_optical_frame</frameName>
|
|
1701
|
+
<pointCloudCutoff>0.4</pointCloudCutoff>
|
|
1702
|
+
<distortionK1>0.00000001</distortionK1>
|
|
1703
|
+
<distortionK2>0.00000001</distortionK2>
|
|
1704
|
+
<distortionK3>0.00000001</distortionK3>
|
|
1705
|
+
<distortionT1>0.00000001</distortionT1>
|
|
1706
|
+
<distortionT2>0.00000001</distortionT2>
|
|
1707
|
+
<CxPrime>0</CxPrime>
|
|
1708
|
+
<Cx>0</Cx>
|
|
1709
|
+
<Cy>0</Cy>
|
|
1710
|
+
<focalLength>0</focalLength>
|
|
1711
|
+
<hackBaseline>0</hackBaseline>
|
|
1712
|
+
</plugin>
|
|
1713
|
+
</sensor>
|
|
1714
|
+
<material value="Gazebo/Red"/>
|
|
1715
|
+
</gazebo>
|
|
1716
|
+
<joint name="laser_tilt_mount_joint" type="revolute">
|
|
1717
|
+
<axis xyz="0 1 0"/>
|
|
1718
|
+
<limit effort="0.65" lower="-0.7854" upper="1.48353" velocity="10.0"/>
|
|
1719
|
+
<!-- alpha tested velocity and effort limits -->
|
|
1720
|
+
<safety_controller k_position="100" k_velocity="0.05" soft_lower_limit="-0.7354" soft_upper_limit="1.43353"/>
|
|
1721
|
+
<calibration falling="0.0"/>
|
|
1722
|
+
<dynamics damping="0.008"/>
|
|
1723
|
+
<origin rpy="0 0 0" xyz="0.09893 0 0.227"/>
|
|
1724
|
+
<parent link="torso_lift_link"/>
|
|
1725
|
+
<child link="laser_tilt_mount_link"/>
|
|
1726
|
+
</joint>
|
|
1727
|
+
<link name="laser_tilt_mount_link">
|
|
1728
|
+
<inertial>
|
|
1729
|
+
<mass value="0.591"/>
|
|
1730
|
+
<origin rpy="0 0 0" xyz="-0.001136 0.00167 -0.00713"/>
|
|
1731
|
+
<inertia ixx="0.001195273" ixy="0.000023087" ixz="0.000037467" iyy="0.001083956" iyz="0.000034906" izz="0.000795014"/>
|
|
1732
|
+
</inertial>
|
|
1733
|
+
<visual>
|
|
1734
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1735
|
+
<geometry>
|
|
1736
|
+
<mesh filename="package://pr2_description/meshes/tilting_laser_v0/tilting_hokuyo.dae"/>
|
|
1737
|
+
</geometry>
|
|
1738
|
+
<material name="Red"/>
|
|
1739
|
+
</visual>
|
|
1740
|
+
<collision>
|
|
1741
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1742
|
+
<geometry>
|
|
1743
|
+
<mesh filename="package://pr2_description/meshes/tilting_laser_v0/tilting_hokuyo_L.stl"/>
|
|
1744
|
+
</geometry>
|
|
1745
|
+
</collision>
|
|
1746
|
+
</link>
|
|
1747
|
+
<joint name="laser_tilt_joint" type="fixed">
|
|
1748
|
+
<axis xyz="0 1 0"/>
|
|
1749
|
+
<origin rpy="0 0 0" xyz="0 0 0.03"/>
|
|
1750
|
+
<parent link="laser_tilt_mount_link"/>
|
|
1751
|
+
<child link="laser_tilt_link"/>
|
|
1752
|
+
</joint>
|
|
1753
|
+
<link name="laser_tilt_link" type="laser">
|
|
1754
|
+
<inertial>
|
|
1755
|
+
<mass value="0.001"/>
|
|
1756
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1757
|
+
<inertia ixx="0.0001" ixy="0" ixz="0" iyy="0.000001" iyz="0" izz="0.0001"/>
|
|
1758
|
+
</inertial>
|
|
1759
|
+
</link>
|
|
1760
|
+
<gazebo reference="laser_tilt_link">
|
|
1761
|
+
<sensor name="laser_tilt" type="ray">
|
|
1762
|
+
<always_on>true</always_on>
|
|
1763
|
+
<update_rate>40</update_rate>
|
|
1764
|
+
<pose>0 0 0 0 0 0</pose>
|
|
1765
|
+
<visualize>false</visualize>
|
|
1766
|
+
<ray>
|
|
1767
|
+
<scan>
|
|
1768
|
+
<horizontal>
|
|
1769
|
+
<samples>640</samples>
|
|
1770
|
+
<resolution>1</resolution>
|
|
1771
|
+
<min_angle>-1.3962634</min_angle>
|
|
1772
|
+
<max_angle>1.3962634</max_angle>
|
|
1773
|
+
</horizontal>
|
|
1774
|
+
</scan>
|
|
1775
|
+
<range>
|
|
1776
|
+
<min>0.08</min>
|
|
1777
|
+
<max>10.0</max>
|
|
1778
|
+
<resolution>0.01</resolution>
|
|
1779
|
+
</range>
|
|
1780
|
+
</ray>
|
|
1781
|
+
<plugin filename="libgazebo_ros_laser.so" name="gazebo_ros_laser_tilt_controller">
|
|
1782
|
+
<gaussianNoise>0.005</gaussianNoise>
|
|
1783
|
+
<alwaysOn>true</alwaysOn>
|
|
1784
|
+
<updateRate>40</updateRate>
|
|
1785
|
+
<topicName>tilt_scan</topicName>
|
|
1786
|
+
<frameName>laser_tilt_link</frameName>
|
|
1787
|
+
<hokuyoMinIntensity>101</hokuyoMinIntensity>
|
|
1788
|
+
</plugin>
|
|
1789
|
+
</sensor>
|
|
1790
|
+
</gazebo>
|
|
1791
|
+
<gazebo reference="laser_tilt_mount_link">
|
|
1792
|
+
</gazebo>
|
|
1793
|
+
<transmission name="laser_tilt_mount_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
1794
|
+
<actuator name="laser_tilt_mount_motor"/>
|
|
1795
|
+
<joint name="laser_tilt_mount_joint"/>
|
|
1796
|
+
<mechanicalReduction>-6.05</mechanicalReduction>
|
|
1797
|
+
</transmission>
|
|
1798
|
+
<!-- Shoulder pan -->
|
|
1799
|
+
<joint name="r_shoulder_pan_joint" type="revolute">
|
|
1800
|
+
<axis xyz="0 0 1"/>
|
|
1801
|
+
<origin rpy="0 0 0" xyz="0.0 -0.188 0.0"/>
|
|
1802
|
+
<!-- transform from parent link to this joint frame -->
|
|
1803
|
+
<parent link="torso_lift_link"/>
|
|
1804
|
+
<child link="r_shoulder_pan_link"/>
|
|
1805
|
+
<limit effort="30" lower="-2.2853981634" upper="0.714601836603" velocity="2.088"/>
|
|
1806
|
+
<!-- alpha tested velocity and effort limits -->
|
|
1807
|
+
<dynamics damping="10.0"/>
|
|
1808
|
+
<safety_controller k_position="100" k_velocity="10" soft_lower_limit="-2.1353981634" soft_upper_limit="0.564601836603"/>
|
|
1809
|
+
<!-- joint angle when the rising or the falling flag is activated on PR2 -->
|
|
1810
|
+
<calibration rising="-0.785398163397"/>
|
|
1811
|
+
</joint>
|
|
1812
|
+
<link name="r_shoulder_pan_link">
|
|
1813
|
+
<inertial>
|
|
1814
|
+
<mass value="25.799322"/>
|
|
1815
|
+
<origin rpy="0 0 0" xyz="-0.001201 0.024513 -0.098231"/>
|
|
1816
|
+
<inertia ixx="0.866179142480" ixy="-0.06086507933" ixz="-0.12118061183" iyy="0.87421714893" iyz="-0.05886609911" izz="0.27353821674"/>
|
|
1817
|
+
</inertial>
|
|
1818
|
+
<visual>
|
|
1819
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1820
|
+
<geometry>
|
|
1821
|
+
<mesh filename="package://pr2_description/meshes/shoulder_v0/shoulder_pan.dae"/>
|
|
1822
|
+
</geometry>
|
|
1823
|
+
<material name="Blue"/>
|
|
1824
|
+
</visual>
|
|
1825
|
+
<collision>
|
|
1826
|
+
<origin rpy="0 0 0" xyz="0.0 0 0.0"/>
|
|
1827
|
+
<geometry>
|
|
1828
|
+
<mesh filename="package://pr2_description/meshes/shoulder_v0/shoulder_pan.stl"/>
|
|
1829
|
+
</geometry>
|
|
1830
|
+
</collision>
|
|
1831
|
+
</link>
|
|
1832
|
+
<!-- Shoulder lift -->
|
|
1833
|
+
<joint name="r_shoulder_lift_joint" type="revolute">
|
|
1834
|
+
<axis xyz="0 1 0"/>
|
|
1835
|
+
<!-- Limits updated from Function's CAD values as of 2009_02_24 (link_data.xls) -->
|
|
1836
|
+
<limit effort="30" lower="-0.5236" upper="1.3963" velocity="2.082"/>
|
|
1837
|
+
<!-- alpha tested velocity and effort limits -->
|
|
1838
|
+
<safety_controller k_position="100" k_velocity="10" soft_lower_limit="-0.3536" soft_upper_limit="1.2963"/>
|
|
1839
|
+
<calibration falling="0.0"/>
|
|
1840
|
+
<dynamics damping="10.0"/>
|
|
1841
|
+
<origin rpy="0 0 0" xyz="0.1 0 0"/>
|
|
1842
|
+
<parent link="r_shoulder_pan_link"/>
|
|
1843
|
+
<child link="r_shoulder_lift_link"/>
|
|
1844
|
+
</joint>
|
|
1845
|
+
<link name="r_shoulder_lift_link">
|
|
1846
|
+
<inertial>
|
|
1847
|
+
<mass value="2.74988"/>
|
|
1848
|
+
<origin rpy="0 0 0" xyz="0.02195 -0.02664 -0.03127"/>
|
|
1849
|
+
<inertia ixx="0.02105584615" ixy="0.00496704022" ixz="-0.00194808955" iyy="0.02127223737" iyz="0.00110425490" izz="0.01975753814"/>
|
|
1850
|
+
</inertial>
|
|
1851
|
+
<visual>
|
|
1852
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1853
|
+
<geometry>
|
|
1854
|
+
<mesh filename="package://pr2_description/meshes/shoulder_v0/shoulder_lift.dae"/>
|
|
1855
|
+
</geometry>
|
|
1856
|
+
<material name="Grey"/>
|
|
1857
|
+
</visual>
|
|
1858
|
+
<collision>
|
|
1859
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1860
|
+
<geometry>
|
|
1861
|
+
<mesh filename="package://pr2_description/meshes/shoulder_v0/shoulder_lift.stl"/>
|
|
1862
|
+
</geometry>
|
|
1863
|
+
</collision>
|
|
1864
|
+
</link>
|
|
1865
|
+
<joint name="r_upper_arm_roll_joint" type="revolute">
|
|
1866
|
+
<axis xyz="1 0 0"/>
|
|
1867
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1868
|
+
<parent link="r_shoulder_lift_link"/>
|
|
1869
|
+
<child link="r_upper_arm_roll_link"/>
|
|
1870
|
+
<limit effort="30" lower="-3.9" upper="0.8" velocity="3.27"/>
|
|
1871
|
+
<!-- alpha tested velocity and effort limits -->
|
|
1872
|
+
<safety_controller k_position="100" k_velocity="2" soft_lower_limit="-3.75" soft_upper_limit="0.65"/>
|
|
1873
|
+
<calibration rising="-1.57079632679"/>
|
|
1874
|
+
<dynamics damping="0.1"/>
|
|
1875
|
+
</joint>
|
|
1876
|
+
<link name="r_upper_arm_roll_link">
|
|
1877
|
+
<inertial>
|
|
1878
|
+
<!-- dummy mass, to be removed -->
|
|
1879
|
+
<mass value="0.1"/>
|
|
1880
|
+
<origin rpy="0 0 0" xyz="0.0 0 0"/>
|
|
1881
|
+
<inertia ixx="0.01" ixy="0.00" ixz="0.00" iyy="0.01" iyz="0.00" izz="0.01"/>
|
|
1882
|
+
</inertial>
|
|
1883
|
+
<visual>
|
|
1884
|
+
<!-- TODO: This component doesn't actually have a mesh -->
|
|
1885
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1886
|
+
<geometry>
|
|
1887
|
+
<mesh filename="package://pr2_description/meshes/shoulder_v0/upper_arm_roll.stl"/>
|
|
1888
|
+
</geometry>
|
|
1889
|
+
<material name="RollLinks"/>
|
|
1890
|
+
</visual>
|
|
1891
|
+
<collision>
|
|
1892
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1893
|
+
<geometry>
|
|
1894
|
+
<mesh filename="package://pr2_description/meshes/shoulder_v0/upper_arm_roll_L.stl"/>
|
|
1895
|
+
</geometry>
|
|
1896
|
+
</collision>
|
|
1897
|
+
</link>
|
|
1898
|
+
<gazebo reference="r_upper_arm_roll_link">
|
|
1899
|
+
<material value="PR2/RollLinks"/>
|
|
1900
|
+
<turnGravityOff>true</turnGravityOff>
|
|
1901
|
+
</gazebo>
|
|
1902
|
+
<gazebo reference="r_upper_arm_roll_joint">
|
|
1903
|
+
<stopKd value="1.0"/>
|
|
1904
|
+
<stopKp value="1000000.0"/>
|
|
1905
|
+
<fudgeFactor value="0.5"/>
|
|
1906
|
+
</gazebo>
|
|
1907
|
+
<!-- Upperarm roll: internal fixed attchment point for upper arm -->
|
|
1908
|
+
<transmission name="r_upper_arm_roll_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
1909
|
+
<actuator name="r_upper_arm_roll_motor"/>
|
|
1910
|
+
<joint name="r_upper_arm_roll_joint"/>
|
|
1911
|
+
<mechanicalReduction>32.6525111499</mechanicalReduction>
|
|
1912
|
+
</transmission>
|
|
1913
|
+
<!-- Shoulder pan -->
|
|
1914
|
+
<gazebo reference="r_shoulder_pan_link">
|
|
1915
|
+
<turnGravityOff>true</turnGravityOff>
|
|
1916
|
+
</gazebo>
|
|
1917
|
+
<gazebo reference="r_shoulder_pan_joint">
|
|
1918
|
+
<stopKd value="1.0"/>
|
|
1919
|
+
<stopKp value="1000000.0"/>
|
|
1920
|
+
</gazebo>
|
|
1921
|
+
<!-- Shoulder lift -->
|
|
1922
|
+
<gazebo reference="r_shoulder_lift_link">
|
|
1923
|
+
<turnGravityOff>true</turnGravityOff>
|
|
1924
|
+
</gazebo>
|
|
1925
|
+
<gazebo reference="r_shoulder_lift_joint">
|
|
1926
|
+
<stopKd value="1.0"/>
|
|
1927
|
+
<stopKp value="1000000.0"/>
|
|
1928
|
+
</gazebo>
|
|
1929
|
+
<!-- Shoulder pan -->
|
|
1930
|
+
<transmission name="r_shoulder_pan_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
1931
|
+
<joint name="r_shoulder_pan_joint"/>
|
|
1932
|
+
<actuator name="r_shoulder_pan_motor"/>
|
|
1933
|
+
<mechanicalReduction>63.1552452977</mechanicalReduction>
|
|
1934
|
+
<compensator k_belt="4000.0" kd_motor="15.0" lambda_combined="0.0" lambda_joint="40.0" lambda_motor="40.0" mass_motor="0.05"/>
|
|
1935
|
+
</transmission>
|
|
1936
|
+
<!-- Shoulder lift -->
|
|
1937
|
+
<transmission name="r_shoulder_lift_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
1938
|
+
<joint name="r_shoulder_lift_joint"/>
|
|
1939
|
+
<actuator name="r_shoulder_lift_motor"/>
|
|
1940
|
+
<mechanicalReduction>61.8948225713</mechanicalReduction>
|
|
1941
|
+
<compensator k_belt="4000.0" kd_motor="10.0" lambda_combined="0.0" lambda_joint="60.0" lambda_motor="60.0" mass_motor="0.05"/>
|
|
1942
|
+
</transmission>
|
|
1943
|
+
<joint name="r_upper_arm_joint" type="fixed">
|
|
1944
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1945
|
+
<parent link="r_upper_arm_roll_link"/>
|
|
1946
|
+
<child link="r_upper_arm_link"/>
|
|
1947
|
+
</joint>
|
|
1948
|
+
<link name="r_upper_arm_link">
|
|
1949
|
+
<inertial>
|
|
1950
|
+
<!-- NOTE:reflect==-1 for right side, reflect==1 for the left side -->
|
|
1951
|
+
<mass value="6.01769"/>
|
|
1952
|
+
<origin xyz="0.21398 -0.01621 -0.0002"/>
|
|
1953
|
+
<inertia ixx="0.01537748957" ixy="0.00375711247" ixz="-0.00070852914" iyy="0.0747367044" iyz="-0.0001793645" izz="0.07608763307"/>
|
|
1954
|
+
</inertial>
|
|
1955
|
+
<visual>
|
|
1956
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1957
|
+
<geometry>
|
|
1958
|
+
<mesh filename="package://pr2_description/meshes/upper_arm_v0/upper_arm.dae"/>
|
|
1959
|
+
</geometry>
|
|
1960
|
+
<material name="Green"/>
|
|
1961
|
+
</visual>
|
|
1962
|
+
<collision>
|
|
1963
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1964
|
+
<geometry>
|
|
1965
|
+
<mesh filename="package://pr2_description/meshes/upper_arm_v0/upper_arm.stl"/>
|
|
1966
|
+
</geometry>
|
|
1967
|
+
</collision>
|
|
1968
|
+
</link>
|
|
1969
|
+
<gazebo reference="r_upper_arm_link">
|
|
1970
|
+
<turnGravityOff>true</turnGravityOff>
|
|
1971
|
+
</gazebo>
|
|
1972
|
+
<!-- Has upperarm link -->
|
|
1973
|
+
<!-- No transmission, since this a fixed joint w/o actuator -->
|
|
1974
|
+
<!-- forearm_roll_link is a fictitious link internal to elbow_flex_link, provides an attachment point for the actual forearm -->
|
|
1975
|
+
<joint name="r_forearm_roll_joint" type="continuous">
|
|
1976
|
+
<axis xyz="1 0 0"/>
|
|
1977
|
+
<limit effort="30" velocity="3.6"/>
|
|
1978
|
+
<!-- alpha tested velocity and effort limits -->
|
|
1979
|
+
<safety_controller k_velocity="1"/>
|
|
1980
|
+
<calibration rising="0.0"/>
|
|
1981
|
+
<dynamics damping="0.1"/>
|
|
1982
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1983
|
+
<parent link="r_elbow_flex_link"/>
|
|
1984
|
+
<child link="r_forearm_roll_link"/>
|
|
1985
|
+
</joint>
|
|
1986
|
+
<!-- TODO: inertial tag should be optional -->
|
|
1987
|
+
<link name="r_forearm_roll_link">
|
|
1988
|
+
<inertial>
|
|
1989
|
+
<!-- dummy masses, to be removed -->
|
|
1990
|
+
<mass value="0.1"/>
|
|
1991
|
+
<origin xyz="0 0 0"/>
|
|
1992
|
+
<inertia ixx="0.01" ixy="0.00" ixz="0.00" iyy="0.01" iyz="0.00" izz="0.01"/>
|
|
1993
|
+
</inertial>
|
|
1994
|
+
<visual>
|
|
1995
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
1996
|
+
<geometry>
|
|
1997
|
+
<mesh filename="package://pr2_description/meshes/upper_arm_v0/forearm_roll.stl"/>
|
|
1998
|
+
</geometry>
|
|
1999
|
+
<material name="RollLinks"/>
|
|
2000
|
+
</visual>
|
|
2001
|
+
<!-- TODO: collision tag should be optional -->
|
|
2002
|
+
<collision>
|
|
2003
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2004
|
+
<geometry>
|
|
2005
|
+
<mesh filename="package://pr2_description/meshes/upper_arm_v0/forearm_roll_L.stl"/>
|
|
2006
|
+
</geometry>
|
|
2007
|
+
</collision>
|
|
2008
|
+
</link>
|
|
2009
|
+
<gazebo reference="r_forearm_roll_link">
|
|
2010
|
+
<material value="PR2/RollLinks"/>
|
|
2011
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2012
|
+
</gazebo>
|
|
2013
|
+
<gazebo reference="r_forearm_roll_joint">
|
|
2014
|
+
<fudgeFactor value="0.5"/>
|
|
2015
|
+
</gazebo>
|
|
2016
|
+
<transmission name="r_forearm_roll_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
2017
|
+
<actuator name="r_forearm_roll_motor"/>
|
|
2018
|
+
<joint name="r_forearm_roll_joint"/>
|
|
2019
|
+
<mechanicalReduction>-90.5142857143</mechanicalReduction>
|
|
2020
|
+
</transmission>
|
|
2021
|
+
<!-- Elbow flex -->
|
|
2022
|
+
<joint name="r_elbow_flex_joint" type="revolute">
|
|
2023
|
+
<axis xyz="0 1 0"/>
|
|
2024
|
+
<!-- Note: Overtravel limits are 140, -7 degrees instead of 133, 0 -->
|
|
2025
|
+
<limit effort="30" lower="-2.3213" upper="0.00" velocity="3.3"/>
|
|
2026
|
+
<!-- alpha tested velocity and effort limits -->
|
|
2027
|
+
<safety_controller k_position="100" k_velocity="3" soft_lower_limit="-2.1213" soft_upper_limit="-0.15"/>
|
|
2028
|
+
<calibration falling="-1.1606"/>
|
|
2029
|
+
<dynamics damping="1.0"/>
|
|
2030
|
+
<origin rpy="0 0 0" xyz="0.4 0 0"/>
|
|
2031
|
+
<parent link="r_upper_arm_link"/>
|
|
2032
|
+
<child link="r_elbow_flex_link"/>
|
|
2033
|
+
</joint>
|
|
2034
|
+
<link name="r_elbow_flex_link">
|
|
2035
|
+
<inertial>
|
|
2036
|
+
<mass value="1.90327"/>
|
|
2037
|
+
<origin xyz="0.01014 0.00032 -0.01211"/>
|
|
2038
|
+
<inertia ixx="0.00346541989" ixy="0.00004066825" ixz="0.00043171614" iyy="0.00441606455" iyz="-0.00003968914" izz="0.00359156824"/>
|
|
2039
|
+
</inertial>
|
|
2040
|
+
<visual>
|
|
2041
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2042
|
+
<geometry>
|
|
2043
|
+
<mesh filename="package://pr2_description/meshes/upper_arm_v0/elbow_flex.dae"/>
|
|
2044
|
+
</geometry>
|
|
2045
|
+
<material name="Grey"/>
|
|
2046
|
+
</visual>
|
|
2047
|
+
<collision>
|
|
2048
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2049
|
+
<geometry>
|
|
2050
|
+
<mesh filename="package://pr2_description/meshes/upper_arm_v0/elbow_flex.stl"/>
|
|
2051
|
+
</geometry>
|
|
2052
|
+
</collision>
|
|
2053
|
+
</link>
|
|
2054
|
+
<!-- testing initial joint position, to be parsed at urdf2gazebo parse time -->
|
|
2055
|
+
<gazebo reference="r_elbow_flex_joint">
|
|
2056
|
+
<initial_joint_position>-1.0</initial_joint_position>
|
|
2057
|
+
</gazebo>
|
|
2058
|
+
<gazebo reference="r_elbow_flex_link">
|
|
2059
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2060
|
+
</gazebo>
|
|
2061
|
+
<gazebo reference="r_elbow_flex_joint">
|
|
2062
|
+
<stopKd value="1.0"/>
|
|
2063
|
+
<stopKp value="1000000.0"/>
|
|
2064
|
+
</gazebo>
|
|
2065
|
+
<!-- Elbow flex -->
|
|
2066
|
+
<transmission name="r_elbow_flex_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
2067
|
+
<actuator name="r_elbow_flex_motor"/>
|
|
2068
|
+
<joint name="r_elbow_flex_joint"/>
|
|
2069
|
+
<mechanicalReduction>-36.167452007</mechanicalReduction>
|
|
2070
|
+
</transmission>
|
|
2071
|
+
<joint name="r_forearm_joint" type="fixed">
|
|
2072
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2073
|
+
<!-- transform from parent link to this joint frame -->
|
|
2074
|
+
<parent link="r_forearm_roll_link"/>
|
|
2075
|
+
<child link="r_forearm_link"/>
|
|
2076
|
+
</joint>
|
|
2077
|
+
<link name="r_forearm_link">
|
|
2078
|
+
<inertial>
|
|
2079
|
+
<mass value="2.57968"/>
|
|
2080
|
+
<origin xyz="0.18791 -0.00017 -0.00912"/>
|
|
2081
|
+
<inertia ixx="0.00364857222" ixy="0.00005215877" ixz="0.00071534842" iyy="0.01507736897" iyz="-0.00001310770" izz="0.01659310749"/>
|
|
2082
|
+
</inertial>
|
|
2083
|
+
<visual>
|
|
2084
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2085
|
+
<geometry>
|
|
2086
|
+
<mesh filename="package://pr2_description/meshes/forearm_v0/forearm.dae"/>
|
|
2087
|
+
</geometry>
|
|
2088
|
+
<material name="Grey"/>
|
|
2089
|
+
</visual>
|
|
2090
|
+
<collision>
|
|
2091
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2092
|
+
<geometry>
|
|
2093
|
+
<mesh filename="package://pr2_description/meshes/forearm_v0/forearm.stl"/>
|
|
2094
|
+
</geometry>
|
|
2095
|
+
</collision>
|
|
2096
|
+
</link>
|
|
2097
|
+
<!-- Wrist flex -->
|
|
2098
|
+
<joint name="r_wrist_flex_joint" type="revolute">
|
|
2099
|
+
<axis xyz="0 1 0"/>
|
|
2100
|
+
<limit effort="10" lower="-2.18" upper="0.0" velocity="3.078"/>
|
|
2101
|
+
<!-- alpha tested velocity and effort limits -->
|
|
2102
|
+
<safety_controller k_position="20" k_velocity="4" soft_lower_limit="-2.0" soft_upper_limit="-0.1"/>
|
|
2103
|
+
<dynamics damping="0.1"/>
|
|
2104
|
+
<calibration falling="-0.5410521"/>
|
|
2105
|
+
<origin rpy="0 0 0" xyz="0.321 0 0"/>
|
|
2106
|
+
<parent link="r_forearm_link"/>
|
|
2107
|
+
<child link="r_wrist_flex_link"/>
|
|
2108
|
+
</joint>
|
|
2109
|
+
<link name="r_wrist_flex_link">
|
|
2110
|
+
<inertial>
|
|
2111
|
+
<mass value="0.61402"/>
|
|
2112
|
+
<origin xyz="-0.00157 0.0 -0.00075"/>
|
|
2113
|
+
<inertia ixx="0.00065165722" ixy="0.00000028864" ixz="0.00000303477" iyy="0.00019824443" iyz="-0.00000022645" izz="0.00064450498"/>
|
|
2114
|
+
</inertial>
|
|
2115
|
+
<visual>
|
|
2116
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2117
|
+
<geometry>
|
|
2118
|
+
<mesh filename="package://pr2_description/meshes/forearm_v0/wrist_flex.dae"/>
|
|
2119
|
+
</geometry>
|
|
2120
|
+
<material name="Grey"/>
|
|
2121
|
+
</visual>
|
|
2122
|
+
<collision>
|
|
2123
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2124
|
+
<geometry>
|
|
2125
|
+
<mesh filename="package://pr2_description/meshes/forearm_v0/wrist_flex.stl"/>
|
|
2126
|
+
</geometry>
|
|
2127
|
+
</collision>
|
|
2128
|
+
</link>
|
|
2129
|
+
<!-- Wrist roll -->
|
|
2130
|
+
<joint name="r_wrist_roll_joint" type="continuous">
|
|
2131
|
+
<axis xyz="1 0 0"/>
|
|
2132
|
+
<limit effort="10" velocity="3.6"/>
|
|
2133
|
+
<!-- alpha tested velocity and effort limits -->
|
|
2134
|
+
<safety_controller k_velocity="2"/>
|
|
2135
|
+
<dynamics damping="0.1"/>
|
|
2136
|
+
<calibration rising="-1.57079632679"/>
|
|
2137
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2138
|
+
<parent link="r_wrist_flex_link"/>
|
|
2139
|
+
<child link="r_wrist_roll_link"/>
|
|
2140
|
+
</joint>
|
|
2141
|
+
<link name="r_wrist_roll_link">
|
|
2142
|
+
<inertial>
|
|
2143
|
+
<!-- dummy masses, to be removed. wrist roll masses are on "gripper_palm" -->
|
|
2144
|
+
<mass value="0.1"/>
|
|
2145
|
+
<origin xyz="0 0 0"/>
|
|
2146
|
+
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01"/>
|
|
2147
|
+
</inertial>
|
|
2148
|
+
<visual>
|
|
2149
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2150
|
+
<geometry>
|
|
2151
|
+
<mesh filename="package://pr2_description/meshes/forearm_v0/wrist_roll.stl"/>
|
|
2152
|
+
</geometry>
|
|
2153
|
+
<material name="RollLinks"/>
|
|
2154
|
+
</visual>
|
|
2155
|
+
<collision>
|
|
2156
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2157
|
+
<geometry>
|
|
2158
|
+
<mesh filename="package://pr2_description/meshes/forearm_v0/wrist_roll_L.stl"/>
|
|
2159
|
+
</geometry>
|
|
2160
|
+
</collision>
|
|
2161
|
+
</link>
|
|
2162
|
+
<gazebo reference="r_forearm_link">
|
|
2163
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2164
|
+
</gazebo>
|
|
2165
|
+
<!-- Wrist flex -->
|
|
2166
|
+
<gazebo reference="r_wrist_flex_link">
|
|
2167
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2168
|
+
</gazebo>
|
|
2169
|
+
<gazebo reference="r_wrist_flex_joint">
|
|
2170
|
+
<stopKd value="1.0"/>
|
|
2171
|
+
<stopKp value="1000000.0"/>
|
|
2172
|
+
</gazebo>
|
|
2173
|
+
<!-- Wrist roll -->
|
|
2174
|
+
<gazebo reference="r_wrist_roll_link">
|
|
2175
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2176
|
+
<material value="PR2/RollLinks"/>
|
|
2177
|
+
</gazebo>
|
|
2178
|
+
<gazebo reference="r_wrist_roll_joint">
|
|
2179
|
+
<fudgeFactor value="0.5"/>
|
|
2180
|
+
</gazebo>
|
|
2181
|
+
<!-- Wrist flex , Wrist roll -->
|
|
2182
|
+
<transmission name="r_wrist_trans" type="pr2_mechanism_model/WristTransmission">
|
|
2183
|
+
<rightActuator mechanicalReduction="60.1714285714" name="r_wrist_r_motor"/>
|
|
2184
|
+
<leftActuator mechanicalReduction="60.1714285714" name="r_wrist_l_motor"/>
|
|
2185
|
+
<flexJoint mechanicalReduction="-1.0" name="r_wrist_flex_joint"/>
|
|
2186
|
+
<rollJoint mechanicalReduction="1.0" name="r_wrist_roll_joint"/>
|
|
2187
|
+
</transmission>
|
|
2188
|
+
<joint name="r_gripper_palm_joint" type="fixed">
|
|
2189
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2190
|
+
<parent link="r_wrist_roll_link"/>
|
|
2191
|
+
<child link="r_gripper_palm_link"/>
|
|
2192
|
+
</joint>
|
|
2193
|
+
<link name="r_gripper_palm_link">
|
|
2194
|
+
<inertial>
|
|
2195
|
+
<mass value="0.58007"/>
|
|
2196
|
+
<origin rpy="0 0 0" xyz="0.06623 0.00053 -0.00119"/>
|
|
2197
|
+
<inertia ixx="0.00035223921" ixy="-0.00001580476" ixz="-0.00000091750" iyy="0.00067741312" iyz="-0.00000059554" izz="0.00086563316"/>
|
|
2198
|
+
</inertial>
|
|
2199
|
+
<visual>
|
|
2200
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2201
|
+
<geometry>
|
|
2202
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/gripper_palm.dae"/>
|
|
2203
|
+
</geometry>
|
|
2204
|
+
<material name="Red"/>
|
|
2205
|
+
</visual>
|
|
2206
|
+
<collision>
|
|
2207
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2208
|
+
<geometry>
|
|
2209
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/gripper_palm.stl"/>
|
|
2210
|
+
</geometry>
|
|
2211
|
+
</collision>
|
|
2212
|
+
</link>
|
|
2213
|
+
<joint name="r_gripper_led_joint" type="fixed">
|
|
2214
|
+
<!-- Need to check if we need a positive or negative Z term -->
|
|
2215
|
+
<origin xyz="0.0513 0.0 .0244"/>
|
|
2216
|
+
<parent link="r_gripper_palm_link"/>
|
|
2217
|
+
<child link="r_gripper_led_frame"/>
|
|
2218
|
+
</joint>
|
|
2219
|
+
<link name="r_gripper_led_frame"/>
|
|
2220
|
+
<joint name="r_gripper_motor_accelerometer_joint" type="fixed">
|
|
2221
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2222
|
+
<parent link="r_gripper_palm_link"/>
|
|
2223
|
+
<child link="r_gripper_motor_accelerometer_link"/>
|
|
2224
|
+
</joint>
|
|
2225
|
+
<link name="r_gripper_motor_accelerometer_link">
|
|
2226
|
+
<inertial>
|
|
2227
|
+
<mass value="0.001"/>
|
|
2228
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2229
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
|
|
2230
|
+
</inertial>
|
|
2231
|
+
<visual>
|
|
2232
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2233
|
+
<geometry>
|
|
2234
|
+
<box size="0.001 0.001 0.001"/>
|
|
2235
|
+
</geometry>
|
|
2236
|
+
</visual>
|
|
2237
|
+
<collision>
|
|
2238
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2239
|
+
<geometry>
|
|
2240
|
+
<box size="0.001 0.001 0.001"/>
|
|
2241
|
+
</geometry>
|
|
2242
|
+
</collision>
|
|
2243
|
+
</link>
|
|
2244
|
+
<joint name="r_gripper_tool_joint" type="fixed">
|
|
2245
|
+
<origin rpy="0 0 0" xyz="0.18 0 0"/>
|
|
2246
|
+
<parent link="r_gripper_palm_link"/>
|
|
2247
|
+
<child link="r_gripper_tool_frame"/>
|
|
2248
|
+
</joint>
|
|
2249
|
+
<link name="r_gripper_tool_frame"/>
|
|
2250
|
+
<!-- actuated motor screw joint -->
|
|
2251
|
+
<link name="r_gripper_motor_slider_link">
|
|
2252
|
+
<inertial>
|
|
2253
|
+
<mass value="0.01"/>
|
|
2254
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2255
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
|
|
2256
|
+
</inertial>
|
|
2257
|
+
<!-- for debugging only
|
|
2258
|
+
<visual>
|
|
2259
|
+
<origin xyz="0 0 0" rpy="1.5708 0 0" />
|
|
2260
|
+
<geometry>
|
|
2261
|
+
<cylinder length="0.002" radius="0.025"/>
|
|
2262
|
+
</geometry>
|
|
2263
|
+
</visual>
|
|
2264
|
+
<collision>
|
|
2265
|
+
<origin xyz="0 0 0" rpy="1.5708 0 0" />
|
|
2266
|
+
<geometry>
|
|
2267
|
+
<cylinder length="0.002" radius="0.025"/>
|
|
2268
|
+
</geometry>
|
|
2269
|
+
</collision>
|
|
2270
|
+
-->
|
|
2271
|
+
</link>
|
|
2272
|
+
<joint name="r_gripper_motor_slider_joint" type="prismatic">
|
|
2273
|
+
<origin rpy="0 0 0" xyz="0.16828 0 0"/>
|
|
2274
|
+
<axis xyz="1 0 0"/>
|
|
2275
|
+
<parent link="r_gripper_palm_link"/>
|
|
2276
|
+
<child link="r_gripper_motor_slider_link"/>
|
|
2277
|
+
<limit effort="1000.0" lower="-0.1" upper="0.1" velocity="0.2"/>
|
|
2278
|
+
</joint>
|
|
2279
|
+
<link name="r_gripper_motor_screw_link">
|
|
2280
|
+
<inertial>
|
|
2281
|
+
<mass value="0.01"/>
|
|
2282
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2283
|
+
<inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
|
|
2284
|
+
</inertial>
|
|
2285
|
+
<!-- for debugging only
|
|
2286
|
+
<visual>
|
|
2287
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
2288
|
+
<geometry>
|
|
2289
|
+
<box size="0.05 0.001 0.05" />
|
|
2290
|
+
</geometry>
|
|
2291
|
+
</visual>
|
|
2292
|
+
<collision>
|
|
2293
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
2294
|
+
<geometry>
|
|
2295
|
+
<box size="0.05 0.001 0.05" />
|
|
2296
|
+
</geometry>
|
|
2297
|
+
</collision>
|
|
2298
|
+
-->
|
|
2299
|
+
</link>
|
|
2300
|
+
<joint name="r_gripper_motor_screw_joint" type="continuous">
|
|
2301
|
+
<origin rpy="0 0 0" xyz="0.0 0 0"/>
|
|
2302
|
+
<axis xyz="0 1 0"/>
|
|
2303
|
+
<parent link="r_gripper_motor_slider_link"/>
|
|
2304
|
+
<child link="r_gripper_motor_screw_link"/>
|
|
2305
|
+
<dynamics damping="0.0001"/>
|
|
2306
|
+
</joint>
|
|
2307
|
+
<!-- Finger proximal digit -->
|
|
2308
|
+
<joint name="r_gripper_l_finger_joint" type="revolute">
|
|
2309
|
+
<axis xyz="0 0 1"/>
|
|
2310
|
+
<!-- limits on passive finger and finger top joints without
|
|
2311
|
+
transmission are not enforced by safety controllers.
|
|
2312
|
+
The lower/upper limits and are enforced in PR2 simulation and
|
|
2313
|
+
effort and velocity limits are ignored. This is also needed because
|
|
2314
|
+
these joints are declared revolute rather than continuous.-->
|
|
2315
|
+
<limit effort="1000.0" lower="0.0" upper="0.548" velocity="0.5"/>
|
|
2316
|
+
<dynamics damping="0.02"/>
|
|
2317
|
+
<origin rpy="0 0 0" xyz="0.07691 0.01 0"/>
|
|
2318
|
+
<parent link="r_gripper_palm_link"/>
|
|
2319
|
+
<child link="r_gripper_l_finger_link"/>
|
|
2320
|
+
</joint>
|
|
2321
|
+
<link name="r_gripper_l_finger_link">
|
|
2322
|
+
<inertial>
|
|
2323
|
+
<mass value="0.17126"/>
|
|
2324
|
+
<origin rpy="0 0 0" xyz="0.03598 0.01730 -0.00164"/>
|
|
2325
|
+
<inertia ixx="0.00007756198" ixy="0.00000149095" ixz="-0.00000983385" iyy="0.00019708305" iyz="-0.00000306125" izz="0.00018105446"/>
|
|
2326
|
+
</inertial>
|
|
2327
|
+
<visual>
|
|
2328
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2329
|
+
<geometry>
|
|
2330
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/l_finger.dae"/>
|
|
2331
|
+
</geometry>
|
|
2332
|
+
<material name="Grey"/>
|
|
2333
|
+
</visual>
|
|
2334
|
+
<collision>
|
|
2335
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2336
|
+
<geometry>
|
|
2337
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/l_finger.stl"/>
|
|
2338
|
+
</geometry>
|
|
2339
|
+
</collision>
|
|
2340
|
+
</link>
|
|
2341
|
+
<!-- Finger proximal digit -->
|
|
2342
|
+
<joint name="r_gripper_r_finger_joint" type="revolute">
|
|
2343
|
+
<axis xyz="0 0 -1"/>
|
|
2344
|
+
<origin rpy="0 0 0" xyz="0.07691 -0.01 0"/>
|
|
2345
|
+
<!-- limits on passive finger and finger top joints without
|
|
2346
|
+
transmission are not enforced by safety controllers.
|
|
2347
|
+
The lower/upper limits and are enforced in PR2 simulation and
|
|
2348
|
+
effort and velocity limits are ignored. This is also needed because
|
|
2349
|
+
these joints are declared revolute rather than continuous.-->
|
|
2350
|
+
<limit effort="1000.0" lower="0.0" upper="0.548" velocity="0.5"/>
|
|
2351
|
+
<dynamics damping="0.02"/>
|
|
2352
|
+
<mimic joint="r_gripper_l_finger_joint" multiplier="1" offset="0"/>
|
|
2353
|
+
<parent link="r_gripper_palm_link"/>
|
|
2354
|
+
<child link="r_gripper_r_finger_link"/>
|
|
2355
|
+
</joint>
|
|
2356
|
+
<link name="r_gripper_r_finger_link">
|
|
2357
|
+
<inertial>
|
|
2358
|
+
<mass value="0.17389"/>
|
|
2359
|
+
<origin rpy="0 0 0" xyz="0.03576 -0.01736 -0.00095"/>
|
|
2360
|
+
<inertia ixx="0.00007738410" ixy="-0.00000209309" ixz="-0.00000836228" iyy="0.00019847383" iyz="0.00000246110" izz="0.00018106988"/>
|
|
2361
|
+
</inertial>
|
|
2362
|
+
<visual>
|
|
2363
|
+
<origin rpy="3.14159265359 0 0" xyz="0 0 0"/>
|
|
2364
|
+
<geometry>
|
|
2365
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/l_finger.dae"/>
|
|
2366
|
+
</geometry>
|
|
2367
|
+
<material name="Grey"/>
|
|
2368
|
+
</visual>
|
|
2369
|
+
<collision>
|
|
2370
|
+
<origin rpy="3.14159265359 0 0" xyz="0 0 0"/>
|
|
2371
|
+
<geometry>
|
|
2372
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/l_finger.stl"/>
|
|
2373
|
+
</geometry>
|
|
2374
|
+
</collision>
|
|
2375
|
+
</link>
|
|
2376
|
+
<!-- Finger tip -->
|
|
2377
|
+
<joint name="r_gripper_l_finger_tip_joint" type="revolute">
|
|
2378
|
+
<axis xyz="0 0 -1"/>
|
|
2379
|
+
<origin rpy="0 0 0" xyz="0.09137 0.00495 0"/>
|
|
2380
|
+
<!-- limits on passive finger and finger top joints without
|
|
2381
|
+
transmission are not enforced by safety controllers.
|
|
2382
|
+
The lower/upper limits and are enforced in PR2 simulation and
|
|
2383
|
+
effort and velocity limits are ignored. This is also needed because
|
|
2384
|
+
these joints are declared revolute rather than continuous.-->
|
|
2385
|
+
<limit effort="1000.0" lower="0.0" upper="0.548" velocity="0.5"/>
|
|
2386
|
+
<dynamics damping="0.001"/>
|
|
2387
|
+
<mimic joint="r_gripper_l_finger_joint" multiplier="1" offset="0"/>
|
|
2388
|
+
<parent link="r_gripper_l_finger_link"/>
|
|
2389
|
+
<child link="r_gripper_l_finger_tip_link"/>
|
|
2390
|
+
</joint>
|
|
2391
|
+
<link name="r_gripper_l_finger_tip_link">
|
|
2392
|
+
<inertial>
|
|
2393
|
+
<mass value="0.04419"/>
|
|
2394
|
+
<origin rpy="0 0 0" xyz="0.00423 0.00284 0.0"/>
|
|
2395
|
+
<inertia ixx="0.00000837047" ixy="0.00000583632" ixz="0.0" iyy="0.00000987067" iyz="0.0" izz="0.00001541768"/>
|
|
2396
|
+
</inertial>
|
|
2397
|
+
<visual>
|
|
2398
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2399
|
+
<geometry>
|
|
2400
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/l_finger_tip.dae"/>
|
|
2401
|
+
</geometry>
|
|
2402
|
+
<material name="Green"/>
|
|
2403
|
+
</visual>
|
|
2404
|
+
<collision>
|
|
2405
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2406
|
+
<geometry>
|
|
2407
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/l_finger_tip.stl"/>
|
|
2408
|
+
</geometry>
|
|
2409
|
+
</collision>
|
|
2410
|
+
</link>
|
|
2411
|
+
<!-- Finger tip -->
|
|
2412
|
+
<joint name="r_gripper_r_finger_tip_joint" type="revolute">
|
|
2413
|
+
<axis xyz="0 0 1"/>
|
|
2414
|
+
<origin rpy="0 0 0" xyz="0.09137 -0.00495 0"/>
|
|
2415
|
+
<!-- limits on passive finger and finger top joints without
|
|
2416
|
+
transmission are not enforced by safety controllers.
|
|
2417
|
+
The lower/upper limits and are enforced in PR2 simulation and
|
|
2418
|
+
effort and velocity limits are ignored. This is also needed because
|
|
2419
|
+
these joints are declared revolute rather than continuous.-->
|
|
2420
|
+
<limit effort="1000.0" lower="0.0" upper="0.548" velocity="0.5"/>
|
|
2421
|
+
<dynamics damping="0.001"/>
|
|
2422
|
+
<mimic joint="r_gripper_l_finger_joint" multiplier="1" offset="0"/>
|
|
2423
|
+
<parent link="r_gripper_r_finger_link"/>
|
|
2424
|
+
<child link="r_gripper_r_finger_tip_link"/>
|
|
2425
|
+
</joint>
|
|
2426
|
+
<link name="r_gripper_r_finger_tip_link">
|
|
2427
|
+
<inertial>
|
|
2428
|
+
<mass value="0.04419"/>
|
|
2429
|
+
<origin rpy="0 0 0" xyz="0.00423 -0.00284 0.0"/>
|
|
2430
|
+
<inertia ixx="0.00000837047" ixy="-0.00000583632" ixz="0.0" iyy="0.00000987067" iyz="0.0" izz="0.00001541768"/>
|
|
2431
|
+
</inertial>
|
|
2432
|
+
<visual>
|
|
2433
|
+
<origin rpy="3.14159265359 0 0" xyz="0 0 0"/>
|
|
2434
|
+
<geometry>
|
|
2435
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/l_finger_tip.dae"/>
|
|
2436
|
+
</geometry>
|
|
2437
|
+
<material name="Green"/>
|
|
2438
|
+
</visual>
|
|
2439
|
+
<collision>
|
|
2440
|
+
<origin rpy="3.14159265359 0 0" xyz="0 0 0"/>
|
|
2441
|
+
<geometry>
|
|
2442
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/l_finger_tip.stl"/>
|
|
2443
|
+
</geometry>
|
|
2444
|
+
</collision>
|
|
2445
|
+
</link>
|
|
2446
|
+
<!-- Finger proximal digit -->
|
|
2447
|
+
<gazebo reference="r_gripper_l_finger_link">
|
|
2448
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2449
|
+
<mu1 value="500.0"/>
|
|
2450
|
+
<mu2 value="500.0"/>
|
|
2451
|
+
<kp value="1000000.0"/>
|
|
2452
|
+
<kd value="1.0"/>
|
|
2453
|
+
<!-- for "${prefix}_l_finger_joint"-->
|
|
2454
|
+
</gazebo>
|
|
2455
|
+
<gazebo reference="r_gripper_l_finger_joint">
|
|
2456
|
+
<stopKd value="1.0"/>
|
|
2457
|
+
<stopKp value="10000000.0"/>
|
|
2458
|
+
<fudgeFactor value="1.0"/>
|
|
2459
|
+
<provideFeedback value="true"/>
|
|
2460
|
+
</gazebo>
|
|
2461
|
+
<!-- Finger proximal digit -->
|
|
2462
|
+
<gazebo reference="r_gripper_r_finger_link">
|
|
2463
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2464
|
+
<mu1 value="500.0"/>
|
|
2465
|
+
<mu2 value="500.0"/>
|
|
2466
|
+
<kp value="1000000.0"/>
|
|
2467
|
+
<kd value="1.0"/>
|
|
2468
|
+
</gazebo>
|
|
2469
|
+
<gazebo reference="r_gripper_r_finger_joint">
|
|
2470
|
+
<stopKd value="1.0"/>
|
|
2471
|
+
<stopKp value="10000000.0"/>
|
|
2472
|
+
<fudgeFactor value="1.0"/>
|
|
2473
|
+
<provideFeedback value="true"/>
|
|
2474
|
+
</gazebo>
|
|
2475
|
+
<!-- Finger tip -->
|
|
2476
|
+
<gazebo reference="r_gripper_l_finger_tip_link">
|
|
2477
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2478
|
+
<selfCollide>false</selfCollide>
|
|
2479
|
+
<sensor name="r_gripper_l_finger_tip_contact_sensor" type="contact">
|
|
2480
|
+
<update_rate>100.0</update_rate>
|
|
2481
|
+
<contact>
|
|
2482
|
+
<collision>r_gripper_l_finger_tip_link_geom</collision>
|
|
2483
|
+
</contact>
|
|
2484
|
+
<plugin filename="libgazebo_ros_bumper.so" name="r_gripper_l_finger_tip_gazebo_ros_bumper_controller">
|
|
2485
|
+
<alwaysOn>true</alwaysOn>
|
|
2486
|
+
<frameName>r_gripper_l_finger_tip_link</frameName>
|
|
2487
|
+
<updateRate>100.0</updateRate>
|
|
2488
|
+
<bumperTopicName>r_gripper_l_finger_tip_bumper</bumperTopicName>
|
|
2489
|
+
</plugin>
|
|
2490
|
+
</sensor>
|
|
2491
|
+
<mu1 value="500.0"/>
|
|
2492
|
+
<mu2 value="500.0"/>
|
|
2493
|
+
<kp value="10000000.0"/>
|
|
2494
|
+
<kd value="1.0"/>
|
|
2495
|
+
</gazebo>
|
|
2496
|
+
<gazebo reference="r_gripper_l_finger_tip_joint">
|
|
2497
|
+
<stopKd value="1.0"/>
|
|
2498
|
+
<stopKp value="10000000.0"/>
|
|
2499
|
+
<fudgeFactor value="1.0"/>
|
|
2500
|
+
<provideFeedback value="true"/>
|
|
2501
|
+
</gazebo>
|
|
2502
|
+
<!-- Finger tip -->
|
|
2503
|
+
<gazebo reference="r_gripper_r_finger_tip_link">
|
|
2504
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2505
|
+
<selfCollide>false</selfCollide>
|
|
2506
|
+
<sensor name="r_gripper_r_finger_tip_contact_sensor" type="contact">
|
|
2507
|
+
<update_rate>100.0</update_rate>
|
|
2508
|
+
<contact>
|
|
2509
|
+
<collision>r_gripper_r_finger_tip_link_geom</collision>
|
|
2510
|
+
</contact>
|
|
2511
|
+
<plugin filename="libgazebo_ros_bumper.so" name="r_gripper_r_finger_tip_gazebo_ros_bumper_controller">
|
|
2512
|
+
<alwaysOn>true</alwaysOn>
|
|
2513
|
+
<frameName>r_gripper_r_finger_tip_link</frameName>
|
|
2514
|
+
<updateRate>100.0</updateRate>
|
|
2515
|
+
<bumperTopicName>r_gripper_r_finger_tip_bumper</bumperTopicName>
|
|
2516
|
+
</plugin>
|
|
2517
|
+
</sensor>
|
|
2518
|
+
<mu1 value="500.0"/>
|
|
2519
|
+
<mu2 value="500.0"/>
|
|
2520
|
+
<kp value="10000000.0"/>
|
|
2521
|
+
<kd value="1.0"/>
|
|
2522
|
+
</gazebo>
|
|
2523
|
+
<gazebo>
|
|
2524
|
+
<plugin filename="libgazebo_ros_p3d.so" name="p3d_r_gripper_l_finger_controller">
|
|
2525
|
+
<alwaysOn>true</alwaysOn>
|
|
2526
|
+
<updateRate>100.0</updateRate>
|
|
2527
|
+
<bodyName>r_gripper_l_finger_link</bodyName>
|
|
2528
|
+
<topicName>r_gripper_l_finger_pose_ground_truth</topicName>
|
|
2529
|
+
<gaussianNoise>0.0</gaussianNoise>
|
|
2530
|
+
<frameName>base_link</frameName>
|
|
2531
|
+
</plugin>
|
|
2532
|
+
<plugin filename="libgazebo_ros_f3d.so" name="f3d_r_gripper_l_finger_controller">
|
|
2533
|
+
<alwaysOn>true</alwaysOn>
|
|
2534
|
+
<updateRate>100.0</updateRate>
|
|
2535
|
+
<bodyName>r_gripper_l_finger_link</bodyName>
|
|
2536
|
+
<topicName>r_gripper_l_finger_force_ground_truth</topicName>
|
|
2537
|
+
</plugin>
|
|
2538
|
+
</gazebo>
|
|
2539
|
+
<gazebo reference="r_gripper_r_finger_tip_joint">
|
|
2540
|
+
<stopKd value="1.0"/>
|
|
2541
|
+
<stopKp value="10000000.0"/>
|
|
2542
|
+
<fudgeFactor value="1.0"/>
|
|
2543
|
+
<provideFeedback value="true"/>
|
|
2544
|
+
</gazebo>
|
|
2545
|
+
<!-- parallel link for simulating gripper constraints -->
|
|
2546
|
+
<gazebo>
|
|
2547
|
+
<link name="r_gripper_l_parallel_link">
|
|
2548
|
+
<inertial>
|
|
2549
|
+
<mass>0.17126</mass>
|
|
2550
|
+
<inertia>
|
|
2551
|
+
<ixx>7.7562e-05</ixx>
|
|
2552
|
+
<ixy>1.49095e-06</ixy>
|
|
2553
|
+
<ixz>-9.83385e-06</ixz>
|
|
2554
|
+
<iyy>0.000197083</iyy>
|
|
2555
|
+
<iyz>-3.06125e-06</iyz>
|
|
2556
|
+
<izz>0.000181054</izz>
|
|
2557
|
+
</inertia>
|
|
2558
|
+
<pose>0.03598 0.0173 -0.00164 0 0 0</pose>
|
|
2559
|
+
</inertial>
|
|
2560
|
+
<pose>0.82991 -0.157 0.790675 0 -0 0</pose>
|
|
2561
|
+
<gravity>false</gravity>
|
|
2562
|
+
</link>
|
|
2563
|
+
<link name="r_gripper_r_parallel_link">
|
|
2564
|
+
<inertial>
|
|
2565
|
+
<mass>0.17389</mass>
|
|
2566
|
+
<inertia>
|
|
2567
|
+
<ixx>7.73841e-05</ixx>
|
|
2568
|
+
<ixy>-2.09309e-06</ixy>
|
|
2569
|
+
<ixz>-8.36228e-06</ixz>
|
|
2570
|
+
<iyy>0.000198474</iyy>
|
|
2571
|
+
<iyz>2.4611e-06</iyz>
|
|
2572
|
+
<izz>0.00018107</izz>
|
|
2573
|
+
</inertia>
|
|
2574
|
+
<pose>0.03576 -0.01736 -0.00095 0 0 0</pose>
|
|
2575
|
+
</inertial>
|
|
2576
|
+
<pose>0.82991 -0.219 0.790675 0 0 0</pose>
|
|
2577
|
+
<gravity>false</gravity>
|
|
2578
|
+
</link>
|
|
2579
|
+
</gazebo>
|
|
2580
|
+
<gazebo>
|
|
2581
|
+
<joint name="r_gripper_r_screw_screw_joint" type="screw">
|
|
2582
|
+
<child>r_gripper_motor_screw_link</child>
|
|
2583
|
+
<parent>r_gripper_r_finger_tip_link</parent>
|
|
2584
|
+
<thread_pitch>-3141.6</thread_pitch>
|
|
2585
|
+
<axis>
|
|
2586
|
+
<xyz>0 1 0</xyz>
|
|
2587
|
+
</axis>
|
|
2588
|
+
</joint>
|
|
2589
|
+
<joint name="r_gripper_l_screw_screw_joint" type="screw">
|
|
2590
|
+
<parent>r_gripper_l_finger_tip_link</parent>
|
|
2591
|
+
<child>r_gripper_motor_screw_link</child>
|
|
2592
|
+
<thread_pitch>3141.6</thread_pitch>
|
|
2593
|
+
<axis>
|
|
2594
|
+
<xyz>0 1 0</xyz>
|
|
2595
|
+
</axis>
|
|
2596
|
+
</joint>
|
|
2597
|
+
</gazebo>
|
|
2598
|
+
<gazebo>
|
|
2599
|
+
<joint name="r_gripper_r_parallel_root_joint" type="revolute">
|
|
2600
|
+
<parent>r_gripper_r_parallel_link</parent>
|
|
2601
|
+
<child>r_gripper_palm_link</child>
|
|
2602
|
+
<axis>
|
|
2603
|
+
<xyz>0 0 -1</xyz>
|
|
2604
|
+
<dynamics>
|
|
2605
|
+
<damping>0.2</damping>
|
|
2606
|
+
</dynamics>
|
|
2607
|
+
</axis>
|
|
2608
|
+
<pose>0.05891 -0.031 0 0 0 0</pose>
|
|
2609
|
+
</joint>
|
|
2610
|
+
<joint name="r_gripper_l_parallel_root_joint" type="revolute">
|
|
2611
|
+
<parent>r_gripper_l_parallel_link</parent>
|
|
2612
|
+
<child>r_gripper_palm_link</child>
|
|
2613
|
+
<axis>
|
|
2614
|
+
<xyz>0 0 1</xyz>
|
|
2615
|
+
<dynamics>
|
|
2616
|
+
<damping>0.2</damping>
|
|
2617
|
+
</dynamics>
|
|
2618
|
+
</axis>
|
|
2619
|
+
<pose>0.05891 0.031 0 0 0 0</pose>
|
|
2620
|
+
</joint>
|
|
2621
|
+
<joint name="r_gripper_r_parallel_tip_joint" type="revolute">
|
|
2622
|
+
<parent>r_gripper_r_parallel_link</parent>
|
|
2623
|
+
<child>r_gripper_r_finger_tip_link</child>
|
|
2624
|
+
<axis>
|
|
2625
|
+
<xyz>0 0 1</xyz>
|
|
2626
|
+
</axis>
|
|
2627
|
+
<pose>-0.018 -0.021 0 0 0 0</pose>
|
|
2628
|
+
</joint>
|
|
2629
|
+
<joint name="r_gripper_l_parallel_tip_joint" type="revolute">
|
|
2630
|
+
<parent>r_gripper_l_parallel_link</parent>
|
|
2631
|
+
<child>r_gripper_l_finger_tip_link</child>
|
|
2632
|
+
<axis>
|
|
2633
|
+
<xyz>0 0 1</xyz>
|
|
2634
|
+
</axis>
|
|
2635
|
+
<pose>-0.018 0.021 0 0 0 0</pose>
|
|
2636
|
+
</joint>
|
|
2637
|
+
<joint name="r_gripper_joint" type="prismatic">
|
|
2638
|
+
<parent>r_gripper_r_finger_tip_link</parent>
|
|
2639
|
+
<child>r_gripper_l_finger_tip_link</child>
|
|
2640
|
+
<axis>
|
|
2641
|
+
<xyz>0 1 0</xyz>
|
|
2642
|
+
</axis>
|
|
2643
|
+
</joint>
|
|
2644
|
+
</gazebo>
|
|
2645
|
+
<gazebo reference="r_gripper_motor_slider_link">
|
|
2646
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2647
|
+
<material value="PR2/Red"/>
|
|
2648
|
+
</gazebo>
|
|
2649
|
+
<gazebo reference="r_gripper_motor_screw_link">
|
|
2650
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2651
|
+
<material value="PR2/Red"/>
|
|
2652
|
+
</gazebo>
|
|
2653
|
+
<gazebo reference="r_gripper_l_parallel_link">
|
|
2654
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2655
|
+
<material value="PR2/Red"/>
|
|
2656
|
+
</gazebo>
|
|
2657
|
+
<gazebo reference="r_gripper_r_parallel_link">
|
|
2658
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2659
|
+
<material value="PR2/Red"/>
|
|
2660
|
+
</gazebo>
|
|
2661
|
+
<!-- fictitous joint that represents the gripper gap -->
|
|
2662
|
+
<!-- effort is the linear force at the gripper gap
|
|
2663
|
+
velocity limit is the linear velocity limit at the gripper gap
|
|
2664
|
+
try and introduce a very stiff spring
|
|
2665
|
+
The velocity limits are alpha tested.
|
|
2666
|
+
The effort limits are somewhat inflated.
|
|
2667
|
+
k_velocity was recently raised from 500.0 to 5000.0. Tested on beta
|
|
2668
|
+
-->
|
|
2669
|
+
<joint name="r_gripper_joint" type="prismatic">
|
|
2670
|
+
<parent link="r_gripper_r_finger_tip_link"/>
|
|
2671
|
+
<child link="r_gripper_l_finger_tip_frame"/>
|
|
2672
|
+
<axis xyz="0 1 0"/>
|
|
2673
|
+
<dynamics damping="10.0"/>
|
|
2674
|
+
<limit effort="1000.0" lower="0.0" upper="0.09" velocity="0.2"/>
|
|
2675
|
+
<safety_controller k_position="20.0" k_velocity="5000.0" soft_lower_limit="-0.01" soft_upper_limit="0.088"/>
|
|
2676
|
+
</joint>
|
|
2677
|
+
<!-- This link is the same as the l_finger_tip_link,
|
|
2678
|
+
but because the urdf does not support graph structures,
|
|
2679
|
+
this link exists twice -->
|
|
2680
|
+
<link name="r_gripper_l_finger_tip_frame"/>
|
|
2681
|
+
<gazebo reference="r_gripper_palm_link">
|
|
2682
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2683
|
+
</gazebo>
|
|
2684
|
+
<gazebo>
|
|
2685
|
+
<plugin filename="libgazebo_ros_p3d.so" name="p3d_r_gripper_palm_controller">
|
|
2686
|
+
<alwaysOn>true</alwaysOn>
|
|
2687
|
+
<updateRate>100.0</updateRate>
|
|
2688
|
+
<bodyName>r_gripper_palm_link</bodyName>
|
|
2689
|
+
<topicName>r_gripper_palm_pose_ground_truth</topicName>
|
|
2690
|
+
<xyzOffsets>0 0 0</xyzOffsets>
|
|
2691
|
+
<rpyOffsets>0 0 0</rpyOffsets>
|
|
2692
|
+
<gaussianNoise>0.0</gaussianNoise>
|
|
2693
|
+
<frameName>map</frameName>
|
|
2694
|
+
</plugin>
|
|
2695
|
+
<!-- a formal implementation of grasp hack in gazebo with fixed joint -->
|
|
2696
|
+
<gripper name="r_grasp_hack">
|
|
2697
|
+
<grasp_check>
|
|
2698
|
+
<attach_steps>20</attach_steps>
|
|
2699
|
+
<detach_steps>40</detach_steps>
|
|
2700
|
+
<min_contact_count>2</min_contact_count>
|
|
2701
|
+
</grasp_check>
|
|
2702
|
+
<gripper_link>r_gripper_r_finger_tip_link</gripper_link>
|
|
2703
|
+
<gripper_link>r_gripper_l_finger_tip_link</gripper_link>
|
|
2704
|
+
<palm_link>r_gripper_palm_link</palm_link>
|
|
2705
|
+
</gripper>
|
|
2706
|
+
</gazebo>
|
|
2707
|
+
<!-- [lr]_gripper_joint is a fictitious joint, used by transmission for controller gap -->
|
|
2708
|
+
<!-- [lr]_gripper_joint is not attached to any link -->
|
|
2709
|
+
<!-- [lr]_gripper_joint position is the gap_size -->
|
|
2710
|
+
<!-- [lr]_gripper_joint velocity is the gap linear velocity -->
|
|
2711
|
+
<!-- [lr]_gripper_joint effort is the gap linear force -->
|
|
2712
|
+
<!-- Please refer to function engineering spreadsheet 090224_link_data.xls for -->
|
|
2713
|
+
<!-- the transmission function. -->
|
|
2714
|
+
<!-- Please refer to mechanism_model/src/pr2_gripper_transmission.cpp for implementation.-->
|
|
2715
|
+
<!-- gazebo_mimic_pid is for sim only. -->
|
|
2716
|
+
<transmission name="r_gripper_trans" type="pr2_mechanism_model/PR2GripperTransmission">
|
|
2717
|
+
<actuator name="r_gripper_motor"/>
|
|
2718
|
+
<gap_joint L0="0.0375528" a="0.0683698" b="0.0433849" gear_ratio="40.095" h="0.0" mechanical_reduction="1.0" name="r_gripper_joint" phi0="0.518518122146" r="0.0915" screw_reduction="0.004" t0="-0.0001914" theta0="0.0628824676201"/>
|
|
2719
|
+
<!-- if a gazebo joint exists as [l|r]_gripper_joint, use this tag to have
|
|
2720
|
+
gripper transmission apply torque directly to prismatic joint
|
|
2721
|
+
this should be the default behavior in diamondback, deprecating this flag -->
|
|
2722
|
+
<use_simulated_gripper_joint/>
|
|
2723
|
+
<!-- set passive joint angles so things look nice in rviz -->
|
|
2724
|
+
<passive_joint name="r_gripper_l_finger_joint"/>
|
|
2725
|
+
<passive_joint name="r_gripper_r_finger_joint"/>
|
|
2726
|
+
<passive_joint name="r_gripper_r_finger_tip_joint"/>
|
|
2727
|
+
<passive_joint name="r_gripper_l_finger_tip_joint"/>
|
|
2728
|
+
<!-- screw joint to capture gripper "dynamics" -->
|
|
2729
|
+
<simulated_actuated_joint name="r_gripper_motor_screw_joint" passive_actuated_joint="r_gripper_motor_slider_joint" simulated_reduction="3141.6"/>
|
|
2730
|
+
</transmission>
|
|
2731
|
+
<!-- Shoulder pan -->
|
|
2732
|
+
<joint name="l_shoulder_pan_joint" type="revolute">
|
|
2733
|
+
<axis xyz="0 0 1"/>
|
|
2734
|
+
<origin rpy="0 0 0" xyz="0.0 0.188 0.0"/>
|
|
2735
|
+
<!-- transform from parent link to this joint frame -->
|
|
2736
|
+
<parent link="torso_lift_link"/>
|
|
2737
|
+
<child link="l_shoulder_pan_link"/>
|
|
2738
|
+
<limit effort="30" lower="-0.714601836603" upper="2.2853981634" velocity="2.088"/>
|
|
2739
|
+
<!-- alpha tested velocity and effort limits -->
|
|
2740
|
+
<dynamics damping="10.0"/>
|
|
2741
|
+
<safety_controller k_position="100" k_velocity="10" soft_lower_limit="-0.564601836603" soft_upper_limit="2.1353981634"/>
|
|
2742
|
+
<!-- joint angle when the rising or the falling flag is activated on PR2 -->
|
|
2743
|
+
<calibration rising="0.785398163397"/>
|
|
2744
|
+
</joint>
|
|
2745
|
+
<link name="l_shoulder_pan_link">
|
|
2746
|
+
<inertial>
|
|
2747
|
+
<mass value="25.799322"/>
|
|
2748
|
+
<origin rpy="0 0 0" xyz="-0.001201 0.024513 -0.098231"/>
|
|
2749
|
+
<inertia ixx="0.866179142480" ixy="-0.06086507933" ixz="-0.12118061183" iyy="0.87421714893" iyz="-0.05886609911" izz="0.27353821674"/>
|
|
2750
|
+
</inertial>
|
|
2751
|
+
<visual>
|
|
2752
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2753
|
+
<geometry>
|
|
2754
|
+
<mesh filename="package://pr2_description/meshes/shoulder_v0/shoulder_pan.dae"/>
|
|
2755
|
+
</geometry>
|
|
2756
|
+
<material name="Blue"/>
|
|
2757
|
+
</visual>
|
|
2758
|
+
<collision>
|
|
2759
|
+
<origin rpy="0 0 0" xyz="0.0 0 0.0"/>
|
|
2760
|
+
<geometry>
|
|
2761
|
+
<mesh filename="package://pr2_description/meshes/shoulder_v0/shoulder_pan.stl"/>
|
|
2762
|
+
</geometry>
|
|
2763
|
+
</collision>
|
|
2764
|
+
</link>
|
|
2765
|
+
<!-- Shoulder lift -->
|
|
2766
|
+
<joint name="l_shoulder_lift_joint" type="revolute">
|
|
2767
|
+
<axis xyz="0 1 0"/>
|
|
2768
|
+
<!-- Limits updated from Function's CAD values as of 2009_02_24 (link_data.xls) -->
|
|
2769
|
+
<limit effort="30" lower="-0.5236" upper="1.3963" velocity="2.082"/>
|
|
2770
|
+
<!-- alpha tested velocity and effort limits -->
|
|
2771
|
+
<safety_controller k_position="100" k_velocity="10" soft_lower_limit="-0.3536" soft_upper_limit="1.2963"/>
|
|
2772
|
+
<calibration falling="0.0"/>
|
|
2773
|
+
<dynamics damping="10.0"/>
|
|
2774
|
+
<origin rpy="0 0 0" xyz="0.1 0 0"/>
|
|
2775
|
+
<parent link="l_shoulder_pan_link"/>
|
|
2776
|
+
<child link="l_shoulder_lift_link"/>
|
|
2777
|
+
</joint>
|
|
2778
|
+
<link name="l_shoulder_lift_link">
|
|
2779
|
+
<inertial>
|
|
2780
|
+
<mass value="2.74988"/>
|
|
2781
|
+
<origin rpy="0 0 0" xyz="0.02195 -0.02664 -0.03127"/>
|
|
2782
|
+
<inertia ixx="0.02105584615" ixy="0.00496704022" ixz="-0.00194808955" iyy="0.02127223737" iyz="0.00110425490" izz="0.01975753814"/>
|
|
2783
|
+
</inertial>
|
|
2784
|
+
<visual>
|
|
2785
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2786
|
+
<geometry>
|
|
2787
|
+
<mesh filename="package://pr2_description/meshes/shoulder_v0/shoulder_lift.dae"/>
|
|
2788
|
+
</geometry>
|
|
2789
|
+
<material name="Grey"/>
|
|
2790
|
+
</visual>
|
|
2791
|
+
<collision>
|
|
2792
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2793
|
+
<geometry>
|
|
2794
|
+
<mesh filename="package://pr2_description/meshes/shoulder_v0/shoulder_lift.stl"/>
|
|
2795
|
+
</geometry>
|
|
2796
|
+
</collision>
|
|
2797
|
+
</link>
|
|
2798
|
+
<joint name="l_upper_arm_roll_joint" type="revolute">
|
|
2799
|
+
<axis xyz="1 0 0"/>
|
|
2800
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2801
|
+
<parent link="l_shoulder_lift_link"/>
|
|
2802
|
+
<child link="l_upper_arm_roll_link"/>
|
|
2803
|
+
<limit effort="30" lower="-0.8" upper="3.9" velocity="3.27"/>
|
|
2804
|
+
<!-- alpha tested velocity and effort limits -->
|
|
2805
|
+
<safety_controller k_position="100" k_velocity="2" soft_lower_limit="-0.65" soft_upper_limit="3.75"/>
|
|
2806
|
+
<calibration rising="1.57079632679"/>
|
|
2807
|
+
<dynamics damping="0.1"/>
|
|
2808
|
+
</joint>
|
|
2809
|
+
<link name="l_upper_arm_roll_link">
|
|
2810
|
+
<inertial>
|
|
2811
|
+
<!-- dummy mass, to be removed -->
|
|
2812
|
+
<mass value="0.1"/>
|
|
2813
|
+
<origin rpy="0 0 0" xyz="0.0 0 0"/>
|
|
2814
|
+
<inertia ixx="0.01" ixy="0.00" ixz="0.00" iyy="0.01" iyz="0.00" izz="0.01"/>
|
|
2815
|
+
</inertial>
|
|
2816
|
+
<visual>
|
|
2817
|
+
<!-- TODO: This component doesn't actually have a mesh -->
|
|
2818
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2819
|
+
<geometry>
|
|
2820
|
+
<mesh filename="package://pr2_description/meshes/shoulder_v0/upper_arm_roll.stl"/>
|
|
2821
|
+
</geometry>
|
|
2822
|
+
<material name="RollLinks"/>
|
|
2823
|
+
</visual>
|
|
2824
|
+
<collision>
|
|
2825
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2826
|
+
<geometry>
|
|
2827
|
+
<mesh filename="package://pr2_description/meshes/shoulder_v0/upper_arm_roll_L.stl"/>
|
|
2828
|
+
</geometry>
|
|
2829
|
+
</collision>
|
|
2830
|
+
</link>
|
|
2831
|
+
<gazebo reference="l_upper_arm_roll_link">
|
|
2832
|
+
<material value="PR2/RollLinks"/>
|
|
2833
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2834
|
+
</gazebo>
|
|
2835
|
+
<gazebo reference="l_upper_arm_roll_joint">
|
|
2836
|
+
<stopKd value="1.0"/>
|
|
2837
|
+
<stopKp value="1000000.0"/>
|
|
2838
|
+
<fudgeFactor value="0.5"/>
|
|
2839
|
+
</gazebo>
|
|
2840
|
+
<!-- Upperarm roll: internal fixed attchment point for upper arm -->
|
|
2841
|
+
<transmission name="l_upper_arm_roll_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
2842
|
+
<actuator name="l_upper_arm_roll_motor"/>
|
|
2843
|
+
<joint name="l_upper_arm_roll_joint"/>
|
|
2844
|
+
<mechanicalReduction>32.6525111499</mechanicalReduction>
|
|
2845
|
+
</transmission>
|
|
2846
|
+
<!-- Shoulder pan -->
|
|
2847
|
+
<gazebo reference="l_shoulder_pan_link">
|
|
2848
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2849
|
+
</gazebo>
|
|
2850
|
+
<gazebo reference="l_shoulder_pan_joint">
|
|
2851
|
+
<stopKd value="1.0"/>
|
|
2852
|
+
<stopKp value="1000000.0"/>
|
|
2853
|
+
</gazebo>
|
|
2854
|
+
<!-- Shoulder lift -->
|
|
2855
|
+
<gazebo reference="l_shoulder_lift_link">
|
|
2856
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2857
|
+
</gazebo>
|
|
2858
|
+
<gazebo reference="l_shoulder_lift_joint">
|
|
2859
|
+
<stopKd value="1.0"/>
|
|
2860
|
+
<stopKp value="1000000.0"/>
|
|
2861
|
+
</gazebo>
|
|
2862
|
+
<!-- Shoulder pan -->
|
|
2863
|
+
<transmission name="l_shoulder_pan_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
2864
|
+
<joint name="l_shoulder_pan_joint"/>
|
|
2865
|
+
<actuator name="l_shoulder_pan_motor"/>
|
|
2866
|
+
<mechanicalReduction>63.1552452977</mechanicalReduction>
|
|
2867
|
+
<compensator k_belt="4000.0" kd_motor="15.0" lambda_combined="0.0" lambda_joint="40.0" lambda_motor="40.0" mass_motor="0.05"/>
|
|
2868
|
+
</transmission>
|
|
2869
|
+
<!-- Shoulder lift -->
|
|
2870
|
+
<transmission name="l_shoulder_lift_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
2871
|
+
<joint name="l_shoulder_lift_joint"/>
|
|
2872
|
+
<actuator name="l_shoulder_lift_motor"/>
|
|
2873
|
+
<mechanicalReduction>61.8948225713</mechanicalReduction>
|
|
2874
|
+
<compensator k_belt="4000.0" kd_motor="10.0" lambda_combined="0.0" lambda_joint="60.0" lambda_motor="60.0" mass_motor="0.05"/>
|
|
2875
|
+
</transmission>
|
|
2876
|
+
<joint name="l_upper_arm_joint" type="fixed">
|
|
2877
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2878
|
+
<parent link="l_upper_arm_roll_link"/>
|
|
2879
|
+
<child link="l_upper_arm_link"/>
|
|
2880
|
+
</joint>
|
|
2881
|
+
<link name="l_upper_arm_link">
|
|
2882
|
+
<inertial>
|
|
2883
|
+
<!-- NOTE:reflect==-1 for right side, reflect==1 for the left side -->
|
|
2884
|
+
<mass value="6.01769"/>
|
|
2885
|
+
<origin xyz="0.21405 0.01658 -0.00057"/>
|
|
2886
|
+
<inertia ixx="0.01530603856" ixy="-0.00339324862" ixz="0.00060765455" iyy="0.07473694455" iyz="-0.00019953729" izz="0.07601594191"/>
|
|
2887
|
+
</inertial>
|
|
2888
|
+
<visual>
|
|
2889
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2890
|
+
<geometry>
|
|
2891
|
+
<mesh filename="package://pr2_description/meshes/upper_arm_v0/upper_arm.dae"/>
|
|
2892
|
+
</geometry>
|
|
2893
|
+
<material name="Green"/>
|
|
2894
|
+
</visual>
|
|
2895
|
+
<collision>
|
|
2896
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2897
|
+
<geometry>
|
|
2898
|
+
<mesh filename="package://pr2_description/meshes/upper_arm_v0/upper_arm.stl"/>
|
|
2899
|
+
</geometry>
|
|
2900
|
+
</collision>
|
|
2901
|
+
</link>
|
|
2902
|
+
<gazebo reference="l_upper_arm_link">
|
|
2903
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2904
|
+
</gazebo>
|
|
2905
|
+
<!-- Has upperarm link -->
|
|
2906
|
+
<!-- No transmission, since this a fixed joint w/o actuator -->
|
|
2907
|
+
<!-- forearm_roll_link is a fictitious link internal to elbow_flex_link, provides an attachment point for the actual forearm -->
|
|
2908
|
+
<joint name="l_forearm_roll_joint" type="continuous">
|
|
2909
|
+
<axis xyz="1 0 0"/>
|
|
2910
|
+
<limit effort="30" velocity="3.6"/>
|
|
2911
|
+
<!-- alpha tested velocity and effort limits -->
|
|
2912
|
+
<safety_controller k_velocity="1"/>
|
|
2913
|
+
<calibration rising="0.0"/>
|
|
2914
|
+
<dynamics damping="0.1"/>
|
|
2915
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2916
|
+
<parent link="l_elbow_flex_link"/>
|
|
2917
|
+
<child link="l_forearm_roll_link"/>
|
|
2918
|
+
</joint>
|
|
2919
|
+
<!-- TODO: inertial tag should be optional -->
|
|
2920
|
+
<link name="l_forearm_roll_link">
|
|
2921
|
+
<inertial>
|
|
2922
|
+
<!-- dummy masses, to be removed -->
|
|
2923
|
+
<mass value="0.1"/>
|
|
2924
|
+
<origin xyz="0 0 0"/>
|
|
2925
|
+
<inertia ixx="0.01" ixy="0.00" ixz="0.00" iyy="0.01" iyz="0.00" izz="0.01"/>
|
|
2926
|
+
</inertial>
|
|
2927
|
+
<visual>
|
|
2928
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2929
|
+
<geometry>
|
|
2930
|
+
<mesh filename="package://pr2_description/meshes/upper_arm_v0/forearm_roll.stl"/>
|
|
2931
|
+
</geometry>
|
|
2932
|
+
<material name="RollLinks"/>
|
|
2933
|
+
</visual>
|
|
2934
|
+
<!-- TODO: collision tag should be optional -->
|
|
2935
|
+
<collision>
|
|
2936
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2937
|
+
<geometry>
|
|
2938
|
+
<mesh filename="package://pr2_description/meshes/upper_arm_v0/forearm_roll_L.stl"/>
|
|
2939
|
+
</geometry>
|
|
2940
|
+
</collision>
|
|
2941
|
+
</link>
|
|
2942
|
+
<gazebo reference="l_forearm_roll_link">
|
|
2943
|
+
<material value="PR2/RollLinks"/>
|
|
2944
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2945
|
+
</gazebo>
|
|
2946
|
+
<gazebo reference="l_forearm_roll_joint">
|
|
2947
|
+
<fudgeFactor value="0.5"/>
|
|
2948
|
+
</gazebo>
|
|
2949
|
+
<transmission name="l_forearm_roll_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
2950
|
+
<actuator name="l_forearm_roll_motor"/>
|
|
2951
|
+
<joint name="l_forearm_roll_joint"/>
|
|
2952
|
+
<mechanicalReduction>-90.5142857143</mechanicalReduction>
|
|
2953
|
+
</transmission>
|
|
2954
|
+
<!-- Elbow flex -->
|
|
2955
|
+
<joint name="l_elbow_flex_joint" type="revolute">
|
|
2956
|
+
<axis xyz="0 1 0"/>
|
|
2957
|
+
<!-- Note: Overtravel limits are 140, -7 degrees instead of 133, 0 -->
|
|
2958
|
+
<limit effort="30" lower="-2.3213" upper="0.00" velocity="3.3"/>
|
|
2959
|
+
<!-- alpha tested velocity and effort limits -->
|
|
2960
|
+
<safety_controller k_position="100" k_velocity="3" soft_lower_limit="-2.1213" soft_upper_limit="-0.15"/>
|
|
2961
|
+
<calibration falling="-1.1606"/>
|
|
2962
|
+
<dynamics damping="1.0"/>
|
|
2963
|
+
<origin rpy="0 0 0" xyz="0.4 0 0"/>
|
|
2964
|
+
<parent link="l_upper_arm_link"/>
|
|
2965
|
+
<child link="l_elbow_flex_link"/>
|
|
2966
|
+
</joint>
|
|
2967
|
+
<link name="l_elbow_flex_link">
|
|
2968
|
+
<inertial>
|
|
2969
|
+
<mass value="1.90327"/>
|
|
2970
|
+
<origin xyz="0.01014 0.00032 -0.01211"/>
|
|
2971
|
+
<inertia ixx="0.00346541989" ixy="0.00004066825" ixz="0.00043171614" iyy="0.00441606455" iyz="-0.00003968914" izz="0.00359156824"/>
|
|
2972
|
+
</inertial>
|
|
2973
|
+
<visual>
|
|
2974
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2975
|
+
<geometry>
|
|
2976
|
+
<mesh filename="package://pr2_description/meshes/upper_arm_v0/elbow_flex.dae"/>
|
|
2977
|
+
</geometry>
|
|
2978
|
+
<material name="Grey"/>
|
|
2979
|
+
</visual>
|
|
2980
|
+
<collision>
|
|
2981
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
2982
|
+
<geometry>
|
|
2983
|
+
<mesh filename="package://pr2_description/meshes/upper_arm_v0/elbow_flex.stl"/>
|
|
2984
|
+
</geometry>
|
|
2985
|
+
</collision>
|
|
2986
|
+
</link>
|
|
2987
|
+
<!-- testing initial joint position, to be parsed at urdf2gazebo parse time -->
|
|
2988
|
+
<gazebo reference="l_elbow_flex_joint">
|
|
2989
|
+
<initial_joint_position>-1.0</initial_joint_position>
|
|
2990
|
+
</gazebo>
|
|
2991
|
+
<gazebo reference="l_elbow_flex_link">
|
|
2992
|
+
<turnGravityOff>true</turnGravityOff>
|
|
2993
|
+
</gazebo>
|
|
2994
|
+
<gazebo reference="l_elbow_flex_joint">
|
|
2995
|
+
<stopKd value="1.0"/>
|
|
2996
|
+
<stopKp value="1000000.0"/>
|
|
2997
|
+
</gazebo>
|
|
2998
|
+
<!-- Elbow flex -->
|
|
2999
|
+
<transmission name="l_elbow_flex_trans" type="pr2_mechanism_model/SimpleTransmission">
|
|
3000
|
+
<actuator name="l_elbow_flex_motor"/>
|
|
3001
|
+
<joint name="l_elbow_flex_joint"/>
|
|
3002
|
+
<mechanicalReduction>-36.167452007</mechanicalReduction>
|
|
3003
|
+
</transmission>
|
|
3004
|
+
<joint name="l_forearm_joint" type="fixed">
|
|
3005
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3006
|
+
<!-- transform from parent link to this joint frame -->
|
|
3007
|
+
<parent link="l_forearm_roll_link"/>
|
|
3008
|
+
<child link="l_forearm_link"/>
|
|
3009
|
+
</joint>
|
|
3010
|
+
<link name="l_forearm_link">
|
|
3011
|
+
<inertial>
|
|
3012
|
+
<mass value="2.57968"/>
|
|
3013
|
+
<origin xyz="0.18791 -0.00017 -0.00912"/>
|
|
3014
|
+
<inertia ixx="0.00364857222" ixy="0.00005215877" ixz="0.00071534842" iyy="0.01507736897" iyz="-0.00001310770" izz="0.01659310749"/>
|
|
3015
|
+
</inertial>
|
|
3016
|
+
<visual>
|
|
3017
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3018
|
+
<geometry>
|
|
3019
|
+
<mesh filename="package://pr2_description/meshes/forearm_v0/forearm.dae"/>
|
|
3020
|
+
</geometry>
|
|
3021
|
+
<material name="Grey"/>
|
|
3022
|
+
</visual>
|
|
3023
|
+
<collision>
|
|
3024
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3025
|
+
<geometry>
|
|
3026
|
+
<mesh filename="package://pr2_description/meshes/forearm_v0/forearm.stl"/>
|
|
3027
|
+
</geometry>
|
|
3028
|
+
</collision>
|
|
3029
|
+
</link>
|
|
3030
|
+
<!-- Wrist flex -->
|
|
3031
|
+
<joint name="l_wrist_flex_joint" type="revolute">
|
|
3032
|
+
<axis xyz="0 1 0"/>
|
|
3033
|
+
<limit effort="10" lower="-2.18" upper="0.0" velocity="3.078"/>
|
|
3034
|
+
<!-- alpha tested velocity and effort limits -->
|
|
3035
|
+
<safety_controller k_position="20" k_velocity="4" soft_lower_limit="-2.0" soft_upper_limit="-0.1"/>
|
|
3036
|
+
<dynamics damping="0.1"/>
|
|
3037
|
+
<calibration falling="-0.5410521"/>
|
|
3038
|
+
<origin rpy="0 0 0" xyz="0.321 0 0"/>
|
|
3039
|
+
<parent link="l_forearm_link"/>
|
|
3040
|
+
<child link="l_wrist_flex_link"/>
|
|
3041
|
+
</joint>
|
|
3042
|
+
<link name="l_wrist_flex_link">
|
|
3043
|
+
<inertial>
|
|
3044
|
+
<mass value="0.61402"/>
|
|
3045
|
+
<origin xyz="-0.00157 0.0 -0.00075"/>
|
|
3046
|
+
<inertia ixx="0.00065165722" ixy="0.00000028864" ixz="0.00000303477" iyy="0.00019824443" iyz="-0.00000022645" izz="0.00064450498"/>
|
|
3047
|
+
</inertial>
|
|
3048
|
+
<visual>
|
|
3049
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3050
|
+
<geometry>
|
|
3051
|
+
<mesh filename="package://pr2_description/meshes/forearm_v0/wrist_flex.dae"/>
|
|
3052
|
+
</geometry>
|
|
3053
|
+
<material name="Grey"/>
|
|
3054
|
+
</visual>
|
|
3055
|
+
<collision>
|
|
3056
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3057
|
+
<geometry>
|
|
3058
|
+
<mesh filename="package://pr2_description/meshes/forearm_v0/wrist_flex.stl"/>
|
|
3059
|
+
</geometry>
|
|
3060
|
+
</collision>
|
|
3061
|
+
</link>
|
|
3062
|
+
<!-- Wrist roll -->
|
|
3063
|
+
<joint name="l_wrist_roll_joint" type="continuous">
|
|
3064
|
+
<axis xyz="1 0 0"/>
|
|
3065
|
+
<limit effort="10" velocity="3.6"/>
|
|
3066
|
+
<!-- alpha tested velocity and effort limits -->
|
|
3067
|
+
<safety_controller k_velocity="2"/>
|
|
3068
|
+
<dynamics damping="0.1"/>
|
|
3069
|
+
<calibration rising="-1.57079632679"/>
|
|
3070
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3071
|
+
<parent link="l_wrist_flex_link"/>
|
|
3072
|
+
<child link="l_wrist_roll_link"/>
|
|
3073
|
+
</joint>
|
|
3074
|
+
<link name="l_wrist_roll_link">
|
|
3075
|
+
<inertial>
|
|
3076
|
+
<!-- dummy masses, to be removed. wrist roll masses are on "gripper_palm" -->
|
|
3077
|
+
<mass value="0.1"/>
|
|
3078
|
+
<origin xyz="0 0 0"/>
|
|
3079
|
+
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01"/>
|
|
3080
|
+
</inertial>
|
|
3081
|
+
<visual>
|
|
3082
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3083
|
+
<geometry>
|
|
3084
|
+
<mesh filename="package://pr2_description/meshes/forearm_v0/wrist_roll.stl"/>
|
|
3085
|
+
</geometry>
|
|
3086
|
+
<material name="RollLinks"/>
|
|
3087
|
+
</visual>
|
|
3088
|
+
<collision>
|
|
3089
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3090
|
+
<geometry>
|
|
3091
|
+
<mesh filename="package://pr2_description/meshes/forearm_v0/wrist_roll_L.stl"/>
|
|
3092
|
+
</geometry>
|
|
3093
|
+
</collision>
|
|
3094
|
+
</link>
|
|
3095
|
+
<gazebo reference="l_forearm_link">
|
|
3096
|
+
<turnGravityOff>true</turnGravityOff>
|
|
3097
|
+
</gazebo>
|
|
3098
|
+
<!-- Wrist flex -->
|
|
3099
|
+
<gazebo reference="l_wrist_flex_link">
|
|
3100
|
+
<turnGravityOff>true</turnGravityOff>
|
|
3101
|
+
</gazebo>
|
|
3102
|
+
<gazebo reference="l_wrist_flex_joint">
|
|
3103
|
+
<stopKd value="1.0"/>
|
|
3104
|
+
<stopKp value="1000000.0"/>
|
|
3105
|
+
</gazebo>
|
|
3106
|
+
<!-- Wrist roll -->
|
|
3107
|
+
<gazebo reference="l_wrist_roll_link">
|
|
3108
|
+
<turnGravityOff>true</turnGravityOff>
|
|
3109
|
+
<material value="PR2/RollLinks"/>
|
|
3110
|
+
</gazebo>
|
|
3111
|
+
<gazebo reference="l_wrist_roll_joint">
|
|
3112
|
+
<fudgeFactor value="0.5"/>
|
|
3113
|
+
</gazebo>
|
|
3114
|
+
<!-- Wrist flex , Wrist roll -->
|
|
3115
|
+
<transmission name="l_wrist_trans" type="pr2_mechanism_model/WristTransmission">
|
|
3116
|
+
<rightActuator mechanicalReduction="60.1714285714" name="l_wrist_r_motor"/>
|
|
3117
|
+
<leftActuator mechanicalReduction="60.1714285714" name="l_wrist_l_motor"/>
|
|
3118
|
+
<flexJoint mechanicalReduction="-1.0" name="l_wrist_flex_joint"/>
|
|
3119
|
+
<rollJoint mechanicalReduction="1.0" name="l_wrist_roll_joint"/>
|
|
3120
|
+
</transmission>
|
|
3121
|
+
<joint name="l_gripper_palm_joint" type="fixed">
|
|
3122
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3123
|
+
<parent link="l_wrist_roll_link"/>
|
|
3124
|
+
<child link="l_gripper_palm_link"/>
|
|
3125
|
+
</joint>
|
|
3126
|
+
<link name="l_gripper_palm_link">
|
|
3127
|
+
<inertial>
|
|
3128
|
+
<mass value="0.58007"/>
|
|
3129
|
+
<origin rpy="0 0 0" xyz="0.06623 0.00053 -0.00119"/>
|
|
3130
|
+
<inertia ixx="0.00035223921" ixy="-0.00001580476" ixz="-0.00000091750" iyy="0.00067741312" iyz="-0.00000059554" izz="0.00086563316"/>
|
|
3131
|
+
</inertial>
|
|
3132
|
+
<visual>
|
|
3133
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3134
|
+
<geometry>
|
|
3135
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/gripper_palm.dae"/>
|
|
3136
|
+
</geometry>
|
|
3137
|
+
<material name="Red"/>
|
|
3138
|
+
</visual>
|
|
3139
|
+
<collision>
|
|
3140
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3141
|
+
<geometry>
|
|
3142
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/gripper_palm.stl"/>
|
|
3143
|
+
</geometry>
|
|
3144
|
+
</collision>
|
|
3145
|
+
</link>
|
|
3146
|
+
<joint name="l_gripper_led_joint" type="fixed">
|
|
3147
|
+
<!-- Need to check if we need a positive or negative Z term -->
|
|
3148
|
+
<origin xyz="0.0513 0.0 .0244"/>
|
|
3149
|
+
<parent link="l_gripper_palm_link"/>
|
|
3150
|
+
<child link="l_gripper_led_frame"/>
|
|
3151
|
+
</joint>
|
|
3152
|
+
<link name="l_gripper_led_frame"/>
|
|
3153
|
+
<joint name="l_gripper_motor_accelerometer_joint" type="fixed">
|
|
3154
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3155
|
+
<parent link="l_gripper_palm_link"/>
|
|
3156
|
+
<child link="l_gripper_motor_accelerometer_link"/>
|
|
3157
|
+
</joint>
|
|
3158
|
+
<link name="l_gripper_motor_accelerometer_link">
|
|
3159
|
+
<inertial>
|
|
3160
|
+
<mass value="0.001"/>
|
|
3161
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3162
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
|
|
3163
|
+
</inertial>
|
|
3164
|
+
<visual>
|
|
3165
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3166
|
+
<geometry>
|
|
3167
|
+
<box size="0.001 0.001 0.001"/>
|
|
3168
|
+
</geometry>
|
|
3169
|
+
</visual>
|
|
3170
|
+
<collision>
|
|
3171
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3172
|
+
<geometry>
|
|
3173
|
+
<box size="0.001 0.001 0.001"/>
|
|
3174
|
+
</geometry>
|
|
3175
|
+
</collision>
|
|
3176
|
+
</link>
|
|
3177
|
+
<joint name="l_gripper_tool_joint" type="fixed">
|
|
3178
|
+
<origin rpy="0 0 0" xyz="0.18 0 0"/>
|
|
3179
|
+
<parent link="l_gripper_palm_link"/>
|
|
3180
|
+
<child link="l_gripper_tool_frame"/>
|
|
3181
|
+
</joint>
|
|
3182
|
+
<link name="l_gripper_tool_frame"/>
|
|
3183
|
+
<!-- actuated motor screw joint -->
|
|
3184
|
+
<link name="l_gripper_motor_slider_link">
|
|
3185
|
+
<inertial>
|
|
3186
|
+
<mass value="0.01"/>
|
|
3187
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3188
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
|
|
3189
|
+
</inertial>
|
|
3190
|
+
<!-- for debugging only
|
|
3191
|
+
<visual>
|
|
3192
|
+
<origin xyz="0 0 0" rpy="1.5708 0 0" />
|
|
3193
|
+
<geometry>
|
|
3194
|
+
<cylinder length="0.002" radius="0.025"/>
|
|
3195
|
+
</geometry>
|
|
3196
|
+
</visual>
|
|
3197
|
+
<collision>
|
|
3198
|
+
<origin xyz="0 0 0" rpy="1.5708 0 0" />
|
|
3199
|
+
<geometry>
|
|
3200
|
+
<cylinder length="0.002" radius="0.025"/>
|
|
3201
|
+
</geometry>
|
|
3202
|
+
</collision>
|
|
3203
|
+
-->
|
|
3204
|
+
</link>
|
|
3205
|
+
<joint name="l_gripper_motor_slider_joint" type="prismatic">
|
|
3206
|
+
<origin rpy="0 0 0" xyz="0.16828 0 0"/>
|
|
3207
|
+
<axis xyz="1 0 0"/>
|
|
3208
|
+
<parent link="l_gripper_palm_link"/>
|
|
3209
|
+
<child link="l_gripper_motor_slider_link"/>
|
|
3210
|
+
<limit effort="1000.0" lower="-0.1" upper="0.1" velocity="0.2"/>
|
|
3211
|
+
</joint>
|
|
3212
|
+
<link name="l_gripper_motor_screw_link">
|
|
3213
|
+
<inertial>
|
|
3214
|
+
<mass value="0.01"/>
|
|
3215
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3216
|
+
<inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
|
|
3217
|
+
</inertial>
|
|
3218
|
+
<!-- for debugging only
|
|
3219
|
+
<visual>
|
|
3220
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
3221
|
+
<geometry>
|
|
3222
|
+
<box size="0.05 0.001 0.05" />
|
|
3223
|
+
</geometry>
|
|
3224
|
+
</visual>
|
|
3225
|
+
<collision>
|
|
3226
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
3227
|
+
<geometry>
|
|
3228
|
+
<box size="0.05 0.001 0.05" />
|
|
3229
|
+
</geometry>
|
|
3230
|
+
</collision>
|
|
3231
|
+
-->
|
|
3232
|
+
</link>
|
|
3233
|
+
<joint name="l_gripper_motor_screw_joint" type="continuous">
|
|
3234
|
+
<origin rpy="0 0 0" xyz="0.0 0 0"/>
|
|
3235
|
+
<axis xyz="0 1 0"/>
|
|
3236
|
+
<parent link="l_gripper_motor_slider_link"/>
|
|
3237
|
+
<child link="l_gripper_motor_screw_link"/>
|
|
3238
|
+
<dynamics damping="0.0001"/>
|
|
3239
|
+
</joint>
|
|
3240
|
+
<!-- Finger proximal digit -->
|
|
3241
|
+
<joint name="l_gripper_l_finger_joint" type="revolute">
|
|
3242
|
+
<axis xyz="0 0 1"/>
|
|
3243
|
+
<!-- limits on passive finger and finger top joints without
|
|
3244
|
+
transmission are not enforced by safety controllers.
|
|
3245
|
+
The lower/upper limits and are enforced in PR2 simulation and
|
|
3246
|
+
effort and velocity limits are ignored. This is also needed because
|
|
3247
|
+
these joints are declared revolute rather than continuous.-->
|
|
3248
|
+
<limit effort="1000.0" lower="0.0" upper="0.548" velocity="0.5"/>
|
|
3249
|
+
<dynamics damping="0.02"/>
|
|
3250
|
+
<origin rpy="0 0 0" xyz="0.07691 0.01 0"/>
|
|
3251
|
+
<parent link="l_gripper_palm_link"/>
|
|
3252
|
+
<child link="l_gripper_l_finger_link"/>
|
|
3253
|
+
</joint>
|
|
3254
|
+
<link name="l_gripper_l_finger_link">
|
|
3255
|
+
<inertial>
|
|
3256
|
+
<mass value="0.17126"/>
|
|
3257
|
+
<origin rpy="0 0 0" xyz="0.03598 0.01730 -0.00164"/>
|
|
3258
|
+
<inertia ixx="0.00007756198" ixy="0.00000149095" ixz="-0.00000983385" iyy="0.00019708305" iyz="-0.00000306125" izz="0.00018105446"/>
|
|
3259
|
+
</inertial>
|
|
3260
|
+
<visual>
|
|
3261
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3262
|
+
<geometry>
|
|
3263
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/l_finger.dae"/>
|
|
3264
|
+
</geometry>
|
|
3265
|
+
<material name="Grey"/>
|
|
3266
|
+
</visual>
|
|
3267
|
+
<collision>
|
|
3268
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3269
|
+
<geometry>
|
|
3270
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/l_finger.stl"/>
|
|
3271
|
+
</geometry>
|
|
3272
|
+
</collision>
|
|
3273
|
+
</link>
|
|
3274
|
+
<!-- Finger proximal digit -->
|
|
3275
|
+
<joint name="l_gripper_r_finger_joint" type="revolute">
|
|
3276
|
+
<axis xyz="0 0 -1"/>
|
|
3277
|
+
<origin rpy="0 0 0" xyz="0.07691 -0.01 0"/>
|
|
3278
|
+
<!-- limits on passive finger and finger top joints without
|
|
3279
|
+
transmission are not enforced by safety controllers.
|
|
3280
|
+
The lower/upper limits and are enforced in PR2 simulation and
|
|
3281
|
+
effort and velocity limits are ignored. This is also needed because
|
|
3282
|
+
these joints are declared revolute rather than continuous.-->
|
|
3283
|
+
<limit effort="1000.0" lower="0.0" upper="0.548" velocity="0.5"/>
|
|
3284
|
+
<dynamics damping="0.02"/>
|
|
3285
|
+
<mimic joint="l_gripper_l_finger_joint" multiplier="1" offset="0"/>
|
|
3286
|
+
<parent link="l_gripper_palm_link"/>
|
|
3287
|
+
<child link="l_gripper_r_finger_link"/>
|
|
3288
|
+
</joint>
|
|
3289
|
+
<link name="l_gripper_r_finger_link">
|
|
3290
|
+
<inertial>
|
|
3291
|
+
<mass value="0.17389"/>
|
|
3292
|
+
<origin rpy="0 0 0" xyz="0.03576 -0.01736 -0.00095"/>
|
|
3293
|
+
<inertia ixx="0.00007738410" ixy="-0.00000209309" ixz="-0.00000836228" iyy="0.00019847383" iyz="0.00000246110" izz="0.00018106988"/>
|
|
3294
|
+
</inertial>
|
|
3295
|
+
<visual>
|
|
3296
|
+
<origin rpy="3.14159265359 0 0" xyz="0 0 0"/>
|
|
3297
|
+
<geometry>
|
|
3298
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/l_finger.dae"/>
|
|
3299
|
+
</geometry>
|
|
3300
|
+
<material name="Grey"/>
|
|
3301
|
+
</visual>
|
|
3302
|
+
<collision>
|
|
3303
|
+
<origin rpy="3.14159265359 0 0" xyz="0 0 0"/>
|
|
3304
|
+
<geometry>
|
|
3305
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/l_finger.stl"/>
|
|
3306
|
+
</geometry>
|
|
3307
|
+
</collision>
|
|
3308
|
+
</link>
|
|
3309
|
+
<!-- Finger tip -->
|
|
3310
|
+
<joint name="l_gripper_l_finger_tip_joint" type="revolute">
|
|
3311
|
+
<axis xyz="0 0 -1"/>
|
|
3312
|
+
<origin rpy="0 0 0" xyz="0.09137 0.00495 0"/>
|
|
3313
|
+
<!-- limits on passive finger and finger top joints without
|
|
3314
|
+
transmission are not enforced by safety controllers.
|
|
3315
|
+
The lower/upper limits and are enforced in PR2 simulation and
|
|
3316
|
+
effort and velocity limits are ignored. This is also needed because
|
|
3317
|
+
these joints are declared revolute rather than continuous.-->
|
|
3318
|
+
<limit effort="1000.0" lower="0.0" upper="0.548" velocity="0.5"/>
|
|
3319
|
+
<dynamics damping="0.001"/>
|
|
3320
|
+
<mimic joint="l_gripper_l_finger_joint" multiplier="1" offset="0"/>
|
|
3321
|
+
<parent link="l_gripper_l_finger_link"/>
|
|
3322
|
+
<child link="l_gripper_l_finger_tip_link"/>
|
|
3323
|
+
</joint>
|
|
3324
|
+
<link name="l_gripper_l_finger_tip_link">
|
|
3325
|
+
<inertial>
|
|
3326
|
+
<mass value="0.04419"/>
|
|
3327
|
+
<origin rpy="0 0 0" xyz="0.00423 0.00284 0.0"/>
|
|
3328
|
+
<inertia ixx="0.00000837047" ixy="0.00000583632" ixz="0.0" iyy="0.00000987067" iyz="0.0" izz="0.00001541768"/>
|
|
3329
|
+
</inertial>
|
|
3330
|
+
<visual>
|
|
3331
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3332
|
+
<geometry>
|
|
3333
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/l_finger_tip.dae"/>
|
|
3334
|
+
</geometry>
|
|
3335
|
+
<material name="Green"/>
|
|
3336
|
+
</visual>
|
|
3337
|
+
<collision>
|
|
3338
|
+
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
3339
|
+
<geometry>
|
|
3340
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/l_finger_tip.stl"/>
|
|
3341
|
+
</geometry>
|
|
3342
|
+
</collision>
|
|
3343
|
+
</link>
|
|
3344
|
+
<!-- Finger tip -->
|
|
3345
|
+
<joint name="l_gripper_r_finger_tip_joint" type="revolute">
|
|
3346
|
+
<axis xyz="0 0 1"/>
|
|
3347
|
+
<origin rpy="0 0 0" xyz="0.09137 -0.00495 0"/>
|
|
3348
|
+
<!-- limits on passive finger and finger top joints without
|
|
3349
|
+
transmission are not enforced by safety controllers.
|
|
3350
|
+
The lower/upper limits and are enforced in PR2 simulation and
|
|
3351
|
+
effort and velocity limits are ignored. This is also needed because
|
|
3352
|
+
these joints are declared revolute rather than continuous.-->
|
|
3353
|
+
<limit effort="1000.0" lower="0.0" upper="0.548" velocity="0.5"/>
|
|
3354
|
+
<dynamics damping="0.001"/>
|
|
3355
|
+
<mimic joint="l_gripper_l_finger_joint" multiplier="1" offset="0"/>
|
|
3356
|
+
<parent link="l_gripper_r_finger_link"/>
|
|
3357
|
+
<child link="l_gripper_r_finger_tip_link"/>
|
|
3358
|
+
</joint>
|
|
3359
|
+
<link name="l_gripper_r_finger_tip_link">
|
|
3360
|
+
<inertial>
|
|
3361
|
+
<mass value="0.04419"/>
|
|
3362
|
+
<origin rpy="0 0 0" xyz="0.00423 -0.00284 0.0"/>
|
|
3363
|
+
<inertia ixx="0.00000837047" ixy="-0.00000583632" ixz="0.0" iyy="0.00000987067" iyz="0.0" izz="0.00001541768"/>
|
|
3364
|
+
</inertial>
|
|
3365
|
+
<visual>
|
|
3366
|
+
<origin rpy="3.14159265359 0 0" xyz="0 0 0"/>
|
|
3367
|
+
<geometry>
|
|
3368
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/l_finger_tip.dae"/>
|
|
3369
|
+
</geometry>
|
|
3370
|
+
<material name="Green"/>
|
|
3371
|
+
</visual>
|
|
3372
|
+
<collision>
|
|
3373
|
+
<origin rpy="3.14159265359 0 0" xyz="0 0 0"/>
|
|
3374
|
+
<geometry>
|
|
3375
|
+
<mesh filename="package://pr2_description/meshes/gripper_v0/l_finger_tip.stl"/>
|
|
3376
|
+
</geometry>
|
|
3377
|
+
</collision>
|
|
3378
|
+
</link>
|
|
3379
|
+
<!-- Finger proximal digit -->
|
|
3380
|
+
<gazebo reference="l_gripper_l_finger_link">
|
|
3381
|
+
<turnGravityOff>true</turnGravityOff>
|
|
3382
|
+
<mu1 value="500.0"/>
|
|
3383
|
+
<mu2 value="500.0"/>
|
|
3384
|
+
<kp value="1000000.0"/>
|
|
3385
|
+
<kd value="1.0"/>
|
|
3386
|
+
<!-- for "${prefix}_l_finger_joint"-->
|
|
3387
|
+
</gazebo>
|
|
3388
|
+
<gazebo reference="l_gripper_l_finger_joint">
|
|
3389
|
+
<stopKd value="1.0"/>
|
|
3390
|
+
<stopKp value="10000000.0"/>
|
|
3391
|
+
<fudgeFactor value="1.0"/>
|
|
3392
|
+
<provideFeedback value="true"/>
|
|
3393
|
+
</gazebo>
|
|
3394
|
+
<!-- Finger proximal digit -->
|
|
3395
|
+
<gazebo reference="l_gripper_r_finger_link">
|
|
3396
|
+
<turnGravityOff>true</turnGravityOff>
|
|
3397
|
+
<mu1 value="500.0"/>
|
|
3398
|
+
<mu2 value="500.0"/>
|
|
3399
|
+
<kp value="1000000.0"/>
|
|
3400
|
+
<kd value="1.0"/>
|
|
3401
|
+
</gazebo>
|
|
3402
|
+
<gazebo reference="l_gripper_r_finger_joint">
|
|
3403
|
+
<stopKd value="1.0"/>
|
|
3404
|
+
<stopKp value="10000000.0"/>
|
|
3405
|
+
<fudgeFactor value="1.0"/>
|
|
3406
|
+
<provideFeedback value="true"/>
|
|
3407
|
+
</gazebo>
|
|
3408
|
+
<!-- Finger tip -->
|
|
3409
|
+
<gazebo reference="l_gripper_l_finger_tip_link">
|
|
3410
|
+
<turnGravityOff>true</turnGravityOff>
|
|
3411
|
+
<selfCollide>false</selfCollide>
|
|
3412
|
+
<sensor name="l_gripper_l_finger_tip_contact_sensor" type="contact">
|
|
3413
|
+
<update_rate>100.0</update_rate>
|
|
3414
|
+
<contact>
|
|
3415
|
+
<collision>l_gripper_l_finger_tip_link_geom</collision>
|
|
3416
|
+
</contact>
|
|
3417
|
+
<plugin filename="libgazebo_ros_bumper.so" name="l_gripper_l_finger_tip_gazebo_ros_bumper_controller">
|
|
3418
|
+
<alwaysOn>true</alwaysOn>
|
|
3419
|
+
<frameName>l_gripper_l_finger_tip_link</frameName>
|
|
3420
|
+
<updateRate>100.0</updateRate>
|
|
3421
|
+
<bumperTopicName>l_gripper_l_finger_tip_bumper</bumperTopicName>
|
|
3422
|
+
</plugin>
|
|
3423
|
+
</sensor>
|
|
3424
|
+
<mu1 value="500.0"/>
|
|
3425
|
+
<mu2 value="500.0"/>
|
|
3426
|
+
<kp value="10000000.0"/>
|
|
3427
|
+
<kd value="1.0"/>
|
|
3428
|
+
</gazebo>
|
|
3429
|
+
<gazebo reference="l_gripper_l_finger_tip_joint">
|
|
3430
|
+
<stopKd value="1.0"/>
|
|
3431
|
+
<stopKp value="10000000.0"/>
|
|
3432
|
+
<fudgeFactor value="1.0"/>
|
|
3433
|
+
<provideFeedback value="true"/>
|
|
3434
|
+
</gazebo>
|
|
3435
|
+
<!-- Finger tip -->
|
|
3436
|
+
<gazebo reference="l_gripper_r_finger_tip_link">
|
|
3437
|
+
<turnGravityOff>true</turnGravityOff>
|
|
3438
|
+
<selfCollide>false</selfCollide>
|
|
3439
|
+
<sensor name="l_gripper_r_finger_tip_contact_sensor" type="contact">
|
|
3440
|
+
<update_rate>100.0</update_rate>
|
|
3441
|
+
<contact>
|
|
3442
|
+
<collision>l_gripper_r_finger_tip_link_geom</collision>
|
|
3443
|
+
</contact>
|
|
3444
|
+
<plugin filename="libgazebo_ros_bumper.so" name="l_gripper_r_finger_tip_gazebo_ros_bumper_controller">
|
|
3445
|
+
<alwaysOn>true</alwaysOn>
|
|
3446
|
+
<frameName>l_gripper_r_finger_tip_link</frameName>
|
|
3447
|
+
<updateRate>100.0</updateRate>
|
|
3448
|
+
<bumperTopicName>l_gripper_r_finger_tip_bumper</bumperTopicName>
|
|
3449
|
+
</plugin>
|
|
3450
|
+
</sensor>
|
|
3451
|
+
<mu1 value="500.0"/>
|
|
3452
|
+
<mu2 value="500.0"/>
|
|
3453
|
+
<kp value="10000000.0"/>
|
|
3454
|
+
<kd value="1.0"/>
|
|
3455
|
+
</gazebo>
|
|
3456
|
+
<gazebo>
|
|
3457
|
+
<plugin filename="libgazebo_ros_p3d.so" name="p3d_l_gripper_l_finger_controller">
|
|
3458
|
+
<alwaysOn>true</alwaysOn>
|
|
3459
|
+
<updateRate>100.0</updateRate>
|
|
3460
|
+
<bodyName>l_gripper_l_finger_link</bodyName>
|
|
3461
|
+
<topicName>l_gripper_l_finger_pose_ground_truth</topicName>
|
|
3462
|
+
<gaussianNoise>0.0</gaussianNoise>
|
|
3463
|
+
<frameName>base_link</frameName>
|
|
3464
|
+
</plugin>
|
|
3465
|
+
<plugin filename="libgazebo_ros_f3d.so" name="f3d_l_gripper_l_finger_controller">
|
|
3466
|
+
<alwaysOn>true</alwaysOn>
|
|
3467
|
+
<updateRate>100.0</updateRate>
|
|
3468
|
+
<bodyName>l_gripper_l_finger_link</bodyName>
|
|
3469
|
+
<topicName>l_gripper_l_finger_force_ground_truth</topicName>
|
|
3470
|
+
</plugin>
|
|
3471
|
+
</gazebo>
|
|
3472
|
+
<gazebo reference="l_gripper_r_finger_tip_joint">
|
|
3473
|
+
<stopKd value="1.0"/>
|
|
3474
|
+
<stopKp value="10000000.0"/>
|
|
3475
|
+
<fudgeFactor value="1.0"/>
|
|
3476
|
+
<provideFeedback value="true"/>
|
|
3477
|
+
</gazebo>
|
|
3478
|
+
<!-- parallel link for simulating gripper constraints -->
|
|
3479
|
+
<gazebo>
|
|
3480
|
+
<link name="l_gripper_l_parallel_link">
|
|
3481
|
+
<inertial>
|
|
3482
|
+
<mass>0.17126</mass>
|
|
3483
|
+
<inertia>
|
|
3484
|
+
<ixx>7.7562e-05</ixx>
|
|
3485
|
+
<ixy>1.49095e-06</ixy>
|
|
3486
|
+
<ixz>-9.83385e-06</ixz>
|
|
3487
|
+
<iyy>0.000197083</iyy>
|
|
3488
|
+
<iyz>-3.06125e-06</iyz>
|
|
3489
|
+
<izz>0.000181054</izz>
|
|
3490
|
+
</inertia>
|
|
3491
|
+
<pose>0.03598 0.0173 -0.00164 0 0 0</pose>
|
|
3492
|
+
</inertial>
|
|
3493
|
+
<pose>0.82991 0.219 0.790675 0 -0 0</pose>
|
|
3494
|
+
<gravity>false</gravity>
|
|
3495
|
+
</link>
|
|
3496
|
+
<link name="l_gripper_r_parallel_link">
|
|
3497
|
+
<inertial>
|
|
3498
|
+
<mass>0.17389</mass>
|
|
3499
|
+
<inertia>
|
|
3500
|
+
<ixx>7.73841e-05</ixx>
|
|
3501
|
+
<ixy>-2.09309e-06</ixy>
|
|
3502
|
+
<ixz>-8.36228e-06</ixz>
|
|
3503
|
+
<iyy>0.000198474</iyy>
|
|
3504
|
+
<iyz>2.4611e-06</iyz>
|
|
3505
|
+
<izz>0.00018107</izz>
|
|
3506
|
+
</inertia>
|
|
3507
|
+
<pose>0.03576 -0.01736 -0.00095 0 0 0</pose>
|
|
3508
|
+
</inertial>
|
|
3509
|
+
<pose>0.82991 0.157 0.790675 0 0 0</pose>
|
|
3510
|
+
<gravity>false</gravity>
|
|
3511
|
+
</link>
|
|
3512
|
+
</gazebo>
|
|
3513
|
+
<gazebo>
|
|
3514
|
+
<joint name="l_gripper_r_screw_screw_joint" type="screw">
|
|
3515
|
+
<child>l_gripper_motor_screw_link</child>
|
|
3516
|
+
<parent>l_gripper_r_finger_tip_link</parent>
|
|
3517
|
+
<thread_pitch>-3141.6</thread_pitch>
|
|
3518
|
+
<axis>
|
|
3519
|
+
<xyz>0 1 0</xyz>
|
|
3520
|
+
</axis>
|
|
3521
|
+
</joint>
|
|
3522
|
+
<joint name="l_gripper_l_screw_screw_joint" type="screw">
|
|
3523
|
+
<parent>l_gripper_l_finger_tip_link</parent>
|
|
3524
|
+
<child>l_gripper_motor_screw_link</child>
|
|
3525
|
+
<thread_pitch>3141.6</thread_pitch>
|
|
3526
|
+
<axis>
|
|
3527
|
+
<xyz>0 1 0</xyz>
|
|
3528
|
+
</axis>
|
|
3529
|
+
</joint>
|
|
3530
|
+
</gazebo>
|
|
3531
|
+
<gazebo>
|
|
3532
|
+
<joint name="l_gripper_r_parallel_root_joint" type="revolute">
|
|
3533
|
+
<parent>l_gripper_r_parallel_link</parent>
|
|
3534
|
+
<child>l_gripper_palm_link</child>
|
|
3535
|
+
<axis>
|
|
3536
|
+
<xyz>0 0 -1</xyz>
|
|
3537
|
+
<dynamics>
|
|
3538
|
+
<damping>0.2</damping>
|
|
3539
|
+
</dynamics>
|
|
3540
|
+
</axis>
|
|
3541
|
+
<pose>0.05891 -0.031 0 0 0 0</pose>
|
|
3542
|
+
</joint>
|
|
3543
|
+
<joint name="l_gripper_l_parallel_root_joint" type="revolute">
|
|
3544
|
+
<parent>l_gripper_l_parallel_link</parent>
|
|
3545
|
+
<child>l_gripper_palm_link</child>
|
|
3546
|
+
<axis>
|
|
3547
|
+
<xyz>0 0 1</xyz>
|
|
3548
|
+
<dynamics>
|
|
3549
|
+
<damping>0.2</damping>
|
|
3550
|
+
</dynamics>
|
|
3551
|
+
</axis>
|
|
3552
|
+
<pose>0.05891 0.031 0 0 0 0</pose>
|
|
3553
|
+
</joint>
|
|
3554
|
+
<joint name="l_gripper_r_parallel_tip_joint" type="revolute">
|
|
3555
|
+
<parent>l_gripper_r_parallel_link</parent>
|
|
3556
|
+
<child>l_gripper_r_finger_tip_link</child>
|
|
3557
|
+
<axis>
|
|
3558
|
+
<xyz>0 0 1</xyz>
|
|
3559
|
+
</axis>
|
|
3560
|
+
<pose>-0.018 -0.021 0 0 0 0</pose>
|
|
3561
|
+
</joint>
|
|
3562
|
+
<joint name="l_gripper_l_parallel_tip_joint" type="revolute">
|
|
3563
|
+
<parent>l_gripper_l_parallel_link</parent>
|
|
3564
|
+
<child>l_gripper_l_finger_tip_link</child>
|
|
3565
|
+
<axis>
|
|
3566
|
+
<xyz>0 0 1</xyz>
|
|
3567
|
+
</axis>
|
|
3568
|
+
<pose>-0.018 0.021 0 0 0 0</pose>
|
|
3569
|
+
</joint>
|
|
3570
|
+
<joint name="l_gripper_joint" type="prismatic">
|
|
3571
|
+
<parent>l_gripper_r_finger_tip_link</parent>
|
|
3572
|
+
<child>l_gripper_l_finger_tip_link</child>
|
|
3573
|
+
<axis>
|
|
3574
|
+
<xyz>0 1 0</xyz>
|
|
3575
|
+
</axis>
|
|
3576
|
+
</joint>
|
|
3577
|
+
</gazebo>
|
|
3578
|
+
<gazebo reference="l_gripper_motor_slider_link">
|
|
3579
|
+
<turnGravityOff>true</turnGravityOff>
|
|
3580
|
+
<material value="PR2/Red"/>
|
|
3581
|
+
</gazebo>
|
|
3582
|
+
<gazebo reference="l_gripper_motor_screw_link">
|
|
3583
|
+
<turnGravityOff>true</turnGravityOff>
|
|
3584
|
+
<material value="PR2/Red"/>
|
|
3585
|
+
</gazebo>
|
|
3586
|
+
<gazebo reference="l_gripper_l_parallel_link">
|
|
3587
|
+
<turnGravityOff>true</turnGravityOff>
|
|
3588
|
+
<material value="PR2/Red"/>
|
|
3589
|
+
</gazebo>
|
|
3590
|
+
<gazebo reference="l_gripper_r_parallel_link">
|
|
3591
|
+
<turnGravityOff>true</turnGravityOff>
|
|
3592
|
+
<material value="PR2/Red"/>
|
|
3593
|
+
</gazebo>
|
|
3594
|
+
<!-- fictitous joint that represents the gripper gap -->
|
|
3595
|
+
<!-- effort is the linear force at the gripper gap
|
|
3596
|
+
velocity limit is the linear velocity limit at the gripper gap
|
|
3597
|
+
try and introduce a very stiff spring
|
|
3598
|
+
The velocity limits are alpha tested.
|
|
3599
|
+
The effort limits are somewhat inflated.
|
|
3600
|
+
k_velocity was recently raised from 500.0 to 5000.0. Tested on beta
|
|
3601
|
+
-->
|
|
3602
|
+
<joint name="l_gripper_joint" type="prismatic">
|
|
3603
|
+
<parent link="l_gripper_r_finger_tip_link"/>
|
|
3604
|
+
<child link="l_gripper_l_finger_tip_frame"/>
|
|
3605
|
+
<axis xyz="0 1 0"/>
|
|
3606
|
+
<dynamics damping="10.0"/>
|
|
3607
|
+
<limit effort="1000.0" lower="0.0" upper="0.09" velocity="0.2"/>
|
|
3608
|
+
<safety_controller k_position="20.0" k_velocity="5000.0" soft_lower_limit="-0.01" soft_upper_limit="0.088"/>
|
|
3609
|
+
</joint>
|
|
3610
|
+
<!-- This link is the same as the l_finger_tip_link,
|
|
3611
|
+
but because the urdf does not support graph structures,
|
|
3612
|
+
this link exists twice -->
|
|
3613
|
+
<link name="l_gripper_l_finger_tip_frame"/>
|
|
3614
|
+
<gazebo reference="l_gripper_palm_link">
|
|
3615
|
+
<turnGravityOff>true</turnGravityOff>
|
|
3616
|
+
</gazebo>
|
|
3617
|
+
<gazebo>
|
|
3618
|
+
<plugin filename="libgazebo_ros_p3d.so" name="p3d_l_gripper_palm_controller">
|
|
3619
|
+
<alwaysOn>true</alwaysOn>
|
|
3620
|
+
<updateRate>100.0</updateRate>
|
|
3621
|
+
<bodyName>l_gripper_palm_link</bodyName>
|
|
3622
|
+
<topicName>l_gripper_palm_pose_ground_truth</topicName>
|
|
3623
|
+
<xyzOffsets>0 0 0</xyzOffsets>
|
|
3624
|
+
<rpyOffsets>0 0 0</rpyOffsets>
|
|
3625
|
+
<gaussianNoise>0.0</gaussianNoise>
|
|
3626
|
+
<frameName>map</frameName>
|
|
3627
|
+
</plugin>
|
|
3628
|
+
<!-- a formal implementation of grasp hack in gazebo with fixed joint -->
|
|
3629
|
+
<gripper name="l_grasp_hack">
|
|
3630
|
+
<grasp_check>
|
|
3631
|
+
<attach_steps>20</attach_steps>
|
|
3632
|
+
<detach_steps>40</detach_steps>
|
|
3633
|
+
<min_contact_count>2</min_contact_count>
|
|
3634
|
+
</grasp_check>
|
|
3635
|
+
<gripper_link>l_gripper_r_finger_tip_link</gripper_link>
|
|
3636
|
+
<gripper_link>l_gripper_l_finger_tip_link</gripper_link>
|
|
3637
|
+
<palm_link>l_gripper_palm_link</palm_link>
|
|
3638
|
+
</gripper>
|
|
3639
|
+
</gazebo>
|
|
3640
|
+
<!-- [lr]_gripper_joint is a fictitious joint, used by transmission for controller gap -->
|
|
3641
|
+
<!-- [lr]_gripper_joint is not attached to any link -->
|
|
3642
|
+
<!-- [lr]_gripper_joint position is the gap_size -->
|
|
3643
|
+
<!-- [lr]_gripper_joint velocity is the gap linear velocity -->
|
|
3644
|
+
<!-- [lr]_gripper_joint effort is the gap linear force -->
|
|
3645
|
+
<!-- Please refer to function engineering spreadsheet 090224_link_data.xls for -->
|
|
3646
|
+
<!-- the transmission function. -->
|
|
3647
|
+
<!-- Please refer to mechanism_model/src/pr2_gripper_transmission.cpp for implementation.-->
|
|
3648
|
+
<!-- gazebo_mimic_pid is for sim only. -->
|
|
3649
|
+
<transmission name="l_gripper_trans" type="pr2_mechanism_model/PR2GripperTransmission">
|
|
3650
|
+
<actuator name="l_gripper_motor"/>
|
|
3651
|
+
<gap_joint L0="0.0375528" a="0.0683698" b="0.0433849" gear_ratio="40.095" h="0.0" mechanical_reduction="1.0" name="l_gripper_joint" phi0="0.518518122146" r="0.0915" screw_reduction="0.004" t0="-0.0001914" theta0="0.0628824676201"/>
|
|
3652
|
+
<!-- if a gazebo joint exists as [l|r]_gripper_joint, use this tag to have
|
|
3653
|
+
gripper transmission apply torque directly to prismatic joint
|
|
3654
|
+
this should be the default behavior in diamondback, deprecating this flag -->
|
|
3655
|
+
<use_simulated_gripper_joint/>
|
|
3656
|
+
<!-- set passive joint angles so things look nice in rviz -->
|
|
3657
|
+
<passive_joint name="l_gripper_l_finger_joint"/>
|
|
3658
|
+
<passive_joint name="l_gripper_r_finger_joint"/>
|
|
3659
|
+
<passive_joint name="l_gripper_r_finger_tip_joint"/>
|
|
3660
|
+
<passive_joint name="l_gripper_l_finger_tip_joint"/>
|
|
3661
|
+
<!-- screw joint to capture gripper "dynamics" -->
|
|
3662
|
+
<simulated_actuated_joint name="l_gripper_motor_screw_joint" passive_actuated_joint="l_gripper_motor_slider_joint" simulated_reduction="3141.6"/>
|
|
3663
|
+
</transmission>
|
|
3664
|
+
<joint name="l_forearm_cam_frame_joint" type="fixed">
|
|
3665
|
+
<origin rpy="-1.57079632679 -0.562868683768 0" xyz=".135 0 .044"/>
|
|
3666
|
+
<parent link="l_forearm_roll_link"/>
|
|
3667
|
+
<child link="l_forearm_cam_frame"/>
|
|
3668
|
+
</joint>
|
|
3669
|
+
<link name="l_forearm_cam_frame">
|
|
3670
|
+
<inertial>
|
|
3671
|
+
<mass value="0.01"/>
|
|
3672
|
+
<origin xyz="0 0 0"/>
|
|
3673
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
|
|
3674
|
+
</inertial>
|
|
3675
|
+
</link>
|
|
3676
|
+
<joint name="l_forearm_cam_optical_frame_joint" type="fixed">
|
|
3677
|
+
<origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0 0 0"/>
|
|
3678
|
+
<parent link="l_forearm_cam_frame"/>
|
|
3679
|
+
<child link="l_forearm_cam_optical_frame"/>
|
|
3680
|
+
</joint>
|
|
3681
|
+
<link name="l_forearm_cam_optical_frame"/>
|
|
3682
|
+
<gazebo reference="l_forearm_cam_frame">
|
|
3683
|
+
<sensor name="l_forearm_cam_sensor" type="camera">
|
|
3684
|
+
<always_on>true</always_on>
|
|
3685
|
+
<update_rate>25.0</update_rate>
|
|
3686
|
+
<camera>
|
|
3687
|
+
<horizontal_fov>1.57079632679</horizontal_fov>
|
|
3688
|
+
<image>
|
|
3689
|
+
<format>R8G8B8</format>
|
|
3690
|
+
<width>640</width>
|
|
3691
|
+
<height>480</height>
|
|
3692
|
+
</image>
|
|
3693
|
+
<clip>
|
|
3694
|
+
<near>0.1</near>
|
|
3695
|
+
<far>100</far>
|
|
3696
|
+
</clip>
|
|
3697
|
+
</camera>
|
|
3698
|
+
<plugin filename="libgazebo_ros_camera.so" name="l_forearm_cam_controller">
|
|
3699
|
+
<alwaysOn>true</alwaysOn>
|
|
3700
|
+
<updateRate>25.0</updateRate>
|
|
3701
|
+
<cameraName>l_forearm_cam</cameraName>
|
|
3702
|
+
<imageTopicName>image_raw</imageTopicName>
|
|
3703
|
+
<cameraInfoTopicName>camera_info</cameraInfoTopicName>
|
|
3704
|
+
<frameName>l_forearm_cam_optical_frame</frameName>
|
|
3705
|
+
<hackBaseline>0</hackBaseline>
|
|
3706
|
+
<CxPrime>320.5</CxPrime>
|
|
3707
|
+
<Cx>320.5</Cx>
|
|
3708
|
+
<Cy>240.5</Cy>
|
|
3709
|
+
<!-- image_width / (2*tan(hfov_radian /2)) -->
|
|
3710
|
+
<!-- 320 for wide and 772.55 for narrow stereo camera -->
|
|
3711
|
+
<focalLength>320.000105</focalLength>
|
|
3712
|
+
<distortionK1>0.0</distortionK1>
|
|
3713
|
+
<distortionK2>0.0</distortionK2>
|
|
3714
|
+
<distortionK3>0.0</distortionK3>
|
|
3715
|
+
<distortionT1>0.0</distortionT1>
|
|
3716
|
+
<distortionT2>0.0</distortionT2>
|
|
3717
|
+
</plugin>
|
|
3718
|
+
</sensor>
|
|
3719
|
+
<turnGravityOff>true</turnGravityOff>
|
|
3720
|
+
<material>PR2/Blue</material>
|
|
3721
|
+
</gazebo>
|
|
3722
|
+
<joint name="r_forearm_cam_frame_joint" type="fixed">
|
|
3723
|
+
<origin rpy="1.57079632679 -0.562868683768 0" xyz=".135 0 .044"/>
|
|
3724
|
+
<parent link="r_forearm_roll_link"/>
|
|
3725
|
+
<child link="r_forearm_cam_frame"/>
|
|
3726
|
+
</joint>
|
|
3727
|
+
<link name="r_forearm_cam_frame">
|
|
3728
|
+
<inertial>
|
|
3729
|
+
<mass value="0.01"/>
|
|
3730
|
+
<origin xyz="0 0 0"/>
|
|
3731
|
+
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
|
|
3732
|
+
</inertial>
|
|
3733
|
+
</link>
|
|
3734
|
+
<joint name="r_forearm_cam_optical_frame_joint" type="fixed">
|
|
3735
|
+
<origin rpy="-1.57079632679 0.0 -1.57079632679" xyz="0 0 0"/>
|
|
3736
|
+
<parent link="r_forearm_cam_frame"/>
|
|
3737
|
+
<child link="r_forearm_cam_optical_frame"/>
|
|
3738
|
+
</joint>
|
|
3739
|
+
<link name="r_forearm_cam_optical_frame"/>
|
|
3740
|
+
<gazebo reference="r_forearm_cam_frame">
|
|
3741
|
+
<sensor name="r_forearm_cam_sensor" type="camera">
|
|
3742
|
+
<always_on>true</always_on>
|
|
3743
|
+
<update_rate>25.0</update_rate>
|
|
3744
|
+
<camera>
|
|
3745
|
+
<horizontal_fov>1.57079632679</horizontal_fov>
|
|
3746
|
+
<image>
|
|
3747
|
+
<format>R8G8B8</format>
|
|
3748
|
+
<width>640</width>
|
|
3749
|
+
<height>480</height>
|
|
3750
|
+
</image>
|
|
3751
|
+
<clip>
|
|
3752
|
+
<near>0.1</near>
|
|
3753
|
+
<far>100</far>
|
|
3754
|
+
</clip>
|
|
3755
|
+
</camera>
|
|
3756
|
+
<plugin filename="libgazebo_ros_camera.so" name="r_forearm_cam_controller">
|
|
3757
|
+
<alwaysOn>true</alwaysOn>
|
|
3758
|
+
<updateRate>25.0</updateRate>
|
|
3759
|
+
<cameraName>r_forearm_cam</cameraName>
|
|
3760
|
+
<imageTopicName>image_raw</imageTopicName>
|
|
3761
|
+
<cameraInfoTopicName>camera_info</cameraInfoTopicName>
|
|
3762
|
+
<frameName>r_forearm_cam_optical_frame</frameName>
|
|
3763
|
+
<hackBaseline>0</hackBaseline>
|
|
3764
|
+
<CxPrime>320.5</CxPrime>
|
|
3765
|
+
<Cx>320.5</Cx>
|
|
3766
|
+
<Cy>240.5</Cy>
|
|
3767
|
+
<!-- image_width / (2*tan(hfov_radian /2)) -->
|
|
3768
|
+
<!-- 320 for wide and 772.55 for narrow stereo camera -->
|
|
3769
|
+
<focalLength>320.000105</focalLength>
|
|
3770
|
+
<distortionK1>0.0</distortionK1>
|
|
3771
|
+
<distortionK2>0.0</distortionK2>
|
|
3772
|
+
<distortionK3>0.0</distortionK3>
|
|
3773
|
+
<distortionT1>0.0</distortionT1>
|
|
3774
|
+
<distortionT2>0.0</distortionT2>
|
|
3775
|
+
</plugin>
|
|
3776
|
+
</sensor>
|
|
3777
|
+
<turnGravityOff>true</turnGravityOff>
|
|
3778
|
+
<material>PR2/Blue</material>
|
|
3779
|
+
</gazebo>
|
|
3780
|
+
</robot>
|
|
3781
|
+
|