Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## Project Overview

This is a Docusaurus v3 documentation site for Weston Robot products, built with TypeScript and React. The site serves as comprehensive documentation for robot platforms, peripherals, systems, software, and tutorials.

## Common Development Commands

### Development
```bash
# Install dependencies
npm install

# Start development server (available at http://localhost:3000)
npm run start

# Build for production
npm run build

# Type checking
npm run typecheck

# Serve production build locally
npm run serve

# Clear Docusaurus cache
npm run clear
```

### Docker Development
```bash
# Run with Docker Compose
docker compose up

# Or use the convenience script
./run_docs.sh
```

## High-Level Architecture

### Documentation Structure
The site uses Docusaurus's multi-instance documentation pattern with six separate documentation sections, each with its own routing and sidebar configuration:

- **General** (`/general/*`) - Operational safety and maintenance guides - configured in `sidebars-general.ts`
- **Robot** (`/robot/*`) - Documentation for UGVs, quadrupeds, humanoids, and manipulators - configured in `sidebars-robot.ts`
- **Peripheral** (`/peripheral/*`) - Power regulators, network equipment, computers - configured in `sidebars-peripheral.ts`
- **System** (`/system/*`) - Integrated systems like UGV development kits - configured in `sidebars-system.ts`
- **Software** (`/software/*`) - SDKs, toolboxes, and installation guides - configured in `sidebars-software.ts`
- **Tutorial** (`/tutorial/*`) - Step-by-step guides and how-tos - configured in `sidebars-tutorial.ts`

Each section is configured as a separate plugin instance in `docusaurus.config.ts` with its own path, route base, and sidebar configuration.

### Key Configuration Files
- `docusaurus.config.ts` - Main configuration defining plugins, themes, navbar, and multi-docs setup
- `sidebars-*.ts` - Individual sidebar configurations for each documentation section
- `src/pages/index.tsx` - Custom landing page with interactive decision tree navigation using React hooks

### Content Organization
- Documentation content is written in Markdown/MDX files in respective directories
- Each section has an `intro.md` entry point
- Images are stored in `img/` subdirectories within each section
- Category metadata is managed through `_category_.json` files

### Search & Navigation
- Uses `docusaurus-lunr-search` plugin for client-side search functionality
- Custom interactive decision tree on the homepage guides users to appropriate documentation sections
- Navbar provides direct access to all major documentation categories

### Styling & Theming
- Custom CSS in `src/css/custom.css`
- Supports Mermaid diagrams through `@docusaurus/theme-mermaid`
- Uses Prism for syntax highlighting with GitHub light and Dracula dark themes
2 changes: 2 additions & 0 deletions peripheral/computer/cm4.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ import CM4_IMG from '../img/westonrobot/cm4_sbc.jpg';

This onboard computer is based on Raspberry Pi Computer Module 4 (CM4). We extended the board with CAN and RS485 ports for interfacing with the robot bases and sensors.

<div style={{textAlign: 'center'}}>
<img src={CM4_IMG} alt="Ranger Mini robot" style={{width: 350}} />
</div>

## Key Specifications

Expand Down
2 changes: 2 additions & 0 deletions peripheral/computer/nanopc.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ import NANOPC_PORTS from '../img/westonrobot/nanopc_industrial_ports.png';

This onboard computer is based on NanoPC-T6. We extended the board with industrial ports for easy and reliable interfacing with commonly used sensors and robot bases. Drivers to the ports are pre-configured under Ubuntu 22.04.

<div style={{textAlign: 'center'}}>
<img src={NANOPC_IMG} alt="NanoPC-T6" style={{width: 350}} />
</div>

## Key Specifications

Expand Down
Binary file added peripheral/img/manifold/pocket.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions peripheral/network/industrial_5g_router.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ import ROUTER_5G_IMG from '../img/westonrobot/5g_router/industrial_5g_wifi_route

# Industrial 5G Router

<div style={{textAlign: 'center'}}>
<img src={ROUTER_5G_IMG} alt="Ranger Mini robot" style={{width: 350}} />
</div>

## 1. Key Specifications

Expand Down
8 changes: 8 additions & 0 deletions peripheral/sensor/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"label": "Sensors",
"position": 4,
"link": {
"type": "generated-index",
"description": "Sensors."
}
}
37 changes: 37 additions & 0 deletions peripheral/sensor/manifold_pocket.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
sidebar_position: 1
---


import MANIFOLD_POCKET_SCANNER_IMG from '../img/manifold/pocket.png';

# Manifold Pocket Scanner

## 1. Overview

<div style={{textAlign: 'center'}}>
<img src={MANIFOLD_POCKET_SCANNER_IMG} alt="Manifold Pocket Scanner" style={{width: 350}} />
</div>

The Pocket is a highly compact and modular 3D data collection device, purpose‑built for seamless integration into handheld workflows and robotic platforms. It combines dual industrial-grade fisheye cameras with global shutter capability for true‑color imaging, alongside a 40‑line LiDAR system delivering dense, real‑time point clouds. The system supports live preview and on‑the‑fly edits through the MindCloud‑GO app, all housed within a lightweight (560 g), palm‑sized enclosure with approximately 2 hours of battery life.

## 2. Specifications

| Specification | Value |
|--------------|-------|
| Laser Wavelength | 905nm |
| Laser Range | Up to 40m @ 10% reflectivity, 70 m @ 80% reflectivity |
| LiDAR Point Cloud Density | 40 lines |
| LiDAR Point Rate | 200,000 points/s (first return) |
| LiDAR Frame Rate | 10 Hz |
| Cameras | Dual Fisheye 5 Megapixel Global Shutter Camera |
| Battery Life | 2 hours |
| Dimensions (Main Unit) | 115 mm X 110 mm X 83 mm |
| Weight (Main Unit) | 560 g |

