• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

kamalshadi/Localization: Multilateration and triangulation for target localizati ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

kamalshadi/Localization

开源软件地址(OpenSource Url):

https://github.com/kamalshadi/Localization

开源编程语言(OpenSource Language):

Python 100.0%

开源软件介绍(OpenSource Introduction):

Localization

Introduction

Localization package provides tools for multilateration and triangulation in 2D,3D and on earth surface. The current model of the earth, supported by the package, is called Earth1. Earth1 models the earth as an ideal sphere having radius of 6378.1 kilometers.

Installation

The package has been tested with python2.7 and python3.6. Use pip to install the package:

pip install localization

Usage

Typical usage of the package is:

import localization as lx

To initilaize new localization Project use:

P=lx.Project(mode=<mode>,solver=<solver>)

Currently three modes are supported:

  • 2D
  • 3D
  • Earth1

Also three solvers can be used:

  • LSE for least square error
  • LSE_GC for least square error with geometric constraints. Geometric constraints force the solutions to be in the intersection areas of all multilateration circles.
  • CCA for centroid method, i.e., the solution will be the centroid of the intersection area. If no common intersection area exist, the area with maximum overlap is used.

To add anchors to the project use:

P.add_anchor(<name>,<loc>)

where name denote user provided label of the anchor and is the location of the anchor provided in tuple, e.g., (120,60).

To add target use:

t,label=P.add_target()

t is the target object and label is the package provided label for the target.

Distance measurements must be added to target object like:

t.add_measure(<anchore_lable>,<measured_distance>)

Finally running P.solve() will locate all targets. You can access the estimated location of the target t by t.loc. t.loc is a point object. Point object B has x,y,z coordinates available by B.x, B.y, B.z respectively.

Here is a sample use of the package for three anchors and one target scenario:

import localization as lx

P=lx.Project(mode='2D',solver='LSE')


P.add_anchor('anchore_A',(0,100))
P.add_anchor('anchore_B',(100,100))
P.add_anchor('anchore_C',(100,0))

t,label=P.add_target()

t.add_measure('anchore_A',50)
t.add_measure('anchore_B',50)
t.add_measure('anchore_C',50)

P.solve()

# Then the target location is:

print(t.loc)

contact: kamal.shadi85@gmail.com




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap