Skip to content

oulrich1/IGV_Simulator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 

Repository files navigation

###IGV_Simulator

####Simulates the Motion of the IGV

Pathfinding..

--

Project Details:

  • Simualator contains 2D map of environment..
  • Environment contains: Bot, Obstacles, GPS_Waypoints
  • Bot needs to be able to move through the simulator; Pathfind from Start to Target
  • Bot contains: It's own information about the environment..

Problems:

  • How can we describe objects in the map?
  • How do we find the list of nearby objects we are interested in?
  • What methodology is needed to find a path?
  • How can we be sure that our path is drivable? (A Path is one thing, the physical limitations of the IGV are another..)
  • How do we define drivable? (ie: max turn radius at given speeds, not enough space, ..)

--

  • Bot has Search Radius. When an obstacle enters the Bot radius.. the Bot must store the position of said obstacle
  • in it's internal map. (The Obstacle has it's own properties/functions that describe it's surface)
  • When we need to generate the Bot's Path, the Bot needs to consider Obstacles in it's map
  • When we need to identify obstacles.. we need to make a prediction given the information about the obstacle..

Solutions:

  1. Points, whose shape covers a discrete surface area of the map.. stored in the Grid Map System
  2. Using IGV(x,y) .. index into Grid Map.. +/- searchRadius
  3. A* -> store/update path in graph structure (of paths) .. based on IGV's Discovered Environment
  4. JSmoke libraries :)
  5. (Define Limitations.. apply them to generating a close to optimal path.. maybe use some sampling techniques based on previous turning experience.. aka: we would have to train the bot by manually driving it... and generate Weights for turns and motion.. etc.. then we come back here and use our collected data...)

Ideas:

Simulator: --

Map contains:
  • - IGV
    
  • - Obstacles
    
Logic contains:
  • - Collisions
    
  • - Drawing stuff onto screen
    

IGV --

Map contains:
  • 	( generated as exploration continues..
    
	  IGV update's its location and it's environment
	  in it's own map of the world )
  • - IGV
    
  • - Obstacles
    
  • - Waypoints
    
Graph contains:
  • - Pathing data.. (relative/(and based solely on)/to the Map it has generated..)
    
Logic contains:
  • 	- Driving, (updating it's location on the Simulator map..)
    
  • 	- Update It's own map by discovering Surroundings.
    
  • 	- Determine Pathing_Data given IGVs Map.. 
    
  • 	- Determine the likeliness this path is Correct, given Limitations and Error of Data..
    
  • 	- Make corrections and chose better path -> so the that IGV doesnt crash and burn..
    
  • 		(better is not more optimal.. it is just Drivable..)
    

####Please make changes to Ideas that need be updated. (for: accuracy & feasability)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published