RapidLaser is a mechanical demonstration designed to showcase the precision of RSI's RMP EtherCAT Motion Controller, specifically its RealTimeTasks feature which allows you to execute deterministic user logic, motion control, and I/O operations without specialized real-time programming expertise.
It features a two-axis gimbal mechanism that uses Basler's Pylon SDK and OpenCV to track a colored ball in real time, dynamically positioning a laser to keep the ball centered.
- Real-time tracking using OpenCV & Pylon SDK
- Two-axis gimbal system
- Motion control using the RMP EtherCAT Motion Controller
- Multi-platform UI developed using Avalonia UI
- Linux PREEMPT_RT for sub millisecond deterministic control
rttasks/- Core source code containg the RMP RealTimeTasks functionsscripts/- Utility scripts for running the UI, and moreservers/- Contains the .NET 10 camera server for sending images to the UIui/- Main desktop demo UI/app (RapidLaser.Desktop)
- Linux PC
- RMP SDK
- .NET 9.0 SDK & .NET 10 SDK
- Basler camera (with Pylon SDK)
- OpenCV
Navigate to the scripts/ folder and run the appropriate script for your platform:
Windows
- Open a Unix-style shell like (Git Bash)
- Run command:
./ui_run.sh
Linux
- Open terminal
- Make file executable:
chmod +x ui_run.sh - Run command:
./ui_run.sh
Note: the ui_run.sh script will call dotnet publish only if it does not locate an executable in the temp/ folder
See the blog for detailed information here: https://www.roboticsys.com/case-studies/vision-tracking-gimbal-demo