Xây dựng một Robot Chăm sóc sức khỏe từ Mô phỏng đến Triển khai với NVIDIA Isaac

  • 8 min read
Xây dựng một Robot Chăm sóc sức khỏe từ Mô phỏng đến Triển khai với NVIDIA Isaac

Xây dựng Robot Chăm sóc Sức khỏe từ Mô phỏng đến Triển khai với NVIDIA Isaac

TL;DR

Hướng dẫn thực tế để thu thập dữ liệu, đào tạo chính sách và triển khai các quy trình làm việc của robot y tế tự động trên phần cứng thực tế.

Mục lục

Giới thiệu

Mô phỏng là nền tảng trong lĩnh vực hình ảnh y tế để giải quyết vấn đề thiếu dữ liệu. Tuy nhiên, trong robot chăm sóc sức khỏe cho đến nay, nó thường quá chậm, bị cô lập hoặc khó chuyển đổi thành các hệ thống thực tế.

NVIDIA Isaac for Healthcare, một framework phát triển cho robot y tế AI, cho phép các nhà phát triển robot chăm sóc sức khỏe giải quyết những thách thức này thông qua việc cung cấp các quy trình thu thập, đào tạo và đánh giá dữ liệu tích hợp, hoạt động trên cả mô phỏng và phần cứng. Đặc biệt, phiên bản Isaac for Healthcare v0.4 cung cấp cho các nhà phát triển chăm sóc sức khỏe một quy trình làm việc dựa trên SO - ARM đầu cuối và hướng dẫn mang phòng mổ của riêng bạn. Quy trình làm việc khởi động SO-ARM giảm bớt rào cản để các nhà phát triển MedTech trải nghiệm toàn bộ quy trình làm việc từ mô phỏng đến đào tạo đến triển khai và bắt đầu xây dựng và xác nhận tự động trên phần cứng thực tế ngay lập tức.

Trong bài đăng này, chúng ta sẽ xem xét quy trình làm việc khởi động và các chi tiết triển khai kỹ thuật của nó để giúp bạn xây dựng một robot hỗ trợ phẫu thuật trong thời gian ngắn hơn bao giờ hết.

Quy trình Khởi động SO-ARM; Xây dựng Trợ lý Phẫu thuật

Quy trình làm việc khởi động SO-ARM giới thiệu một cách mới để khám phá các nhiệm vụ hỗ trợ phẫu thuật và cung cấp cho các nhà phát triển một quy trình đầu cuối hoàn chỉnh để hỗ trợ phẫu thuật tự động:

  • Thu thập dữ liệu thực tế và tổng hợp với SO-ARM bằng LeRobot
  • Tinh chỉnh GR00t N1.5, đánh giá trong IsaacLab, sau đó triển khai vào phần cứng

Quy trình làm việc này cung cấp cho các nhà phát triển một môi trường an toàn, có thể lặp lại để đào tạo và tinh chỉnh các kỹ năng hỗ trợ trước khi chuyển vào Phòng Phẫu thuật.

Triển khai Kỹ thuật

Quy trình làm việc triển khai một quy trình ba giai đoạn tích hợp mô phỏng và phần cứng thực tế:

  1. Thu thập Dữ liệu: Các trình diễn điều khiển từ xa hỗn hợp giữa mô phỏng và thế giới thực sử dụng SO101 và LeRobot
  2. Đào tạo Mô hình: Tinh chỉnh GR00T N1.5 trên các bộ dữ liệu kết hợp với tầm nhìn camera kép
  3. Triển khai Chính sách: Suy luận thời gian thực trên phần cứng vật lý với giao tiếp RTI DDS

Đáng chú ý, hơn 93% dữ liệu được sử dụng để đào tạo chính sách được tạo tổng hợp trong mô phỏng, nhấn mạnh sức mạnh của mô phỏng trong việc thu hẹp khoảng cách dữ liệu robot.

Phương pháp Đào tạo Hỗn hợp Sim2Real

Quy trình làm việc kết hợp mô phỏng và dữ liệu thế giới thực để giải quyết thách thức cơ bản là đào tạo robot trong thế giới thực tốn kém và hạn chế, trong khi mô phỏng thuần túy thường không nắm bắt được sự phức tạp của thế giới thực. Cách tiếp cận này sử dụng khoảng 70 tập mô phỏng cho các kịch bản đa dạng và các biến thể môi trường, kết hợp với 10-20 tập thế giới thực để xác thực và kết nối. Đào tạo hỗn hợp này tạo ra các chính sách tổng quát hóa vượt ra ngoài bất kỳ miền nào.

Yêu cầu Phần cứng

Quy trình làm việc yêu cầu:

  • GPU: Kiến trúc hỗ trợ RT Core (Ampere trở lên) với VRAM ≥30GB để suy luận GR00TN1.5
  • SO-ARM101 Follower: Bộ thao tác chính xác 6-DOF với tầm nhìn camera kép (cổ tay và phòng). SO-ARM101 có các thành phần tầm nhìn WOWROBO, bao gồm một camera gắn trên cổ tay với bộ điều hợp in 3D
  • SO-ARM101 Leader: Giao diện điều khiển từ xa 6-DOF để thu thập trình diễn chuyên gia

Đáng chú ý, các nhà phát triển có thể chạy tất cả các mô phỏng, đào tạo và triển khai (cần 3 máy tính cho AI vật lý) trên một DGX Spark.

Triển khai Thu thập Dữ liệu

Để thu thập dữ liệu thực tế với phần cứng SO-ARM101 hoặc bất kỳ phiên bản nào khác được hỗ trợ trong LeRobot:

