Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

astar-path

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

astar-path

Find least time 3D ballistic flight path between start and goal nodes.

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
16
increased by700%
Maintainers
1
Weekly downloads
 
Created
Source

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:

var start = new PathNode([200,-299,0]); // x,y,z position
var goal = new PathNode([-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:

var zcruise = 15;
var pf = new PathFactory({
    dimensions: 3,
    maxVelocity: [25,25,4], // x,y,z velocity
    maxAcceleration: [5,5,1], // x,y,z acceleration
    maxIterations: 5000,
    isConstrained: (node) => node.s[2] < zcruise,
    constrain: (n) => {
        if (n.s[2] < 0) {
            return null; // only paths above bed
        }
        if (n.s[2] < zcruise) {
            if (n.v[0] || n.v[1] || n.a[0] || n.a[1]) {
                return null; // no xy movement below zcruise;
            }
        }
        return n;
    },
});

PathFactory

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

var result = pf.findPath(start,goal);

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

Installation

npm install astar-path

Keywords

FAQs

Package last updated on 21 Apr 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc