Mục lục:

Robot tại nhà được hỗ trợ bởi EWON Raspberry Pi: 7 bước (có hình ảnh)
Robot tại nhà được hỗ trợ bởi EWON Raspberry Pi: 7 bước (có hình ảnh)

Video: Robot tại nhà được hỗ trợ bởi EWON Raspberry Pi: 7 bước (có hình ảnh)

Video: Robot tại nhà được hỗ trợ bởi EWON Raspberry Pi: 7 bước (có hình ảnh)
Video: Webinar: Giải Pháp Kit Công Nghiệp Cho Raspberry Pi 4 & Các Ứng Dụng Thực Tế Đã Triển Khai 2024, Tháng bảy
Anonim
Robot tại nhà được hỗ trợ bởi EWON Raspberry Pi
Robot tại nhà được hỗ trợ bởi EWON Raspberry Pi
Robot tại nhà được hỗ trợ bởi EWON Raspberry Pi
Robot tại nhà được hỗ trợ bởi EWON Raspberry Pi
Robot tại nhà được hỗ trợ bởi EWON Raspberry Pi
Robot tại nhà được hỗ trợ bởi EWON Raspberry Pi

Bởi sharathnaikSharathnaik.comFollow More của tác giả:

Hình ảnh trái tim | Xem nhịp tim của bạn
Hình ảnh trái tim | Xem nhịp tim của bạn
Hình ảnh trái tim | Xem nhịp tim của bạn
Hình ảnh trái tim | Xem nhịp tim của bạn
DIY- Cool Denim Pocket Notebook (có hình ảnh)
DIY- Cool Denim Pocket Notebook (có hình ảnh)
DIY- Cool Denim Pocket Notebook (có hình ảnh)
DIY- Cool Denim Pocket Notebook (có hình ảnh)
PUPPI
PUPPI
PUPPI
PUPPI

Giới thiệu: Kỹ thuật và Thiết kế Thông tin thêm về sharathnaik »

Gần đây tôi thấy mình đang say sưa xem rất nhiều loạt phim của Netflix do tình hình hiện tại, tôi hy vọng tất cả các bạn đều an toàn và tôi đã thấy phần 5 của Black Mirror đã được phát hành. Một bộ tuyển tập xoay quanh cuộc sống cá nhân của một nhóm người và cách công nghệ điều khiển hành vi của họ.

Và một trong những tập thu hút sự chú ý của tôi là Rachel, Jack và Ashley Too. Một trong những nhân vật chính của loạt phim này là một con robot nhà tên là Ashley O và con robot đó có rất nhiều tính cách xung quanh nó và tôi tự nghĩ rằng mình nên xây dựng một con, đó là một dự án tốt để bắt đầu với lập trình nếu không phải vậy thì ít nhất Tôi có thể lập trình nó để cười trước những câu chuyện cười của mình.!

Ewon là gì? Nó có thể làm gì?

Vì vậy, trước khi bắt đầu làm việc với dự án này, tôi đã đặt ra một số nguyên tắc cơ bản cần tuân thủ. Dự án này phải được

  • Dễ dàng cho mọi người dùng thử
  • Không chỉ đơn giản là dễ thương mà còn phải hữu ích để nó không bị hết hạn sử dụng
  • Mô-đun, để bạn có thể tiếp tục thêm các tính năng mới.

Sau khi thiết lập quy tắc này, tôi đã quyết định sử dụng SDK của Trợ lý Google. SDK này cung cấp rất nhiều tính năng mà tôi đang tìm kiếm và nếu bạn cảm thấy nhàm chán với Ewon, bạn taxi luôn sử dụng nó như một thiết bị Google Home và làm những gì Google Home làm.

Những gì Ewon sẽ làm là thêm một nhân vật vào trợ lý Google. Đó là thể hiện cảm xúc và phản ứng với những gì người dùng nói. Giờ đây, bạn không chỉ nghe thấy giọng nói mà còn biết cách phản ứng.

LƯU Ý: Hướng dẫn này đang được phát triển. Tôi sẽ sớm tải lên tất cả các tệp có liên quan. Cảm ơn bạn

Bước 1: Các bộ phận cần thiết cho Ewon

