Skip to content

Latest commit

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Whatizit?

astar-path is a Javascript library that computes a ballistic flight path between a start and goal nodes. The trajectory computed is subject to position, velocity, and acceleration constraints as well as optional user defined node constraints.

PathNode

Trajectories are defined by a PathNode array. Each PathNode has position, velocity and acceleration vectors (i.e., s,v,a). Here we define start and goal nodes of a desired trajectory. Both start and goal nodes have zero velocity and acceleration:

varstart=newPathNode([200,-299,0]);// x,y,z positionvargoal=newPathNode([-200,299,0]);// x,y,z position

PathFactory

Trajectories are created by a PathFactory. Here we create a three dimensional PathFactory that forbids x or y axis movement below a zcruise height of 15 and also forbids z-movement below zero:

varzcruise=15;varpf=newPathFactory({dimensions: 3,maxVelocity: [25,25,4],// x,y,z velocitymaxAcceleration: [5,5,1],// x,y,z accelerationmaxIterations: 5000,isConstrained: (node)=>node.s[2]<zcruise,constrain: (n)=>{if(n.s[2]<0){returnnull;// only paths above bed}if(n.s[2]<zcruise){if(n.v[0]||n.v[1]||n.a[0]||n.a[1]){returnnull;// no xy movement below zcruise;}}returnn;},});

PathFactory

Given a start and goal PathNode, you can quickly create a trajectory by calling the findPath method:

varresult=pf.findPath(start,goal);

Here is a typical trajectory computed by findPath in under 20ms:

Installation

npm install astar-path

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages