Hướng dẫn tạo Jetbot từ Nvidia Jetson Nano với PCA9685 & Motor Driver L298N

Find AI Tools
No difficulty
No complicated process
Find ai tools

Hướng dẫn tạo Jetbot từ Nvidia Jetson Nano với PCA9685 & Motor Driver L298N

Table of Contents

  • Nhận dạng từ khóa (Keyword Identification) 💡
  • Chuẩn bị Jetbot (Preparing the Jetbot) 💻
    • Chuẩn bị thẻ nhớ và đầu đọc thẻ (Prepare SD card and card reader) 📷
    • Tạo ảnh để khởi động (Create Bootable Image) 🖥️
  • Lắp ráp Jetbot (Assembling the Jetbot) 🛠️
    • Gắn camera (Attach Camera) 📸
    • Kết nối PCA9685 và điện nguồn (Connect PCA9685 and Power) 🔌
    • Thiết lập màn hình và bàn phím (Set up Monitor and Keyboard) 🖥️⌨️
    • Cấu hình wifi (Configure WiFi) 📶
  • Thiết lập SSH (Setting up SSH) 🔐
  • Kết nối PCA9685 và Jetbot (Connect PCA9685 and Jetbot) 🔗
  • Kết nối Motor Driver (Connect Motor Driver) 🚗
  • Kiểm tra địa chỉ I2C của Motor Driver (Check Motor Driver I2C Address) 👀
  • Sửa lỗi địa chỉ I2C (Fix I2C Address Error) 🐞
  • Kiểm tra Motor Driver đã kết nối thành công (Verify Successful Motor Driver Connection) ✅
  • Tạo điều kiện di chuyển cơ bản (Create Basic Motion) 🔢
  • Xây dựng chassis cho Jetbot (Building Jetbot Chassis) ⚙️
  • Kiểm tra các lệnh điều khiển (Test Control Commands) 🏎️
  • Đào tạo và thử nghiệm mô hình (Train and Test Models) 🧠
    • Theo dõi đường (Road Following) 🛣️
    • Tránh va chạm (Collision Avoidance) 💥
    • Kết hợp tránh va chạm và theo dõi đường (Combined Collision Avoidance and Road Following) 💥🛣️

💡 Nhận dạng từ khóa

