3D 同步定位和映射 (SLAM) 工具
项目描述
大满贯3d
3D 同步定位和映射 (SLAM) 工具
Python 包装器
目前实现particleFilterLoc. 支持 Python 3.6+。
安装
从 PyPi安装slam3d 包:
python3 -m pip install slam3d
或者使用最新版本中的源代码分发或轮子。
要安装最新的未发布代码,请下载或克隆此源存储库并运行以下命令来构建和安装:
python3 -m pip install .
例子
import numpy as np
from particlefilter import ParticleFilterLoc, setSeed
# If deterministic tests are needed, call this before anything else
setSeed(123456789) # Argument is np.uint32
pf = ParticleFilterLoc()
pf.depositVio(t: np.float64, x: np.float32, y: np.float32, z: np.float32, dist: np.float32)
pf.depositRange(bx: np.float32, by: np.float32, bz: np.float32, range: np.float32, stdRange: np.float32)
pf.depositRssi(bx: np.float32, by: np.float32, bz: np.float32, rssi: np.int32)
pf.getTagLoc() # returns tuple: (status: np.int32, t: np.float64, x: np.float32, y: np.float32, z: np.float32, theta: np.float32)
发展
要安装以进行开发,请下载或克隆并运行:
python3 -m pip install -e .
来源在./particlefilter/cython.
C
来源在./particlefilter. Windows 版本包含一个捆绑版本的 MUSL rand_r()。强制在其他平台上使用-DPF_FORCE_MUSL_RANDR=1. 预编译的共享库可以在最新版本中找到。
共享库
gcc -fPIC -shared -o particlefilter.so -Iparticlefilter/include particlefilter/src/*.c -lm
或在 Windows 上使用cl.exe:
cl.exe particlefilter/src/*.c /Iparticlefilter/include /MT /link /DLL /OUT:build/particlefilter.dll
发展
编译测试:
gcc -o build/test -Iparticlefilter/include particlefilter/src/*.c test/test.c -lm
在 Windows 上cl.exe也可以工作(来自开发命令提示符):
cl.exe -o build/test -Iparticlefilter/include particlefilter/src/*.c test/test.c -lm
编译和调试测试:
gcc -o build/test -Iparticlefilter/include particlefilter/src/*.c test/test.c -lm -g
gdb ./build/test
测试
两者都test/test.c实施test/test.py几乎相同的测试。
test [--nofail] <test folder> <output file> [expected file (required without --nofail)]
当前提供的测试文件夹是./test/data. --nofail将导致测试始终以状态码 0 退出,并允许省略对预期文件的测试(通过不提供最后一个参数)。
./test/data在运行 C 测试时,会为各种操作系统和编译器提供一些预期的文件。运行 Python 测试时,您应该针对在系统上运行 C 测试的输出进行测试。Python 测试也会针对一些浮点精度偏差。由于 Python 测试单独测试每个值,因此不受 CRLF/LF 差异的影响。
执照
版权所有 (c) 2021,卡内基梅隆大学无线传感和嵌入式系统实验室。保留所有权利。
此源代码根据此源树根目录中的 LICENSE 文件中的 BSD-3-Clause 许可证获得许可。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置发行版
slam3d -0.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 23b151ec8add60cf3d75b3f17a591fadefcd2852e51d78996c1cd13fc8ce3e36 |
|
| MD5 | be24c96ba5648a066ff19deaddbaa390 |
|
| 布莱克2-256 | 93b219793d3821ed6ca8138d8a21f5f840e428723dc336c63b3d65c4eba631d6 |
slam3d -0.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 5f16fc1a81cc590ac7a6bc2912dcb39bce9e0eec769a8ed8bf9932c8fdb49ae0 |
|
| MD5 | 615b770292868cefaa8a72da99f5db0a |
|
| 布莱克2-256 | a74d556f208ea79793da63d045cdc88d890df53ed483123aeb7c164d550260f7 |