Synbot Plugin icon Synbot Plugin Synbot plugin for ARC: local Bot Server chatbot integration with SIML dialogs, ControlCommand API, multi-language, learning and emotion support. Try it →
Asked

Auto Position Jitter With XV11 LIDAR

I’ve got an OpenCR 1.0 (USB) acting as my EZB in ARC controlling a small hexapod with Dynamixel servos. ARC connection is on COM5 at 921,600 baud (firmware flashed via Arduino IDE), and the servos move smoothly using the basic servo controls. My walking sequence is built with the Auto Position (Movement Panel) skill ("walk_fwd" for forward gait, plus a "sidestep_left" action). When the Auto Position panel runs by itself, the gait is smooth.

I also added the XV11 LIDAR skill with a GetSurreal v1.2 controller on COM9 (Teensy driver installed). $LIDARDistance updates look good in a Variable Watcher. I wrote an EZ-Script loop to watch a 60-degree forward cone (330-359 and 0-30) and, if anything is <300 mm, stop the gait and play "sidestep_left"; otherwise keep "walk_fwd" going. The logic works, but with the LIDAR script running the gait hesitates every ~100 ms even in open space, and sometimes the Stop doesn’t interrupt immediately (it finishes another frame before reacting). Sleep() from 25-150 ms changes the severity but not the root issue. Without the XV11 skill started, the gait is perfectly smooth.

Here’s the simplified control part:

if ($minDist < 300)
  ControlCommand("Auto Position", "Stop")
  ControlCommand("Auto Position", "AutoPosition Action", "sidestep_left")
else
  ControlCommand("Auto Position", "AutoPosition Action", "walk_fwd")
endif

I also tried: using a separate Script Manager to run the monitor loop, reducing frames per action, lowering servo speeds, and moving COM ports, but the micro-stutter persists. What’s the recommended ARC pattern to keep an Auto Position (Movement Panel) gait on OpenCR running smoothly while a XV11 LIDAR obstacle script can preempt it instantly-should I be queuing actions differently, using Movement commands instead of repeatedly issuing actions, or is there a better way to send a high-priority Stop?



Related Hardware (view all EZB hardware)
Opencr by Robotis
OpenCR 1.0 ARM robot controller compatible with Synthiam ARC-Arduino firmware install, 921,600 baud, pin mapping, PWM & EZ-Script
USB
Servos 200
Camera
Audio
UART
I2C
ADC
Digital

ARC Pro

Upgrade to ARC Pro

Don't limit your robot's potential – subscribe to ARC Pro and transform it into a dynamic, intelligent machine.