THIẾT BỊ ĐIỆN TỬ

  • Raspberry PI
  • Servo SG90 (x4)
  • Servo MG995 - tiêu chuẩn (x2)
  • Trình điều khiển Servo 16 kênh PCA9685
  • Card âm thanh USB
  • Cái mic cờ rô
  • Loa (Bất kỳ loa nhỏ nào cũng được, tương tự như thế này)
  • Đầu nối đầu cắm pin nam và nữ
  • Breadboard
  • Hiển thị Nextion

VÒNG BI VÀ VÒNG BI

  • M3 * 10mm (x10)
  • M3 * 8mm (x10)
  • M3 Nuts (x20)
  • Ổ đỡ trục

    • OD: 15mm ID: 6mm Chiều rộng: 5mm (x2)
    • OD: 22mm ID: 8mm Chiều rộng: 7mm (x2)

CÁC VẬT LIỆU KHÁC

  • Bế tắc

    • 40mm (x4)
    • 30mm (x4)

CÔNG CỤ

máy in 3D

Bước 2: Tìm hiểu về Ewon và lập trình

Hiểu về Ewon và lập trình
Hiểu về Ewon và lập trình
Hiểu về Ewon và lập trình
Hiểu về Ewon và lập trình
Hiểu về Ewon và lập trình
Hiểu về Ewon và lập trình

Trước khi bắt đầu với khía cạnh lập trình, hãy để tôi giải thích ngắn gọn về sơ đồ khối của mạch Ewon.

RPI (Raspberry pi) là bộ não của hệ thống. Trình điều khiển servo được điều khiển bởi RPI sẽ điều khiển servo. Màn hình được điều khiển bởi RPI với giao tiếp nối tiếp để thể hiện cảm xúc và cuối cùng, mic và loa được sử dụng để giao tiếp với Ewon. Bây giờ chúng ta biết phần cứng làm những gì, hãy bắt đầu lập trình Ewon.

Cài đặt SDK trợ lý của Google

Hãy để tôi giải thích hai lý do tại sao tôi định sử dụng Trợ lý Google:

  • Tôi muốn Ewon không chỉ là một người máy vui nhộn mà còn là một người hữu ích. SDK của Trợ lý Google đã có rất nhiều tài nguyên mà bạn có thể sử dụng để tăng chức năng của Ewon.
  • Bạn cũng có thể sử dụng các hành động trên google và quy trình hộp thoại để cung cấp cho Ewon khả năng trò chuyện với các câu trả lời được xác định trước. Hiện tại, chúng tôi sẽ chỉ tập trung vào SDK cơ bản.

Hãy bắt đầu bằng cách cài đặt SDK trợ lý của Google. Điều này sẽ không khó vì có rất nhiều tài nguyên để giúp bạn thiết lập SDK Trợ lý Google trên RPI. Bạn có thể làm theo hướng dẫn này cùng với:

Hướng dẫn:

Sau khi kết thúc quá trình trên, bạn sẽ có thể nhấp vào enter trên bàn phím và nói chuyện với trợ lý. Đó là tất cả về cách cài đặt SDK Trợ lý Google.

Tôi nên đặt tên nó là gì? Ewon?

Xin chào Google! Đó là những gì được sử dụng để bắt đầu nói với trợ lý của Google và rất tiếc, Google không cho phép sử dụng bất kỳ từ đánh thức tùy chỉnh nào khác. Vì vậy, hãy xem cách chúng tôi có thể thay đổi điều này để trợ lý Google được kích hoạt khi ai đó gọi Ewon.

Snowboy: một công cụ phát hiện từ nóng có thể tùy chỉnh cao được nhúng trong thời gian thực tương thích với Raspberry Pi, (Ubuntu) Linux và Mac OS X.

Một từ nóng (còn được gọi là từ đánh thức hoặc từ kích hoạt) là một từ khóa hoặc cụm từ mà máy tính liên tục lắng nghe như một tín hiệu để kích hoạt các hành động khác.

Hãy bắt đầu bằng cách cài đặt Snowboy trên RPI. Hãy nhớ kích hoạt môi trường ảo để cài đặt Snowboy như bạn đã làm để cài đặt SDK hỗ trợ. Mọi thứ chúng tôi cài đặt từ đây trở đi phải được cài đặt trong môi trường ảo. Việc cài đặt Snowboy có thể hơi phức tạp nhưng liên kết này sẽ giúp bạn cài đặt nó mà không gặp bất kỳ sự cố nào. Liên kết:

