Velociraptor

“Discovery is always rape of the natural world. Always.” ― Michael Crichton, Jurassic Park

Time Series Device Modeling Tool

Velociraptor was created to model a scalable amount of devices that generate dynamic data using different interpolation methods to dynamically create sensors in a device. It allows you to create and start/stop all or individual device(s) using the REST API. During modeling, you may change a device’s profile to generate data. Velociraptor can be use in modeling, machine learning, predictive analytics and many other industrial tasks where we need time series generated data.

Data input

“They don’t have intelligence. They have what I call ‘thintelligence.’ They see the immediate situation.” ― Michael Crichton, Jurassic Park

The Velociraptor effortlessly generates  devices using a predefined number of sensors and interpolation methods for each sensor, e.g.:

http://localhost:8080/config?t=100
{
  "name": "SIM0_",
  "schedule":40,
  "frequency":1000,
  "start": false,
  "sensors":[{"sensor" : "Vibration",
               "method" : "spline",
               "x":[0.00, 10.0, 20.0, 30.0, 40.0],
               "y":[1.00, 2.0, 3.0, 2.0, 1.0]
              },
              {"sensor" : "Rotor_Speed",
               "method" : "spline",
               "x":[0.00, 10.0, 20.0, 30.0, 40.0],
               "y":[100.00, 200.0, 300.0, 200.0, 100.0]
              },
              {"sensor" : "Temperature",
               "method" : "line",
               "x":[0.00, 10.0, 20.0, 30.0, 40.0],
               "y":[10.00, 20.0, 30.0, 20.0, 10.0]
              }
    ]
}

The example shows how to generate 100 devices (default 10), each sending 40 data points every 40 seconds (schedule) in a package of 3 web socket messages per sensor: Vibration, Rotor Speed, Temperature.

Visual example of how the vibration sensor generates with the spline method

“Life is too short, and DNA too long.” ― Michael Crichton, Jurassic Park

Below is an example of how to use post API to create a device with 100 data points with Vibration sensor. The sensor set up utilizes spline method interpolation with 11 data points.

http://localhost:8080/config
   {
  "name": "SIM0_TEST",
  "schedule":100,
  "frequency":1000,
  "start": false,
  "sensors":[
              {"sensor" : "Vibration",
               "method" : "spline",
               "x":[0.00,   10.0,  20.0,  30.0, 40.0,  50.0,  60.0, 70.0,  80.0, 90.0, 100.0],
               "y":[100.00, 200.0, 300.0, 100.0,  0.0, 200.0, 100.0, 50.0, 120.0, 80.0, 100.0]
              }
    ]
}

100 data points output

Vibration100Points

300 data points output

Vibration300Points

Velociraptor has REST API to dynamically create/update each device profile for fields and sensors as well as to start and stop the modeling for each device separately or for all devices all together, depending on the modeling strategy.

Scalability

“Velociraptors hunted in packs…”
“Pack hunters for whom ambush is an instinct . . . Fascinating.”
― Michael Crichton, Jurassic Park

VelociraptorsScale

Velociraptor is a robust and fast solution to feed Time Series with generated data. Please keep your eyes open when you scale the Velociraptor application servers.
During the stress test, I was able to run 27 Velociraptor spring boot application servers to generate 27 thousand devices on my Mac with 16Gb memory to feed Time Series.

Please check the application for more details

 

Leave a comment