yslootahrobotics/src/data/accessories.ts
Najjar\NajjarV02 2d32a1e722
Some checks are pending
CI/CD / test-and-build (push) Waiting to run
CI/CD / deploy (push) Blocked by required conditions
feat: add accessory detail and index pages with dynamic routing and metadata
2026-05-21 16:22:05 +04:00

620 lines
22 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

export type AccessoryBrand = 'unitree' | 'pudu';
export type AccessoryGroup =
| 'dexterous-hand'
| 'robotic-arm'
| 'sensor'
| 'dispatch'
| 'docking'
| 'attachment'
| 'iot-integration';
export interface Accessory {
id: string;
slug: string;
brand: AccessoryBrand;
brandLabel: string;
name: string;
tagline: string;
group: AccessoryGroup;
description: string;
features: string[];
image: string;
accent: string;
officialUrl?: string;
compatibility?: string[];
}
export const GROUP_LABELS: Record<AccessoryGroup, string> = {
'dexterous-hand': 'Dexterous Hands',
'robotic-arm': 'Robotic Arms',
sensor: 'Perception & Sensors',
dispatch: 'Dispatch & Calling',
docking: 'Docking & Charging',
attachment: 'Modular Attachments',
'iot-integration': 'IoT & Building Integration',
};
const GOLD_CHAMPAGNE = '#DEE0F0';
const GOLD_BRAND = '#273F94';
const GOLD_BRONZE = '#8891C7';
export const ACCESSORIES: Accessory[] = [
// ============ UNITREE DEXTEROUS HANDS ============
{
id: 'unitree-dex2-5',
slug: 'unitree-dex2-5',
brand: 'unitree',
brandLabel: 'Unitree',
name: 'Dex2-5 Dexterous Hand',
tagline: 'Tendon-driven 5-finger hand with 100,000+ fatigue cycles tested.',
group: 'dexterous-hand',
description:
'A 5-finger, 10-DOF tendon-driven dexterous hand for G1 and R1 humanoids. Gear-tendon drive with hidden internal wiring, 365 g lightweight design, and full perceptual feedback at 1 kHz.',
features: [
'10 DOF total (2 actuated), 5 fingers',
'365 g, 151×70×63 mm',
'0.5 s full fist clench',
'100,000+ fatigue cycles tested',
'Survived 100+ drop tests',
'1000 Hz sensor / comm rate',
],
image: '/images/accessories/unitree-dex2-5.jpg',
accent: GOLD_CHAMPAGNE,
officialUrl: 'https://www.unitree.com/Dex2-5',
compatibility: ['Unitree G1', 'Unitree R1'],
},
{
id: 'unitree-dex5-1',
slug: 'unitree-dex5-1',
brand: 'unitree',
brandLabel: 'Unitree',
name: 'Dex5-1 Dexterous Hand',
tagline: 'High-DOF dexterous hand with 94 tactile sensors for RL workflows.',
group: 'dexterous-hand',
description:
'A 20-DOF (16 actuated) dexterous hand with 94 tactile sensors and backdrivable joints designed for reinforcement-learning workflows. ±22° four-finger lateral swing and operation from 20 °C to 60 °C.',
features: [
'20 DOF (16 active + 4)',
'94 tactile sensors',
'1100 g, 20 °C to 60 °C',
'3.5 kg palm-down / 4.5 kg palm-side load',
'±22° four-finger lateral swing',
'Backdrivable, low-damping reducers',
],
image: '/images/accessories/unitree-dex5-1.png',
accent: GOLD_BRAND,
officialUrl: 'https://www.unitree.com/Dex5-1',
compatibility: ['Unitree G1', 'Unitree H1', 'Unitree H2', 'Research arms'],
},
{
id: 'unitree-dex3-1',
slug: 'unitree-dex3-1',
brand: 'unitree',
brandLabel: 'Unitree',
name: 'Dex3-1 Dexterous Hand',
tagline: 'Power-control 3-finger hand with hybrid force/position control.',
group: 'dexterous-hand',
description:
'A 3-finger, 7-DOF dexterous hand with 33 tactile pressure sensors and hybrid force/position control. Designed to pair with the G1 humanoid for general-purpose manipulation.',
features: [
'7 DOF, 3 fingers',
'33 tactile pressure sensors',
'±2 mm fingertip repeatability',
'500 g payload',
'1258 V operating voltage',
'1 kHz communication rate',
],
image: '/images/accessories/unitree-dex3-1.png',
accent: GOLD_BRONZE,
officialUrl: 'https://www.unitree.com/Dex3-1',
compatibility: ['Unitree G1'],
},
{
id: 'unitree-dex1-1',
slug: 'unitree-dex1-1',
brand: 'unitree',
brandLabel: 'Unitree',
name: 'Dex1-1 Embodied AI Gripper',
tagline: 'Two-finger embodied-AI gripper with optional 1080p camera.',
group: 'dexterous-hand',
description:
'A two-finger gripper with 90 mm stroke, 0.1 mm resolution, and 5120 N adjustable force. Available in Standard and Advanced (with 1080p camera) variants, compatible with G1, H2, R1, or standalone use.',
features: [
'90 mm stroke, 5120 N adjustable force',
'0.1 mm fingertip resolution',
'0.24 s full-stroke close',
'20 kg form-fit grasp payload',
'6 Mbps RS485 communication',
'Advanced version includes 1080p camera',
],
image: '/images/accessories/unitree-dex1-1.png',
accent: GOLD_CHAMPAGNE,
officialUrl: 'https://www.unitree.com/Dex1-1',
compatibility: ['Unitree G1', 'Unitree H2', 'Unitree R1', 'Standalone'],
},
// ============ UNITREE ROBOTIC ARMS ============
{
id: 'unitree-z1',
slug: 'unitree-z1',
brand: 'unitree',
brandLabel: 'Unitree',
name: 'Z1 6-Axis Manipulator',
tagline: 'Onboard 6-axis manipulator for mobile robotics platforms.',
group: 'robotic-arm',
description:
'Z1 Air (4.3 kg) and Z1 Pro (4.5 kg) 6-axis robotic arms for mobile robots in logistics, retail, and research. 740 mm reach, 23 kg payload, ~0.1 mm repeatability. Designed for AlienGo and B1 mounting.',
features: [
'6-axis, 740 mm reach',
'4.3 kg (Air) / 4.5 kg (Pro)',
'23 kg payload',
'~0.1 mm repeatability',
'Joint force control + collision detection',
'Position + force control modes',
],
image: '/images/accessories/unitree-z1.png',
accent: GOLD_BRAND,
officialUrl: 'https://www.unitree.com/z1',
compatibility: ['Unitree AlienGo', 'Unitree B1', 'Mobile platforms'],
},
{
id: 'unitree-d1-t',
slug: 'unitree-d1-t',
brand: 'unitree',
brandLabel: 'Unitree',
name: 'D1-T Teleoperation Arm',
tagline: 'Teleoperation robot arm for embodied-AI data collection.',
group: 'robotic-arm',
description:
'Dual-arm or quad-arm teleoperation kit with 2.37 kg ultra-light aluminum design. Bus servos featuring position/velocity/force control for embodied-AI data collection. 7-DOF (6-axis + gripper), 670 mm reach, 500 g payload.',
features: [
'7-DOF arm (6-axis + gripper)',
'2.37 kg, 670 mm reach, 500 g payload',
'Ultra-precision force-controlled servos',
'Dual-arm / Quad-arm configurations',
'Camera & mobile-chassis ready',
'24 V (2.5 A standard / 5 A max)',
],
image: '/images/accessories/unitree-d1-t.png',
accent: GOLD_BRONZE,
officialUrl: 'https://www.unitree.com/D1-T',
compatibility: ['Embodied AI research', 'Data collection'],
},
// ============ UNITREE PERCEPTION & SENSORS ============
{
id: 'unitree-l2',
slug: 'unitree-l2',
brand: 'unitree',
brandLabel: 'Unitree',
name: '4D LiDAR L2',
tagline: '4D LiDAR with built-in IMU and open-source SLAM (POINT-LIO).',
group: 'sensor',
description:
'A 4D LiDAR sensor with built-in 6-axis IMU and open POINT-LIO SLAM stack. 360°×96° ultra-wide field of view at 64,000 pts/s with 2 cm accuracy. 230 g compact form, 30 m range at 90% reflectivity.',
features: [
'360°×96° ultra-wide FOV',
'64,000 pts/s, 2 cm accuracy',
'30 m @ 90% reflectivity',
'Built-in 6-axis IMU',
'230 g compact form',
'Open POINT-LIO SLAM stack',
],
image: '/images/accessories/unitree-l2.png',
accent: GOLD_CHAMPAGNE,
officialUrl: 'https://www.unitree.com/L2',
compatibility: ['Unitree Go2', 'Unitree quadrupeds', 'Third-party robots'],
},
// ============ PUDU DISPATCH ============
{
id: 'pudu-pager',
slug: 'pudu-pager',
brand: 'pudu',
brandLabel: 'Pudu',
name: 'PUDU Pager',
tagline: 'Restaurant table pager that triggers delivery cycles.',
group: 'dispatch',
description:
'A compact table-side pager that calls BellaBot, KettyBot, HolaBot, and PuduBot to specific tables on demand. Wireless, long battery life, and integrates with the Pudu Link cloud platform.',
features: [
'Wireless table-side calling',
'Long battery life',
'Pudu Link cloud integration',
'Multi-robot fleet support',
'Multiple device pairing',
'Customizable call zones',
],
image: '/images/accessories/pudu-pager.png',
accent: GOLD_BRONZE,
officialUrl: 'https://www.pudurobotics.com/en/accessory',
compatibility: ['BellaBot', 'BellaBot Pro', 'KettyBot', 'HolaBot', 'PuduBot 2'],
},
{
id: 'pudu-4g-watch',
slug: 'pudu-4g-watch',
brand: 'pudu',
brandLabel: 'Pudu',
name: '4G Watch',
tagline: 'Wrist-worn 4G dispatcher for managing service robots from anywhere.',
group: 'dispatch',
description:
'A wearable 4G watch for staff to dispatch and manage service robots from anywhere on the property. Real-time fleet status, table-to-robot routing, and call/cancel actions on-wrist.',
features: [
'Wrist-worn dispatch control',
'4G connectivity',
'Real-time fleet status',
'Call / cancel actions',
'Multi-robot management',
'Pudu Link integration',
],
image: '/images/accessories/pudu-pager.png',
accent: GOLD_BRAND,
officialUrl: 'https://www.pudurobotics.com/en/accessory',
compatibility: ['All Pudu service robots'],
},
// ============ PUDU DOCKING & CHARGING ============
{
id: 'pudu-docking-station',
slug: 'pudu-docking-station',
brand: 'pudu',
brandLabel: 'Pudu',
name: 'Docking & Charging Station',
tagline: 'Auto-charging dock for continuous robot operation.',
group: 'docking',
description:
'Auto-charging station for continuous robot operation. Product-specific variants for CC1, T300, FlashBot Max, BellaBot Pro, and other Pudu platforms.',
features: [
'Auto-docking and charging',
'Product-specific variants',
'Fleet-ready multi-robot support',
'Indoor and semi-outdoor models',
'Status indicators',
'Pudu Link cloud integration',
],
image: '/images/robots/pudu-sh1.png',
accent: GOLD_CHAMPAGNE,
officialUrl: 'https://www.pudurobotics.com/en/accessory',
compatibility: ['CC1', 'T300', 'FlashBot Max', 'BellaBot Pro', 'PuduBot 2'],
},
{
id: 'pudu-self-cleaning-dock',
slug: 'pudu-self-cleaning-dock',
brand: 'pudu',
brandLabel: 'Pudu',
name: 'Self-Cleaning Docking Station',
tagline: 'Heavy-duty CC1 dock with self-cleaning water station.',
group: 'docking',
description:
'A heavy-duty dock for CC1 with metallic structure and a self-cleaning water station. Automatic refill, wastewater drain, and detergent dosing for fully autonomous cleaning cycles.',
features: [
'Self-cleaning water station',
'Metallic heavy-duty frame',
'Automatic refill + drain',
'Detergent dosing',
'Indoor commercial environments',
'Fleet-ready',
],
image: '/images/accessories/pudu-self-cleaning-dock.png',
accent: GOLD_BRONZE,
officialUrl: 'https://www.pudurobotics.com/en/accessory',
compatibility: ['CC1', 'CC1 Pro'],
},
{
id: 'pudu-mobile-water-station',
slug: 'pudu-mobile-water-station',
brand: 'pudu',
brandLabel: 'Pudu',
name: 'Mobile Water Station',
tagline: 'Portable water + detergent station for cleaning robots.',
group: 'docking',
description:
'A portable water and detergent station for CC1 / SH1 cleaning robots. Easy refill anywhere on site, with on-board detergent dosing for flexible cleaning programs.',
features: [
'Portable water + detergent',
'On-site refill anywhere',
'On-board detergent dosing',
'Compatible with CC1 / SH1',
'Modular tank',
'Cleaning-ready operation',
],
image: '/images/accessories/pudu-mobile-water-station.png',
accent: GOLD_BRAND,
officialUrl: 'https://www.pudurobotics.com/en/accessory',
compatibility: ['CC1', 'SH1'],
},
// ============ PUDU MODULAR ATTACHMENTS ============
{
id: 'pudu-protection-case',
slug: 'pudu-protection-case',
brand: 'pudu',
brandLabel: 'Pudu',
name: 'Protection Case',
tagline: 'Snap-on protective covers for delivery robots.',
group: 'attachment',
description:
'Snap-on protective covers for BellaBot Pro, KettyBot Pro, T300, and FlashBot Max. Protects exteriors during high-traffic operation while preserving cameras and sensors.',
features: [
'Snap-on covers',
'Product-specific fit',
'Easy install / removal',
'Preserves sensors',
'Available colors',
'Heavy-traffic ready',
],
image: '/images/accessories/pudu-protection-case.png',
accent: GOLD_CHAMPAGNE,
officialUrl: 'https://www.pudurobotics.com/en/accessory',
compatibility: ['BellaBot Pro', 'KettyBot Pro', 'T300', 'FlashBot Max'],
},
{
id: 'pudu-retractable-tray-baffle',
slug: 'pudu-retractable-tray-baffle',
brand: 'pudu',
brandLabel: 'Pudu',
name: 'Retractable Tray Baffle',
tagline: 'Retractable side rails preventing dish slippage on trays.',
group: 'attachment',
description:
'Retractable side rails for BellaBot Pro / KettyBot Pro trays. Keeps dishes, glassware, and parcels stable during high-speed delivery and turns.',
features: [
'Retractable side rails',
'Dish + glass stability',
'Easy retract for unloading',
'Compatible with multi-tray setups',
'High-traffic delivery ready',
'Quick install',
],
image: '/images/accessories/pudu-retractable-tray-baffle.png',
accent: GOLD_BRONZE,
officialUrl: 'https://www.pudurobotics.com/en/accessory',
compatibility: ['BellaBot Pro', 'KettyBot Pro'],
},
{
id: 'pudu-tray',
slug: 'pudu-tray',
brand: 'pudu',
brandLabel: 'Pudu',
name: 'Modular Tray',
tagline: 'Spare modular tray for delivery robots — configurable 37 levels.',
group: 'attachment',
description:
'Spare modular trays for Pudu delivery robots. Configurable from 3 to 7 levels with infrared tray sensors and adjustable heights for trays, dishes, and parcels.',
features: [
'Configurable 37 level stack',
'Infrared tray sensors',
'Adjustable height',
'Heavy-load support',
'Quick swap',
'Multiple finishes',
],
image: '/images/robots/pudu-pudubot2.png',
accent: GOLD_BRAND,
officialUrl: 'https://www.pudurobotics.com/en/accessory',
compatibility: ['BellaBot', 'BellaBot Pro', 'KettyBot Pro', 'PuduBot 2'],
},
{
id: 'pudu-conveyor-single-layer',
slug: 'pudu-conveyor-single-layer',
brand: 'pudu',
brandLabel: 'Pudu',
name: 'T300 Conveyor — Single Layer',
tagline: 'Single-level conveyor attachment for T300 AMR.',
group: 'attachment',
description:
'Single-level conveyor attachment for the T300 industrial AMR. Enables in-line pickup and dropoff for manufacturing material handling, light goods transport, and back-of-house logistics.',
features: [
'Single-level conveyor',
'In-line pickup / drop',
'Manufacturing material handling',
'Quick attach',
'Heavy-duty rollers',
'Conveyor IoT integration',
],
image: '/images/accessories/pudu-conveyor-single-layer.png',
accent: GOLD_CHAMPAGNE,
officialUrl: 'https://www.pudurobotics.com/en/accessory',
compatibility: ['PUDU T300'],
},
{
id: 'pudu-towing-device',
slug: 'pudu-towing-device',
brand: 'pudu',
brandLabel: 'Pudu',
name: 'T300 Towing Device',
tagline: 'Towing attachment converting T300 to a tow tractor.',
group: 'attachment',
description:
'T300 towing attachment for hauling trailers, carts, and totes. Modular hitch with safe coupling, ideal for warehouse train operations and back-of-house logistics.',
features: [
'Modular hitch',
'Trailer / cart towing',
'Safe coupling sensors',
'Warehouse train ops',
'Tool-less install',
'IoT route planning',
],
image: '/images/robots/pudu-d7.png',
accent: GOLD_BRONZE,
officialUrl: 'https://www.pudurobotics.com/en/accessory',
compatibility: ['PUDU T300'],
},
{
id: 'pudu-lifting-rack',
slug: 'pudu-lifting-rack',
brand: 'pudu',
brandLabel: 'Pudu',
name: 'T300 Lifting Rack',
tagline: 'Lifting platform attachment for shelf pick-and-place.',
group: 'attachment',
description:
'T300 lifting-platform attachment for shelf pick-and-place operations. Modular adjustable rack heights for parts kitting, restocking, and just-in-time material flows.',
features: [
'Powered lift platform',
'Adjustable rack heights',
'Shelf pick-and-place',
'Just-in-time material flow',
'Safe motion sensors',
'Tool-less install',
],
image: '/images/robots/pudu-d9.png',
accent: GOLD_BRAND,
officialUrl: 'https://www.pudurobotics.com/en/accessory',
compatibility: ['PUDU T300'],
},
{
id: 'pudu-carpet-vacuuming-assembly',
slug: 'pudu-carpet-vacuuming-assembly',
brand: 'pudu',
brandLabel: 'Pudu',
name: 'Carpet Vacuuming Assembly',
tagline: 'CC1 attachment switching from hard-floor to carpet vacuum.',
group: 'attachment',
description:
'A CC1 attachment that converts the platform from hard-floor cleaning to dedicated carpet vacuuming. Quick swap for mixed-surface venues like hotels, offices, and lounges.',
features: [
'Carpet vacuum head',
'Quick swap kit',
'Mixed-surface support',
'Suction optimized for carpet fibers',
'Easy filter access',
'Hotel / office ready',
],
image: '/images/accessories/pudu-carpet-vacuuming-assembly.webp',
accent: GOLD_CHAMPAGNE,
officialUrl: 'https://www.pudurobotics.com/en/accessory',
compatibility: ['CC1', 'CC1 Pro'],
},
{
id: 'pudu-reflective-post',
slug: 'pudu-reflective-post',
brand: 'pudu',
brandLabel: 'Pudu',
name: 'Reflective Post',
tagline: 'Floor markers and reflectors for SLAM positioning support.',
group: 'attachment',
description:
'Reflective posts and floor markers that assist SLAM positioning in challenging environments. Ideal for venues where visual texture or LiDAR returns are weak.',
features: [
'SLAM-assist reflectors',
'Floor markers',
'Weak-texture environment support',
'Quick install',
'Long-life reflective surface',
'Indoor / semi-outdoor use',
],
image: '/images/accessories/pudu-reflective-post.png',
accent: GOLD_BRONZE,
officialUrl: 'https://www.pudurobotics.com/en/accessory',
compatibility: ['All Pudu service + delivery robots'],
},
{
id: 'pudu-flashbot-vending-machine',
slug: 'pudu-flashbot-vending-machine',
brand: 'pudu',
brandLabel: 'Pudu',
name: 'FlashBot Vending Compartment',
tagline: 'Hotel mini-bar / vending compartment compatible with FlashBot.',
group: 'attachment',
description:
'A vending compartment kit compatible with FlashBot and FlashBot Max. Stocks snacks, drinks, amenities, or hotel mini-bar items for in-room or in-corridor delivery on demand.',
features: [
'Mini-bar style compartments',
'In-room / corridor delivery',
'Secure access',
'Stock management via Pudu Link',
'Multi-compartment layout',
'Compatible with FlashBot family',
],
image: '/images/robots/pudu-flashbot-max.png',
accent: GOLD_BRAND,
officialUrl: 'https://www.pudurobotics.com/en/accessory',
compatibility: ['FlashBot', 'FlashBot Max'],
},
// ============ PUDU IoT & BUILDING INTEGRATION ============
{
id: 'pudu-elevator-control-module',
slug: 'pudu-elevator-control-module',
brand: 'pudu',
brandLabel: 'Pudu',
name: 'Elevator Control Module',
tagline: 'IoT module enabling robots to call and operate elevators autonomously.',
group: 'iot-integration',
description:
'A hardware module enabling Pudu delivery robots to call and operate elevators without elevator-side modifications. Supports major elevator brands and integrates cleanly with building systems.',
features: [
'Cloud + hardware elevator control',
'No elevator modification required',
'Major elevator brand support',
'Multi-floor autonomous routing',
'Secure access integration',
'Pudu Link cloud',
],
image: '/images/accessories/pudu-elevator-control-module.png',
accent: GOLD_CHAMPAGNE,
officialUrl: 'https://www.pudurobotics.com/en/accessory',
compatibility: ['FlashBot', 'FlashBot Max', 'PuduBot 2', 'SwiftBot'],
},
{
id: 'pudu-gate-control-module',
slug: 'pudu-gate-control-module',
brand: 'pudu',
brandLabel: 'Pudu',
name: 'Turnstile & Automatic Door Control',
tagline: 'IoT module for autonomous turnstile and automatic-door passage.',
group: 'iot-integration',
description:
'IoT module enabling Pudu robots to pass autonomously through turnstiles and automatic doors. Supports access control integration for secure premises and multi-zone routing.',
features: [
'Turnstile autonomous passage',
'Automatic door integration',
'Access control linkage',
'Multi-zone routing',
'Secure facility ready',
'Pudu Link cloud',
],
image: '/images/accessories/pudu-gate-control-module.png',
accent: GOLD_BRAND,
officialUrl: 'https://www.pudurobotics.com/en/accessory',
compatibility: ['FlashBot', 'FlashBot Max', 'SwiftBot', 'PuduBot 2'],
},
{
id: 'pudu-telephone-system',
slug: 'pudu-telephone-system',
brand: 'pudu',
brandLabel: 'Pudu',
name: 'Telephone Integration',
tagline: 'Voice intercom linking guest phones to robot dispatch.',
group: 'iot-integration',
description:
'A telephone system integration linking guest or customer phones to robot dispatch. Voice intercom on the robot enables direct conversations during delivery or reception.',
features: [
'Voice intercom on robot',
'Guest phone integration',
'Direct conversation during delivery',
'PBX-friendly setup',
'Hospitality + corporate ready',
'Pudu Link cloud',
],
image: '/images/robots/pudu-kettybot.png',
accent: GOLD_BRONZE,
officialUrl: 'https://www.pudurobotics.com/en/accessory',
compatibility: ['FlashBot', 'FlashBot Max', 'SwiftBot'],
},
];
export function getAccessoryBySlug(slug: string): Accessory | undefined {
return ACCESSORIES.find((a) => a.slug === slug);
}
export function getAccessoriesByGroup(group: AccessoryGroup): Accessory[] {
return ACCESSORIES.filter((a) => a.group === group);
}
export function getAccessoriesByBrand(brand: AccessoryBrand): Accessory[] {
return ACCESSORIES.filter((a) => a.brand === brand);
}