Lập trình robot

Lập trình robot Unitree G1 và Go2

Từ kéo thả khối lệnh trên điện thoại đến viết Python điều khiển từng bước đi. Trang này tổng hợp lộ trình, code mẫu và mã nguồn chính thức của Unitree để bạn biết bắt đầu từ đâu, cần phiên bản robot nào và thử an toàn trên máy tính trước.

go2_hello.pyimport sys, time
from unitree_sdk2py.core.channel import ChannelFactoryInitialize
from unitree_sdk2py.go2.sport.sport_client import SportClient

# Tên cổng mạng nối với robot, ví dụ enp2s0
ChannelFactoryInitialize(0, sys.argv[1])

sport_client = SportClient()
sport_client.SetTimeout(10.0)
sport_client.Init()

sport_client.StandUp()          # đứng dậy
time.sleep(2)
sport_client.BalanceStand()     # giữ thăng bằng
sport_client.Hello()            # vẫy chào
time.sleep(3)
sport_client.Move(0.3, 0, 0)    # đi thẳng 0,3 m/s
time.sleep(2)
sport_client.StopMove()
Dành cho ai

Ba cách bắt đầu

Trường học, trung tâm STEM

Học sinh kéo thả khối lệnh để chó robot Go2 đi, ngồi, vẫy chào. Không cần cài đặt, chỉ cần điện thoại và ứng dụng của hãng.

Sinh viên, lập trình viên

Viết Python hoặc C++ bằng SDK chính thức, dùng ROS 2, chạy mô phỏng MuJoCo, huấn luyện dáng đi bằng học tăng cường. Cần robot Bản EDU.

Đội dựng tiết mục sự kiện

Ghép các động tác có sẵn thành kịch bản theo nhạc, hoặc tải điệu nhảy từ kho ứng dụng của hãng. Robos lo phần này khi bạn thuê robot.

Lộ trình

Từ không biết code đến tự viết thuật toán

Mỗi cấp cần phiên bản robot và kỹ năng khác nhau. Phần lớn trường học dừng ở cấp 1–2; cấp 3–4 dành cho đội có lập trình viên.

  1. Cấp 1

    Điều khiển và động tác có sẵn

    Mọi phiên bản · không cần code

    Dùng tay cầm hoặc ứng dụng để robot đứng, đi, ngồi, vẫy chào, nhảy các điệu cài sẵn. Với G1, ứng dụng Unitree Explore còn có kho động tác tải về chỉ bằng một chạm.

    Tay cầmỨng dụng Unitree Go (Go2)Ứng dụng Unitree Explore (G1)
  2. Cấp 2

    Lập trình kéo thả

    Go2 mọi phiên bản · hợp học sinh

    Ứng dụng Unitree Go có mục lập trình đồ hoạ: ghép khối lệnh thành chuỗi động tác mà không phải viết code. Unitree ghi tính năng này có trên cả Go2 Air, Pro, X và EDU.

    Graphical ProgrammingChuỗi động tácKhoá học kéo thả cho Go2
  3. Cấp 3

    Python / C++ với SDK

    Go2 EDU, G1 EDU · biết Python

    Máy tính Ubuntu nối cáp mạng với robot, gọi lệnh cấp cao như StandUp(), Move(vx, vy, vyaw), Hello() cho Go2, hay WaveHand(), ShakeHand() cho G1. Theo bảng thông số của Unitree, Go2 Air và Pro không hỗ trợ phát triển thứ cấp; G1 bản tiêu chuẩn cũng vậy.

    unitree_sdk2_pythonunitree_sdk2 (C++)Ubuntu 20.04 / 22.04
  4. Cấp 4

    ROS 2, mô phỏng, học tăng cường

    Bản EDU · GPU cho học tăng cường

    Điều khiển từng Động cơ khớp (lệnh cấp thấp), dùng ROS 2 Humble, thử code trong MuJoCo rồi chạy y nguyên trên robot thật, huấn luyện dáng đi hoặc bắt chước điệu nhảy của người bằng Isaac Lab / MuJoCo.

    unitree_ros2unitree_mujocounitree_rl_labunitree_rl_mjlab
Kiến trúc

Robot nhận lệnh như thế nào?

Robot Unitree nói chuyện với máy tính qua giao thức DDS (CycloneDDS). Bạn chọn tầng phù hợp: càng xuống dưới càng linh hoạt nhưng càng phải tự lo thăng bằng và an toàn.

