กลับไปหน้ารวมไฟล์
arduino-line-follower-driven-by-ros1-561556.md

OVERVIEW:

โปรเจกต์นี้มีจุดมุ่งหมายเพื่อทำความเข้าใจพื้นฐานของ ROS1 รวมถึงหลักการทำงานของ publishers และ subscribers แม้ว่า line follower จะไม่ได้ทำงานได้รวดเร็วเป็นพิเศษ แต่ก็เป็นตัวอย่างที่ใช้งานได้จริงของการนำ rosserial มาใช้บนบอร์ด Arduino ในการทำโปรเจกต์นี้ จำเป็นต้องมีความเข้าใจพื้นฐานเกี่ยวกับ ROS ซึ่งรวมถึงแนวคิดเช่น **การสร้าง workspaces, packages, และ scripts**

WORKING:

Arduino จะรวบรวมข้อมูลจาก IR sensors (เช่น 0000, 10000 ฯลฯ) และ publish ข้อมูลนั้นไปยัง ROS node ซึ่ง ROS node จะ subscribe ข้อมูลนี้และรัน script โดยอิงตามข้อมูล IR sensor ที่ได้รับ script จะออกคำสั่งไปยัง line follower (เช่น เดินหน้า, เลี้ยวขวา, หยุด) จากนั้น Arduino จะ subscribe คำสั่งเหล่านี้และเปลี่ยนแปลงการเคลื่อนที่ของ line follower ให้เป็นไปตามนั้น

STEPS:

1] สร้าง Workspace

2] สร้าง package ภายในโฟลเดอร์ src ของ workspace ของคุณ

3] สร้างโฟลเดอร์ script ภายในโฟลเดอร์ src ของ package ของคุณ

4] คัดลอกและวาง script ที่แนบมา (ในส่วน code) และบันทึก

5] จากนั้น catkin_make workspace ของคุณ

หลังจากทำตามขั้นตอนเหล่านี้ ให้ทำตามไฟล์ "line_follower_steps.txt" ที่แนบมาในส่วน downloads

และคุณก็ทำเสร็จแล้ว!!

PHOTOS:

WORKING VIDEO:

EXPANDED TECHNICAL DETAILS

การบูรณาการ Robot Operating System (ROS)

line follower ขั้นสูงนี้เชื่อมต่อฮาร์ดแวร์ Arduino แบบง่ายเข้ากับระบบนิเวศ ROS1 (Robot Operating System) อันทรงพลังสำหรับการวางแผนเส้นทางที่ซับซ้อน

  • rosserial Protocol: Arduino ทำหน้าที่เป็น ROS Hardware Node โดยจะรวบรวมข้อมูลจาก 5-channel Infrared (IR) sensor array และ publish ไปยัง ROS master (โดยทั่วไปจะรันอยู่บน Raspberry Pi หรือ PC) ในรูปแบบของ /sensor_data topic
  • Distributed Computing: คำสั่ง "Velocity" ระดับสูงจะถูกคำนวณใน ROS โดยใช้ PID หรือ path-following node และส่งกลับไปยัง Arduino ผ่าน /cmd_vel topic ซึ่งจะขับเคลื่อนมอเตอร์ต่อไป

ผลกระทบด้านการศึกษา

  • Architecture Visualization: นักเรียนสามารถใช้ RViz เพื่อแสดงข้อมูลเซ็นเซอร์และสถานะของหุ่นยนต์ในรูปแบบ 3 มิติแบบเรียลไทม์ ซึ่งนำเสนอเวิร์กโฟลว์มาตรฐานระดับมืออาชีพในอุตสาหกรรมสำหรับการพัฒนา embedded robotics

ข้อมูล Frontmatter ดั้งเดิม

title: "Arduino line follower driven by ROS1"
description: "In this project, you'll discover the process of establishing serial communication between ROS and Arduino by implementing a simple publisher and listener setup."
author: "asbro10"
category: "Motors & Robotics"
tags:
  - "Cars"
  - "Communication"
views: 1327
likes: 2
price: 2450
difficulty: "Intermediate"
components:
  - "1x 44mm Wheel for N20 Motor"
  - "1x Arduino Nano"
  - "1x N20 motor Mounting bracket"
  - "1x MINI 3PI car N20 Caster Robot Ball Wheel"
  - "1x Digital Multimeter"
  - "1x 6v N20 motor 100rpm"
  - "1x Soldering kit"
  - "1x MX1508 motor driver"
  - "1x Cutting and Drilling Tools"
  - "2x 2.10\\tBatería lipo 3.7v-1000 mAh"
  - "1x TCRT5000L 5 Channel IR sensor"
tools: []
apps:
  - "1x Arduino IDE 1.8"
  - "1x ROS1 Noetic"
  - "1x ubuntu 20.04"
downloadableFiles:
  - "https://projects.arduinocontent.cc/66cb0273-4e1d-4fc1-bff1-c4e0b07aa6c3.py"
  - "https://projects.arduinocontent.cc/58d2c3a1-eb0e-400f-8502-7ac03f38e60c.ino"
documentationLinks: []
passwordHash: "ff319ee40c89b0855970bfcd3f68bd8677e64abae1b32e28563384f1b029fa6e"
encryptedPayload: "U2FsdGVkX18wv6mDWfhwMPvkPSP9kI1yPWoG0tZoYPfqSxplNDuwsuFswrDQSXn8FRrAFk08ig3SxxhsPscedXWy1IAWfVUeCzNxk8ysX6WRfOtctrnKjQsI3NeBp918bIqDJXjnldz56gQwBPmW0w=="
seoDescription: "Learn to set up Serial communication between ROS and Arduino using Publisher and Listener for an Arduino line follower robot."
videoLinks:
  - "https://youtu.be/8Ue1YoUdv98?si=P6_8AhlQj1R4UmP9"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/arduino-line-follower-driven-by-ros1-561556_cover.png"
lang: "th"