navability / navabilitysdk.py Goto Github PK
View Code? Open in Web Editor NEWPython access to the NavAbility API
Home Page: https://www.wherewhen.ai
License: Apache License 2.0
Python access to the NavAbility API
Home Page: https://www.wherewhen.ai
License: Apache License 2.0
As a user I would like to be able to create a ContinuousScalar and have it initialize the VariableData correctly (at the moment it is forced to creating a Pose2-format structure, which causes a BoundsError when it is loaded into the cloud).
As a user I would like to be able to create LinearRelative factors.
To use the ipython features should then be something to the effect:
import ipython.markdown
import navabilitysdk
# use nva markdown features
Occurs when we do not await a call I believe.
Suggested read: https://gql.readthedocs.io/en/v3.0.0/advanced/async_advanced_usage.html.
Required for ICRA tutorial 1.
As a user I would like to create Prior. This looks to be the same as PriorPose2 but @dehann @Affie can you confirm that we can simply copy PriorPose2 as Prior?
As a user I would like to be able to use the Uniform, Normal, and Rayleigh distributions in Factors.
This is needed in the Mixture factor in the ICRA Tutorial 2 example.
Otherwise it is truly clunky importing.
listNeighbors(clicon..., "x4")
get back the list of factors connected to that variable
["x3x4f_sdr"; "x4x5f_3r3"; "x4l7f_34r"]
And visa versa for the variables connected to a factor, but that case should just alias to equivalent of:
getVariableOrder(dfg, fctlbl)
which gives back
["x3";"x4"]
Thereafter, alias the specific dispatches for list
and ls
, also lsf
.
PS, I'm writing hot and loose wrt String
vs Symbol
-- should resolve the default there better.
Hi @GearsAD , you might know best. Does Pose2Point2BearingRange exist in this SDK.py yet? I searched for it in the code but did not see it.
This is currently throwing an error, which isn't correct because the data may still be in queue.
E.g. response:
DEBUG:navability.services.variable:Query result: {'USER': [{'name': 'Guest', 'robots': [{'name': 'DemoRobot', 'sessions': []}]}]}
Currently returns the whole payload.
Run readme example, you get the following error:
Traceback (most recent call last):
File "test.py", line 31, in <module>
result = navi.solveSession()
TypeError: solveSession() missing 1 required positional argument: 'c'
(converted to issue, someone mentioned this:)
int -> float
I didn't have time to figure python sdk out to see what else is needed.
Point to first instance of same issue:
A lot of info messages from gql.transport.aiohttp, set up logging to minimize this.
Reproduce the error by doing fresh install via readme instructions. Run provided script. Error below occurs:
Traceback (most recent call last):
File "test.py", line 4, in <module>
from navability.entities.StatusMessage import StatusMessage
File "/home/jim/Workspace/NavAbility/NavAbilitySDK/venv/lib/python3.8/site-packages/navability/entities/StatusMessage.py", line 5, in <module>
from src.navability.entities.Client import Client, ClientSchema
ModuleNotFoundError: No module named 'src'
This looks to be a constructor issue.
Looks the same as the other Z factors.
"{\"label\":\"x0l3f1\",\"_version\":\"0.18.1\",\"_variableOrderSymbols\":[\"x0\",\"l3\"],\"data\":{\"eliminated\":false,\"potentialused\":false,\"edgeIDs\":[],\"fnc\":{\"Z\":{\"_type\":\"IncrementalInference.PackedNormal\",\"mu\":89.44271909999159,\"sigma\":3.0}},\"multihypo\":[],\"certainhypo\":[1,2],\"nullhypo\":0.0,\"solveInProgress\":0,\"inflation\":5.0},\"tags\":[\"FACTOR\"],\"timestamp\":\"2022-03-24T22:17:04.617-05:00\",\"nstime\":\"0\",\"fnctype\":\"Point2Point2Range\",\"solvable\":1}"
As a user of the SDK I would like to be able to optionally set the solve key
and whether the solve should be parametric.
These are passed in as SolveOptionsInput
in the solveSession
call.
As a user I'd like to be able to add blob data to variables in the graph.
BlobMetadata
and BlobData
addDataBlob(BlobMetadata, data:(string or bytes))
Looks exactly the same as PriorPose2:
"{\"label\":\"l1f1\",\"_version\":\"0.18.1\",\"_variableOrderSymbols\":[\"l1\"],\"data\":{\"eliminated\":false,\"potentialused\":false,\"edgeIDs\":[],\"fnc\":{\"Z\":{\"_type\":\"IncrementalInference.PackedFullNormal\",\"mu\":[10.0,30.0],\"cov\":[1.0,0.0,0.0,1.0]}},\"multihypo\":[],\"certainhypo\":[1],\"nullhypo\":0.0,\"solveInProgress\":0,\"inflation\":5.0},\"tags\":[\"FACTOR\"],\"timestamp\":\"2022-03-24T22:06:41.310-05:00\",\"nstime\":\"0\",\"fnctype\":\"PriorPoint2\",\"solvable\":1}"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.