01
Ứng dụng, tay cầmĐộng tác cài sẵn, lập trình kéo thả, kho động tác.
Không cần code
02
Lệnh cấp caoGọi dịch vụ chuyển động của hãng: SportClient (Go2), LocoClient và G1ArmActionClient (G1). Robot tự giữ thăng bằng.
Python, C++
03
ROS 2Robot dùng DDS nên tin nhắn ROS 2 điều khiển trực tiếp được, không cần bọc SDK. Gói unitree_go, unitree_hg, unitree_api.
ROS 2 Humble
04
Lệnh cấp thấpGửi vị trí, vận tốc, mô-men cho từng khớp (LowCmd). Phải tắt dịch vụ chuyển động của hãng trước; robot có thể ngã nếu code sai.
Nghiên cứu
Code mẫu

Chương trình đầu tiên

  1. Dùng máy tính Ubuntu 20.04 hoặc 22.04 (hãng không hỗ trợ lập trình từ Mac, Windows). Cài unitree_sdk2_python: Python 3.8 trở lên, cyclonedds==0.10.2, rồi pip3 install -e ..
  2. Nối cáp mạng từ robot (cổng RJ45 chỉ có trên Go2 EDU) vào máy tính. Đặt IP tĩnh cùng dải 192.168.123.x, ví dụ 192.168.123.222, và ping 192.168.123.161 để kiểm tra.
  3. Xem tên cổng mạng bằng ifconfig, rồi chạy python3 go2_hello.py enp2s0. Để robot trên sàn phẳng, có khoảng trống và người cầm tay cầm sẵn sàng dừng.

Rút gọn từ ví dụ go2_sport_client.py chính thức (bản gốc chọn từng lệnh qua menu; dòng BalanceStand() là chúng tôi thêm). Không đưa các lệnh nhào lộn, trồng chuối vào bài học cho học sinh. Nguồn: unitree_sdk2_python / example / go2.

Công cụ chính thức

Thư viện và mã nguồn mở

Đều do Unitree hoặc cộng đồng robot công bố công khai. Bấm để mở trang gốc.

unitree_sdk2_pythonPython SDK Python chính thức: lệnh cấp cao, cấp thấp, đọc trạng thái, camera, âm thanh cho Go2, G1, H1… Go2 EDU, G1 EDU · BSD-3 unitree_sdk2C++ SDK C++ gốc trên CycloneDDS, chạy Ubuntu 20.04 (x86_64, aarch64). Go2 EDU, G1 EDU · BSD-3 unitree_ros2ROS 2 Gói tin nhắn và ví dụ ROS 2 (Foxy, Humble khuyên dùng): đứng, đọc trạng thái, điều khiển cấp thấp, ghi bag. Go2, G1 · BSD-3 unitree_mujocoC++ / Python Mô phỏng MuJoCo dùng cùng giao tiếp DDS với robot thật: code chạy trong mô phỏng chạy được trên robot. Hiện chỉ hỗ trợ lệnh cấp thấp. Go2, G1, H1, H2, B2, R1… · BSD-3 unitree_rl_labIsaac Lab Huấn luyện dáng đi bằng học tăng cường trên Isaac Lab / Isaac Sim, có triển khai lên robot thật. Go2, G1 29 khớp, H1 · Apache-2.0 unitree_rl_mjlabMuJoCo Học tăng cường trên MuJoCo, có ví dụ G1 bắt chước điệu nhảy từ dữ liệu chuyển động của người. Go2, G1, R1, H2… · Apache-2.0 xr_teleoperatePython Điều khiển robot hình người bằng kính thực tế ảo (Apple Vision Pro, PICO 4 Ultra, Meta Quest 3), ghi lại dữ liệu để dạy robot bắt chước. G1, H1, H2, R1 · Apache-2.0 unitree-app-templatesDocker Mẫu tạo ứng dụng cho kho UniStore của G1: đóng gói bằng Docker, có ví dụ G1 nhảy theo chính sách bắt chước. G1 · BSD-3 Tài liệu lập trình UnitreeDocs Hướng dẫn chính thức: kết nối mạng, bắt đầu nhanh, lệnh cấp cao và cấp thấp cho Go2 và G1. Go2, G1
Mô phỏng

Thử trên máy tính trước khi chạy robot thật

Robot thật đắt và dễ hỏng nếu code sai. Quy trình an toàn là viết và thử trong mô phỏng, chuyển sang mô phỏng thứ hai để kiểm tra, rồi mới chạy trên robot với người cầm tay cầm bên cạnh.

01Viết codePython, C++ hoặc ROS 2 trên máy Ubuntu.
02Mô phỏng MuJoCounitree_mujoco dùng cùng giao tiếp DDS (cổng lo), không phải sửa code.
03Huấn luyện (tuỳ chọn)Học tăng cường trên Isaac Lab hoặc MuJoCo, cần GPU NVIDIA.
04Robot thậtĐổi cổng mạng sang cáp nối robot, thử chậm, có người sẵn sàng dừng.
Cho sự kiện

