הגדרת תוכנה

התקנת SDK, חיבור לרשת, ROS2 עם MoveIt2 תכנון זרוע כפולה, פאנל טלאופ דפדפן, אינטגרציה של מודל VLA וצינור הנתונים בקליק אחד. הכל מגילוי רשת ועד מניפולציה אוטונומית.

קפוץ לקטע:

שלב 1 - התקנת SDK

התקנת 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
שלב 2 - חיבור לרשת

מתחבר ל-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
שלב 3 - ROS2 + MoveIt2

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()
שלב 4 - דפדפן טלאופ

לוח תפעול דפדפן

ה-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
שלב 5 - שילוב VLA

שילוב מודל חזון-שפה-פעולה

שכבות 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
פתרון בעיות

בעיות נפוצות

שגיאה 1 rc discover לא מוצא מכשירים

ה-L1 לא נמצא באותה רשת משנה. לרשתות WiFi ארגוניות יש לרוב בידוד לקוח - בדוק עם IT או השתמש בנתב ייעודי.

# Try direct connection by IP if you know it:
rc connect --device l1 --host 192.168.1.45

# Or connect the L1 via Ethernet directly to your laptop:
# Set your laptop to 192.168.2.1/24, L1 will appear at 192.168.2.100
שגיאה 2 תכנון MoveIt2 נכשל: לא נמצא נתיב

תנוחת המטרה נמצאת מחוץ למרחב העבודה הנגיש של הזרוע או בהתנגשות עם גוף הרובוט.

# Check reachability first:
from roboticscenter import L1
robot = L1(host="192.168.1.45")
robot.connect()
reachable = robot.left_arm.check_pose_reachable(
    position=[0.4, 0.1, 0.35])
print("Reachable:", reachable)  # if False, adjust target pose
robot.disconnect()

תוכנה עובדת? התחל לאסוף נתונים.

ברגע שהזרועות זזות, השלב הבא הוא הפעלה טלפונית והקלטת נתונים.