How mahdibegg/vision-guided-arm-6dof works
This is a desktop robot-pickup controller: an operator starts the simulated camera, requests object detection, and can direct the arm to pick and place a detected target. The main window coordinates camera and arm workers, while vision and robot-model code perform detection, pixel-to-robot conversion, and simulated motion. Configuration supplies application, camera, detection, arm, and simulator settings. The README is empty; links below are limited to relationships visible in the supplied excerpts or SOURCE INDEX, so unsampled capabilities and wiring are not inferred.
Main entry points: main_window.py Main window · simulation_camera.py Simulation camera · camera_worker.py Camera worker · robot_arm.py Robot arm model
Components 16
Desktop interface
- App launcher
python/src/robot_arm/apps/controller.py - Main window
python/src/robot_arm/ui/main_window.py - Camera display
python/src/robot_arm/ui/widgets/camera_widget.py - Log display
python/src/robot_arm/ui/widgets/log_widget.py - Input validation
python/src/robot_arm/ui/validation.py
Vision pipeline
- Camera worker
python/src/robot_arm/ui/workers/camera_worker.py - Detection worker
python/src/robot_arm/ui/workers/grounding_dino_worker.py - Object detector
python/src/robot_arm/vision/detect.py - Simulation camera
python/src/robot_arm/vision/cameras/simulation_camera.py - Frame types
python/src/robot_arm/vision/cameras/types.py
Robot control
- Arm worker
python/src/robot_arm/ui/workers/robot_arm_worker.py - Robot arm model
python/src/robot_arm/model/robot_arm.py - Simulator connection
python/src/robot_arm/simulation/connection.py
Configuration
- Configuration
python/src/robot_arm/config.py
Other components
- Operator
- CoppeliaSim
Connections 25
- Operator → Main window: operates
- App launcher → Main window: opens
python/src/robot_arm/apps/controller.py - Main window → Camera worker: controls
python/src/robot_arm/ui/main_window.py - Main window → Detection worker: initializes
python/src/robot_arm/ui/main_window.py - Main window → Arm worker: controls
python/src/robot_arm/ui/main_window.py - Main window → Camera display: updates
python/src/robot_arm/ui/main_window.py - Main window → Log display: logs to
python/src/robot_arm/ui/main_window.py - Main window → Input validation: uses
python/src/robot_arm/ui/main_window.py - Main window → Configuration: loads
python/src/robot_arm/ui/main_window.py - Camera worker → Simulation camera: captures from
python/src/robot_arm/ui/workers/camera_worker.py - Camera worker → Object detector: processes frames
python/src/robot_arm/ui/workers/camera_worker.py - Detection worker → Object detector: runs inference
python/src/robot_arm/ui/workers/grounding_dino_worker.py - Camera worker → Detection worker: requests detection
python/src/robot_arm/ui/main_window.py - Camera worker → Frame types: handles frames
python/src/robot_arm/ui/workers/camera_worker.py - Simulation camera → Frame types: returns frames
python/src/robot_arm/vision/cameras/simulation_camera.py - Arm worker → Robot arm model: commands
python/src/robot_arm/ui/workers/robot_arm_worker.py - Robot arm model → Simulation camera: uses sensor
python/src/robot_arm/model/robot_arm.py - Robot arm model → Simulator connection: uses
python/src/robot_arm/model/robot_arm.py - Simulation camera → Simulator connection: uses
python/src/robot_arm/vision/cameras/simulation_camera.py - Simulator connection → CoppeliaSim: connects to
python/src/robot_arm/simulation/connection.py - Simulation camera → CoppeliaSim: reads sensor
python/src/robot_arm/vision/cameras/simulation_camera.py - Robot arm model → CoppeliaSim: controls motion
python/src/robot_arm/model/robot_arm.py - Configuration → Simulator connection: configures
python/src/robot_arm/simulation/connection.py - Configuration → Simulation camera: configures
python/src/robot_arm/vision/cameras/simulation_camera.py - Configuration → Robot arm model: configures
python/src/robot_arm/model/robot_arm.py