Dựng một tiết mục biểu diễn

Tiết mục ở sự kiện gần như luôn là Chuyển động lập trình sẵn: chuỗi động tác đã thử kỹ, phát lại đúng thời điểm theo Kịch bản robot. Robot không tự ứng biến trên sân khấu.

  1. Chọn bài nhạc và chia đoạn theo giây: vào sân khấu, chào, nhảy, cúi chào, ra về.
  2. Ghép động tác có sẵn (vẫy tay, bắt tay, nhảy) hoặc động tác tải từ kho của hãng vào từng đoạn; với bản EDU có thể viết chuỗi lệnh bằng SDK.
  3. Thử trên sàn giống sàn sự kiện, đo khoảng trống cần thiết, chỉnh tốc độ cho an toàn.
  4. Tổng duyệt với âm thanh, ánh sáng thật; kỹ thuật viên giữ tay cầm để dừng ngay khi cần.
Cho trường học

Buổi học STEM với robot

Robos mang robot và kỹ thuật viên đến trường cho ngày hội STEM hoặc buổi học trải nghiệm. Học sinh được xem robot, hiểu cảm biến và khớp, rồi tự ghép khối lệnh cho robot làm theo.

  • 01Giới thiệu robot: Bậc tự do, LiDAR, IMU, cách robot giữ thăng bằng.
  • 02Học sinh ghép khối lệnh kéo thả để chó robot đi, ngồi, vẫy chào theo nhóm.
  • 03Thử thách: lập trình chuỗi động tác theo một bài nhạc ngắn, các nhóm trình diễn.
  • 04Hỏi đáp với kỹ thuật viên về nghề robot và lập trình.
Đặt lịch

Cần robot cho buổi học hay tiết mục?

Điền vài thông tin, chúng tôi gọi lại trong vòng 2 giờ làm việc để tư vấn kịch bản và báo giá chính xác.

  • Không mất phí tư vấn
  • Kịch bản lời chào tiếng Việt theo thương hiệu
  • Hoàn tiền nếu robot gặp sự cố không khắc phục được
Hỏi đáp

Câu hỏi về lập trình robot

Thuê robot của Robos có lập trình được không?

Robot Robos cho thuê được kỹ thuật viên vận hành, chạy động tác có sẵn và tiết mục dựng theo kịch bản của bạn. Nếu bạn cần tự viết code bằng SDK (ví dụ cho đồ án, nghiên cứu), hãy ghi rõ trong yêu cầu để chúng tôi kiểm tra có bản EDU phù hợp theo lịch.

Go2 Air hoặc Go2 Pro có lập trình được không?

Có ở mức kéo thả: ứng dụng Unitree Go có lập trình đồ hoạ trên mọi phiên bản Go2. Nhưng theo bảng thông số của Unitree, Air và Pro không hỗ trợ phát triển thứ cấp (SDK) và không có cổng mạng RJ45; muốn viết Python/C++ cần Go2 EDU.

Học lập trình robot cần biết gì trước?

Lập trình kéo thả thì không cần biết gì. Dùng SDK cần Python cơ bản và làm quen Linux (Ubuntu). ROS 2, mô phỏng và học tăng cường cần thêm kiến thức về robot, toán và máy có GPU NVIDIA.

Có lập trình robot từ Mac hoặc Windows được không?

Theo tài liệu của Unitree, môi trường phát triển được hỗ trợ là Ubuntu 20.04 hoặc 22.04; Mac và Windows không được hỗ trợ. Có thể dùng một máy tính Ubuntu riêng hoặc máy tính tích hợp Jetson Orin trên bản EDU.

Robos có tổ chức buổi học lập trình robot cho trường không?

Có. Chúng tôi mang robot và kỹ thuật viên đến trường cho ngày hội STEM hoặc buổi học trải nghiệm, có phần học sinh tự ghép khối lệnh. Chó robot từ 8.000.000đ một buổi; gửi yêu cầu để nhận kịch bản buổi học và báo giá.

Nguồn: unitree.com/go2, unitree.com/g1, Unitree Go2 developer docs, Unitree G1 developer docs, unitree_sdk2_python, unitree_ros2, unitree_mujoco, Ứng dụng Unitree Go (App Store), Ứng dụng Unitree Explore. Cập nhật 26 tháng 9, 2026. Tên lớp, lệnh và phiên bản có thể thay đổi theo bản cập nhật của hãng; luôn đối chiếu với tài liệu gốc.