Audiotoolbox Plugin icon Audiotoolbox Plugin — Enable UWP voices, change default audio devices, capture audio and route it to EZB controllers with session tracking and device control. Try it →
Asked
1 Participant
PTI LiDAR Plugin data access

PTI Lidar Plugin Data Access

I’m reviving an old differential-drive bot that still runs on an EZ-Robot EZ-B v3 over Bluetooth (paired as COM7). Motors are on an L298N driven by D0-D3 and I’m using ARC’s H-Bridge PWM Movement Panel for motion. I added the PTI LiDAR plugin with the PTI unit plugged into my Windows laptop over USB (COM5 at 115200). The plugin connects and I see a live sweep in its UI, so the sensor side seems fine.

What I can’t figure out is how to get numeric data from the PTI LiDAR plugin into scripts to stop/avoid. The Variable Watcher shows no $PTI_* or $Lidar_* variables while it’s running. The Cheat Sheet for ControlCommand doesn’t list any commands for the PTI LiDAR plugin either. I also opened the Skill Messaging Monitor and don’t see any topics/messages originating from the plugin.

Things I tried:

  • Renaming the control to exactly "PTI LiDAR Plugin" and calling ControlCommand (and variants with no spaces, etc.)
  • JavaScript attempts to pull values directly

Example attempts:

ControlCommand("PTI LiDAR Plugin", "GetNearest", "0,25");
var scan = GetControlValue("PTI LiDAR Plugin", "Scan");

Both either return no data or "No such command" in the debug log. My goal is simple: if anything is within ~300 mm in a forward ARC (say -15 to +15), stop the Movement Panel.

Separately, when the PTI skill is running my EZ-B v3 control gets a little laggy over Bluetooth; CPU is about 30% on this laptop. If there’s a sample-rate or decimation setting in the PTI LiDAR plugin I’m missing, that might help too.

Can someone clarify the supported way to programmatically access PTI LiDAR plugin data in ARC (variables, Skill Messaging topics, or ControlCommands) and whether there’s a built-in way to throttle its update rate so my EZ-B v3 stays responsive over Bluetooth?



Related Hardware (view all EZB hardware)
EZ-B V3 by EZ-Robot
EZ-B v3 works with Synthiam ARC via Bluetooth COM port to control servos, sensors, scripts and robot skills.
Bluetooth
Servos 24
Camera
Audio
UART ✕
I2C
ADC 8
Digital 24

Related Robot Skills (view all robot skills)
PTI Lidar Plugin by KeenanNW
Pineapple Technology Industries Capstone plugin adds a secretive LiDAR unit to ARC for distance measurement.
Ultrasonic sensor triggers custom script on object detection; configurable interval & min distance, with optional forward-only trigger for navigation.

ARC Pro

Upgrade to ARC Pro

Subscribe to ARC Pro, and your robot will become a canvas for your imagination, limited only by your creativity.

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#1  

Yes - the key thing here is that the PTI LiDAR Plugin is primarily a navigation sensor skill, and if it doesn’t expose variables, ControlCommands, or messaging topics, then there may simply not be a supported script API available for direct numeric access in ARC right now.

What your testing suggests

From what you described:

  • No $PTI_* / $Lidar_* variables
  • No ControlCommand entries in Cheat Sheet
  • No Skill Messaging traffic
  • ControlCommand() returns "No such command"

That usually means the skill is acting as a visual/standalone sensor view rather than publishing data for scripts to consume.

What to check in the skill first

Open the kebab menu on the PTI LiDAR Plugin skill and look for:

  • Settings
  • Variables
  • Commands
  • Documentation/About
  • Any option like:
    • Publish data to global variables
    • Enable scripting
    • Output scan data
    • Navigation integration

If the skill offers script access, it will usually be documented there or in the skill’s page on Synthiam. The skill page is here:

If it does not expose data

If the skill truly doesn’t publish data, then ARC won’t be able to read the LiDAR values directly from it unless the plugin author adds support.

In that case, the usual options are:

  1. Use a robot skill that exposes scan data
  2. Create a custom robot skill that wraps the PTI device and publishes:
    • global variables
    • ControlCommands
    • scan arrays
    • or navigation messages

If you want, I can help you outline a custom ARC robot skill design for this. ARC supports creating your own robot skill here:

For your goal: stop if something is within 300 mm in the forward arc

If the PTI plugin can’t expose numeric scan data, you won’t be able to implement that logic directly in JavaScript.

But if you can get the scan data into a variable, the logic would look something like this:

var distMm = getVar("$LiDARForwardMm", 9999);

if (distMm <= 300) {
  Movement.stop();
}

If the skill can provide an array of degrees/distances, then we could write a loop to check only the forward window like -15 to +15.

About the Bluetooth lag on EZ-B v3

That lag is believable. The EZ-B v3 over Bluetooth is old hardware, and ARC plus a LiDAR plugin can create additional load on the laptop, especially if:

  • the plugin refreshes the UI very frequently
  • the scan is being rendered continuously
  • Bluetooth COM communication is also active
  • the Movement Panel is updating often

Things to try

  • Look for any update interval / sample rate / refresh rate / smoothing / decimation setting in the PTI skill’s config
  • Increase the scan interval if available
  • Reduce UI rendering if the plugin has a "show scan" or "display live" toggle
  • Close other heavy apps
  • Keep the LiDAR plugin and movement script as lightweight as possible

Best next step

Please do this in the PTI LiDAR plugin skill:

  1. Open the kebab menu
  2. Check every config page for:
    • variables
    • command names
    • update rate
    • export/publish options
  3. Tell me exactly what options you see there

If you want, I can help you build the actual ARC JavaScript obstacle-stop logic once we know how the PTI skill exposes its data, or I can help you make a custom skill if the plugin doesn’t support access.

I am a customer support AI and still learning. Please verify important answers in our support documentation. For advanced AI features, use the AI Script Agent built into ARC.