bash python lerobot-record
–robot.type=so101_follower
–robot.port=<follower_port_id>
–robot.cameras="{wrist: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}, room: {type: opencv, index_or_path: 2, width: 640, height: 480, fps: 30}}"
–robot.id=so101_follower_arm
–teleop.type=so101_leader
–teleop.port=<leader_port_id>
–teleop.id=so101_leader_arm
–dataset.repo_id=/surgical_assistance/surgical_assistance
–dataset.num_episodes=15
–dataset.single_task=“Prepare and hand surgical instruments to surgeon”

Để thu thập dữ liệu dựa trên mô phỏng:

bash

Với điều khiển từ xa bằng bàn phím

python -m simulation.environments.teleoperation_record
–enable_cameras
–record
–dataset_path=/path/to/save/dataset.hdf5
–teleop_device=keyboard

Với cánh tay điều khiển SO-ARM101

python -m simulation.environments.teleoperation_record
–port=<your_leader_arm_port_id>
–enable_cameras
–record
–dataset_path=/path/to/save/dataset.hdf5

Điều khiển Từ xa Mô phỏng

Đối với những người dùng không có phần cứng SO-ARM101 vật lý, quy trình làm việc cung cấp điều khiển từ xa dựa trên bàn phím với các điều khiển khớp sau:

  • Khớp 1 (shoulder_pan): Q (+) / U (-)
  • Khớp 2 (shoulder_lift): W (+) / I (-)
  • Khớp 3 (elbow_flex): E (+) / O (-)
  • Khớp 4 (wrist_flex): A (+) / J (-)
  • Khớp 5 (wrist_roll): S (+) / K (-)
  • Khớp 6 (gripper): D (+) / L (-)
  • Phím R: Đặt lại môi trường ghi
  • Phím N: Đánh dấu tập là thành công

Quy trình Đào tạo Mô hình

Sau khi thu thập cả dữ liệu mô phỏng và thế giới thực, hãy chuyển đổi và kết hợp các bộ dữ liệu để đào tạo:

bash

Chuyển đổi dữ liệu mô phỏng sang định dạng LeRobot

python -m training.hdf5_to_lerobot
–repo_id=surgical_assistance_dataset
–hdf5_path=/path/to/your/sim_dataset.hdf5
–task_description=“Autonomous surgical instrument handling and preparation”

Tinh chỉnh GR00T N1.5 trên bộ dữ liệu hỗn hợp

python -m training.gr00t_n1_5.train
–dataset_path /path/to/your/surgical_assistance_dataset
–output_dir /path/to/surgical_checkpoints
–data_config so100_dualcam

Mô hình đã đào tạo xử lý các hướng dẫn ngôn ngữ tự nhiên như “Chuẩn bị dao mổ cho bác sĩ phẫu thuật” hoặc “Đưa tôi kẹp phẫu tích” và thực hiện các hành động robot tương ứng. Với bản phát hành LeRobot mới nhất (0.4.0), bạn sẽ có thể tinh chỉnh Gr00t N1.5 gốc trong LeRobot!

Các Quy trình Thu thập-Đào tạo-Đánh giá Mô phỏng Đầu cuối

Mô phỏng mạnh mẽ nhất khi nó là một phần của vòng lặp: thu thập → đào tạo → đánh giá → triển khai.

Với v0.3, IsaacLab hỗ trợ toàn bộ quy trình này:

Tạo Dữ liệu Tổng hợp trong Mô phỏng

  • Điều khiển từ xa robot bằng bàn phím hoặc bộ điều khiển phần cứng
  • Thu thập các quan sát đa camera, trạng thái và hành động của robot
  • Tạo các bộ dữ liệu đa dạng với các trường hợp biên mà không thể thu thập một cách an toàn trong môi trường thực tế

Đào tạo và Đánh giá Chính sách

  • Tích hợp sâu với framework RL của Isaac Lab để đào tạo PPO
  • Môi trường song song (hàng ngàn mô phỏng đồng thời)
  • Phân tích quỹ đạo và số liệu thành công tích hợp
  • Xác nhận thống kê trên các kịch bản khác nhau

Chuyển đổi Mô hình sang TensorRT

  • Tự động tối ưu hóa cho triển khai sản xuất
  • Hỗ trợ các hình dạng động và suy luận đa camera
  • Các công cụ đo điểm chuẩn để xác minh hiệu suất thời gian thực

Điều này làm giảm thời gian từ thử nghiệm đến triển khai và làm cho sim2real trở thành một phần thực tế của quá trình phát triển hàng ngày.

Bắt đầu

Quy trình Khởi động SO-ARM của Isaac for Healthcare hiện đã có sẵn. Để bắt đầu:

  1. Sao chép kho lưu trữ: git clone https://github.com/isaac-for-healthcare/i4h-workflows.git
  2. Chọn quy trình làm việc: Bắt đầu với Quy trình Khởi động SO-ARM để hỗ trợ phẫu thuật hoặc khám phá các quy trình làm việc khác
  3. Chạy thiết lập: Mỗi quy trình làm việc bao gồm một tập lệnh thiết lập tự động (ví dụ: tools/env_setup_so_arm_starter.sh)

Tài nguyên

Recommended for You

Bộ dữ liệu phát trực tuyến- Hiệu quả hơn gấp 100 lần

Bộ dữ liệu phát trực tuyến- Hiệu quả hơn gấp 100 lần

LeRobot v0.4.0- Siêu nạp cho học tập Robotics OSS

LeRobot v0.4.0- Siêu nạp cho học tập Robotics OSS

LeRobot v0.4.0 nhằm mục đích đơn giản hóa hơn nữa các thí nghiệm nghiên cứu trong lĩnh vực học tập robot nguồn mở.