Trước khi bắt đầu làm Jetbot từ bộ phát triển Nvdia Jetson nano, chúng ta cần chuẩn bị SD card và đầu đọc thẻ. Đầu tiên, chúng ta cần tạo ảnh để khởi động, ảnh này có sẵn trên trang web Jetbot. Sau đó, chúng ta tiến hành định dạng thẻ và khởi động bằng cách chọn mục tiêu và flash. Sau khi flash thành công, chúng ta sẽ chuyển thẻ từ đầu đọc vào Jetson nano ở phía sau. Tiếp theo, chúng ta sẽ gắn camera vào cổng cam 1 để tạo cấu trúc chính của Jetbot. Chúng ta sử dụng PCA9685 với tính năng giao tiếp I2C và cấp nguồn cho nó từ một nguồn điện. Trước khi cấp nguồn, chúng ta cần đảm bảo rằng đầu nối đã được kết nối tới Pin. Chúng ta có thể sử dụng cổng USB hoặc jack barrel. Nếu sử dụng jack barrel, chúng ta cần đảm bảo số pin đã được sắp xếp đúng. Trước khi cấp nguồn, chúng ta sẽ gắn một màn hình và bàn phím để thiết lập. Chúng ta có thể sử dụng bất kỳ loại màn hình nào và tôi đang sử dụng một màn hình kích thước nhỏ. Sau khi cấp nguồn, quạt làm mát sẽ hoạt động và mất một thời gian để khởi động. Lúc này, tôi không có thể mua PiOLED nên thử với những gì có sẵn xung quanh. Màn hình bắt đầu hoạt động và tài khoản người dùng đăng nhập sẽ là "jetbot". Hướng dẫn chi tiết có trên trang chủ Jetbot.org. Đầu tiên, chúng ta sẽ cấu hình wifi dongle với bộ định tuyến wifi. Bạn có thể xem lệnh trên màn hình. Trước khi gõ, hãy đảm bảo rằng mạng wifi của bạn đã mở. Bạn có thể xem lệnh trên màn hình. Đặt tên SSID và mật khẩu của bạn. Mục tiêu của tôi là tạo Jetbot mà không cần motor driver. Và hiện giờ, đang cấu hình mạng. Chúng ta sẽ tắt Jetbot bằng cách sử dụng lệnh 'sudo shutdown now" và sau đó ngắt kết nối nguồn. Chúng ta cần thu thập địa chỉ ip của Jetbot để kết nối thông qua giao thức SSH từ máy tính để bàn từ xa. Để làm điều này, chúng ta cần gõ lệnh ifconfig, sẽ mất một thời gian. Vì một số lỗi, tôi không thể lấy được địa chỉ ip. Bạn có thể xem địa chỉ ip trên màn hình. Địa chỉ ip của bạn có thể khác. Bây giờ chúng ta sẽ tắt nó, Jetbot đã được cấu hình thành công. Bây giờ chúng ta sẽ kết nối PCA9685 với Jetbot bằng dây nối từ cái công của cái cái. Dây mass nối chung. Vcc nối với 3v3, SDA nối với chân 3 và SCL nối với chân 5 của Jetson nano. Hãy đảm bảo qua Jetson nano pinout. Sau khi cấp nguồn, chúng ta sẽ thấy đèn LED màu đỏ trên driver. Bây giờ chúng ta sẽ kết nối Motor Driver H-Bridge. Nó có tổng cộng 6 chân và mass nối chung. Bạn có thể xem sơ đồ kết nối trên màn hình. Chân ENA nối với 13, IN1 nối với 11, IN2 nối với 12, IN3 nối với 9, IN4 nối với 10, ENB nối với 8. Tôi sẽ gỡ wifi dongle và kết nối với ethernet để truyền thông nhanh hơn. Video này từ các kênh Youtube và các blog khác nhau. Bây giờ, chúng ta sẽ kết nối motor với motor driver. Tôi sử dụng động cơ DC brushed, xoay theo chiều của cực của nó. Nếu chúng ta làm cho IN1 cao, cực dương của động cơ sẽ là out1 và in2, in3, in4 lần lượt tương ứng với out2, out3, out4. Chân ENA/ENB là tín hiệu PWM để điều khiển tốc độ của động cơ và mass nối chung. Cấu hình dây nối của chúng ta đã hoàn tất, bây giờ chúng ta sẽ cấp nguồn cho nó từ nguồn 12V. Bây giờ chúng ta sẽ chuyển sang phần viết code. Tôi đang thêm một số chỉ báo để biểu thị quay của động cơ. Bởi vì tôi đã kết nối cáp ethernet, tôi cần kiểm tra địa chỉ ip của nó. Để làm điều này, tôi đang kiểm tra từ bộ định tuyến admin của tôi để kết nối qua giao thức SSH qua putty. Tôi đang sử dụng putty, bạn có thể tìm thấy nó trên Google. Sau khi có địa chỉ ip, chúng ta cần cung cấp user id và mật khẩu jetbot. Đầu tiên, chúng ta sẽ kiểm tra các địa chỉ i2c của motor driver đã được kết nối. Sau đó mình sẽ ghi lại địa chỉ và tiếp tục với jupyter notebook. Từ bất kỳ trình duyệt nào, chúng ta gõ vào địa chỉ ip của jetbot và đăng nhập. Mật khẩu là jetbot. Bây giờ chúng ta sẽ xem phần chuyển động cơ bản. Chúng ta sẽ chạy các cell. Vấn đề xảy ra khi chạy cell thứ 2 vì địa chỉ i2c của motor driver chúng ta đã kết nối và motor driver yêu cầu không giống nhau. Vì vậy, chúng ta cần thay đổi một số thông số từ bên trong. Bây giờ chúng ta sẽ đi đến thư mục mong muốn từ terminal của jupyter. Đường dẫn có thể được tìm thấy trên thông báo lỗi. Vì nó là một tệp python, chúng ta cần sử dụng lệnh vim. Sau đó, chúng ta cần tìm vị trí của địa chỉ i2c để sửa lỗi. Chúng ta có thể thấy giá trị mặc định là 60. Để cho phép chỉnh sửa, chúng ta nhấn "i" và sau khi thay đổi, nhấn Esc wq để lưu và thoát. Công việc của chúng ta đã xong. Bây giờ chúng ta sẽ đăng nhập lại vào jupyter notebook sau khi tắt nó từ putty. Một lần nữa, chúng ta sẽ chạy phần chuyển động cơ bản. Thực hiện cell thứ nhất sau đó là cell thứ Hai và nó chạy thành công. Bây giờ chúng ta sẽ kiểm tra một số lệnh. Các động cơ của chúng ta đang quay. Chúng ta có thể tập trung vào việc tạo chassis cho Jetbot. Và chúng ta cũng có thể kiểm tra các lệnh khác nhau. Hiện tại chúng ta đang xem ví dụ đi theo đường. Tôi đã đào tạo mô hình. Nó hoạt động trên việc phân loại hình ảnh. Trong mỗi khung hình, nó phát hiện các tọa độ x và y. Chúng ta có thể xem và nó có thể được kiểm soát bằng một số tham số như steering gain, steering control, kd và bias. Đây là ví dụ khác về tránh va chạm. Mô hình này cũng được đào tạo trong tensort. Nó hoạt động dựa trên phân loại hình ảnh. Chúng ta có hai loại hình, "block" và "free". Khi nó phát hiện "block", nó sẽ dừng lại và chạy khi tìm thấy "free". Đây là ví dụ khác về sự kết hợp giữa tránh va chạm và theo dõi đường. Tôi đã tìm thấy nó từ các dự án trong cộng đồng nhà phát triển. Bạn cùng phòng đang giúp tôi.

