Header Ads

  • Breaking News

    Thiết kế phần mềm lập trình robot để tái sử dụng có hệ thống dữ liệu dạy học bao gồm cả mô hình môi trường

    Chuyển động của robot để thực hiện công việc lắp ráp bao gồm phần mà việc sử dụng lại chuyển động được điều chỉnh cho các đối tượng thực có hiệu quả và phần mà việc tạo tự động trong trình mô phỏng là phù hợp. Để giảng dạy suôn sẻ công việc lắp ráp như vậy, phần mềm giảng dạy cho phép kết hợp các chuyển động đã sử dụng trước đó và thực hiện điều chỉnh tổng thể quy trình làm việc và biểu diễn môi trường tích hợp trong trình mô phỏng. Một số công cụ giảng dạy tập trung vào chức năng tạo ra chuyển động của robot một cách chi tiết và nó giả định rằng việc điều chỉnh toàn bộ quy trình làm việc bao gồm cả bố trí hệ thống bằng cách sử dụng môi trường làm việc thực tế. Vì lý do này, biểu thức môi trường không đủ cho mục đích trên. Mặc dù các công cụ giảng dạy ngoại tuyến và công cụ lập kế hoạch chuyển động rất phong phú về tính đại diện của môi trường, không có nhiều nghiên cứu về cơ chế tái sử dụng có hệ thống các chuyển động được điều chỉnh trong môi trường thực, bao gồm cả các biểu diễn môi trường. Trong bài báo này, chúng tôi trình bày thiết kế phần mềm để giải quyết vấn đề này và việc triển khai nó dưới dạng một plugin cho Choreonoid. Bằng một thử nghiệm, chúng tôi xác nhận rằng chúng tôi có thể mô tả một công việc lắp ráp tương đối phức tạp với phần mềm được đề xuất.

    Giới thiệu

    Làm thế nào để xây dựng hệ thống robot linh hoạt, dễ ứng phó với những thay đổi trong thiết kế sản phẩm và khối lượng sản xuất là một vấn đề quan trọng trong tích hợp hệ thống robot. Về cơ bản, có hai cách tiếp cận cho các hệ thống robot linh hoạt như vậy.
    1. 1.
      Giảm công việc thủ công bằng cách nâng cao mức độ thông minh của robot.
    2. 2.
      Cải thiện công việc kỹ thuật liên quan đến giới thiệu robot bao gồm cả giảng dạy.
    Cách tiếp cận đầu tiên nhằm mục đích làm cho máy tính nhận ra các đối tượng và môi trường, đồng thời tạo ra các chuyển động của rô bốt để thực hiện các nhiệm vụ đã định [ 1 , 2 ]. Điều này dẫn đến việc giảm thông tin do con người đưa ra một cách rõ ràng khi mỗi hệ thống được xây dựng. Đây là một lĩnh vực được nghiên cứu tích cực và nhiều thuật toán nhận dạng và lập kế hoạch chuyển động đã được đề xuất. Trong những năm gần đây, các phương pháp dựa trên máy học sử dụng dữ liệu thu được từ môi trường thực cũng đã được khám phá [ 3 , 4 ].
    Trong cách tiếp cận thứ hai, người ta cho rằng con người lập trình chuyển động của robot trên các bộ phận tương đối chi tiết. Trọng tâm của phương pháp này là thiết kế phần mềm hoặc hệ thống để làm cho công việc giảng dạy trở nên hiệu quả hoặc dễ dàng cho người dùng chưa có kinh nghiệm. Ví dụ, Rethink Robotics đã phát hành một phần mềm giảng dạy mới cho phép giảng dạy bằng cách kết hợp các khối điều khiển đồ họa. Trong nhiều robot hợp tác được phát hành trong những năm gần đây, người ta đã nỗ lực để làm cho công việc giảng dạy hiệu quả hơn bằng cách tích hợp giảng dạy trực tiếp để chỉ định các vị trí trong môi trường thực với các công cụ giảng dạy [ 5 , 6 , 7 ].
    Nếu robot thông minh có thể hoàn thành mục tiêu nhiệm vụ một cách tự động, thì công việc cần thiết cho việc giới thiệu robot sẽ giảm đáng kể. Tuy nhiên các cách tiếp cận hoàn toàn tự động có nhiều khó khăn. Ví dụ, để tạo ra chuyển động của robot có tiếp xúc, là cốt lõi của công việc lắp ráp, trong mô phỏng, cần phải mô hình hóa các chi tiết của vật thể như độ cứng, vật liệu và tình trạng bề mặt bên cạnh hình học chính xác cao. Các mô hình về hành vi năng động của robot và hệ thống điều khiển thấp hơn của nó cũng cần thiết. Đây là điều khó khăn đối với những người dùng muốn giới thiệu robot đơn giản. Thay vào đó, trong nhiều trường hợp, việc thực hiện loại chuyển động này bằng cách sử dụng môi trường thực sẽ dễ dàng hơn. Tương tự như vậy, đối với các vật thể không cứng như cáp, các phương pháp mô hình hóa và thuật toán xử lý chúng không được thiết lập. Thông tin được xác định trước có xu hướng lớn để thực hiện mức độ tự động hóa cao. Đây là một vấn đề đặc biệt đối với những người dùng dự định giới thiệu robot trong thực nghiệm.
    Phương pháp chế tạo robot học thông qua các thử nghiệm trong môi trường thực có khả năng giảm thiểu sự can thiệp của con người nếu áp dụng thành công. Tuy nhiên, những thử nghiệm như vậy không nhất thiết có thể thực hiện được trong tất cả các nhiệm vụ, robot và môi trường làm việc. Có một vấn đề là phải mất nhiều thời gian để thực hiện đủ số lượng thử nghiệm. Vì những lý do này, phương pháp dạy các chi tiết về chuyển động của rô bốt vẫn còn phổ biến.
    Việc viết trực tiếp một chuỗi các chuyển động chi tiết của rô bốt là hiệu quả ít nhất khi thực hiện xây dựng một hệ thống. Tuy nhiên, khi các hệ thống tương tự cần được thực hiện hoặc tái tạo, cách tiếp cận này có xu hướng mất hiệu quả. Hệ thống tương tự thường được yêu cầu khi một phần của sản phẩm được cập nhật hoặc hệ thống lắp ráp cho sản phẩm được cải tiến. Trong quá trình sản xuất theo đơn đặt hàng, một số biến thể bộ phận có thể được thêm vào. Hệ thống được xây dựng trước có thể được sao chép ở những nơi khác với một số thay đổi về bố cục để đối phó với sự gia tăng số lượng sản xuất.
    Bài báo này thảo luận về loại hỗ trợ nào có thể cho sự phát triển có hệ thống của các hệ thống tương tự như vậy từ khía cạnh phần mềm và trình bày một thiết kế cụ thể của phần mềm hỗ trợ. Đối với các chuyển động khó tạo tự động và cần một số điều chỉnh trong môi trường thực, chúng tôi cân nhắc việc tích lũy dữ liệu chuyển động ở dạng dễ sử dụng lại. Trong khi đó, chúng tôi tích hợp môi trường và các thông số được xác định cho từng dữ liệu chuyển động để chúng có thể được điều chỉnh bằng cách sử dụng toàn bộ môi trường. Thật là rắc rối khi dạy các chuyển động chẳng hạn như vận chuyển một bộ phận được nâng đến vị trí lắp ráp tiếp theo trong một môi trường phức tạp với nhiều đối tượng, mỗi lần bố trí của hệ thống bị thay đổi. Với mô hình môi trường tích hợp, loại chuyển động này tương đối dễ tạo ra bằng cách sử dụng quy hoạch chuyển động động học.
    Bài báo này cũng trình bày việc triển khai khái niệm nêu trên như một plugin cho Choreonoid [ 8 ], là một môi trường phát triển tích hợp cho các công cụ robot.
    Trong các phần sau, chúng ta sẽ tập trung vào công việc lắp ráp, đây là công việc được mong đợi sẽ được robot tự động hóa hơn nữa.

    Công việc liên quan

    Phần mềm được đề xuất trong bài báo này nhằm mục đích cung cấp các phương tiện để tái sử dụng có hệ thống dữ liệu chuyển động của các nhà tích hợp hệ thống và người dùng.
    Hầu hết các công cụ giảng dạy của robot thương mại tập trung vào mô tả trực tiếp chuyển động của robot. Điều này là do cách tiếp cận này cho phép sử dụng đầy đủ các chức năng của từng robot khi thực hiện nhiệm vụ, có tính linh hoạt trong việc mã hóa bí quyết của người dùng một cách rõ ràng. Nhiều loại công cụ giảng dạy thân thiện với người dùng đã được đề xuất. Intera 5.0 [ 9], được phát triển bởi Rethink Robotics, mô tả một chương trình của robot bằng cách kết hợp đồ họa các khối tương tự như cây cú pháp của ngôn ngữ lập trình. Tuy nhiên, các mô tả được tạo bởi các công cụ này có ít thông tin hơn về nội dung công việc và sự phụ thuộc giữa các chuyển động phụ không được cấu trúc tốt. Nếu thông tin như nội dung công việc, rô bốt và công cụ được sử dụng không đầy đủ, rất khó để xác định liệu một mẫu chuyển động nhất định có thể được tái sử dụng tốt cho một nhiệm vụ mục tiêu hay không. Do đó, trong phần mềm của chúng tôi, các mô hình 3D của các đối tượng liên quan được quản lý cùng với các mô hình chuyển động của robot. Ngoài ra, có thể liên kết các dữ liệu như hình ảnh, phim, tài liệu để làm phương tiện bổ sung những thông tin khó hoặc tốn nhiều thời gian để biểu diễn trong môi trường mô hình 3D.
    Trong bài báo này, chúng tôi sử dụng nhiệm vụ từ làm đơn vị tái sử dụng và gọi mô hình đại diện cho nó là mô hình nhiệm vụ. Cách thiết kế mô hình tác vụ tùy thuộc vào người dùng vì những lý do được thảo luận bên dưới. Trong lĩnh vực robot, thuật ngữ task được sử dụng như một khái niệm liên quan mật thiết đến nội dung công việc. Nhiệm vụ từ tập trung vào các mục tiêu của công việc. Các chức năng của robot để đạt được các nhiệm vụ được gọi là kỹ năng. Ogawa và cộng sự. nói nhiệm vụ diễn đạt “phải làm gì” và kỹ năng thể hiện “cách làm” [ 10 ].
    Tuy nhiên, rất khó để định nghĩa các khái niệm này một cách tổng quát đối với phần mềm dự kiến ​​sẽ được sử dụng cho các ứng dụng khác nhau hoàn toàn độc lập với các hệ thống đích, ứng dụng hoặc mức độ trừu tượng. Nhiều tác giả đã xác định các kỹ năng phù hợp với vấn đề và ứng dụng của họ. Huckaby [ 11 ] đã trình bày một khuôn khổ để cho phép chuyển giao kiến ​​thức giữa các quy trình, hệ thống và miền ứng dụng. Các kỹ năng mà họ xác định để mô tả các nhiệm vụ lắp ráp bao gồm nhận biết, sử dụng các công cụ. Szynkiewicz và cộng sự. 12 ] xác định các kỹ năng để thao tác bằng hai tay. Mô hình tác vụ để đi thang máy [ 13 ], sử dụng công cụ [ 10 ] và chọn [ 14] cũng đã được trình bày. Trong lập trình nhiệm vụ thực tế, các hoạt động ở mức độ khá thấp như mở / đóng bộ kẹp và chuyển động trong không gian chung của robot đôi khi được đưa vào các kỹ năng.
    Trong cách tiếp cận của chúng tôi, các mô hình nhiệm vụ là các thực thể do người dùng xác định. Chúng tôi giả định rằng những người dùng khéo léo có kinh nghiệm lập trình robot sẽ thiết kế các mô hình nhiệm vụ và những người dùng khác sử dụng chúng. Ý tưởng này của người dùng và các chuyên gia được đề cập trong Ref. 15 ]. Chúng tôi cũng đã làm việc để thể hiện rõ ràng quá trình thực hiện các nhiệm vụ dựa trên ý tưởng này [ 16 ]. Chúng tôi hy vọng sẽ hỗ trợ người dùng khéo léo cải thiện thiết kế và tích lũy bí quyết đồng thời thu thập phản hồi từ người dùng thông thường thay vì đưa ra một mô hình nhiệm vụ hoàn chỉnh được đặt ngay từ đầu.
    Nhiệm vụ và kỹ năng có thứ bậc [ 13 , 17 ]. Nhiệm vụ được phân tách thành các nhiệm vụ con. Thomas và cộng sự. đã định nghĩa những từ này theo cách từ dưới lên trong khuôn khổ của chúng được gọi là UML / P [ 15 ]. Họ gọi các lệnh của thiết bị hệ thống là hành động nguyên tố (EA), mạng lưới kỹ năng EA và mạng lưới nhiệm vụ kỹ năng. Họ đã sử dụng một thuật ngữ khác "quy trình", đề cập đến một đơn vị lớn hơn bao gồm các nhiệm vụ.
    Cách tiếp cận của chúng tôi gần với UML / P. Một tập hợp các lệnh được thực hiện dưới dạng bộ điều khiển. Các lệnh được tích hợp vào một mô hình nhiệm vụ và các mô hình nhiệm vụ được tích hợp vào một lớp khác, đó là một quy trình làm việc. Các mô hình tác vụ được thiết kế bởi những người dùng khéo léo để thực hiện các lệnh. Mức độ chi tiết của nhiệm vụ được chọn bởi những người dùng khéo léo. Có một điểm khác biệt là UML / P không có mô hình 3D hoặc cơ chế tích hợp chúng.
    Ở những nơi làm việc thực tế, thường rất khó để loại bỏ sự khác biệt của robot, hành vi của bộ điều khiển và các phương pháp thực hiện khác. Bí quyết của người dùng đôi khi được mã hóa theo cách sử dụng một robot cụ thể. Chúng tôi cho rằng việc tích lũy thông tin về cấp độ thực hiện cũng rất quan trọng. Vì vậy, mô hình nhiệm vụ của khung công tác của chúng tôi không hoàn toàn là mục đích công việc. Nó cho phép mô tả mức độ thực hiện.
    Việc hiểu dữ liệu chuyển động của rô bốt có thể tương đối dễ dàng nếu người dùng tự tạo ra nó. Tuy nhiên, rất khó khi người dùng nhìn lại nó sau một thời gian hoặc chia sẻ nó với những người dùng khác. Mô hình 3D giúp người dùng xem những gì được giả định cho môi trường và những gì dự kiến ​​sẽ xảy ra khi thực hiện chuyển động. Trong thực tế, có những trường hợp một số thông tin khó hoặc rắc rối để thể hiện bằng các mô hình 3D. Chúng tôi quản lý nhiều dữ liệu khác nhau cùng với mô hình tác vụ cho thông tin này.

    Yêu cầu đối với phần mềm dạy học

    Cách tiếp cận mà chúng tôi thực hiện là đề xuất phần mềm cho phép người dùng thực hiện quy trình tái sử dụng dữ liệu chuyển động của rô bốt một cách có hệ thống. Cụ thể, chúng tôi hướng tới việc cung cấp phần mềm để thiết kế đơn vị tái sử dụng dữ liệu và quản lý dữ liệu đã thiết kế cùng với các thông số được điều chỉnh, mô hình 3D và các dữ liệu khác cần thiết để hiểu nội dung công việc và kết hợp các dữ liệu này để mô tả một chuỗi công việc dài hơn.
    Trong phần còn lại của phần này, chúng ta sẽ thảo luận về các yêu cầu đối với phần mềm này bằng cách sử dụng lắp ráp một đơn vị cơ khí bao gồm một số bộ phận làm ví dụ. Với một tập hợp các bộ phận và hình ảnh mục tiêu của một bộ phận đã lắp ráp, trước tiên chúng ta xem xét thứ tự lắp ráp các bộ phận này và cách chúng được lắp ráp. Tiếp theo, chúng tôi xem xét loại chuyển động nào của rô-bốt cho phép mỗi bước lắp ráp. Như đã đề cập trong phần “ Giới thiệu ”, cách tiếp cận tạo ra loại chuyển động này tự động bằng cách cung cấp thông tin cần thiết không phải trả tiền trong nhiều trường hợp. Do đó, chúng tôi xem xét sử dụng các chuyển động do con người thiết kế đã được điều chỉnh trước đó cho các đối tượng giống nhau hoặc tương tự. Yêu cầu sau đây nảy sinh từ cuộc thảo luận này.
    1. R1-1.
      Các mẫu chuyển động đã tạo trước đây của robot được tích lũy và một chuỗi hoạt động dài hơn có thể được mô tả bằng cách kết hợp chúng.
    Loại chuyển động nào thích hợp để lắp ráp một số bộ phận chủ yếu phụ thuộc vào các bộ phận đó. Cấu trúc của robot và bàn tay, phương pháp lắp ráp, các công cụ và đồ gá được sử dụng để lắp ráp cũng ảnh hưởng đến việc lựa chọn kiểu chuyển động. Do đó, chúng tôi kỳ vọng rằng các mẫu chuyển động được trích xuất một cách hiệu quả bằng cách sử dụng thông tin liên quan đến cụm mục tiêu.
    1. R1-2.
      Có thể truy cập nhanh vào dữ liệu mục tiêu từ các thông tin liên quan đến nhiệm vụ.
    2. R1-3.
      Có thể đính kèm thông tin cho người dùng hiểu từng dữ liệu như thế nào.
    Sau khi xác định được thứ tự lắp ráp các bộ phận và chuyển động lắp ráp chúng, phải quyết định cách bố trí môi trường làm việc như vị trí cung cấp các bộ phận và vị trí lắp ráp để phát triển hệ thống thực hiện hoạt động lắp ráp. Vì các vị trí này thường khác với các vị trí đã ghi trong dữ liệu được lưu trữ, chúng cần được điều chỉnh tại thời điểm sử dụng lại dữ liệu. Rất khó để áp dụng các chuyển động được thiết kế cho các bộ phận cụ thể hoặc bàn tay cho các bộ phận khác một cách trực tiếp. Tuy nhiên, trong một số trường hợp, có thể xác định dạng chuyển động áp dụng cho một loại nhóm bộ phận nhất định bằng cách tham số hóa chuyển động theo kinh nghiệm. Trong những trường hợp như vậy, điều đáng xem xét là thiết kế các mẫu có tính linh hoạt cao để các nhiệm vụ có thể được thực hiện với một số lượng nhỏ các mẫu.
    Một số ví dụ về tham số sẽ là vị trí nắm của các bộ phận tại thời điểm lắp ráp, chỉ định của tay được sử dụng khi có nhiều tay, mômen siết tại thời điểm vặn và các thông số điều khiển khác. Dựa trên cuộc thảo luận này, chúng tôi thêm các yêu cầu sau.
    1. R2-1.
      Có thể thay đổi bố cục của môi trường làm việc khi kết hợp dữ liệu.
    2. R2-2.
      Có thể tham số hóa linh hoạt các mẫu chuyển động.
    Chúng tôi coi việc sử dụng các mô hình 3D như một đại diện của môi trường làm việc. Mô hình 3D được sử dụng rộng rãi trong các công cụ dạy học ngoại tuyến hoặc các ứng dụng rô bốt khác, nhưng mục tiêu của chúng rất đa dạng. Trong phần mềm của chúng tôi, các mô hình 3D được sử dụng cho hai mục đích sau.
    1. 1.
      Trực quan cho người dùng.
    2. 2.
      Môi trường lập kế hoạch chuyển động động học.
    Nói chung, số lượng bộ phận và quy trình làm việc lớn trong công việc lắp ráp. Thông thường sẽ bổ sung các cải tiến nhỏ cho hệ thống đã triển khai một lần bằng cách điều chỉnh chuyển động của robot hoặc thay đổi vị trí cầm nắm của các đối tượng. Việc trực quan hóa các đối tượng trong toàn bộ môi trường giúp ích rất nhiều cho việc thiết kế bố cục của các đối tượng trong môi trường ảo và điều chỉnh các kiểu chuyển động. Như đã mô tả trong phần trước, hoạt động lắp ráp được thực hiện bằng cách sử dụng lại các mẫu cố định. Nếu lập kế hoạch chuyển động có thể được sử dụng để tạo ra chuyển động kết nối các chuyển động lắp ráp này, thì công việc giảng dạy sẽ giảm đi, đặc biệt khi bố trí không gian làm việc bị thay đổi. Điều này có thể được thực hiện bằng cách giới thiệu các mô hình nhiệm vụ cụ thể thực hiện các quỹ đạo tránh chướng ngại vật trong môi trường bằng cách sử dụng kế hoạch chuyển động trong nội bộ. Để nhận ra điều này,
    Cần lưu ý ở đây rằng chỉ các mục liên quan đến từng mẫu chuyển động mới được đăng ký một cách tự nhiên. Vì vậy, cần tạo ra sự biểu diễn của toàn bộ môi trường bằng cách tích hợp các mô hình 3D liên kết với từng mẫu chuyển động từng phần.
    1. R3-1.
      Mỗi mẫu chuyển động phải được liên kết với các mô hình 3D như một biểu diễn môi trường.
    2. R3-2.
      Các mô hình môi trường này có thể được tích hợp dễ dàng khi kết hợp các mô hình chuyển động.
    Cuối cùng, việc giảng dạy được thực hiện bởi những người sử dụng con người. Thiết kế của giao diện người dùng là một yếu tố quan trọng.
    1. R4-1.
      GUI nên trình bày thông tin cần thiết và đầy đủ ở mỗi giai đoạn giảng dạy.

    Thiết kế phần mềm dạy học

    Phần này mô tả các chi tiết của thiết kế phần mềm để đáp ứng các yêu cầu được liệt kê trong phần “ Yêu cầu đối với phần mềm dạy học ”.

    Mô hình nhiệm vụ và đơn vị tái sử dụng dữ liệu

    Tương ứng với R1-1, Hình  1 cho thấy đơn vị tích lũy và tái sử dụng dữ liệu. Chúng tôi gọi một mẫu chuyển động được phân tách theo ngữ nghĩa . Mô hình nhiệm vụ là một thực thể do người dùng xác định vì những lý do bên dưới. Đầu tiên, vì không có cách nào được thiết lập để phân định các chuyển động, nên có nhiều cách trừu tượng khác nhau tùy thuộc vào trình thiết kế tác vụ. Thứ hai, miền của công việc mục tiêu không được đóng, và không thể quy định trước một tập hợp các mô hình nhiệm vụ được sử dụng cho miền nhiệm vụ và cung cấp chúng cùng với phần mềm dạy học. Mô hình nhiệm vụ của chúng tôi bao gồm:task model
    1. 1.
      Máy trạng thái đại diện cho kiểu chuyển động của rô bốt.
    2. 2.
      Tập hợp các tham số nhiệm vụ cho phép điều chỉnh kiểu chuyển động trên.
    Chúng tôi coi một chuỗi chuyển động như “chọn một bộ phận và lắp ráp nó vào một bộ phận khác” như một đơn vị tái sử dụng. Điều này được biểu diễn dưới dạng một chuỗi thực thi lệnh do bộ điều khiển robot cung cấp. Nói một cách chính xác, state-machine là một chương trình tác vụ cấp trung bình hơn là một mô hình chuyển động đơn giản. Nó mô tả các lệnh gọi đến bộ điều khiển cấp thấp hơn tùy thuộc vào từng trạng thái. Luồng điều khiển của chương trình có thể thay đổi theo kết quả của lần thực hiện lệnh trước đó. Giả định rằng các lệnh có thể được thực thi bởi bộ điều khiển cấp thấp được xác định. Ngoài những cái cơ bản, rất khó để chia sẻ giao diện của bộ điều khiển của robot. Vì vậy, chúng tôi không đặt tiền đề cho một giao diện bộ điều khiển cụ thể. Nếu các lệnh được tham chiếu bởi một máy trạng thái được thực thi bởi bộ điều khiển, thì mô hình tác vụ có thể thực thi được trên bộ điều khiển đó. Nếu không,
    Hình 1
    Hình 1
    Đơn vị tái sử dụng dữ liệu
    Hình ảnh kích thước đầy đủ
    Các tham số nhiệm vụ tương ứng với R2-1 và R2-2. Chúng cho phép thay đổi bố cục của các đối tượng và điều chỉnh các kiểu chuyển động.
    Khi xác định một máy trạng thái, các biểu thức sử dụng tham số tác vụ được mô tả như là đối số của các lệnh gọi trong mỗi trạng thái. Các vị trí mục tiêu của bàn tay hoặc các góc khớp không phải lúc nào cũng được đưa ra trực tiếp bởi người dùng. Các tham số nhiệm vụ thích hợp được chọn để mô hình hóa từng tác vụ. Các biểu thức này mô tả cách tính toán chuyển động của rô bốt từ các tham số đã chọn này.
    Hình 2 minh họa mối quan hệ giữa các yếu tố nêu trên bằng cách sử dụng một ví dụ. Chúng tôi giả sử một bộ điều khiển cấp thấp được đưa ra và bộ điều khiển có các lệnh như moveArm và closeGripper . vị trí lỗ là một tham số nguyên công. Quỹ đạo vặn vít là các đối số để thực thi lệnh moveArm . Các hàm ánh xạ xác định quỹ đạo, quỹ đạo này phụ thuộc vào giá trị của vị trí lỗ .
    Hình 2
    Hình 2
    Máy trạng thái cho một mô hình tác vụ
    Hình ảnh kích thước đầy đủ
    Đơn vị sử dụng lại dữ liệu là sự kết hợp của mô hình tác vụ, siêu dữ liệu là thông tin do người dùng thêm vào và các giá trị ban đầu của các tham số tác vụ. Phần “ Mô hình 3D ”, phần “Siêu dữ liệu ”, giá trị ban đầu “Giá trị mặc định của các thông số nhiệm vụ ” sẽ được giải thích chi tiết.

    Mô hình 3D

    Để đáp ứng R3-1, chúng tôi cho phép người dùng đăng ký các mô hình 3D trong mỗi mô hình nhiệm vụ và liên kết chúng với một số tham số nhiệm vụ. Cơ chế này cho phép thay đổi thông số tác vụ liên quan bằng cách di chuyển tương tác mô hình 3D trong trình mô phỏng. Kết quả là chuyển động của robot thay đổi một cách gián tiếp.
    Cơ chế này không đủ để hỗ trợ chuyển động của các vật phẩm do robot gây ra. Khi thể hiện môi trường trong mô hình 3D, chúng tôi hy vọng rằng những thay đổi môi trường do chuyển động của rô bốt sẽ được tái tạo trong trình mô phỏng. Nếu không, rất khó để kiểm tra xem chuỗi chuyển động kết hợp có hoạt động tốt hay không và việc lắp ráp dự kiến ​​sẽ đạt được. Để diễn tả những thay đổi về môi trường do robot gây ra, chúng tôi thêm cơ chế mô tả những thay đổi trong kết nối giữa tay và đồ vật tại thời điểm nắm và thả hành động, và những thay đổi trong kết nối giữa các đồ vật khi chúng được lắp ráp. Các hiệu ứng phụ này có thể được thêm vào mỗi lần thực thi lệnh.

    Metadata

    Chúng tôi giới thiệu một cơ chế bổ sung để chú thích các mô hình nhiệm vụ bằng văn bản, hình ảnh, phim và các tài liệu khác tương ứng với các yêu cầu R1-2 và R1-3. Siêu dữ liệu được sử dụng để làm cho các mô hình nhiệm vụ có thể tìm kiếm được. Hệ thống sử dụng siêu dữ liệu làm manh mối để truy xuất các mô hình nhiệm vụ.
    Từ kết quả tìm kiếm, người dùng chọn một mẫu chuyển động có thể được sử dụng cho công việc lắp ráp mục tiêu của mình. Tại thời điểm này, nếu người dùng không hiểu loại chuyển động của họ, người dùng không thể đánh giá tính khả dụng của chúng. Công cụ của chúng tôi cung cấp hai phương tiện xác nhận. Một là thực hiện chuyển động trong trình mô phỏng. Cái còn lại là siêu dữ liệu. Siêu dữ liệu đóng vai trò kép là manh mối để người dùng hiểu nội dung của nhiệm vụ và chìa khóa của tìm kiếm.
    Một quan điểm khác của cơ chế này là quản lý thống nhất các dữ liệu liên quan cho các nhiệm vụ. Người dùng liên kết những gì họ nghĩ là quan trọng đối với mỗi mô hình nhiệm vụ. Cụ thể, điều này được người dùng sử dụng để trình bày bí quyết thực hiện nhiệm vụ và xem xét khả năng tái sử dụng của các mô hình nhiệm vụ. Các văn bản thường bao gồm nhưng không giới hạn ở các thuật ngữ chung chung hoặc số mô hình của các mục liên quan đến nhiệm vụ, các động từ diễn đạt hành động được sử dụng cho nhiệm vụ, các cụm từ mô tả mục tiêu nhiệm vụ. Nghĩa của từ mở rộng được sử dụng cho các văn bản vì chúng tôi cho rằng người dùng chưa hình thức hóa đầy đủ những từ nào thích hợp để chú thích nhiệm vụ của họ. Nếu có thể đưa ra một tập hợp các từ thích hợp, nó có thể được cung cấp như một từ điển.
    Hình ảnh thường bao gồm ảnh chụp các đối tượng như các bộ phận, đồ đạc, công cụ hoặc thiết bị, các tư thế quan trọng của rô bốt khi thực hiện nhiệm vụ và quan hệ hình học giữa các đối tượng khi chúng được lắp ráp. Ý tưởng này được vay mượn từ các công cụ quản lý thông tin như Evernote [ 18 ]. Khái niệm về chú thích là Ghi lại những gì bạn nghĩ về nhiệm vụ . Bí quyết thực hiện nhiệm vụ bao gồm nhiều thứ khác nhau. Một số được thể hiện tốt bằng dữ liệu thích hợp cho việc diễn giải công cụ như các mô hình CAD. Tuy nhiên, một số hữu ích để hỗ trợ sự hiểu biết của con người nhưng không có cách biểu diễn được chấp nhận tốt. Vì vậy, khuôn khổ không quy định chặt chẽ loại dữ liệu nào nên được liên kết.

    Giá trị mặc định của các tham số nhiệm vụ

    Các mô hình nhiệm vụ được ghi lại cùng với các giá trị mặc định của các tham số nhiệm vụ của chúng. Có hai lý do cho việc này.
    Lý do đầu tiên là làm cho các mô hình tác vụ có thể thực thi được như một mô hình chuyển động từng phần. Sau khi tìm kiếm một tác vụ, người dùng sẽ kiểm tra nội dung của nó trong chế độ xem giả lập. Mô hình nhiệm vụ chỉ mô tả mối quan hệ giữa các tham số khác nhau và kiểu chuyển động của robot. Để thực thi nó, mỗi tham số tác vụ cần được khởi tạo với một số giá trị thích hợp.
    Lý do thứ hai là các giá trị tham số được điều chỉnh trong môi trường thực có giá trị sử dụng lại như đã đề cập trong phần giới thiệu. Chúng bao gồm các giá trị được điều chỉnh để lưu trữ tác vụ một cách hiệu quả và mạnh mẽ. Một số ví dụ là các thông số điều khiển như độ cứng, ngưỡng chuyển đổi chế độ, các thông số để điều khiển quỹ đạo như tốc độ di chuyển hoặc thời gian chờ ở trạng thái nào đó.

    Quy trình làm việc

    Chúng tôi gọi một chuỗi chuyển động dài hơn thu được bằng cách kết hợp quy trình làm việc của các tác vụ (R1-1). Hình 3 cho thấy một ví dụ về quy trình làm việc. Quy trình làm việc cũng được thể hiện dưới dạng sơ đồ trạng thái máy giống như một nhiệm vụ. Các nút của quy trình làm việc là các tác vụ thay vì thực thi lệnh. Các phần tử cú pháp là thực thi tuần tự, nhánh có điều kiện, hợp nhất luồng điều khiển, nút ban đầu, nút cuối cùng và nút tác vụ. Nhánh có điều kiện chuyển đổi luồng điều khiển tùy thuộc vào kết quả của việc thực hiện tác vụ trước đó. Có thể mô tả một biểu thức bằng cách sử dụng các thông số dòng chảy được giải thích trong "Các thông số dòng chảy”Cho một điều kiện phức tạp hơn. Nút tác vụ có một cổng hình tam giác để kết nối luồng điều khiển. Mặt khác, một nút đại diện cho một tham số luồng được mô tả sau chỉ có một cổng tròn. Một nút đại diện cho một nút mô hình 3D có một cổng hình vuông cùng với một biểu tượng hình ảnh.
    Hình 3
    hình 3
    Một ví dụ về quy trình làm việc
    Hình ảnh kích thước đầy đủ

    Thông số dòng chảy

    Nếu có dữ liệu phù hợp chính xác với nhiệm vụ lắp ráp mục tiêu, nó có thể được sử dụng như trong quy trình làm việc mới. Tuy nhiên, có nhiều trường hợp cần một số điều chỉnh như thay đổi vị trí của vật thể, thay thế bộ phận nào đó. Điều này được thực hiện bằng cách thay đổi các thông số nhiệm vụ và mô hình 3D (R3-1, R3-2).
    Tiếp theo, chúng ta cần suy nghĩ về loại hoạt động phù hợp để thực hiện điều chỉnh này. Có một vấn đề với phương pháp viết lại trực tiếp giá trị của tham số mà mỗi mô hình nhiệm vụ có. Xem xét tình huống robot đặt một con vít vào lỗ và siết chặt nó bằng tuốc nơ vít. Nếu điều này được thể hiện bằng hai mô hình nguyên công, thì vít xuất hiện trong hai mô hình nguyên công là cùng một thực thể. Nếu vị trí kết quả của việc thực thi tác vụ đầu tiên không giống với vị trí ban đầu của tác vụ thứ hai, toàn bộ quy trình làm việc không nhất quán. Người dùng cần có thời gian để điều chỉnh tất cả các giá trị của các tham số nhiệm vụ tương ứng để làm cho quy trình làm việc nhất quán khi số lượng nhiệm vụ và bộ phận trong quy trình công việc lớn và việc điều chỉnh tốt bố cục được lặp lại. Vì thế, chúng tôi giới thiệu một tham số luồng là một tham số có thể được tham chiếu trong toàn bộ quy trình làm việc. Các tham số nhiệm vụ được mong đợi giữ cùng một giá trị qua một số tác vụ được liên kết với tham số luồng. Người dùng có thể tạo một liên kết mới bằng đồ thị bằng cách kết nối một cổng của nút tác vụ đại diện cho một tham số tác vụ và một nút tham số luồng như trong Hình. 3 .
    Một cổng tròn của một nút tác vụ đại diện cho một tham số tác vụ của nó. Khi cổng này được kết nối với một nút tham số luồng, giá trị của tham số tác vụ được đồng bộ hóa với giá trị của tham số luồng được kết nối. Nghĩa là, khi một tác vụ nào đó thay đổi giá trị của một tham số luồng thì giá trị của tham số nhiệm vụ của một tác vụ khác được liên kết với tham số luồng đó cũng thay đổi. Thời gian đọc / ghi được xác định bởi định nghĩa của nhiệm vụ.

    Chia sẻ và thay thế các mô hình 3D trong quy trình làm việc

    Nếu nhiều tác vụ và luồng có các bản sao của mô hình 3D, thì độ trễ của việc tải mô hình sẽ tăng lên một cách không thể chấp nhận được. Kích thước của cơ sở dữ liệu cũng trở nên lớn đáng kể. Để tránh điều này, các mô hình 3D được đăng ký trước và mỗi tác vụ và quy trình đều có tham chiếu đến chúng. Dữ liệu mô hình 3D đã đăng ký trước này được gọi là mô hình chính. Thay thế mô hình 3D trong quy trình làm việc được thực hiện bằng cách sử dụng mô hình chính này. Hãy xem xét trường hợp người dùng muốn thay thế một chai nhựa 350 ml được sử dụng trong công việc hiện có bằng một chai nhựa 500 ml. Trong trường hợp này, người dùng thêm một nút mô hình 3D và làm cho nó tham chiếu đến một nút chính của chai cao.
    Trong Hình 3 , nút có hình chai nhựa là nút mô hình 3D. Nút mô hình 3D có một cổng vuông có thể được kết nối với một cổng vuông của một tác vụ. Ngoài chuyển động của rô bốt, nhiệm vụ còn thực hiện các thao tác gắn và tháo trên mô hình 3D như được mô tả trong phần “ Mô hình 3D ”. Cổng vuông được sử dụng để thay đổi mục tiêu của các hoạt động này.
    Khung có thể được xác định ngoài nguồn gốc trên mô hình 3D. Ví dụ, bạn có thể xác định vị trí lỗ vít với tên từ lỗ 1 đến lỗ 4 cho một bộ phận có 4 lỗ vít. Các tham số dòng chảy có thể được liên kết với các tham số tác vụ. Theo cách tương tự, các khung này được xác định trên mô hình 3D cũng có thể được liên kết với các tham số nhiệm vụ. Các khung này là một loại tham số luồng và được biểu diễn dưới dạng cổng tròn trên các nút mô hình 3D.

    Đầu ra cho các tham số

    Các giá trị của tham số nhiệm vụ và tham số luồng đôi khi cần được cập nhật trong khi thực thi một tác vụ. Một trường hợp sử dụng điển hình là nhận dạng một đối tượng. Vị trí và tư thế được công nhận thường được sử dụng trong các nhiệm vụ tiếp theo. Mẫu này có thể được thực hiện bằng cách xuất kết quả nhận dạng tới một tham số luồng thích hợp trong nhiệm vụ nhận dạng và liên kết tham số luồng với một tham số nhiệm vụ của một tác vụ khác sử dụng giá trị. Trong Hình 3 , vị trí của chai nhựa được cập nhật bằng cách sử dụng một giá trị được công nhận.

    Giao diện người dùng

    Chúng tôi sẽ mô tả thiết kế tương ứng với R4-1. Trong trường hợp sản xuất hàng loạt, vai trò của người dùng cuối và người tích hợp hệ thống tương đối tách biệt. Các nhà tích hợp hệ thống thiết kế hệ thống mất nhiều thời gian. Tuy nhiên, để sử dụng các hệ thống robot linh hoạt, người dùng cuối cần phải tham gia nhiều hơn vào công việc kỹ thuật.
    Chúng tôi phân loại người dùng phần mềm thành hai nhóm: Người dùng và Chuyên gia và đưa ra các quan điểm phù hợp với các trường hợp sử dụng điển hình của họ. Chuyên gia có kiến ​​thức tương đối cao về robot, lập trình và tích hợp hệ thống, được yêu cầu để thiết kế các mô hình nhiệm vụ. Mặt khác, người dùng có kiến ​​thức hạn chế về chúng. Chuyên gia thường chỉ ra các kỹ sư khác nhau, từ nhà sản xuất robot, nhà tích hợp hệ thống đến những người khéo léo của các công ty người dùng cuối (Hình 4 ). Chuyên gia thiết kế các mẫu tái sử dụng dữ liệu cơ bản. Người dùng tùy chỉnh các mẫu cho các đối tượng cụ thể hoặc bố cục hệ thống và kết hợp chúng để mô tả quy trình công việc. Người sử dụng cũng quản lý siêu dữ liệu.
    Hình 4
    hinh 4
    Phân loại người dùng
    Hình ảnh kích thước đầy đủ

    Quan điểm cho người dùng

    Hình 5 cho thấy góc nhìn của Người dùng . Cửa sổ bao gồm 4 chế độ xem, Trong chế độ xem tìm kiếm, Người dùng nhập các từ khóa như “bánh răng” hoặc “vặn vít”. Sau đó Người dùng chọn từ kết quả tìm kiếm. Thông tin khác nhau liên quan đến mô hình nhiệm vụ đã chọn được hiển thị trong mỗi dạng xem. Siêu dữ liệu liên quan đến mô hình nhiệm vụ được hiển thị trong chế độ xem siêu dữ liệu. Trong chế độ xem cảnh, người máy và mô hình 3D liên quan đến mô hình nhiệm vụ được trình bày. Người dùng cũng kiểm tra chuyển động trong chế độ xem cảnh.
    Hình 5
    hình 5
    Quan điểm cho người dùng
    Hình ảnh kích thước đầy đủ
    Tiếp theo, Người dùng kết hợp các kết quả tìm kiếm để mô tả quy trình làm việc. Bằng thao tác kéo từ dạng xem tìm kiếm vào dạng xem dòng công việc, tác vụ đã chọn sẽ được thêm vào dòng công việc. Kết nối giữa các tác vụ đã thêm và các tham số luồng được chỉnh sửa trong dạng xem quy trình làm việc.

    Khả năng hiển thị của các thông số

    Ngoài luồng điều khiển của chương trình, việc hiển thị các tham số khác nhau và mối quan hệ của chúng trong một hình là phù hợp để hiểu cấu trúc tổng thể của quy trình làm việc. Tuy nhiên, thông tin quá nhiều có nguy cơ làm cho con số trở nên khó hiểu, khi số lượng tham số và nút tác vụ lớn. Giao diện người dùng cần một số khéo léo để kiểm soát lượng thông tin được trình bày trong dạng xem quy trình làm việc. Để giảm bớt vấn đề này, chúng tôi giới thiệu một chức năng để chuyển đổi khả năng hiển thị của các tham số.
    Về cơ bản, việc thiết kế quy trình làm việc bao gồm hai giai đoạn. Các thông số điều khiển được sử dụng cho hoạt động lắp ráp giữa các bộ phận cụ thể thường không bị thay đổi, một khi việc điều chỉnh được thực hiện. Khi bố trí của các đối tượng và rô bốt bị thay đổi, việc cài đặt các thông số điều khiển này sẽ vô hình làm cho việc điều chỉnh khác như thiết kế môi trường làm việc trở nên dễ dàng.
    Để kích hoạt điều này, các tham số nhiệm vụ có thể được đặt thành ẩn trong dạng xem quy trình làm việc. Ngoài ra, để cải thiện khả năng hoạt động, GUI có các chức năng phóng to / thu nhỏ, chuyển vùng hiển thị, chuyển chế độ chỉnh sửa. Bằng cách tắt chế độ chỉnh sửa, có thể ngăn chặn việc thay đổi nhầm các thông số hoặc cấu trúc của quy trình làm việc trong các hoạt động như tìm kiếm và thực hiện các chuyển động.

    Quan điểm dành cho chuyên gia

    Hình 6 cho thấy góc nhìn của Expert . Chuyên giachủ yếu là thiết kế các mô hình nhiệm vụ. Vì mục đích này, các khung nhìn để xác định thông tin cần thiết cho mô hình nhiệm vụ được chuẩn bị. Chế độ xem máy trạng thái được sử dụng để thiết kế cấu trúc của máy trạng thái. Danh sách lệnh được xác định bởi bộ điều khiển cấp thấp được hiển thị. Một nút lệnh được thêm vào bằng cách kéo chúng vào chế độ xem máy trạng thái. Chế độ xem tham số được sử dụng để xác định các tham số nhiệm vụ và thay đổi giá trị của chúng. Khi một nút lệnh được chọn trong chế độ xem máy trạng thái, thông tin của nút được hiển thị trong một hộp thoại riêng biệt. Các biểu thức để tính toán các đối số lệnh từ các tham số tác vụ được chỉnh sửa trong hộp thoại. Mô hình nhiệm vụ cũng có thể được xác định trong một tệp văn bản. Hiện tại, định dạng YAML được hỗ trợ. Một số người thích nhập mô hình nhiệm vụ sau khi xuất và chỉnh sửa nó ở định dạng YAML cùng một lúc.
    Hình 6
    hình 6
    Quan điểm dành cho chuyên gia
    Hình ảnh kích thước đầy đủ

    Thực hiện

    Kiến trúc hệ thống được thể hiện trong Hình 7 . Khung công tác được triển khai dưới dạng một plugin cho Choreonoid [ 8 ], là một môi trường phát triển tích hợp cho các công cụ robot với cơ chế mở rộng dựa trên plugin mạnh mẽ. Plugin triển khai khung công tác được hiển thị dưới dạng plugin lõi Giảng dạy trong hình. Tất cả dữ liệu bao gồm các mẫu chuyển động do Expert thiết kế và siêu dữ liệu liên quan được quản lý bởi cơ sở dữ liệu quan hệ. SQLite [ 19] được sử dụng như một hệ quản trị cơ sở dữ liệu. Dữ liệu được lưu trữ có thể được xuất sang tệp YAML và được nhập sau khi chỉnh sửa bằng trình soạn thảo văn bản. Các tệp YAML cũng hữu ích cho việc hợp tác với các công cụ khác. Một hợp tác khả thi là nhập một mô hình nhiệm vụ được tạo ra bởi một công cụ để phân tích các hoạt động của con người.
    Hình 7
    hình 7
    Kiến trúc hệ thống của khuôn khổ
    Hình ảnh kích thước đầy đủ
    Bộ điều khiển được sử dụng trong các mô hình tác vụ được triển khai dưới dạng các plugin riêng biệt. Điều này được hiển thị dưới dạng plugin Bộ điều khiển trong hình. Plugin trình điều khiển cần triển khai một giao diện chung để các lệnh được xác định bởi nó được gọi bằng plugin lõi của Teaching . Các bộ điều khiển có thể được thực hiện bằng cách ánh xạ trực tiếp API tiêu chuẩn của rô bốt hoặc bằng cách sử dụng các trừu tượng khác nhau. Plugin cốt lõi dạy học lấy danh sách các lệnh khi plugin Bộ điều khiển được tải, gọi các lệnh dựa trên đặc tả lệnh và các nhánh dựa trên kết quả của việc thực thi lệnh.

    Thí nghiệm

    Trong phần này, chúng tôi trình bày cách tạo chuỗi chuyển động của rô bốt bằng cách sử dụng ví dụ về lắp ráp máy bay YCB [ 20 ]. Robot được sử dụng trong ví dụ này là UR3 do Universal Robots chế tạo với cấu hình hai cánh tay. Nhiệm vụ này bao gồm bốn phần: thân máy bay được lắp ráp một phần, một cánh chính và hai vít. Mục tiêu của nhiệm vụ này là lắp ráp bốn phần này thành một. Hình 8 cho thấy các bộ phận này và cách chúng được lắp ráp.
    Hình 8
    hình 8
    Một phần của việc lắp ráp máy bay YCB
    Hình ảnh kích thước đầy đủ
    Quy trình lắp ráp như sau. Đầu tiên, cánh chính được lắp ráp trên thân máy bay. Cánh cần được giữ với lực vừa phải để có thể ăn khớp với thân. Sau đó, cánh được cố định bằng vít. Cuối cùng, một con vít khác được lắp vào phía sau thân máy bay.

    Lắp ráp cánh chính

    Việc lắp ráp cánh chính vào thân máy bay không đơn giản là chọn và đặt mà robot cần phải đẩy cánh vào thân máy bay. Nếu một tác vụ như vậy được tìm thấy trong cơ sở dữ liệu, nó có thể được sử dụng như hiện tại. Ở đây, chúng tôi áp dụng phương pháp đặt cánh chính một lần vào thân và thực hiện nhiệm vụ giữ với lực thích hợp từ trên cao, vì cánh chính có thể được đặt trên thân một cách ổn định. Vì thân máy bay di chuyển dễ dàng, nó cần được cố định theo một cách nào đó. Có thể sử dụng một đồ gá khác, nhưng chúng tôi cố định nó bằng tay kia của robot vì robot có hai tay. Quy trình làm việc trên phần mềm của chúng tôi để thực hiện quy trình làm việc này được tóm tắt như sau.
    1. 1.
      Tạo quy trình làm việc mới và thêm trạng thái ban đầu và cuối cùng.
    2. 2.
      Tìm kiếm "chọn và đặt" và thêm nó vào quy trình làm việc.
    3. 3.
      Thay thế các mô hình 3D được kết nối với nơi chọn bằng cánh chính và thân máy bay tương ứng (Hình 9 ). Điều này được thực hiện bằng cách tìm mô hình 3D mong muốn từ các bậc thầy mô hình. Sau đó, tạo liên kết giữa khung cánh của nút mô hình thân máy bay và khung cơ sở đặt của tác vụ chọn và đặt, vì chuyển động đặt cần được thực hiện đối với khung cánh.
    4. 4.
      Tiếp theo, tìm kiếm “nhấn” và thêm kết quả vào quy trình làm việc. Sau đó, thay đổi các đối tượng liên kết theo cách tương tự.
    5. 5.
      Lực nhấn hoặc thông số điều khiển được thay đổi nếu cần. Khi tồn tại cùng một dữ liệu lắp ráp, giá trị của tham số có thể được sử dụng mà không thay đổi. Nếu không có dữ liệu như vậy, một giá trị thích hợp được đặt trước và một số điều chỉnh được thực hiện sau đó trong môi trường thực. Nếu có dữ liệu liên quan đến các bộ phận tương tự, dữ liệu được ghi lại sẽ cho giá trị ban đầu tốt tại thời điểm điều chỉnh ngay cả khi nó không phải là tối ưu.
    6. 6.
      Tiếp tục thêm các chuyển động để giữ và thả thân máy bay bằng tay kia trước và sau các thao tác chọn và đặt và nhấn. Điều chỉnh vị trí giữ, chiều rộng đóng / mở của kẹp cho phần giữ. Việc lắp ráp cánh chính đã được hoàn thành (Hình 10 ).
    Vì giá trị lực cho lần ép không được chia sẻ với các tác vụ khác nên nó không bị ràng buộc với tham số dòng chảy. Tương tự như vậy, các vị trí nắm và giữ, là vị trí tương đối so với nguồn gốc của gió, không nhất thiết bị ràng buộc với các thông số dòng chảy. Trong các hình dưới đây, việc chọn các tay đã hoàn thành và tham số luồng cho chọn tay và các liên kết liên quan được đặt ở chế độ ẩn.
    Hình 9
    hình 9
    Thêm chọn và đặt và thay thế các mô hình 3d
    Hình ảnh kích thước đầy đủ
    Hình 10
    hình 10
    Lắp ráp cánh chính
    Hình ảnh kích thước đầy đủ

    Thêm công nhận

    Chúng tôi giả định rằng vị trí tiếp tế của cánh chính đã được đưa ra một cách đại khái, nhưng nó không được xác định chính xác. Đây là một thiết lập vấn đề phổ biến cho các nhiệm vụ lắp ráp. Để đối phó với tình huống này, chúng tôi thêm một nhiệm vụ nhận dạng. Quy trình được hiển thị bên dưới.
    1. 1.
      Tìm kiếm nhiệm vụ nhận dạng cho cánh và thêm nó vào quy trình làm việc. Các từ khóa như "máy bay" và "nhận dạng" dự kiến ​​sẽ đạt được.
    2. 2.
      Nhận dạng cũng được định nghĩa trong khuôn khổ tương tự như các mẫu chuyển động. Nhận biết xuất ra một biến nhiệm vụ cụ thể. Bằng cách thêm một tham số luồng vào luồng công việc và liên kết nó với biến nhiệm vụ, vị trí và hướng của đối tượng được nhận dạng sẽ được xuất cho tham số luồng. Liên kết tham số luồng với một tham số tác vụ của tác vụ chọn và đặt. Do đó, chuyển động chọn và đặt được thực hiện dựa trên vị trí được công nhận (Hình 11 ).
    Hình 11
    hình 11
    Thêm công nhận
    Hình ảnh kích thước đầy đủ

    Vít1

    Quy trình lắp ráp vít đầu tiên (vít 1) như sau.
    1. 1.
      Đầu tiên, chúng tôi thêm nhiệm vụ chọn và đặt vào quy trình làm việc và thay thế đối tượng được chọn bằng vít của máy bay YCB bằng cách chọn nó từ các bản gốc mô hình. Vít 1 được lắp vào lỗ của cánh chính, lỗ này đã được thêm vào quy trình làm việc. Đây không phải là một đối tượng riêng biệt của cùng một loại. Do đó, khung cơ sở đặt của nơi chọn và đặt được kết nối với khung lỗ1 của mô hình hiện có. Vì tư thế nắm của vít1 được xác định liên quan đến gốc của vít, nên khung đế của nguyên công được nối với gốc của vít1.
    2. 2.
      Tiếp theo, chuyển động để siết chặt vít được đặt trong lỗ với trình điều khiển được thêm vào. Đây là nhiệm vụ lấy và vận chuyển người lái và tác dụng lực và mômen xoắn lên trục vít với người lái. Công việc này bao gồm 5 bước: gắp và vận chuyển lái, vặn vít, vận chuyển trở lại, đặt lái về vị trí ban đầu.
    3. 3.
      Nếu mô-men xoắn siết vít khác với giá trị đã đăng ký, hãy thêm thông số dòng chảy và kết nối chúng với thông số tác vụ tương ứng và đặt một số giá trị mới.
    4. 4.
      Nắm chặt trình điều khiển được đặt ở tư thế tự do yêu cầu phải nhận biết thêm hoặc nắm lại trình điều khiển. Điều này khiến công việc trở nên phức tạp hơn mức cần thiết. Vì vậy, chúng tôi giới thiệu một trạm công cụ để người lái xe dễ dàng nắm bắt. Mô hình 3D của trạm công cụ được thêm vào từ các bản gốc của mô hình và vị trí lỗ của nó được kết nối với nguyên công vị trí cuối cùng.
    5. 5.
      Vít1 cũng được cung cấp bằng cách sử dụng một rãnh khác của trạm dụng cụ để có thể dễ dàng chọn. Sau khi thêm chuỗi cho vít1, chúng tôi nhận được quy trình làm việc trong Hình 12 .
    Hình 12
    hình 12
    Thêm vít
    Hình ảnh kích thước đầy đủ

    Vít2

    Hầu hết quy trình thêm vít thứ hai (vít 2) giống với vít 1. Điểm khác biệt là các vít liên kết với các nguyên công gắp và vặn là vít 2 thay vì vít 1. Vít 1 và vít 2 là cùng một loại của vít. Chúng được tạo ra từ cùng một mô hình chính. Tuy nhiên, vì chúng là các thực thể khác nhau, chúng không được chia sẻ bởi các nhiệm vụ chọn. Vì cách nắm các vít và mômen siết được mong đợi là giống nhau nên các thông số đại diện cho chúng được dùng chung. Điều này ngăn việc quên thay đổi một số tham số tác vụ.
    Hình 13 cho thấy môi trường mô hình 3D tích hợp cho quy trình làm việc này. Trong môi trường mô hình 3D tích hợp, bạn có thể thay đổi vị trí nơi lắp ráp được thực hiện hoặc vị trí cung cấp công cụ trong khi xác nhận mối quan hệ vị trí của tất cả các đối tượng liên quan. Phần chuyển của pick-and-place có thể được thiết kế để thực hiện lập kế hoạch chuyển động bên trong khi thiết kế mô hình nhiệm vụ để tạo ra chuyển động không va chạm trong môi trường mô hình 3D tích hợp.
    Hình 13
    hình 13
    Các mô hình 3D tích hợp cho quy trình làm việc
    Hình ảnh kích thước đầy đủ
    Hình 14hiển thị một trường hợp sử dụng của siêu dữ liệu. Văn bản mô tả nội dung công việc, các lưu ý khi sử dụng từng mẫu chuyển động, các thông số điều chỉnh, v.v. Trình điều khiển được gắn một tay cầm để cầm nắm ổn định bằng một gắp song song và chống trượt trong quá trình vặn vít. Bằng cách in 3D tệp STL và lắp tay cầm đã in như trong hình, có thể chuẩn bị công cụ giống như dữ liệu gốc. Điều này làm tăng tốc độ tái tạo của môi trường tương tự. Hoạt động siết vít bao gồm một chuyển động thăm dò để lắp chặt đầu trình điều khiển vào ren vít. Để hiểu chuyển động từng phút như vậy, phim thực thường hiệu quả hơn mô hình 3D. Trên thực tế, có những thông tin mà trình mô phỏng không thể tái tạo, chẳng hạn như chuyển động của vít gây ra bởi sự tiếp xúc của dụng cụ với vít tại thời điểm thăm dò,
    Hình 14
    hình 14
    Một ví dụ về việc sử dụng siêu dữ liệu
    Hình ảnh kích thước đầy đủ

    Thảo luận

    Như bạn có thể thấy từ Hình 12 , quy trình làm việc có xu hướng phức tạp. Trong hình này, sự lựa chọn của các tay robot được sử dụng cho các nhiệm vụ riêng lẻ không được hiển thị, nhưng hình này đã rất phức tạp. Làm cho các sơ đồ dễ nhìn là một trong những công việc quan trọng trong tương lai. Sự phức tạp của luồng điều khiển và luồng dữ liệu là một vấn đề phổ biến trong ngôn ngữ trực quan. Chúng tôi muốn thảo luận về các cách tiếp cận có thể có liên quan đến phần mềm mô hình hóa cho SysML [ 21 ].
    Thứ nhất, vì các nhiệm vụ tương thích với hệ thống phân cấp (phần “ Công việc liên quan ”), bằng cách xác định một chuỗi nhiệm vụ từng phần như một máy trạng thái riêng biệt, toàn bộ chuỗi được thể hiện với mức độ trừu tượng cao hơn. Hình 15 thể hiện quy trình làm việc tổng thể sau khi phân cấp. Hình 16 cho thấy máy trạng thái phụ tương ứng với “vít lắp ráp 1”. Trong trường hợp một số lượng lớn các nút cục bộ được kết nối với một tham số, cách tiếp cận này có hiệu quả để bản địa hóa các liên kết trong máy trạng thái con. Một ví dụ là tham số hóa bàn tay được sử dụng cho một chuỗi nhiệm vụ.
    Hình 15
    hình 15
    Toàn bộ quy trình làm việc
    Hình ảnh kích thước đầy đủ
    Hình 16
    hình 16
    Máy trạng thái phụ để lắp ráp vít
    Hình ảnh kích thước đầy đủ
    Hình 15 chỉ hiển thị luồng điều khiển và không hiển thị luồng dữ liệu. Một trường hợp sử dụng điển hình của luồng dữ liệu là xem tác vụ nào chia sẻ mô hình hoặc tham số và tham số và mô hình nào được tác vụ sử dụng. Do đó, chúng tôi tách chế độ xem luồng dữ liệu khỏi chế độ xem luồng điều khiển và giảm bớt độ phức tạp trên luồng dữ liệu bằng cách sử dụng chế độ xem giới hạn cho luồng dữ liệu được kết nối với các nút tham số luồng đã chọn, nút mô hình 3D hoặc nút tác vụ. Hình 17 là khung nhìn hiển thị luồng dữ liệu được kết nối với nhiệm vụ “lắp ráp vít 1” trong Hình 15 .
    Hình 17
    hình 17
    Chế độ xem luồng dữ liệu cho một tác vụ đã chọn
    Hình ảnh kích thước đầy đủ

    Phần kết luận

    Bài báo này trình bày thiết kế phần mềm dạy học mới dựa trên việc tái sử dụng các dữ liệu dạy học trước đó. Trong phần mềm giảng dạy này, sự kết hợp của các tham số do người dùng điều chỉnh, mô hình chuyển động, mô hình 3D như một biểu thức môi trường và siêu dữ liệu được sử dụng cho các khóa tìm kiếm và hiểu nội dung của người dùng là đơn vị tái sử dụng dữ liệu. Một cơ chế để xây dựng các chuỗi chuyển động dài hơn một cách có hệ thống bằng cách kết hợp các dữ liệu này cũng đã được giải thích. Cơ chế này cho phép không chỉ đơn giản là sắp xếp các chuyển động theo dòng mà còn thay thế các mô hình 3D, điều chỉnh các tham số điều khiển trên các mô hình nhiệm vụ và quản lý mối quan hệ chia sẻ của các tham số và mô hình 3D khi dữ liệu được sử dụng lại trong một quy trình làm việc.
    Bằng cách sử dụng phần mềm này, có thể sử dụng lại các mẫu chuyển động được điều chỉnh trong môi trường thực, đồng thời điều chỉnh bố cục tổng thể của môi trường làm việc với các thông số tích hợp và mô hình 3D. Có thể mong đợi sự hỗ trợ hiệu quả bằng cách lập kế hoạch chuyển động động học với các mô hình 3D tích hợp trong trình mô phỏng. Sau đó, việc triển khai như một trình cắm thêm Choreonoid được đề cập.
    Chúng tôi cũng đã trình bày cách sử dụng từng chức năng của phần mềm, lấy một phần của quá trình lắp ráp máy bay YCB làm ví dụ và cho thấy rằng một quy trình lắp ráp thực tế, tương đối phức tạp có thể được thực hiện bằng phần mềm được đề xuất. Như đã thảo luận trong phần " Thảo luận ", giới thiệu các cơ chế để ngăn chặn sự phức tạp của sơ đồ là một trong những công việc quan trọng trong tương lai.

    Không có nhận xét nào

    Post Top Ad

    ad728

    Post Bottom Ad

    ad728