Đây là quy trình cài đặt tổng hợp nếu liên kết trên gây nhầm lẫn hoặc cài đặt không thành công.

$ [sudo] apt-get install libatlas-base-dev swig $ [sudo] pip install pyaudio $ git clone https://github.com/Kitt-AI/snowboy $ cd snowboy / swig / Python3 $ make $ cd.. /.. $ python3 setup.py build $ [sudo] python setup.py install

Sau khi Cài đặt, hãy chạy tệp demo [được tìm thấy trong thư mục - snowboy /amples / Python3 /] để xem mọi thứ có hoạt động hoàn hảo hay không.

Lưu ý: bạn cũng có thể dễ dàng thay đổi tên robot của mình thành tên khác. Tất cả những gì bạn phải làm là truy cập https://snowboy.kitt.ai/ và đào tạo một từ nóng tùy chỉnh rồi đặt từ nóng đó vào cùng thư mục với ewon.pmdl.

Ewon có thể hiểu được cảm xúc không?

Bây giờ Ewon đã có tên, tôi sẽ sử dụng Ewon thay vì gọi nó là một người máy. Được rồi, cảm xúc, câu trả lời ngắn gọn không, Ewon không thể hiểu được cảm xúc nên điều chúng ta sẽ làm ở đây là làm cho Ewon phát hiện cảm xúc trong lời nói của chúng ta bằng cách sử dụng các từ khóa và sau đó chơi biểu cảm khuôn mặt tương ứng với nó.

Để đạt được điều này, những gì tôi đã làm là một kịch bản phân tích tình cảm đơn giản. Có 6 lớp cảm xúc khác nhau.

Hình ảnh
Hình ảnh

Hạnh phúc, Buồn bã, Giận dữ, Sợ hãi, Ghê tởm và Bất ngờ. Đây là các lớp cảm xúc chính và mỗi lớp có một danh sách các từ khóa liên quan đến cảm xúc. (ví dụ tốt, tốt đẹp, vui mừng, tất cả đều đi theo cảm xúc hạnh phúc).

Vì vậy, bất cứ khi nào chúng ta nói bất kỳ từ khóa nào trong lớp cảm xúc, cảm xúc tương ứng sẽ được kích hoạt. Vì vậy, khi bạn nói "Này Ewon!" và đợi Ewon nói và tôi tiếp tục nói "Hôm nay là một ngày tốt lành!", nó chọn từ khóa "Nice" và kích hoạt cảm xúc tương ứng 'Happy', biểu hiện trên khuôn mặt của Happy.

Đó có phải là đôi tai của Ewon?

Bước tiếp theo sẽ là sử dụng cảm xúc được kích hoạt để thể hiện nét mặt tương ứng. Với Ewon, biểu cảm khuôn mặt được chú ý nhưng di chuyển tai và cổ của nó bằng cách sử dụng Servos và thay đổi màn hình để thay đổi chuyển động của mắt.

Đầu tiên, Servo, để chạy nó khá dễ dàng, bạn có thể làm theo hướng dẫn này để thiết lập thư viện servo Adafruit. Liên kết:

Hình ảnh
Hình ảnh

Sau đó, chúng tôi chỉ định giá trị lớn nhất và nhỏ nhất cho tất cả các servos. Điều này được thực hiện bằng cách di chuyển thủ công từng servo và kiểm tra giới hạn của nó. Bạn có thể làm điều này khi bạn đã lắp ráp Ewon.

Đôi mắt dành cho Ewon

Đối với mắt, tôi đang sử dụng màn hình Nextion có một loạt các hình ảnh như bên dưới.

Hình ảnh
Hình ảnh

Đó là một chuỗi các hình ảnh tôi đã thiết kế bằng photoshop mà khi được phát theo thứ tự sẽ tạo ra hoạt ảnh. Một chuỗi tương tự đã được tạo ra cho tất cả các cảm xúc. Bây giờ để hiển thị bất kỳ cảm xúc nào, tất cả những gì bạn phải làm là gọi chuỗi hình ảnh cụ thể tạo nên hoạt ảnh. Các tệp nằm trong thư mục 'Tệp hiển thị', liên kết tải xuống bên dưới.

Cuối cùng

