Skip to content

AlvarEhr/PAROL6-Python-API-Gemini-Vision-Public

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PAROL6 Headless Control System

A Research-Grade Robotic Platform for Advanced Manipulation

Overview

This project presents a comprehensive control system for the PAROL6 robotic arm, transforming it from a GUI-dependent platform into a fully programmable research tool capable of vision-guided manipulation and natural language control. Originally developed to meet the requirements of a personal robotics project, the system has since been adopted by the PAROL6 community and officially recognized by the robot's creator.

As an Electrical and Mechanical Engineering student with a passion for robotics, I identified the need for programmatic control of the PAROL6 arm to enable advanced experimentation beyond what the existing GUI interface allowed. This led to the development of a complete client-server architecture that decouples robot control from user interface dependencies, enabling remote operation, automated tasks, and integration with modern perception systems.

Technical Architecture

The system employs a UDP-based client-server architecture that separates the computational and control layers, allowing for distributed processing and flexible deployment. The server (headless_commander.py) maintains a high-frequency control loop (100Hz) for real-time robot operation, while clients can send commands from any networked device using the lightweight Python API.

Core Components

  • Control Server: Handles serial communication with the robot, inverse kinematics calculations, and trajectory planning. Maintains command queue with acknowledgment tracking for reliable operation.

  • Client API: Provides 30+ functions for robot control, from basic joint movements to complex smooth trajectories. Designed with minimal dependencies to enable deployment on resource-constrained devices.

  • Vision Pipeline: Integrates Intel RealSense D435I depth camera through a custom 3D-printed mount attached to the electric gripper. Complete hand-eye calibration system enables accurate transformation between camera and robot coordinate frames.

  • Trajectory Generation: Advanced smooth motion capabilities including circular paths, parametric arcs, splines, and helical movements. These features were specifically developed in response to community requests, demonstrating the system's extensibility.

Engineering Challenges Solved

Hand-Eye Calibration

One of the most significant technical challenges was achieving accurate hand-eye calibration between the RealSense camera and the robot's end-effector. The solution involved developing a complete calibration pipeline using ChArUco markers, with iterative refinement to achieve millimeter-level accuracy in 3D positioning. The calibration system accounts for the camera's mounting geometry and provides validated transformations for vision-guided manipulation.

Real-Time Coordination

Synchronizing vision processing, trajectory planning, and robot control required careful system design. The architecture ensures that vision data is properly transformed and validated before commanding robot movements, with safety checks at multiple levels to prevent collisions or invalid movements.

Motion Synchronization

The system implements sophisticated speed synchronization across all six joints, ensuring smooth coordinated motion even when joints have different ranges and speed limits. This was particularly important for the community-requested smooth motion features, where maintaining constant end-effector velocity is crucial.

Community Impact & Development

The project has evolved significantly through community interaction. After sharing the initial headless control system on the PAROL6 Discord, it gained immediate traction, leading to:

  • Official Recognition: The robot's creator incorporated the system into the official repository and has been actively promoting it as a recommended control method
  • Feature Expansion: Based on user requests, I developed additional capabilities including smooth trajectory generation, despite having no personal need for these features
  • Active Maintenance: Ongoing support and feature additions based on community feedback, creating a collaborative development environment

This community-driven approach has transformed the project from a personal tool into a platform that enables other researchers and enthusiasts to pursue their own robotics experiments.

System Capabilities

The platform demonstrates several advanced capabilities:

Precise Motion Control: Full kinematic control with multiple input modes - joint angles, Cartesian poses, and smooth trajectories. The system validates all movements through inverse kinematics before execution.

Vision-Guided Manipulation: Integration with depth sensing enables 3D object localization and approach planning. The system uses modern vision-language models for flexible object detection, allowing natural descriptions rather than predefined object classes.

Safety Systems: Multiple layers of safety including E-stop monitoring, joint limit checking, and speed synchronization. The system maintains safe operation even during experimental procedures.

Extensible Framework: Modular design allows easy integration of new sensors, control algorithms, or AI models. The UDP communication protocol enables control from various programming languages and platforms.

Technical Implementation Details

The codebase is organized into distinct modules:

  • headless_commander.py (161KB): Main robot controller handling all serial communication and command execution
  • robot_api.py (57KB): Comprehensive client API with all control functions
  • smooth_motion.py (32KB): Advanced trajectory generation algorithms using scipy interpolation
  • PAROL6_ROBOT.py: Robot configuration including DH parameters and joint limits
  • Vision subsystem: Camera calibration, hand-eye calibration, and 3D position calculation modules

The system requires specific library versions for the core robot control (roboticstoolbox-python 1.0.3, numpy 1.23.4) to ensure compatibility with the kinematic calculations, while peripheral modules can use current library versions.

Applications & Research Potential

The platform has been successfully demonstrated for pick-and-place tasks with natural language commands, showcasing the feasibility of intuitive human-robot interaction. While currently at the proof-of-concept stage for complex manipulation, the system provides a solid foundation for research in:

  • Human-Robot Interaction: Natural language interfaces for robot control reduce the barrier to entry for non-technical users
  • Manipulation Strategies: The vision system and precise control enable experimentation with different grasping and placement techniques
  • Multi-Modal Control: The framework supports various input modalities, from direct joint control to high-level task descriptions

Future Directions

The platform is designed for continuous evolution. Potential areas for expansion include force-feedback integration for delicate manipulation tasks, multi-robot coordination using the distributed architecture, and advanced planning algorithms for complex assembly operations. The open nature of the system encourages experimentation and modification for specific research needs.

Conclusion

This project demonstrates the transformation of a hobbyist robotic platform into a research-grade system through systematic engineering and community collaboration. By addressing real needs and responding to user feedback, the system has grown beyond its original scope to become a valuable tool for the robotics community. The combination of robust engineering, practical problem-solving, and collaborative development exemplifies the approach needed for advancing robotics research.


For technical documentation, installation instructions, and API reference, please refer to the comprehensive documentation files included in the repository.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages