#๐Ÿ”’ Indoor Navigation System

141 messages ยท Page 1 of 1 (latest)

frail coyote
#

I want to make an indoor navigation system for my school, kind of like google maps but inside the school. It'll be a website targetted to run on a phone, any suggestions on how to do it?

sterile locustBOT
#

@frail coyote

Python help channel opened

Remember to:

  • Ask your Python question, not if you can ask or if there's an expert who can help.
  • Show a code sample as text (rather than a screenshot) and the error message, if you've got one.
  • Explain what you expect to happen and what actually happens.

:warning: Do not pip install anything that isn't related to your question, especially if asked to over DMs.

frail bronze
#

It could be easier to make it in full javascript/css/html, you don't even need a real backend

frail coyote
#

but I prefer to do it in python because it's the only language I know comfortably

#

I can still do it right?

#

I'm still using html though

#

well even java script and css I plan to do it through flask

frail coyote
livid tusk
frail coyote
#

Like how to go about building it

#

The basic functionality is that you enter the room you're in right now and the room you want to go to. After that it finds the shortest path between the 2 and directs you like how google maps does

livid tusk
#

We don't know what you know and don't know, so it'd be useful to get more specific questions

frail coyote
#

hm alright

#

I want to know:

  1. A way to host the system on a website for free. I'm using Flask to build and test it but can I run it on Flask too?

  2. What data I need to collect about the school to make this work. For example, is only a floorplan fine or do I need more?

  3. A roadmap of steps to build the system that does this.

tawny folio
#

or it'd be very inconvinient if you tried

frail bronze
#

It is much easier to learn javascrip and make the website with than try to make it with python

livid tusk
#

flask is a framework, not a hosting solution, so yes if you build your system on flask then you'll have a website on flask. If you really need free hosting then you can find some solutions for that online

what data you need depends on what algorithms you end up using. The simplest way would be to define a graph of the school and use Dijkstra's algorithm.

I wouldn't trust anyone to give you a concrete roadmap of how to do this, instead just follow tutorials for how to build and host something with flask and you should be able to come up with a plan on your own

frail bronze
#

also it's a more valuable skill

#

You'll need a map/representation of each floor and a graph that link room with eachother

frail coyote
#

hm alright thanks, how long would you think the project would take?

tawny folio
livid tusk
#

days or years depending on how fast you are

frail coyote
tawny folio
#

if you dont knoe any html css or js, you might need a few months to be comfortable with thrm

frail coyote
#

especially in html and css

#

but I don't know much about js

tawny folio
#

you'll need to know js inorder to do what you're trying to make for the front end

frail coyote
frail coyote
#

what exactly will I do with the js part? Do you think it's fine if I use AI to generate the js front end or is it complicated enough that I need to learn Javascript and understand everything in the frontend

livid tusk
livid tusk
frail coyote
livid tusk
#

and no you shouldn't need months to understand css basics, you sound smart, you'll be fine

frail coyote
#

oh thanks lol

old jay
#

@frail coyote one wast difference from google maps and similar apps will be that the person will not be able to see where they currently are on the map as they walk around since GPS will not work very good (if at all depending on hardware and building/materials) indoors

frail coyote
#

yea I don't plan on using GPS

#

but I still want to update the user's position

#

can't most phones detect movement

#

I've seen indoor navigation systems that have live movement, I don't know if they use other expensive technology though because they are in malls, I'm guessing they do

old jay
#

inertia navigation systems aren't very reliable or accurate, but you can try it

frail coyote
#

wdym by inertia navigation system?

#

and if they aren't accurate, do you know of any way to get live feedback?

frail coyote
old jay
#

Google have hade multiple projects trying to create a good system for indoors navigation for their phones and AR games with various level of "success", but they have all been canceled

frail coyote
#

oh

old jay
#

some systems have also been using the back camera and use optic flow and AR to track motion

frail coyote
#

hm so I could do that?

old jay
#

but it's kind of inconvenient as you have to be pointing the camera correctly

frail coyote
#

oh ok

#

any other suggestions?

#

I'd want it to be realistic for real world use

old jay
#

you can always try it, but it will be a big project that can be a bit complex

frail coyote
#

yes but you said it would be inconvenient

frail coyote
#

I guess instead of live directions I could just make it give the direction you take to get to the path. That's way less cool though lol

frail bronze
#

localating someone in a building is a whole engineering thing, trust me

#

quite hard

frail coyote
#

Alright I doubt I can do it then

#

Though I have a question, I found online that your phone can get it's distance from a wifi router using round trip time, won't this let me know the location of the phone relative to the wifi router?

frail bronze
#

yes, but you will need 3 wifi routers to locate you

#

and you need them to be close enough to you

frail coyote
#

oh ok, so it's doable?

#

also why do you need 3? Won't 2 be enough

frail bronze
#

not easy but yes

old jay
frail bronze
#

two circles have 2 intersecting points

frail coyote
frail bronze
#

if you know the distance to 2 wifirouters, you may be at two positions

frail coyote
#

ohh ok I understood

#

