Skip to main content

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.tar.gz (6.8 MB 查看哈希)

已上传 source

内置发行版

slam3d-0.2.0-pp38-pypy38_pp73-win_amd64.whl (23.3 kB 查看哈希)

已上传 pp38

slam3d-0.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (24.1 kB 查看哈希

已上传 pp38

slam3d-0.2.0-pp37-pypy37_pp73-win_amd64.whl (23.3 kB 查看哈希

已上传 pp37

slam3d-0.2.0-cp310-cp310-win_amd64.whl (27.4 kB 查看哈希

已上传 cp310

slam3d-0.2.0-cp310-cp310-win32.whl (25.0 kB 查看哈希

已上传 cp310

slam3d-0.2.0-cp310-cp310-macosx_11_0_arm64.whl (29.2 kB 查看哈希

已上传 cp310

slam3d-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl (30.6 kB 查看哈希

已上传 cp310

slam3d-0.2.0-cp310-cp310-macosx_10_9_universal2.whl (56.1 kB 查看哈希

已上传 cp310

slam3d-0.2.0-cp39-cp39-win_amd64.whl (27.3 kB 查看哈希

已上传 cp39

slam3d-0.2.0-cp39-cp39-win32.whl (25.0 kB 查看哈希

已上传 cp39

slam3d-0.2.0-cp39-cp39-macosx_11_0_arm64.whl (29.1 kB 查看哈希

已上传 cp39

slam3d-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl (30.6 kB 查看哈希

已上传 cp39

slam3d-0.2.0-cp39-cp39-macosx_10_9_universal2.whl (56.1 kB 查看哈希

已上传 cp39

slam3d-0.2.0-cp38-cp38-win_amd64.whl (27.4 kB 查看哈希

已上传 cp38

slam3d-0.2.0-cp38-cp38-win32.whl (25.0 kB 查看哈希

已上传 cp38

slam3d-0.2.0-cp38-cp38-macosx_11_0_arm64.whl (28.9 kB 查看哈希

已上传 cp38

slam3d-0.2.0-cp38-cp38-macosx_10_9_x86_64.whl (30.3 kB 查看哈希

已上传 cp38

slam3d-0.2.0-cp38-cp38-macosx_10_9_universal2.whl (55.6 kB 查看哈希

已上传 cp38

slam3d-0.2.0-cp37-cp37m-win_amd64.whl (27.3 kB 查看哈希

已上传 cp37

slam3d-0.2.0-cp37-cp37m-win32.whl (24.7 kB 查看哈希

已上传 cp37

slam3d-0.2.0-cp37-cp37m-macosx_10_9_x86_64.whl (30.1 kB 查看哈希

已上传 cp37

slam3d-0.2.0-cp36-cp36m-win_amd64.whl (32.0 kB 查看哈希

已上传 cp36

slam3d-0.2.0-cp36-cp36m-win32.whl (27.9 kB 查看哈希

已上传 cp36

slam3d-0.2.0-cp36-cp36m-macosx_10_9_x86_64.whl (29.6 kB 查看哈希

已上传 cp36