Highlights

  • Tạo Jetbot từ bộ phát triển Nvdia Jetson nano
  • Chuẩn bị và cấu hình Jetbot
  • Kết nối camera và PCA9685
  • Gắn motor driver và motor
  • Thiết lập điều khiển và kiểm tra lệnh
  • Đào tạo và thử nghiệm mô hình theo dõi đường và tránh va chạm

FAQ

Q: Làm thế nào để tạo ảnh để khởi động Jetbot? A: Bạn có thể tạo ảnh để khởi động từ trang web Jetbot.

Q: Cần phải kết nối Jetbot với đầu đọc thẻ trước khi khởi động? A: Có, bạn cần kết nối Jetbot với đầu đọc thẻ để khởi động.

Q: Có thể sử dụng bất kỳ loại màn hình nào khi thiết lập Jetbot không? A: Có, bạn có thể sử dụng bất kỳ loại màn hình nào khi thiết lập Jetbot.

Q: Tôi cần phải dùng địa chỉ IP của Jetbot như thế nào để kết nối từ xa? A: Bạn có thể sử dụng địa chỉ IP của Jetbot để kết nối thông qua giao thức SSH.

Q: Làm thế nào để kiểm tra địa chỉ I2C của Motor Driver đã kết nối thành công? A: Bạn có thể kiểm tra địa chỉ I2C của Motor Driver bằng cách chạy lệnh từ Jupyter Notebook.

Q: Có cách nào sửa lỗi địa chỉ I2C không đúng trên Motor Driver? A: Có, bạn có thể sửa lỗi địa chỉ I2C không đúng trên Motor Driver bằng cách chỉnh sửa tệp python từ Jupyter Terminal.

Q: Làm thế nào để kiểm tra lệnh điều khiển mô tơ đã hoạt động chính xác hay chưa? A: Bạn có thể kiểm tra lệnh điều khiển mô tơ bằng cách chạy các cell tương ứng trên Jupyter Notebook.

Q: Có thể đào tạo và kiểm thử các mô hình khác nhau trên Jetbot không? A: Có, bạn có thể đào tạo và kiểm thử các mô hình theo dõi đường và tránh va chạm trên Jetbot.

Resources:

  • Jetbot website: link
  • Jetbot.org homepage: link

Most people like

Are you spending too much time looking for ai tools?
App rating
4.9
AI Tools
100k+
Trusted Users
5000+
WHY YOU SHOULD CHOOSE TOOLIFY

TOOLIFY is the best ai tool source.