הגדרת תוכנה
התקנת SDK, חיבור לרשת, ROS2 עם MoveIt2 תכנון זרוע כפולה, פאנל טלאופ דפדפן, אינטגרציה של מודל VLA וצינור הנתונים בקליק אחד. הכל מגילוי רשת ועד מניפולציה אוטונומית.
קפוץ לקטע:
התקנת SDK
ה-VLAI L1 נשלט באמצעות roboticscenter Python SDK, המספק גם ממשקי API של משימות ברמה גבוהה וגם שליטה משותפת ברמה נמוכה. התקן במחשב המארח שלך.
צור סביבה וירטואלית
python -m venv ~/.venvs/vlai
source ~/.venvs/vlai/bin/activate
התקן את ה-SDK
pip install roboticscenter[l1]
בדוק את ההתקנה
python -c "from roboticscenter import L1; print('SDK OK')"
rc --version # command-line tool
מתחבר ל-L1
ה-L1 מפעיל מחסנית ROS2 משלו וחושף ממשק API לבקרת gRPC על הרשת המקומית שלך. המחשב המארח שלך מתקשר איתו דרך WiFi או Ethernet.
הגדרת רשת ראשונית
# Power on the L1 — it will connect to the configured WiFi automatically
# Then discover it on your network:
rc discover
# Output: L1-XXXX found at 192.168.1.45 (port 8888)
התחבר ואמת
rc connect --device l1 --host 192.168.1.45
# Output: Connected to VLAI L1 (firmware v2.1.4, battery: 87%)
# Or use the Python SDK:
from roboticscenter import L1
robot = L1(host="192.168.1.45")
robot.connect()
print(robot.get_status())
# {'battery': 87, 'arm_left': 'ready', 'arm_right': 'ready', 'base': 'ready'}
robot.disconnect()
הגדר IP סטטי (מומלץ לשימוש במעבדה)
rc config set network.static_ip 192.168.1.100
rc config set network.gateway 192.168.1.1
rc config apply # reboots the L1 network stack
ROS2 עם MoveIt2 בקרת זרוע כפולה
ה-L1 נשלח עם ROS2 Humble פועל על הסיפון. המחשב המארח שלך מתחבר כצומת ROS2 על אותה רשת. אתה צריך ROS2 Humble על המארח שלך.
התקן ROS2 Humble על המארח (Ubuntu 22.04)
sudo apt update && sudo apt install ros-humble-desktop \
ros-humble-moveit ros-humble-ros2-control \
ros-humble-ros2-controllers -y
הפעל את גשר L1 ROS2
# On the L1 (via SSH or the onboard terminal):
ros2 launch vlai_l1_ros2 l1_bringup.launch.py
# On your host PC:
source /opt/ros/humble/setup.bash
export ROS_DOMAIN_ID=42 # must match the L1's domain ID
ros2 topic list # should show /l1/left_arm/joint_states, etc.
תכנון MoveIt2 בעל זרוע כפולה
source /opt/ros/humble/setup.bash
ros2 launch vlai_l1_moveit l1_moveit.launch.py
# In another terminal — plan and execute a bimanual task:
ros2 run vlai_l1_moveit bimanual_demo
# Executes: left arm picks object, right arm receives and places
בקרת זרוע אישית באמצעות Python
from roboticscenter import L1
import numpy as np
robot = L1(host="192.168.1.45")
robot.connect()
# Move left arm to Cartesian pose (position + quaternion)
pose = {
"position": [0.4, 0.1, 0.35], # x, y, z in meters from base
"orientation": [0, 0, 0, 1] # quaternion xyzw
}
robot.left_arm.move_to_pose(pose, speed=0.3)
# Read current joint state
state = robot.left_arm.get_joint_state()
print("Left arm joints:", state.positions) # 8 values in radians
robot.disconnect()
בקרת בסיס ניידת
מ-roboticscenter import L1 רובוט = L1(host="192.168.1.45") robot.connect() # סע קדימה 1 מטר במהירות של 0.5 מטר לשנייה robot.base.move(x=1.0, y=0.0, speed=0.5) # סובב 90 מעלות בכיוון השעון robot.base.rotate(זווית=-90, מהירות=0.3) # מעלות # התאם את גובה ההרמה (106 עד 162 ס"מ) robot.base.set_lift_height(130) # ס"מ #עצור robot.base.stop() robot.disconnect()
לוח תפעול דפדפן
ה-L1 כולל פאנל טלאופ מובנה של דפדפן - אין צורך בהתקנת תוכנה. נווט אל ה-IP של ה-L1 ביציאה 8888.
גש לפאנל
# Open in browser:
http://192.168.1.45:8888
# Or launch via CLI:
rc teleop --device l1
הפאנל מספק:
- בקרת מקלדת WASD לבסיס נייד
- ג'ויסטיק קרטזי של זרוע שמאל/ימין (לחיצה-גרירה ביציאת תצוגה תלת-ממדית)
- לחצני פתיחה/סגירה של התפסן
- הזנת מצלמה מכל המצלמות המותקנות
- התחלה/עצירה של הקלטת פרק בלחיצה אחת
- לוח מצב מצבי סוללה ומצב משותף
VR teleop (Developer Pro ומקס)
rc teleop --device l1 --mode vr
# Opens a WebXR session — put on Meta Quest and visit the displayed URL
שילוב מודל חזון-שפה-פעולה
שכבות L1 Developer Pro ו-Max כוללות מחשוב מובנה המסוגל להריץ מסקנות VLA באופן מקומי. עבור כל השכבות, אתה יכול להפעיל מסקנות VLA במחשב מארח ולהזרים פעולות לרובוט.
הפעל את OpenVLA במחשב המארח (כל שכבה)
מרכז רובוטיקה להתקנת pip[vla] מ-roboticscenter import L1 מ-roboticscenter.vla ייבוא OpenVLAClient רובוט = L1(host="192.168.1.45") robot.connect() vla = OpenVLAClient( model="openvla/openvla-7b", device="cuda" # או "cpu" להסקה איטית יותר ) # תצפית לכידת obs = robot.capture_observation() # מחזיר תמונת RGB + מצב משותף # קבל פעולה מ-VLA (מותנה בטקסט) action = vla.predict( image=obs["תמונה"], instruction="הרם את הבלוק הכחול והנח אותו על הצלחת האדומה" ) # פעולה: dict of joint deltas + פקודת תפסן # בצע פעולה על הרובוט robot.execute_action(action) robot.disconnect()
מסקנות VLA במכשיר (Developer Pro/Max)
rc deploy vla \
--model openvla/openvla-7b \
--quantize int4 # fits in 6GB VRAM on V3 compute (70 TOPS)
# Now VLA runs on the L1's onboard compute — no host PC needed:
rc run policy \
--task "Pick up the blue block and place it on the red plate" \
--max_steps 50