but if you can rule out one of the positions(for example it's inside a wall), you can tell with 2 routers?

frail bronze
#

green is all the points at distance d1 form the router r1, orange for d2 from r2

frail coyote
#

oh ok

frail bronze
#

if you know one of the two spots is in a wall, then yes, but that's quite unlikely

frail coyote
#

but, if we knew the starting position, wouldn't 2 be enough?

frail bronze
#

no

#

also this only works in 2d, in 3d the intersection isn't a point of a curved line

#

you can still rule out the position based on floor heights but it start getting complicated

old jay
#

often you need a quite dense wifi network to do it and preferably special firmware with support for certain extensions for it in both the phone and the wifi accesspoints

frail coyote
#

Alright, I think that's too complicated for me right now but I could expirement.

frail coyote
#

Thanks a lot though for your help

frail bronze
#

good luck

frail coyote
#

Thank you

old jay
#

either that or you will have to map the RF environment and hope it doesn't change too much, there is quite a bit of algorithms and complexity in that too if you don't have the extension l/support in place to help you with it

old jay
#

Radio Frequency

frail coyote
#

oh

#

what would cause it to change

old jay
#

it's the radio environments

frail coyote
frail coyote
old jay
#

almost anything, accesspoints can change their output power, be moved added or removed in the building du to maintenance or remodeling indoors, even moving furniture around opening and closing doors orpeople moving through the space can affect the RF environment a great deal

frail coyote
#

Then I don't think it'll work out because it's for a school

#

Furniture is moved all the time

#

and it's crowded

old jay
#

so without suppirt through some wifi features that makes this much easier it will be a hard problem

#

but if the wifi network and the phone has support for thise extension it is much easier

frail coyote
#

what do you mean by support though

#

Can it be something installed quickly on your phone?

old jay
#

i don't remember what the extention is named right now, but i remember that the wifi standard has some optional extention available for this very purpose, to let a phone be able to much easier use the wifi network for triangulating itself in space, the wifi network has to provide some extra meta information to clients for them to do this much easier than they would otherwise be able to do

frail coyote
#

Alright thanks, and this would be convenient for the user?

old jay
#

yes, if the wifi network has this feature available and enabled the client can much easier use the wifi network to find where it is I. space (if the phone also have support for this)

frail coyote
#

Ok let's go, so there's still a chance

#

Do most modern phones have support?

frail coyote
old jay
#

it looks like a lot of android phones have support for this and i would be very surprised if that doesn't go for phones as well even if i haven't looked for any information about that right now

frail coyote
#

Alright thanks

frail coyote
old jay
frail coyote
#

oh ok

#

I don't really understand what this even means but I'll try

#

you think it's realistic for me to learn about this and apply it?

old jay
#

and android have some ready-made APIs for locating itself in a wifi network

#

you could do some research and see if you think it might be possible for your level of knowledge

old jay
#

i don't know if their are web browser apis for this available in the browsers or if you need to have an app on the phone to be able to utilize such indoor location service

frail coyote
#

oh ok, hopefully it's a web browser because making an app would then be more work

#

for now I'll still go with manually telling the user the directions, but this will help in case I take it further. Thanks a lot

old jay
#

looking deeper into this there seem to be some support in android even without extra wifi extensions with enough wifi networks or accesspoints around the phone, just with much worse precision

true python
#

strength of wifi signal is extremely poor and unreliable indicator of accurate indoor positioning in spaces like school

#

it depends A LOT on enviornment factors as well as actual physical obstacles in way

like you can have two litearl phones measuring the strenght side by side like 1 meter apart and the strenght may differ significantly

old jay
#

yes, a lot of things in the RF environment continuously changes in such an environment

true python
#

we had a hackathon where we had to do this stuff (precision indoor positioning)

we ended up making a frankenstine solution with UWB receivers (aka extra hardware)

old jay
#

i can't find any web browser apis that utilizes indoor location information other then what one would see with Google maps on a phone, which is really poor

true python
#

maybe you can have a system where each room is uniquely identified by some sort of letter combination like A10

then you will ask user to input their current classroom in your app , and let them choose desitnation

and then you can give a path

basicaly take away the "automatic positioning" part from the system

old jay
old jay
#

often rooms in schools have codes or ids already

true python
#

if you are talking about BIIGGG campuses with acres of land , then sure , wifi signal strenght might work

because you basically disconnect from one access point and connect to another and that way you can track them

but yeah for small spaces like school rooms , wifi will never be able to differentiate unelss you have like a wifi box in every single classroom at the very center (and even then it will be highly unreliable)

true python
old jay
# true python if you are talking about BIIGGG campuses with acres of land , then sure , wifi s...

there are expensive commercial solutions for quite good indoor positioning of clients, but that is either built-in to access points of the wifi network and typically extra software running on a centralized server to aggregate information from the different access points that can see/hear the client, or a parallel installation of a lot of probes that serve a similar purpose which is expensive to deploy

#

the client doesn't know where it is in such a network, it's the external system that knows where clients are located

sterile locustBOT
#
Python help channel closed for inactivity

This help channel has been closed. Feel free to create a new post in #1035199133436354600. To maximize your chances of getting a response, check out this guide on asking good questions.