Kết hợp tất cả lại với nhau khi cảm xúc hạnh phúc được kích hoạt bởi tập lệnh, chức năng hạnh phúc được gọi và servo di chuyển đến các góc đã đặt sẵn và màn hình sẽ phát hoạt ảnh vui mắt. Vì vậy, đây là cách chúng ta đạt được "sự hiểu biết" về cảm xúc của con người. Phương pháp này không phải là tốt nhất và đôi khi các từ khóa không có cùng cảm xúc như được xác định trước, nhưng hiện tại, phương pháp này hoạt động đủ tốt và bạn luôn có thể thêm nhiều từ khóa hơn để tăng độ chính xác của việc phát hiện. Hơn nữa, điều này có thể được thay thế bằng một mô hình phân tích cảm xúc được đào tạo nhiều hơn như mô hình phân tích Cảm xúc Paralleldots để có được kết quả tốt hơn. Nhưng khi tôi thử nó, có rất nhiều sự chậm trễ khiến Ewon phản ứng chậm hơn. Có lẽ Ewon phiên bản 2.0 sẽ có một cái gì đó như thế này.

Đây là LIÊN KẾT tới tất cả các tệp cần thiết để chạy EWON. Tải xuống tệp và làm theo các bước sau:

  • Giải nén tệp đặt thư mục này (Ewon) tại home / pi /
  • Thêm ID thiết bị và ID kiểu máy trong tệp main.py. ID được lấy trong khi cài đặt SDK trợ lý của Google.
  • Mở dấu nhắc lệnh và chạy mã nguồn của các lệnh sau:

nguồn env / bin / activepython main.py models / Ewon.pmdl

Bước 3: In phần thân

Bạn có thể tìm thấy các tệp 3d tại đây:

Bây giờ tất cả chúng ta đã được thiết lập với bộ não của Ewon đã đến lúc in cơ thể của nó. Có 18 bộ phận độc đáo được in, hầu hết chúng đều nhỏ xinh, với tổng thời gian in khoảng 15-20 giờ. (không bao gồm các trường hợp).

Tôi đã sử dụng PLA màu trắng với 50% đổ mực và chiều cao lớp là 2mm. Bạn có thể thay đổi các giá trị này nếu cần, nó sẽ hoạt động tốt nhưng hãy đảm bảo rằng các bộ phận nhỏ được bơm đầy 100% để có sức mạnh.

Sau khi các tệp đã được in, bạn có thể sử dụng giấy nhám hoặc giũa tay và làm sạch các phần đã in, đặc biệt là các liên kết nơi các phần trượt qua nhau. Làm trơn các khớp sẽ làm cho cơ chế hoạt động trơn tru và sẽ ít gây ra lực cản hơn cho servo. Quá trình này có thể mất bao lâu tùy thích vì người ta có thể bị lạc khi cố gắng làm cho các bộ phận được in trông hoàn hảo.

Lưu ý thêm: Bạn có thể khoan lại các lỗ trên các bộ phận được in 3d bằng cách sử dụng một mũi khoan 3mm. Tất cả các lỗ có cùng kích thước. Điều này sẽ giúp bạn dễ dàng vặn các đai ốc sau này trong quá trình lắp ráp.

Bước 4: Kết hợp Ewon lại với nhau

Kết hợp Ewon lại với nhau
Kết hợp Ewon lại với nhau
Kết hợp Ewon lại với nhau
Kết hợp Ewon lại với nhau
Kết hợp Ewon với nhau
Kết hợp Ewon với nhau
Kết hợp Ewon lại với nhau
Kết hợp Ewon lại với nhau

Trước khi chúng tôi bắt đầu với việc lắp ráp, cần có một số sửa đổi đối với các bộ phận được in. Các tệp có tên liên kết servo phải được gắn với các liên kết servo đi kèm với servo, điều này làm cho các liên kết in 3d kết nối tốt với servo.

Hội của Ewon nên thẳng tiến. Mình có đính kèm hình ảnh để các bạn cùng theo dõi.

Lưu ý thêm: Đảm bảo bạn không vặn quá chặt bất kỳ bu lông hoặc vít nào vì điều này có thể làm gãy và mòn các bộ phận được in.

Bước 5: Nối dây Ewon

Lên dây Ewon
Lên dây Ewon
Lên dây Ewon
Lên dây Ewon
Lên dây Ewon
Lên dây Ewon

