Robot Vision Lab is a premium, interactive simulation platform for a 3R robotic manipulator with a wrist-mounted pinhole camera. It bridges robotics kinematics, computer vision projection, and real-time 3D visualization into a single immersive dashboard.
โก Not your average Streamlit app. This feels like a modern AI/robotics product โ complete with glassmorphism UI, neon gradients, particle animations, and interactive 3D scenes.
|
Interactive Plotly 3D scene with articulated links, coordinate frames, and a glowing camera module. |
OpenCV-rendered 640ร480 image plane showing real-time cube vertex projections with "OUT OF VIEW" warnings. |
- Dark futuristic theme with gradient backgrounds and glassmorphism cards
- Custom typography: Orbitron (sci-fi headers) + Rajdhani (data labels)
- Animated particle overlay for a living, breathing interface
- Neon glow effects on titles, separators, and hover interactions
- Responsive metric cards with gradient top-border reveals
- Rotate ยท Zoom ยท Pan the full robot workspace
- Articulated 3R arm with 3 revolute joints and DH parameters
- Glowing magenta camera module with optical axis visualization
- Wireframe or solid cube toggle with 8 tracked vertices
- RGB coordinate frames for Global (G), End-Effector (E), and Camera (C)
- Ground grid for spatial reference
- 640ร480 simulated image plane with grid overlay
- Blue projected vertices and edges for the cube
- Magenta crosshair at the principal point
- Animated "OUT OF VIEW" warning when vertices leave the frame
- Live pixel coordinate table with visibility checkmarks
| Control | Range | Description |
|---|---|---|
| ฮธโ (Base) | โ180ยฐ โ 180ยฐ | Base joint rotation |
| ฮธโ (Shoulder) | โ120ยฐ โ 120ยฐ | Shoulder joint rotation |
| ฮธโ (Wrist) | โ120ยฐ โ 120ยฐ | Wrist joint rotation |
| Cube Side | 0.05 โ 0.60 m | Object size |
| Cube (X, Y, Z) | Free | Object position in world frame |
| Focal Length | 250 โ 1000 px | Camera intrinsics |
| Camera Tilt | โ60ยฐ โ 30ยฐ | Wrist camera tilt angle |
- Sinusoidal motion: ฮธโ(t) = 30 + 20ยทsin(t), ฮธโ(t) = 45 + 15ยทsin(2t), ฮธโ(t) = โ20 + 10ยทcos(t)
- Play / Pause / Speed controls in the sidebar
- Live trajectory tracking of (u, v) projection centroids
- 5 live metric cards: Visible Vertices, Camera Z, Image Status, Manipulability, EEโCube Distance
- (u, v) Trajectory Plot โ tracks projection path over time with Plotly
- Position Metrics โ End-effector vs Camera coordinates
- Distance Metrics โ BaseโEE, BaseโCam, CamโCube
- Plasma heatmap of the 6ร3 geometric Jacobian with value annotations
- Singular value decomposition bar chart
- Manipulability gauge with progress indicator
- Pre-render 3D Trajectory GIF (60 frames @ 15 fps)
- Pre-render Camera View GIF (60 frames @ 15 fps)
- All homogeneous transforms: T_BE, T_GC, T_B0, T_B1, T_B2
- Complete DH Parameter table
git clone https://github.com/Samanyu-dev/robot_vision.git
cd robot_visionpip install -r requirements.txt๐ง For headless Linux servers,
opencv-python-headlessis used instead of the standardopencv-pythonto avoidlibGL.so.1errors.
streamlit run app.pyThe dashboard will open at http://localhost:8501.
robot_vision/
โ
โโโ app.py โ ๐ Premium Streamlit dashboard (main entry)
โโโ requirements.txt โ Dependencies (Plotly, OpenCV-Headless, Pandas, Kaleido)
โ
โโโ src/
โ โโโ __init__.py
โ โโโ kinematics.py โ DH forward kinematics for 3R arm
โ โโโ camera.py โ Camera extrinsics & mount transforms
โ โโโ projection.py โ Pinhole projection (world โ image)
โ โโโ cube.py โ Cube vertex geometry
โ โโโ jacobian.py โ Geometric Jacobian & manipulability
โ โโโ visualization.py โ ๐จ Plotly 3D + OpenCV camera + trajectory plots
โ โโโ ui_components.py โ โจ Premium CSS, animations, layout helpers
โ
โโโ scripts/
โ โโโ phase1_forward_kinematics.py
โ โโโ phase2_camera_extrinsics.py
โ โโโ phase3_projection.py
โ โโโ phase4_image_coordinates.py
โ โโโ phase5_cube_vertices.py
โ โโโ phase6_jacobian.py
โ โโโ phase7_trajectory.py
โ โโโ phase8_simulation_3d.py
โ โโโ phase9_camera_view.py
โ
โโโ tests/
โ โโโ test_kinematics.py
โ โโโ test_camera.py
โ โโโ test_projection.py
โ โโโ test_cube.py
โ โโโ test_jacobian.py
โ
โโโ docs/
โ โโโ phase_0_system_model.md
โ โโโ phase_1_kinematics.md
โ โโโ phase_2_camera_extrinsics.md
โ โโโ phase_3_projection.md
โ โโโ phase_4_image_coordinates.md
โ โโโ phase_5_cube_vertices.md
โ โโโ phase_6_jacobian.md
โ โโโ phase_7_trajectory.md
โ โโโ phase_8_simulation_3d.md
โ โโโ phase_9_camera_view.md
โ โโโ live_demo.md
โ
โโโ outputs/
| Layer | Technology |
|---|---|
| Frontend / UI | Streamlit + Custom HTML/CSS/JS |
| 3D Visualization | Plotly Graph Objects (WebGL-accelerated) |
| Image Rendering | OpenCV (headless) + NumPy |
| Math & Kinematics | NumPy + SciPy |
| Data Handling | Pandas |
| Static Plots | Matplotlib |
| GIF Export | Pillow + Kaleido |
Replace these placeholders with actual screenshots after running the app
- DH Parameter Forward Kinematics โ T_BE from 3 revolute joints
- Camera Extrinsics โ T_GC via end-effector mount with tilt offset
- Pinhole Projection โ World โ Camera โ Image plane via K [R|t]
- Visibility Testing โ In-front and in-bounds checks per vertex
- Geometric Jacobian โ 6ร3 matrix relating joint velocities to EE spatial velocity
- Manipulability โ Yoshikawa measure: โdet(JแตJ)
pytest tests/Each scripts/phase*.py corresponds to a robotics concept doc in docs/:
python scripts/phase1_forward_kinematics.py
python scripts/phase8_simulation_3d.pyThe project includes a beautiful standalone HTML landing page at docs/demo_landing.html. You can host it for free in under 2 minutes:
- Go to your repo โ Settings โ Pages (left sidebar)
- Under Build and deployment โ Source, select Deploy from a branch
- Select branch:
mainโ folder:/docsโ click Save - Wait ~30 seconds, then visit:
https://samanyu-dev.github.io/robot_vision/demo_landing.html
๐ก Tip: If you want the landing page at the root URL, rename
docs/demo_landing.htmltodocs/index.html.
- Go to netlify.com/drop
- Drag the
docs/folder onto the page - Get an instant live URL (free forever)
- Install Vercel CLI:
npm i -g vercel - Run
vercel --cwd docsfrom the project root - Get a
.vercel.appURL instantly
Built with โค๏ธ by Samanyu as part of a robotics + computer vision coursework project.
- Repo: github.com/Samanyu-dev/robot_vision
- Framework: Streamlit
- 3D Engine: Plotly
๐ค ROBOT VISION LAB ยท PREMIUM EDITION v3.0
Built with Streamlit ยท Enhanced with Plotly ยท Powered by NumPy