## 3. Resources

* MindCloud GO User Manual: [PDF](https://tangrobot.sharepoint.com/:b:/s/Public-Outgoing/EXVPAz1fy0dEmuplUSErgX8BZrLj6EK2IC621P0m_sSpow?e=cWhO5P)
* MindCloud User Manual: [PDF](https://tangrobot.sharepoint.com/:b:/s/Public-Outgoing/EQCjHhhVamtNuHzNLNt-J1oBzEU-H3OIJ6Gbclk3GRVqZA?e=avRo4H)
* MindCloud Go (Android APK): [Download](https://www.manifoldtech.cloud/download/?file=MindCloudGo_0.3.0.apk)
* MindCloud (Windows): [Download](https://www.manifoldtech.cloud/download/?file=MindCloud_0.1.9.exe)
6 changes: 6 additions & 0 deletions sidebars-peripheral.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,12 @@ const sidebarsPeripheral: SidebarsConfig = {
items: [
'power/power_regulator_v2'],
},
{
type: 'category',
label: 'Sensors',
items: [
'sensor/manifold_pocket'],
},
],
};

Expand Down
39 changes: 21 additions & 18 deletions src/css/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -29,26 +29,29 @@

/* For readability concerns, you should choose a lighter palette in dark mode. */
[data-theme='dark'] {
--ifm-color-primary: #3b7caf;
--ifm-color-primary-dark: #356f9e;
--ifm-color-primary-darker: #326995;
--ifm-color-primary-darkest: #29577b;
--ifm-color-primary-light: #4189c0;
--ifm-color-primary-lighter: #4b90c5;
--ifm-color-primary-lightest: #67a2ce;
--ifm-color-primary: #67b588;
--ifm-color-primary-dark: #5aa77a;
--ifm-color-primary-darker: #53a073;
--ifm-color-primary-darkest: #44855f;
--ifm-color-primary-light: #74c396;
--ifm-color-primary-lighter: #7bc99d;
--ifm-color-primary-lightest: #90d7b2;
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
--ifm-background-color: #111827;
--ifm-hero-background-color: #1f2937;
--ifm-navbar-background-color: rgba(17, 24, 39, 0.95);
--ifm-card-background-color: #1f2937;
--ifm-footer-background-color: #0f172a;
--ifm-color-emphasis-700: #9ca3af;
--ifm-color-emphasis-800: #d1d5db;
--ifm-color-emphasis-900: #f3f4f6;
--ifm-background-color: #1e1e1e;
--ifm-hero-background-color: #282c34;
--ifm-navbar-background-color: rgba(30, 30, 30, 0.95);
--ifm-card-background-color: #282c34;
--ifm-footer-background-color: #161618;
--ifm-color-emphasis-100: #2e333d;
--ifm-color-emphasis-200: #3e4451;
--ifm-color-emphasis-700: #abb2bf;
--ifm-color-emphasis-800: #c8cdd7;
--ifm-color-emphasis-900: #e6e9ef;
--ifm-font-color-base: #abb2bf;

/* Custom link colors for dark mode */
--ifm-link-color: #60a5fa;
--ifm-link-hover-color: #93c5fd;
/* Custom link colors for dark mode - soft green accent */
--ifm-link-color: #67b588;
--ifm-link-hover-color: #7bc99d;
--ifm-link-decoration: none;
}

Expand Down
14 changes: 11 additions & 3 deletions src/pages/index.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@
}

.questionBox {
background-color: var(--ifm-color-primary);
background: linear-gradient(135deg, var(--ifm-color-primary), var(--ifm-color-primary-dark));
color: white;
padding: 1.5rem 2rem;
border-radius: 8px;
Expand Down Expand Up @@ -200,16 +200,18 @@

.optionCard {
background-color: var(--ifm-card-background-color);
border: 1px solid var(--ifm-color-emphasis-200);
border-radius: 8px;
overflow: hidden;
transition: transform 0.2s ease, box-shadow 0.2s ease;
transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
position: relative;
}

.optionCard:hover {
transform: translateY(-4px);
box-shadow: 0 12px 20px rgba(0, 0, 0, 0.1);
box-shadow: 0 12px 20px rgba(0, 0, 0, 0.15);
border-color: var(--ifm-color-primary);
}

.optionLink,
Expand Down Expand Up @@ -261,6 +263,12 @@
.backButton {
grid-column: 1 / -1;
background-color: var(--ifm-color-emphasis-100);
border-color: var(--ifm-color-emphasis-200);
}

[data-theme='dark'] .backButton {
background-color: var(--ifm-color-emphasis-100);
border-color: var(--ifm-color-emphasis-200);
}

.backButton .optionButton {
Expand Down
10 changes: 9 additions & 1 deletion tutorial/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,12 @@ sidebar_position: 1

In addition to the resource provided on the product pages, we also prepare more detailed tutorials and guides to help you get started with our products. These tutorials cover a range of topics, from basic setup to advanced usage, and are designed to help you make the most of our products as fast as possible.

* [Unitree G1 Humanoid Robot Development Guide](unitree/g1_dev_guide)
## AgileX UGVs

* [UGV Robot Base Control Guide](agilex/ugv_base_control)

## Unitree Legged Robots

* [G1 Development Guide](unitree/g1_dev_guide)
* [G1 Diagnostics Guide](unitree/g1_diag_guide)
* [G1 Internet Connection Guide](unitree/g1_internet_guide)