Add Instagram post fetching functionality and local JSON fallback
- Introduced a new TypeScript file `bu-sunaidah-fetch.ts` to handle fetching the latest Instagram posts for Bu Sunaidah. - Implemented a scraping method to attempt to retrieve posts directly from Instagram, with a fallback to a local JSON file `bu-sunaidah-posts.json`. - Added a new JSON file containing recent Instagram post URLs and captions. - Included a new image asset `unitree-l2.jpg` for accessories.
This commit is contained in:
+648
-35
@@ -8,6 +8,33 @@ export type AccessoryGroup =
|
||||
| 'attachment'
|
||||
| 'iot-integration';
|
||||
|
||||
export interface AccessoryHighlight {
|
||||
value: string;
|
||||
label: string;
|
||||
sub?: string;
|
||||
}
|
||||
|
||||
export interface AccessoryFeatureSection {
|
||||
eyebrow?: string;
|
||||
title: string;
|
||||
body: string;
|
||||
bullets?: string[];
|
||||
image?: string;
|
||||
imageAlt?: string;
|
||||
}
|
||||
|
||||
export interface SpecRow {
|
||||
label: string;
|
||||
value: string;
|
||||
valueAlt?: string;
|
||||
}
|
||||
|
||||
export interface SpecGroup {
|
||||
title: string;
|
||||
variants?: string[];
|
||||
rows: SpecRow[];
|
||||
}
|
||||
|
||||
export interface Accessory {
|
||||
id: string;
|
||||
slug: string;
|
||||
@@ -22,6 +49,14 @@ export interface Accessory {
|
||||
accent: string;
|
||||
officialUrl?: string;
|
||||
compatibility?: string[];
|
||||
|
||||
/* Optional rich content */
|
||||
highlights?: AccessoryHighlight[];
|
||||
featureSections?: AccessoryFeatureSection[];
|
||||
specGroups?: SpecGroup[];
|
||||
paramsImage?: string;
|
||||
footnotes?: string[];
|
||||
safetyNotice?: string;
|
||||
}
|
||||
|
||||
export const GROUP_LABELS: Record<AccessoryGroup, string> = {
|
||||
@@ -46,10 +81,10 @@ export const ACCESSORIES: Accessory[] = [
|
||||
brand: 'unitree',
|
||||
brandLabel: 'Unitree',
|
||||
name: 'Dex2-5 Dexterous Hand',
|
||||
tagline: 'Tendon-driven 5-finger hand with 100,000+ fatigue cycles tested.',
|
||||
tagline: 'Gala-style tendon-driven dexterous hand — precise control for unbeatable strength.',
|
||||
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.',
|
||||
'A 10-DOF (2 actuated) 5-finger 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',
|
||||
@@ -62,6 +97,70 @@ export const ACCESSORIES: Accessory[] = [
|
||||
accent: GOLD_CHAMPAGNE,
|
||||
officialUrl: 'https://www.unitree.com/Dex2-5',
|
||||
compatibility: ['Unitree G1', 'Unitree R1'],
|
||||
highlights: [
|
||||
{ value: '10', label: 'Degrees of freedom', sub: '2 actuated, 5-finger' },
|
||||
{ value: '365g', label: 'Weight', sub: 'Lightweight build' },
|
||||
{ value: '100,000+', label: 'Fatigue cycles', sub: 'Ultra-long fatigue life' },
|
||||
{ value: '100+', label: 'Drop tests passed', sub: 'Rugged impact resistance' },
|
||||
],
|
||||
featureSections: [
|
||||
{
|
||||
eyebrow: 'Durability',
|
||||
title: 'Ultra-long fatigue life for greater durability.',
|
||||
body: 'The entire hand has passed over 100,000 fatigue cycles, ensuring stable and reliable long-term operation.',
|
||||
},
|
||||
{
|
||||
eyebrow: 'Impact resistance',
|
||||
title: 'Rugged design — impervious to knocks and bumps.',
|
||||
body: 'Completed over 100 drop tests. Superior robust design ensures the dexterous hand is no longer fragile.',
|
||||
},
|
||||
{
|
||||
eyebrow: 'Integration',
|
||||
title: 'Hidden internal wiring.',
|
||||
body: 'Compatible with G1 and R1 humanoids. The “meridians” run beneath the “skin” for a clean, durable mechanical envelope.',
|
||||
bullets: ['Compatible with Unitree G1', 'Compatible with Unitree R1', 'Lightweight and compact'],
|
||||
},
|
||||
],
|
||||
specGroups: [
|
||||
{
|
||||
title: 'Parameters',
|
||||
rows: [
|
||||
{ label: 'Weight', value: '365 g' },
|
||||
{ label: 'Size¹', value: '151 × 70 × 63 mm' },
|
||||
{ label: 'Degrees of freedom', value: 'Thumb × 1; Index, Middle, Ring, Little: share one DOF' },
|
||||
{ label: 'Transmission', value: 'Gear-tendon rope drive' },
|
||||
{ label: 'Thumb joint 0', value: '0° to 42°' },
|
||||
{ label: 'Thumb joint 1', value: '0° to 105°' },
|
||||
{ label: 'Four-finger joint 0', value: '0° to 88°' },
|
||||
{ label: 'Four-finger joint 1', value: '0° to 105°' },
|
||||
{ label: 'Minimum fist clench time', value: '0.5 s' },
|
||||
{ label: 'Minimum grip diameter', value: '8 mm' },
|
||||
{ label: 'Fingertip force', value: 'Thumb 15 N; index/middle/ring/little total 15 N' },
|
||||
{ label: 'Working voltage', value: '24 V – 60 V' },
|
||||
{ label: 'Static current', value: '58 V @ 0.1 A' },
|
||||
{ label: 'Maximum current', value: '58 V @ 1.5 A' },
|
||||
{ label: 'Communication interface', value: 'RS485' },
|
||||
{ label: 'Working temperature range', value: '−20 °C to 60 °C' },
|
||||
{ label: 'Load (palm facing down, 5 cm round hard object)', value: '1.5 kg max' },
|
||||
{ label: 'Load (palm facing left, 5 cm round hard object)', value: '1.5 kg max' },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Software Function',
|
||||
rows: [
|
||||
{ label: 'Communication rate', value: '1000 Hz' },
|
||||
{ label: 'Perceptual feedback', value: 'Joint mode, position, velocity, torque, temperature, voltage and current' },
|
||||
{ label: 'Control feedback', value: 'Joint mode, position, velocity, torque, stiffness coefficient, damping coefficient' },
|
||||
],
|
||||
},
|
||||
],
|
||||
footnotes: [
|
||||
'Size refers to the dexterous hand in flat state.',
|
||||
'Parameters listed above may vary in different application scenarios or with different model configurations.',
|
||||
'Product appearance is subject to change. Refer to the final product.',
|
||||
],
|
||||
safetyNotice:
|
||||
'This product is a civilian robot. Users are requested to refrain from making dangerous modifications or using the robot in a hazardous manner. Comply with local laws and regulations and consult Unitree Robotics terms for full policies.',
|
||||
},
|
||||
{
|
||||
id: 'unitree-dex5-1',
|
||||
@@ -69,22 +168,133 @@ export const ACCESSORIES: Accessory[] = [
|
||||
brand: 'unitree',
|
||||
brandLabel: 'Unitree',
|
||||
name: 'Dex5-1 Dexterous Hand',
|
||||
tagline: 'High-DOF dexterous hand with 94 tactile sensors for RL workflows.',
|
||||
tagline: 'Smart adaptability, instant responsiveness.',
|
||||
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.',
|
||||
'A 20-DOF (16 actuated) dexterous hand with 94 tactile sensors and backdrivable joints designed for reinforcement-learning workflows. Each finger joint supports smooth backdrivability, eliminating rigidity for smoother and more convenient operations. ±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',
|
||||
'94 tactile sensors per hand',
|
||||
'1100 g, 217.3 × 127.5 × 72.1 mm',
|
||||
'3.5 kg palm-down / 4.5 kg palm-side payload',
|
||||
'±22° four-finger lateral swing',
|
||||
'Backdrivable, low-damping reducers',
|
||||
'Hollow-cup motors + high-precision encoders',
|
||||
'Low-damping, small-clearance reducers',
|
||||
'1000 Hz comm + sensor rate',
|
||||
],
|
||||
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'],
|
||||
highlights: [
|
||||
{ value: '20', label: 'Degrees of freedom', sub: '16 active + 4' },
|
||||
{ value: '94', label: 'Tactile sensors', sub: 'Per hand' },
|
||||
{ value: '±22°', label: 'Lateral swing', sub: 'Four-finger range' },
|
||||
{ value: '1000 Hz', label: 'Comm rate', sub: 'Real-time control' },
|
||||
],
|
||||
featureSections: [
|
||||
{
|
||||
eyebrow: 'Reflexes & flexibility',
|
||||
title: 'Ultra-fast reflexes, snake-like flexibility.',
|
||||
body: 'Twenty degrees of freedom plus five independently replaceable fingers deliver responsive grasps and natural articulation. Each finger joint backdrives smoothly, eliminating rigidity for reinforcement-learning workflows.',
|
||||
bullets: [
|
||||
'20 degrees of freedom',
|
||||
'5 fingers — each replaceable independently',
|
||||
'Backdrivable joints with low damping',
|
||||
],
|
||||
},
|
||||
{
|
||||
eyebrow: 'Four-finger lateral swing',
|
||||
title: '±22° lateral range for reliable curved grips.',
|
||||
body: 'The four-finger lateral swing improves grip reliability and adapts more effectively to curved surfaces of grasped objects — bottles, tools, glassware, and irregular shapes.',
|
||||
},
|
||||
{
|
||||
eyebrow: 'Sensing & feedback',
|
||||
title: 'Precise feedback. Control every millimeter.',
|
||||
body: 'A high-power-density hollow-cup motor pairs with a high-precision encoder and a low-damping, small-clearance reducer. A micro-gap design keeps rotation axes close to the contact surface, preventing corner interference during grasping. Tactile algorithms support secondary development.',
|
||||
bullets: [
|
||||
'94 tactile sensors with palm + fingertip + finger-root arrays',
|
||||
'High-power-density hollow-cup motor',
|
||||
'High-precision encoder',
|
||||
'Micro-gap, low-damping reducers',
|
||||
'Secondary-development support for tactile algorithms',
|
||||
],
|
||||
},
|
||||
],
|
||||
specGroups: [
|
||||
{
|
||||
title: 'Body Parameters',
|
||||
variants: ['Dex5-1', 'Dex5-1P'],
|
||||
rows: [
|
||||
{ label: 'Weight', value: '1100 g', valueAlt: '1100 g' },
|
||||
{ label: 'Size¹', value: '217.3 × 127.5 × 72.1 mm', valueAlt: '217.3 × 127.5 × 72.1 mm' },
|
||||
{ label: 'Degrees of freedom', value: 'Thumb × 4, Index × 3, Middle × 3, Ring × 3, Little × 3', valueAlt: 'Thumb × 4, Index × 3, Middle × 3, Ring × 3, Little × 3' },
|
||||
{ label: 'Transmission', value: '12 self-developed micro force-controlled composite joints (tactile proprioception) + 4 micro force-controlled gear joints', valueAlt: '12 self-developed micro force-controlled composite joints (tactile proprioception) + 4 micro force-controlled gear joints' },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Joint Angle Ranges',
|
||||
rows: [
|
||||
{ label: 'Thumb joint 0', value: '−33.5° to 39°' },
|
||||
{ label: 'Thumb joint 1', value: '0° to 100°' },
|
||||
{ label: 'Thumb joint 2', value: '0° to 110°' },
|
||||
{ label: 'Thumb joint 3', value: '0° to 92°' },
|
||||
{ label: 'Four-finger knuckle 0', value: '−22° to 22°' },
|
||||
{ label: 'Four-finger knuckle 1', value: '0° to 90°' },
|
||||
{ label: 'Four-finger knuckle 2', value: '0° to 95°' },
|
||||
{ label: 'Four-finger knuckle 3', value: '0° to 81° (coupled with joint 2)' },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Performance',
|
||||
rows: [
|
||||
{ label: 'Four-finger lateral swing', value: '±22°' },
|
||||
{ label: 'Minimum grip diameter', value: '10 mm' },
|
||||
{ label: 'Fingertip repeat-positioning accuracy', value: '±1 mm' },
|
||||
{ label: 'Fingertip force', value: '10 N' },
|
||||
{ label: 'Working voltage', value: '24 V – 60 V' },
|
||||
{ label: 'Static current', value: '58 V @ 0.2 A' },
|
||||
{ label: 'Maximum current', value: '58 V @ 4 A' },
|
||||
{ label: 'Communication interface', value: 'USB 2.0' },
|
||||
{ label: 'Working temperature range', value: '−20 °C to 60 °C' },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Load Conditions²',
|
||||
rows: [
|
||||
{ label: 'Palm facing down (room temp, 5 cm round hard object)', value: '3.5 kg max' },
|
||||
{ label: 'Palm facing left (room temp, 5 cm round hard object)', value: '4.5 kg max' },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Sensing Parameters (Dex5-1P)',
|
||||
rows: [
|
||||
{ label: 'Pressure sensors', value: '94 total (palm 12 + finger pads + fingertips + finger roots)' },
|
||||
{ label: 'Array resolution', value: '2×5 palm; 2×3 finger pad ×5; 2×3 fingertip ×5; 2×3 finger root ×4' },
|
||||
{ label: 'Perception range', value: '10 g – 2500 g' },
|
||||
{ label: 'Max acceptance (undamaged)', value: '20 kg' },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Software',
|
||||
variants: ['Dex5-1', 'Dex5-1P'],
|
||||
rows: [
|
||||
{ label: 'Communication rate', value: '1000 Hz', valueAlt: '1000 Hz' },
|
||||
{ label: 'Full packet bytes', value: 'Sender 1234 / Receiver 1270', valueAlt: 'Sender 1234 / Receiver 1270' },
|
||||
{ label: 'Perceptual feedback', value: 'Joint mode, position, velocity, torque, temperature, voltage/current, IMU data', valueAlt: 'Above + sensor pressure value, sensor temperature value' },
|
||||
{ label: 'Control feedback', value: 'Joint mode, position, velocity, torque, stiffness coefficient, damping coefficient', valueAlt: 'Joint mode, position, velocity, torque, stiffness coefficient, damping coefficient' },
|
||||
],
|
||||
},
|
||||
],
|
||||
paramsImage: '/images/accessories/unitree-dex5-1/params.png',
|
||||
footnotes: [
|
||||
'Size refers to dexterous hand in flat state.',
|
||||
'Pressure data represents force from a vertically-applied 1 cm diameter cylinder; varies by application scenario.',
|
||||
'Parameters may vary by scenario or configuration; subject to actual situation.',
|
||||
'Product appearance subject to change; refer to the final product.',
|
||||
],
|
||||
safetyNotice:
|
||||
'This product is a civilian robot. Users are requested to refrain from making dangerous modifications or using the robot in a hazardous manner. Comply with local laws and regulations and consult Unitree Robotics terms for full policies.',
|
||||
},
|
||||
{
|
||||
id: 'unitree-dex3-1',
|
||||
@@ -92,22 +302,113 @@ export const ACCESSORIES: Accessory[] = [
|
||||
brand: 'unitree',
|
||||
brandLabel: 'Unitree',
|
||||
name: 'Dex3-1 Dexterous Hand',
|
||||
tagline: 'Power-control 3-finger hand with hybrid force/position control.',
|
||||
tagline: 'Power control dexterous hand — operate everything.',
|
||||
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.',
|
||||
'A 3-finger, 7-DOF dexterous hand with 33 tactile pressure sensors and hybrid force/position control. Sensitive and reliable for precise object manipulation. Pairs natively with the G1 humanoid for complex grasping and manipulation workflows.',
|
||||
features: [
|
||||
'7 DOF, 3 fingers',
|
||||
'33 tactile pressure sensors',
|
||||
'6 motors direct drive + 1 gear drive',
|
||||
'33 tactile pressure sensors per hand',
|
||||
'±2 mm fingertip repeatability',
|
||||
'500 g payload',
|
||||
'710 g, 175 × 88 × 77 mm',
|
||||
'12–58 V operating voltage',
|
||||
'1 kHz communication rate',
|
||||
],
|
||||
image: '/images/accessories/unitree-dex3-1.png',
|
||||
image: '/images/accessories/unitree-dex3-1.jpg',
|
||||
accent: GOLD_BRONZE,
|
||||
officialUrl: 'https://www.unitree.com/Dex3-1',
|
||||
compatibility: ['Unitree G1'],
|
||||
highlights: [
|
||||
{ value: '7', label: 'Degrees of freedom', sub: '3-finger dexterous hand' },
|
||||
{ value: '33', label: 'Tactile sensors', sub: '9 pressure-sensor groups' },
|
||||
{ value: '710 g', label: 'Weight', sub: '175 × 88 × 77 mm' },
|
||||
{ value: '±2 mm', label: 'Fingertip accuracy', sub: 'Repeat positioning' },
|
||||
],
|
||||
featureSections: [
|
||||
{
|
||||
eyebrow: 'Data collection',
|
||||
title: 'Collect data — sensitive and accurate.',
|
||||
body: 'Open-source data-acquisition workflow for embodied-AI research. Pairs with the G1 humanoid to perform a wide range of complex actions.',
|
||||
bullets: ['Open-source links available', 'Pair with G1 humanoid robot'],
|
||||
},
|
||||
{
|
||||
eyebrow: 'Architecture',
|
||||
title: 'Three-finger dexterous hand built for manipulation.',
|
||||
body: 'Dex3-1 combines 7 degrees of freedom with 6 micro brushless force-controlled joint direct drives and 1 micro brushless force-controlled gear drive. Each hand carries 33 tactile sensors. Compatible with G1 to perform complex actions in real workflows.',
|
||||
bullets: ['6 motors direct drive', '1 motor gear drive', '33 tactile sensors per hand', 'Compatible with G1 humanoid'],
|
||||
},
|
||||
],
|
||||
specGroups: [
|
||||
{
|
||||
title: 'Body Parameters',
|
||||
rows: [
|
||||
{ label: 'Weight', value: '710 g' },
|
||||
{ label: 'Size¹', value: '175 × 88 × 77 mm' },
|
||||
{ label: 'Degrees of freedom', value: 'Thumb × 3; Index × 2; Middle × 2' },
|
||||
{ label: 'Transmission', value: '6 motors drive directly; 1 motor drives with gears' },
|
||||
{ label: 'Thumb joint 0', value: '−60° to 60°' },
|
||||
{ label: 'Thumb joint 1', value: '−35° to 60°' },
|
||||
{ label: 'Thumb joint 2', value: '0° to 100°' },
|
||||
{ label: 'Index joint 0', value: '0° to 90°' },
|
||||
{ label: 'Index joint 1', value: '0° to 100°' },
|
||||
{ label: 'Middle joint 0', value: '0° to 90°' },
|
||||
{ label: 'Middle joint 1', value: '0° to 100°' },
|
||||
{ label: 'Fingertip repeat-positioning accuracy', value: '±2 mm' },
|
||||
{ label: 'Working voltage', value: '12 V – 58 V' },
|
||||
{ label: 'Static current', value: '58 V @ 0.2 A' },
|
||||
{ label: 'Maximum current', value: '10 A' },
|
||||
{ label: 'Communication interface', value: 'USB 2.0' },
|
||||
{ label: 'Working temperature range', value: '−20 °C to 60 °C' },
|
||||
{ label: 'Load (palm down, 5 cm round hard object)', value: '500 g max / 400 W peak @ 3 s' },
|
||||
{ label: 'Load (palm left, 5 cm round hard object)', value: '500 g max / 400 W peak @ 3 s' },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Sensing Parameters',
|
||||
rows: [
|
||||
{ label: 'Pressure sensor groups', value: '9 (33 sensors total)' },
|
||||
{ label: 'Array resolution', value: '2×2 palm ×3; 2×2 finger pad ×3; 3×1 fingertip ×3' },
|
||||
{ label: 'Perception range', value: '10 g – 2500 g' },
|
||||
{ label: 'Max acceptance (undamaged)', value: '20 kg' },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Software Functions',
|
||||
rows: [
|
||||
{ label: 'Communication rate', value: '1000 Hz' },
|
||||
{ label: 'Full packet bytes', value: 'Sender 1234 / Receiver 1270' },
|
||||
{ label: 'Perceptual feedback', value: 'Joint mode, position, velocity, torque, temperature, voltage/current, sensor pressure, sensor temperature, IMU data' },
|
||||
{ label: 'Control feedback', value: 'Joint mode, position, velocity, torque, stiffness coefficient, damping coefficient' },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Miniature Brushless Force-Control Joint',
|
||||
variants: ['F-1515-108', 'F-1515-214'],
|
||||
rows: [
|
||||
{ label: 'Weight', value: '45 g', valueAlt: '45 g' },
|
||||
{ label: 'Size', value: '34.8 × 23.1 × 23.3 mm', valueAlt: '34.8 × 23.1 × 23.3 mm' },
|
||||
{ label: 'Reduction ratio', value: '1:108', valueAlt: '1:214' },
|
||||
{ label: 'Maximum torque (ideal)', value: '0.76 N·m', valueAlt: '1.498 N·m' },
|
||||
{ label: 'Max torque (same direction as speed)', value: '0.49 N·m', valueAlt: '0.86 N·m' },
|
||||
{ label: 'Max torque (opposite direction)', value: '1.37 N·m', valueAlt: '3.1 N·m' },
|
||||
{ label: 'Maximum rotational speed', value: '23 rad/s', valueAlt: '11 rad/s' },
|
||||
{ label: 'Maximum line current', value: '4.76 A', valueAlt: '4.76 A' },
|
||||
{ label: 'Communication frequency', value: '1000 Hz', valueAlt: '1000 Hz' },
|
||||
{ label: 'Communication method', value: 'High-speed Unibus', valueAlt: 'High-speed Unibus' },
|
||||
{ label: 'Encoder', value: 'Rotor absolute value encoder', valueAlt: 'Rotor absolute value encoder' },
|
||||
{ label: 'Working temperature', value: '−20 °C to 60 °C', valueAlt: '−20 °C to 60 °C' },
|
||||
{ label: 'Working voltage', value: '12 V – 24 V', valueAlt: '12 V – 24 V' },
|
||||
],
|
||||
},
|
||||
],
|
||||
paramsImage: '/images/accessories/unitree-dex3-1/diagram.png',
|
||||
footnotes: [
|
||||
'Size refers to the dexterous hand in flat state.',
|
||||
'Pressure data refers to force exerted by the dexterous hand when pressed by a vertical 1 cm diameter cylinder. Varies in different application scenarios.',
|
||||
],
|
||||
safetyNotice:
|
||||
'This product is a civilian robot. Users are requested to refrain from making dangerous modifications or using the robot in a hazardous manner. Comply with local laws and regulations and consult Unitree Robotics terms for full policies.',
|
||||
},
|
||||
{
|
||||
id: 'unitree-dex1-1',
|
||||
@@ -115,15 +416,16 @@ export const ACCESSORIES: Accessory[] = [
|
||||
brand: 'unitree',
|
||||
brandLabel: 'Unitree',
|
||||
name: 'Dex1-1 Embodied AI Gripper',
|
||||
tagline: 'Two-finger embodied-AI gripper with optional 1080p camera.',
|
||||
tagline: 'Professional and refined — extra-large stroke, powerful force, ultimate control.',
|
||||
group: 'dexterous-hand',
|
||||
description:
|
||||
'A two-finger gripper with 90 mm stroke, 0.1 mm resolution, and 5–120 N adjustable force. Available in Standard and Advanced (with 1080p camera) variants, compatible with G1, H2, R1, or standalone use.',
|
||||
'A two-finger gripper designed specifically for embodied AI applications. Extra-large 90 mm stroke, adjustable 5–120 N gripping force, and 50–375 mm/s adjustable speed deliver versatile pick-and-place performance. Available in Standard and Advanced (with 1080p camera) variants, compatible with G1, H2, R1, or standalone use.',
|
||||
features: [
|
||||
'90 mm stroke, 5–120 N adjustable force',
|
||||
'0.1 mm fingertip resolution',
|
||||
'0.1 mm fingertip position resolution',
|
||||
'0.24 s full-stroke close',
|
||||
'20 kg form-fit grasp payload',
|
||||
'5 kg friction grasp load',
|
||||
'6 Mbps RS485 communication',
|
||||
'Advanced version includes 1080p camera',
|
||||
],
|
||||
@@ -131,6 +433,74 @@ export const ACCESSORIES: Accessory[] = [
|
||||
accent: GOLD_CHAMPAGNE,
|
||||
officialUrl: 'https://www.unitree.com/Dex1-1',
|
||||
compatibility: ['Unitree G1', 'Unitree H2', 'Unitree R1', 'Standalone'],
|
||||
highlights: [
|
||||
{ value: '90 mm', label: 'Stroke', sub: 'Extra-large opening range' },
|
||||
{ value: '120 N', label: 'Gripping force', sub: 'Adjustable 5–120 N' },
|
||||
{ value: '20 kg', label: 'Form-fit load', sub: '5 kg friction load' },
|
||||
{ value: '0.24 s', label: 'Full-stroke close', sub: '0.1 mm fingertip resolution' },
|
||||
],
|
||||
featureSections: [
|
||||
{
|
||||
eyebrow: 'Design',
|
||||
title: 'Extra-large stroke, powerful force, ultimate control.',
|
||||
body: 'A two-finger gripper designed specifically for embodied AI applications. Extra-large 90 mm stroke, adjustable 5–120 N gripping force, and 50–375 mm/s speed cover laboratory through industrial workflows.',
|
||||
bullets: ['90 mm stroke', '5–120 N gripping force', '0.1 mm fingertip resolution', '80 mm jaw length'],
|
||||
},
|
||||
{
|
||||
eyebrow: 'Industry applications',
|
||||
title: 'Built for real-world deployment.',
|
||||
body: 'From research labs to industrial floors, Dex1-1 adapts to a wide range of pick-and-place scenarios.',
|
||||
bullets: ['Scientific research and education', 'Courier sorting', 'Industrial automation', 'New retail'],
|
||||
},
|
||||
],
|
||||
specGroups: [
|
||||
{
|
||||
title: 'Gripper Parameters',
|
||||
rows: [
|
||||
{ label: 'Model', value: 'Dex1-1' },
|
||||
{ label: 'Dimensions¹', value: '143 × 78 × 67 mm' },
|
||||
{ label: 'Weight', value: '550 g' },
|
||||
{ label: 'Stroke', value: '90 mm' },
|
||||
{ label: 'Gripping force² (adjustable)', value: '5 – 120 N' },
|
||||
{ label: 'Speed² (adjustable)', value: '50 – 375 mm/s' },
|
||||
{ label: 'Fingertip position resolution', value: '0.1 mm' },
|
||||
{ label: 'Grasp load³ (form-fitting)', value: '20 kg' },
|
||||
{ label: 'Grasp load⁴ (friction)', value: '5 kg' },
|
||||
{ label: 'Full-stroke shortest closing time²', value: '0.24 s' },
|
||||
{ label: 'Jaw length', value: '80 mm' },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Motor Parameters',
|
||||
rows: [
|
||||
{ label: 'Communication protocol', value: 'High-speed 485' },
|
||||
{ label: 'Communication baud rate', value: '6 Mbps' },
|
||||
{ label: 'Communication frequency', value: '1000 Hz' },
|
||||
{ label: 'Operating voltage', value: '24 V – 64 V (24 / 48 VDC recommended)' },
|
||||
{ label: 'Static current', value: '0.03 A' },
|
||||
{ label: 'Peak line current', value: '3.5 A' },
|
||||
{ label: 'Motor peak torque', value: '5 N·m' },
|
||||
{ label: 'Motor max speed', value: '27 rad/s (with 64 V power supply)' },
|
||||
{ label: 'Recommended operating environment', value: '−20 °C to 60 °C' },
|
||||
{ label: 'Motor reduction ratio', value: '1:25' },
|
||||
{ label: 'Encoder resolution', value: '15 bit' },
|
||||
{ label: 'Encoder type', value: 'Absolute encoder' },
|
||||
{ label: 'Motor status feedback', value: 'Angle, angular velocity, torque, temperature' },
|
||||
{ label: 'Motor control instruction', value: 'Angle, angular velocity, torque, stiffness, damping' },
|
||||
],
|
||||
},
|
||||
],
|
||||
paramsImage: '/images/accessories/unitree-dex1-1/diagram.png',
|
||||
footnotes: [
|
||||
'The gripper width is 78 mm when half-open, 120 mm when fully open, and 124.5 mm when fully closed (with side rails extended).',
|
||||
'Listed values for speed, gripping force, and full-stroke closing time are measured under varying conditions (24 V – 60 V) by adjusting motor stiffness, damping, and torque. Values may vary depending on the application.',
|
||||
'Grasp load (form-fitting) refers to the maximum horizontal load the gripper can hold without losing its grip. Varies by application.',
|
||||
'Grasp load (friction) refers to the maximum vertical load the gripper can hold without slipping, measured with a square steel block. Varies by application.',
|
||||
'All parameters above may vary in different application scenarios or model configurations.',
|
||||
'Product appearance is subject to change. Refer to the final product.',
|
||||
],
|
||||
safetyNotice:
|
||||
'This product is a civilian robot. Users are requested to refrain from making dangerous modifications or using the robot in a hazardous manner. Comply with local laws and regulations and consult Unitree Robotics terms for full policies.',
|
||||
},
|
||||
|
||||
// ============ UNITREE ROBOTIC ARMS ============
|
||||
@@ -140,10 +510,10 @@ export const ACCESSORIES: Accessory[] = [
|
||||
brand: 'unitree',
|
||||
brandLabel: 'Unitree',
|
||||
name: 'Z1 6-Axis Manipulator',
|
||||
tagline: 'Onboard 6-axis manipulator for mobile robotics platforms.',
|
||||
tagline: 'Perfect synergy — onboard 6-axis manipulator for mobile 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, 2–3 kg payload, ~0.1 mm repeatability. Designed for AlienGo and B1 mounting.',
|
||||
'Z1 Air (4.3 kg) and Z1 Pro (4.5 kg) 6-axis robotic arms designed for diverse application scenarios — e-commerce logistics, new consumption, daily life, and research. 740 mm reach, 2–3 kg payload, and ~0.1 mm repeatability. Pairs natively with AlienGo or B1 quadruped chassis and supports joint force control with collision protection.',
|
||||
features: [
|
||||
'6-axis, 740 mm reach',
|
||||
'4.3 kg (Air) / 4.5 kg (Pro)',
|
||||
@@ -151,11 +521,100 @@ export const ACCESSORIES: Accessory[] = [
|
||||
'~0.1 mm repeatability',
|
||||
'Joint force control + collision detection',
|
||||
'Position + force control modes',
|
||||
'Harmonic reducer joint motors',
|
||||
'Ethernet interface, Ubuntu OS',
|
||||
],
|
||||
image: '/images/accessories/unitree-z1.png',
|
||||
accent: GOLD_BRAND,
|
||||
officialUrl: 'https://www.unitree.com/z1',
|
||||
compatibility: ['Unitree AlienGo', 'Unitree B1', 'Mobile platforms'],
|
||||
highlights: [
|
||||
{ value: '6', label: 'Axis DOF', sub: 'Force-controllable' },
|
||||
{ value: '740 mm', label: 'Reach', sub: 'Z1 Air / Z1 Pro' },
|
||||
{ value: '≥3 kg', label: 'Payload (Pro)', sub: '2 kg on Air' },
|
||||
{ value: '~0.1 mm', label: 'Repeatability', sub: 'Position + force control' },
|
||||
],
|
||||
featureSections: [
|
||||
{
|
||||
eyebrow: 'Characteristics',
|
||||
title: 'Designed for mobile manipulation.',
|
||||
body: 'Compact, lightweight, and dexterous, the Z1 delivers sufficient payload and accuracy for mobile-robot pairings. Supports joint force control with built-in collision protection.',
|
||||
bullets: [
|
||||
'Compact and lightweight',
|
||||
'Dexterous and flexible',
|
||||
'Sufficient payload',
|
||||
'Sufficient accuracy',
|
||||
'Joint force control',
|
||||
'Collision protection',
|
||||
],
|
||||
},
|
||||
{
|
||||
eyebrow: 'Open programming + extensible interface',
|
||||
title: 'Open SDK, swappable end-effectors.',
|
||||
body: 'The manipulator control program and control interface are opened progressively, and different actuators can be quickly replaced at the end of the manipulator for varied workflows.',
|
||||
},
|
||||
{
|
||||
eyebrow: 'Application',
|
||||
title: 'Mobile manipulation across sectors.',
|
||||
body: 'Onboard manipulator for various mobile robots — e-commerce logistics, new consumption, daily-life automation, and research labs. Native AlienGo / B1 mount.',
|
||||
bullets: ['Pairs with AlienGo or B1 quadruped', 'Onboard manipulator for mobile robots'],
|
||||
},
|
||||
],
|
||||
specGroups: [
|
||||
{
|
||||
title: 'Joint Motor',
|
||||
rows: [
|
||||
{ label: 'Backlash', value: '~6 arcmin' },
|
||||
{ label: 'Communication method', value: 'RS485' },
|
||||
{ label: 'Maximum torque', value: '33 N·m' },
|
||||
{ label: 'Encoder resolution', value: '15 bit' },
|
||||
{ label: 'Weight', value: '405 g' },
|
||||
{ label: 'Force control accuracy', value: '~0.2 N·m' },
|
||||
{ label: 'Size', value: 'Φ65 × 52 mm' },
|
||||
{ label: 'Control frequency', value: '1 kHz' },
|
||||
{ label: 'Reducer', value: 'Harmonic reducer' },
|
||||
{ label: 'Bearing', value: 'Industrial-grade cross roller' },
|
||||
{ label: 'Reduction ratio', value: '60+' },
|
||||
{ label: 'Motor sensing feedback', value: 'Torque, angle, angular velocity' },
|
||||
{ label: 'Voltage', value: '24 V (recommended)' },
|
||||
{ label: 'Motor control command', value: 'Torque, angle, angular velocity, stiffness, damping' },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Parameters',
|
||||
variants: ['Z1 Air', 'Z1 Pro'],
|
||||
rows: [
|
||||
{ label: 'DOF', value: '6 Axis', valueAlt: '6 Axis' },
|
||||
{ label: 'Weight', value: '4.3 kg', valueAlt: '4.5 kg' },
|
||||
{ label: 'Payload', value: '2 kg', valueAlt: '≥3 kg' },
|
||||
{ label: 'Reach', value: '740 mm', valueAlt: '740 mm' },
|
||||
{ label: 'Repeatability¹', value: '~0.1 mm', valueAlt: '~0.1 mm' },
|
||||
{ label: 'Power supply', value: '24 V, >20 A', valueAlt: '24 V, >20 A' },
|
||||
{ label: 'Interface', value: 'Ethernet', valueAlt: 'Ethernet' },
|
||||
{ label: 'Operating system', value: 'Ubuntu', valueAlt: 'Ubuntu' },
|
||||
{ label: 'Power', value: 'MAX 500 W', valueAlt: 'MAX 500 W' },
|
||||
{ label: 'Force feedback + collision detection', value: 'Provided', valueAlt: 'Provided' },
|
||||
{ label: 'Control interface', value: 'Position + Force Control', valueAlt: 'Position + Force Control' },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Joint Range & Speed',
|
||||
rows: [
|
||||
{ label: 'J1', value: '±150° · 180°/s' },
|
||||
{ label: 'J2', value: '0° to 180° · 180°/s' },
|
||||
{ label: 'J3', value: '−165° to 0° · 180°/s' },
|
||||
{ label: 'J4', value: '±80° · 180°/s' },
|
||||
{ label: 'J5', value: '±85° · 180°/s' },
|
||||
{ label: 'J6', value: '±160° · 180°/s' },
|
||||
],
|
||||
},
|
||||
],
|
||||
footnotes: [
|
||||
'Accuracy depends on actual test conditions; standards for manipulator testing vary, and accuracy varies under different test conditions.',
|
||||
'Because each joint uses a relatively low reduction ratio, whole-machine position control stiffness is low. If the control mode is not optimized, there may be position-control error and shaking during movement.',
|
||||
],
|
||||
safetyNotice:
|
||||
'This product is a civilian robot. Users are requested to refrain from making dangerous modifications or using the robot in a hazardous manner. Comply with local laws and regulations and consult Unitree Robotics terms for full policies.',
|
||||
},
|
||||
{
|
||||
id: 'unitree-d1-t',
|
||||
@@ -163,22 +622,78 @@ export const ACCESSORIES: Accessory[] = [
|
||||
brand: 'unitree',
|
||||
brandLabel: 'Unitree',
|
||||
name: 'D1-T Teleoperation Arm',
|
||||
tagline: 'Teleoperation robot arm for embodied-AI data collection.',
|
||||
tagline: 'Teleoperation robot arm — empowers embodied intelligence research.',
|
||||
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.',
|
||||
'Dual-arm (<$8,500) or quad-arm (<$16,000) teleoperation kit with 2.37 kg aluminum-alloy body and 670 mm reach. Ultra-precision force-controlled digital servo motors with position, velocity, and force control modes. Designed for embodied-AI data acquisition and continuous learning workflows.',
|
||||
features: [
|
||||
'7-DOF arm (6-axis + gripper)',
|
||||
'2.37 kg, 670 mm reach, 500 g payload',
|
||||
'7-DOF arm (6 axis + gripper)',
|
||||
'2.37 kg aluminum alloy, 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)',
|
||||
'Dual-arm / Quad-arm kit options',
|
||||
'Camera + mobile-chassis ready',
|
||||
'24 V @ 2.5 A standard / 5 A max',
|
||||
'RJ45 + Type-C debug interface',
|
||||
],
|
||||
image: '/images/accessories/unitree-d1-t.png',
|
||||
image: '/images/accessories/unitree-d1-t.jpg',
|
||||
accent: GOLD_BRONZE,
|
||||
officialUrl: 'https://www.unitree.com/D1-T',
|
||||
compatibility: ['Embodied AI research', 'Data collection'],
|
||||
highlights: [
|
||||
{ value: '6 + 1', label: 'Degrees of freedom', sub: '6 axis + 1 gripper' },
|
||||
{ value: '2.37 kg', label: 'Weight', sub: 'Aluminum alloy body' },
|
||||
{ value: '670 mm', label: 'Reach', sub: 'With gripper' },
|
||||
{ value: '500 g', label: 'Payload', sub: '24 V @ 2.5 A (MAX 5 A)' },
|
||||
],
|
||||
featureSections: [
|
||||
{
|
||||
eyebrow: 'Servo motor',
|
||||
title: 'Ultra-precision force-controlled digital servo motor.',
|
||||
body: 'Position control, velocity control, and force control in one motor — suitable for application development and learning tasks across diverse scenarios. Low-level and high-level interfaces expose direct motor control and advanced functions.',
|
||||
},
|
||||
{
|
||||
eyebrow: 'Lightweight body',
|
||||
title: 'Ultra-lightweight aluminum-alloy robot arm.',
|
||||
body: 'Aluminum-alloy construction holds the full arm at 2.37 kg with a 670 mm arm length, keeping the platform mobile-ready and easy to transport.',
|
||||
},
|
||||
{
|
||||
eyebrow: 'Degrees of freedom',
|
||||
title: 'A “true” six-axis arm with gripper.',
|
||||
body: 'Six joints plus a gripper add an extra degree of freedom for greater spatial flexibility — covering a wider envelope of motion than typical research arms.',
|
||||
},
|
||||
{
|
||||
eyebrow: 'Hardware compatibility',
|
||||
title: 'Ultra-flexible hardware integration.',
|
||||
body: 'Connects to external devices — cameras, mobile robot chassis, sensors — for diverse application setups across embodied-AI workflows.',
|
||||
},
|
||||
],
|
||||
specGroups: [
|
||||
{
|
||||
title: 'Parameters',
|
||||
rows: [
|
||||
{ label: 'Model', value: 'D1' },
|
||||
{ label: 'Weight', value: '~2.37 kg' },
|
||||
{ label: 'DOF', value: '6 Axis + 1 Gripper' },
|
||||
{ label: 'Payload', value: '500 g' },
|
||||
{ label: 'Reach (no gripper)', value: '550 mm' },
|
||||
{ label: 'Reach (with gripper)', value: '670 mm' },
|
||||
{ label: 'Power supply', value: '24 V @ 2.5 A (MAX 5 A)' },
|
||||
{ label: 'Interface', value: 'DC5.5-2.1 power + RJ45 communication + Type-C debug' },
|
||||
{ label: 'Motor type', value: 'Bus servo' },
|
||||
{ label: 'Power', value: '60 W' },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Pricing',
|
||||
rows: [
|
||||
{ label: 'Dual-Arm Teleoperation Kit (Standard)', value: '< $8,500 (tax + freight excluded)' },
|
||||
{ label: 'Quad-Arm Teleoperation Kit (Full)', value: '< $16,000 (tax + freight excluded)' },
|
||||
],
|
||||
},
|
||||
],
|
||||
safetyNotice:
|
||||
'This product is a civilian robot. Users are requested to refrain from making dangerous modifications or using the robot in a hazardous manner. Comply with local laws and regulations and consult Unitree Robotics terms for full policies.',
|
||||
},
|
||||
|
||||
// ============ UNITREE PERCEPTION & SENSORS ============
|
||||
@@ -188,22 +703,120 @@ export const ACCESSORIES: Accessory[] = [
|
||||
brand: 'unitree',
|
||||
brandLabel: 'Unitree',
|
||||
name: '4D LiDAR L2',
|
||||
tagline: '4D LiDAR with built-in IMU and open-source SLAM (POINT-LIO).',
|
||||
tagline: 'All new L2 — Unitree 4D LiDAR with built-in IMU and open-source SLAM.',
|
||||
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.',
|
||||
'A $419 4D LiDAR sensor with built-in 6-axis IMU and the open POINT-LIO SLAM stack. 360° × 96° ultra-wide field of view at 64,000 pts/s effective frequency, 30 m range @ 90% reflectivity, 4.5 mm distance resolution, and 2 cm measurement accuracy. 230 g compact form. Robust under 100 klux outdoor sunlight.',
|
||||
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',
|
||||
'360° × 96° ultra-wide FOV (+7%)',
|
||||
'64,000 pts/s effective frequency (+200%)',
|
||||
'4.5 mm distance resolution (+78%)',
|
||||
'30 m range @ 90% reflectivity',
|
||||
'2 cm measurement accuracy',
|
||||
'230 g, 75 × 75 × 65 mm',
|
||||
'Built-in 3-axis acc + 3-axis gyro IMU',
|
||||
'ENET UDP / TTL UART communication',
|
||||
'Open POINT-LIO SLAM solution',
|
||||
],
|
||||
image: '/images/accessories/unitree-l2.png',
|
||||
image: '/images/accessories/unitree-l2.jpg',
|
||||
accent: GOLD_CHAMPAGNE,
|
||||
officialUrl: 'https://www.unitree.com/L2',
|
||||
compatibility: ['Unitree Go2', 'Unitree quadrupeds', 'Third-party robots'],
|
||||
highlights: [
|
||||
{ value: '360°×96°', label: 'Ultra-wide FOV', sub: '+7% scanning' },
|
||||
{ value: '64,000', label: 'Points/s', sub: 'Effective frequency · +200%' },
|
||||
{ value: '30 m', label: 'Scan range', sub: '@ 90% reflectivity' },
|
||||
{ value: '4.5 mm', label: 'Distance resolution', sub: '+78% improvement' },
|
||||
],
|
||||
featureSections: [
|
||||
{
|
||||
eyebrow: 'SLAM',
|
||||
title: 'Complete open-source SLAM solution.',
|
||||
body: 'Use only L2 and its built-in IMU to map with the POINT-LIO algorithm — no other positioning sensors required. Open-source release on github.com/unitreerobotics/point_lio_unilidar.',
|
||||
},
|
||||
{
|
||||
eyebrow: 'Indoor',
|
||||
title: 'Whole-house dynamic scanning.',
|
||||
body: 'L2 quickly and accurately captures 3D structural information of an entire house — supports robot positioning and autonomous navigation, plus extended functions like whole-house cleaning and organization.',
|
||||
},
|
||||
{
|
||||
eyebrow: 'Outdoor',
|
||||
title: 'Real-scene dynamic scanning under strong sun.',
|
||||
body: 'Resists indoor ambient-light and outdoor strong-light interference. Achieves stable ranging and high-precision mapping under outdoor conditions of 100 klux.',
|
||||
},
|
||||
{
|
||||
eyebrow: 'Scanning pattern',
|
||||
title: 'Non-repetitive omnidirectional scanning.',
|
||||
body: 'High-precision, high-density point-cloud data via omnidirectional ultra-wide-angle non-repetitive scanning — photograph-level scanning detail.',
|
||||
},
|
||||
],
|
||||
specGroups: [
|
||||
{
|
||||
title: 'Headline Parameters',
|
||||
rows: [
|
||||
{ label: 'FOV', value: '360° × 96°' },
|
||||
{ label: 'Near blind spot', value: '0.05 m' },
|
||||
{ label: 'Scan range', value: '30 m @ 90% reflectivity' },
|
||||
{ label: 'Effective frequency', value: '64,000 points/s' },
|
||||
{ label: 'Measurement accuracy', value: '2 cm' },
|
||||
{ label: 'Weight', value: '230 g' },
|
||||
{ label: 'Communication interface', value: 'ENET UDP / TTL UART' },
|
||||
{ label: 'Size', value: '75 × 75 × 65 mm' },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Comparison vs other sensors',
|
||||
variants: ['Unitree L2', 'Depth Camera', 'Wide-Angle 3D Radar'],
|
||||
rows: [
|
||||
{ label: 'FOV', value: '360° × 96°', valueAlt: '86° × 57° (±3°)' },
|
||||
{ label: 'Non-repetitive scanning', value: '✓', valueAlt: '—' },
|
||||
{ label: 'Scanning method', value: 'Non-contact brushless rotating mirror', valueAlt: 'Global shutter' },
|
||||
{ label: 'Scan range', value: '30 m', valueAlt: '4 – 5 m' },
|
||||
{ label: 'Near blind area', value: '0.05 m', valueAlt: '0.1 m' },
|
||||
{ label: 'IMU', value: '3-axis acc + 3-axis gyro', valueAlt: '—' },
|
||||
{ label: 'Power', value: '10 W', valueAlt: '5 W' },
|
||||
{ label: 'Weight', value: '230 g', valueAlt: '~100 g' },
|
||||
{ label: 'Technology', value: 'Laser TOF', valueAlt: 'Infrared binocular' },
|
||||
{ label: 'Price', value: '$419', valueAlt: '$359' },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Family Comparison',
|
||||
variants: ['L2', 'L1 PM', 'L1 RM'],
|
||||
rows: [
|
||||
{ label: 'Price', value: '$419', valueAlt: '$249' },
|
||||
{ label: 'Scan range (90% reflectivity)', value: '30 m', valueAlt: '20 m' },
|
||||
{ label: 'Scan range (10% reflectivity)', value: '15 m', valueAlt: '10 m' },
|
||||
{ label: 'FOV', value: '360° × 96°', valueAlt: '360° × 90°' },
|
||||
{ label: 'Sampling frequency', value: '128,000 pts/s', valueAlt: '43,200 pts/s' },
|
||||
{ label: 'Effective frequency', value: '64,000 pts/s', valueAlt: '21,600 pts/s' },
|
||||
{ label: 'Communication', value: 'ENET UDP / TTL UART', valueAlt: 'TTL UART' },
|
||||
{ label: '4D data', value: '3D position + 1D grayscale (2D mode supported)', valueAlt: '3D position + 1D grayscale' },
|
||||
{ label: 'Circumferential scan frequency', value: '5.55 Hz (adjustable)', valueAlt: '11 Hz' },
|
||||
{ label: 'Vertical scan frequency', value: '216 Hz', valueAlt: '180 Hz' },
|
||||
{ label: 'Distance resolution', value: '4.5 mm', valueAlt: '8 mm' },
|
||||
{ label: 'Measurement accuracy', value: '≤ 2.0 cm', valueAlt: '± 2.0 cm' },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Common Specs (all models)',
|
||||
rows: [
|
||||
{ label: 'Near blind area', value: '0.05 m' },
|
||||
{ label: 'IMU', value: '3-axis acceleration + 3-axis gyroscope' },
|
||||
{ label: 'Eye safety level', value: 'Class 1 (IEC 60825-1:2014)' },
|
||||
{ label: 'Anti-glare capability', value: '> 100 klux' },
|
||||
],
|
||||
},
|
||||
],
|
||||
footnotes: [
|
||||
'L2 supports negative-angle mode where FOV extends from 360° × 90° to 360° × 96°. The extra 6° has slightly shorter maximum measurement distance.',
|
||||
'Reflectance values are typical; actual values depend on environment and target characteristics.',
|
||||
'To ensure effective detection of objects with different reflectance, point-cloud accuracy may decrease slightly at certain positions. Farthest range is directly above the L2.',
|
||||
'Stable and peak power vary with environment. At −10 °C to 30 °C, L2 automatically enters self-heating mode; point cloud data is generated only when temperature meets requirements, and peak power can reach 13 W.',
|
||||
'Parameters above may vary across business scenarios and LiDAR configurations.',
|
||||
],
|
||||
safetyNotice:
|
||||
'This product is a civilian robot. Users are requested to refrain from making dangerous modifications or using the robot in a hazardous manner. Comply with local laws and regulations and consult Unitree Robotics terms for full policies.',
|
||||
},
|
||||
|
||||
// ============ PUDU DISPATCH ============
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
[
|
||||
{
|
||||
"url": "https://www.instagram.com/reel/DX6pDm9Mkwe/",
|
||||
"caption": "Make It in the Emirates 2026 — Abu Dhabi appearance."
|
||||
},
|
||||
{
|
||||
"url": "https://www.instagram.com/reel/DYg5KQsC8pW/",
|
||||
"caption": "Abu Dhabi Global Sustainable Security Summit activation."
|
||||
}
|
||||
]
|
||||
+15
-3
@@ -29,9 +29,21 @@ export const BU_SUNAIDAH_URL = `https://www.instagram.com/${BU_SUNAIDAH_HANDLE}`
|
||||
*/
|
||||
export const BU_SUNAIDAH_PORTRAIT: { src: string; alt: string } | null = null;
|
||||
|
||||
// TODO: populate with curated post shortcodes from @bu.sunaidah.
|
||||
// Each entry renders as a 16:20 Instagram embed iframe.
|
||||
export const BU_SUNAIDAH_POSTS: InstagramPost[] = [];
|
||||
// Curated reel shortcodes from @bu.sunaidah, sourced from publicly indexed
|
||||
// Instagram URLs. Each entry renders as an official Instagram embed iframe.
|
||||
// Captions are short factual descriptions of the event — not lifted from IG.
|
||||
export const BU_SUNAIDAH_POSTS: InstagramPost[] = [
|
||||
{
|
||||
shortcode: 'DX6pDm9Mkwe',
|
||||
kind: 'reel',
|
||||
caption: 'Make It in the Emirates 2026 — Abu Dhabi appearance.',
|
||||
},
|
||||
{
|
||||
shortcode: 'DYg5KQsC8pW',
|
||||
kind: 'reel',
|
||||
caption: 'Abu Dhabi Global Sustainable Security Summit activation.',
|
||||
},
|
||||
];
|
||||
|
||||
/**
|
||||
* Bu Sunaidah video reel / showreel.
|
||||
|
||||
Reference in New Issue
Block a user