Chúng tôi đang ở bước cuối cùng để biến Ewon trở lại cuộc sống. Dưới đây là sơ đồ nối dây cho các thành phần cùng với hình ảnh hiển thị kết nối.

  • Trình điều khiển Servo được kết nối với các chân I2C là SDA và SCL của RPI.
  • Màn hình được kết nối với các chân RX và TX của RPI
  • Micrô và loa được kết nối với Thẻ âm thanh USB được kết nối với RPI thông qua cổng USB.

Cảnh báo: Hãy cẩn thận khi rút ngắn RPI của bạn. Vui lòng kiểm tra tất cả các kết nối của bạn hai lần và đảm bảo rằng bạn không mắc phải bất kỳ lỗi nào. Tất cả các phụ kiện như loa, trình điều khiển servo và màn hình được cấp nguồn bằng pin 5v riêng biệt và không sử dụng dòng Raspberry Pi 5v. Raspberry pi chỉ được sử dụng để gửi dữ liệu đến các phụ kiện chứ không dùng để cấp nguồn cho chúng.

Bước 6: Này Ewon! Bạn có thể nghe tôi không?

Này Ewon! Bạn có thể nghe tôi không?
Này Ewon! Bạn có thể nghe tôi không?

Vì vậy, chúng tôi đã gắn tất cả các phụ kiện của chúng tôi và cài đặt tất cả các thư viện cần thiết. Bạn có thể khởi động Ewon bằng cách chạy tập lệnh shell sử dụng./run Ewon.shNhưng tập lệnh.sh này là gì? Ewon sử dụng nhiều thư viện khác nhau với các tập lệnh khác nhau (Google Assistant SDK, Snowboy, Adafruit, v.v.). Tất cả các tập lệnh được đặt trong các thư mục tương ứng của chúng. (Chúng tôi có thể di chuyển tất cả các tệp theo cùng một đường dẫn và sắp xếp tất cả các tập lệnh nhưng hiện tại, một số thư viện không cho phép di chuyển các tệp nguồn, vì vậy, hiện tại, chúng tôi sẽ chỉ giữ chúng ở các vị trí tương ứng).sh là các tập lệnh shell chạy tất cả các tập lệnh này lần lượt từ mọi vị trí, do đó bạn không phải đi đến từng vị trí và chạy các tập lệnh theo cách thủ công. Điều này giúp bạn xử lý tất cả các lệnh dễ dàng hơn.

Khi bạn chạy tập lệnh shell, chỉ cần nói "Này Ewon!" và bạn sẽ thấy Ewon bắt đầu lắng nghe bạn. Bây giờ bạn có thể sử dụng Ewon làm trợ lý google và nói chuyện với nó và bạn có thể thấy Ewon thay đổi biểu cảm từ những gì bạn nói. Hãy thử một cái gì đó như “Này Ewon! Hôm nay tôi buồn “và bạn có thể thấy Ewon đang buồn với bạn. Hỏi Ewon một câu chuyện cười và thấy nó bật cười vì trò đùa đó.

Bước 7: Tiếp theo là gì?

Ewon không dừng lại ở đây. Giờ đây, Ewon có một cách để phát hiện và thể hiện cảm xúc nhưng chúng ta có thể làm được nhiều hơn thế. Điều này chỉ là khởi đầu.

Trong bản cập nhật sắp tới, chúng tôi sẽ nghiên cứu cách làm

  • Ewon phát hiện khuôn mặt và theo dõi khuôn mặt của bạn và di chuyển cùng với khuôn mặt của bạn.
  • Chúng tôi sẽ thêm các hiệu ứng âm thanh để tạo thêm chiều sâu cho nhân vật.
  • Thêm khả năng di chuyển để Ewon có thể di chuyển cùng bạn.

Lưu ý: Do tình hình hiện tại, việc tìm nguồn cung cấp phụ tùng cho dự án trở nên rất khó khăn. Điều này đã khiến tôi thay đổi thiết kế và chức năng xem xét những suy nghĩ mà tôi đã có trong hành trang của mình. Nhưng ngay sau khi tôi bắt tay vào tất cả các phần thì cập nhật dự án ở trên.

Cập nhật:

  • Thực hiện một số thay đổi trong mã, loại bỏ tập lệnh shell.
  • Đã thêm một phần thân hình chữ nhật cho EWON.

Đề xuất: