Tag: VirtualBox

ROS2 – 14 เขียน Publisher / Subscriber ด้วยภาษา C++

เขียน Publisher และ Subscriber ด้วยภาษา C++ Topics : ข้อความจะถูกส่งผ่านระบบการขนส่งที่มีการ Publisher / Subscriber โหนดที่ส่งข้อความจะเรียกว่า Publisher ชื่อที่ระบุใน Topic จะใช้เพื่อระบุเนื้อหาของข้อความ โหนดที่สนใจในข้อมูลบางประเภทจะทำการ Subscriber หัวข้อที่ต้องการ อาจมีการ Publisher / Subscribe หลายรายพร้อมกันสำหรับหัวข้อเดียวและโหนดเดียวอาจ Publisher / Subscriber ได้หลาย Topics…

ROS2 – 13 เขียน Publisher / Subscriber ด้วยภาษา Python

เขียน Publisher และ Subscriber ด้วยภาษา Python Topics : ข้อความจะถูกส่งผ่านระบบการขนส่งที่มีการ Publisher / Subscriber โหนดที่ส่งข้อความจะเรียกว่า Publisher ชื่อที่ระบุใน Topic จะใช้เพื่อระบุเนื้อหาของข้อความ โหนดที่สนใจในข้อมูลบางประเภทจะทำการ Subscriber หัวข้อที่ต้องการ อาจมีการ Publisher / Subscribe หลายรายพร้อมกันสำหรับหัวข้อเดียวและโหนดเดียวอาจ Publisher / Subscriber ได้หลาย Topics…

ROS2 – 12 ทดสอบ ควบคุมเต่าบน ROS2

ควบคุมเต่าบน ROS2 หลังจากที่เราทดสอบการใช้งาน โหนด ของ ROS2 มาบ้างแล้ว ต่อไปเราก็จะมาทำความเข้าใจการสื่อสาร ระหว่างโหนดต่างๆ และทดสอบการทำงานของมันว่าสามารถใช้งานได้แล้วรึเปล่า โดยเราจะใช้ Turtlesim (เต่าจำลอง) ที่ ROS2 มีให้มาอยู่แล้ว ซึ่งจะเป็นการเปิดหน้าต่างที่มีเต่าขึ้นมา แล้วควบคุมเต่าด้วย keyboard ให้เราได้ศึกษาการใช้งานคำสั่งพื้นฐานควบคุมการทำงานต่าง ๆ 1 : เขียน Node ภาษา Python แบบ OOP เขียน…

ROS2 – 11 เขียน Node ภาษา C++ แบบ OOP

เขียน Node ภาษา C++ แบบ OOP OOP ก็คือ “ธรรมชาติของวัตถุ” หมายความว่า OOP จะมองสิ่งแต่ละสิ่งถือเป็น “วัตถุชิ้นหนึ่ง” (Object) มันจะมีสีแดงหรือสีเขียว ยาวหรือสั้น มันก็คือวัตถุชิ้นหนึ่งเหมือนกัน และเราสามารถกำหนดประเภทหรือคลาสให้กับวัตถุเหล่านั้นได้ นอกจากนี้ เมื่อ OOP มองทุกสิ่งถือเป็นวัตถุชิ้นหนึ่งแล้ว ยังสามารถคิดต่อไปอีกว่า “วัตถุแต่ละอย่างนั้น ต่างก็มีลักษณะและวิธีการใช้งานเป็นของตัวเอง” หมายความว่า วัตถุแต่ละชนิดหรือแต่ละชิ้นต่างก็มีรูปร่าง ลักษณะ และการใช้งาน (การกระทำ)…

ROS2 – 10 เขียน Node ภาษา C++ เบื้องต้น

เขียน Node ภาษา C++ เบื้องต้น การทำงานของ ROS จะแบ่งเป็น Node แต่ละ Node จะทำหน้าที่เฉพาะเช่น Node เซนเซอร์อุณหภูมิ, Node เซนเซอร์ความเร็ว, Node ควบคุมมอเตอร์, Node Lidar เป็นต้น แต่ละ Node จะประสานข้อมูลกันผ่าน Topic เช่นเซนเซอร์ Encoder จะ Publish ข้อมูลความเร็ว…

ROS2 – 9 เขียน Node ภาษา Python แบบ OOP

เขียน Node ภาษา Python แบบ OOP การเขียนโปรแกรมเชิงวัตถุ OOP (Object Oriented Programming) เป็นวิธีการเขียนโปรแกรมที่นำแนวคิดในโลกของความเป็นจริงมาใช้กับในโลกของการเขียนโปรแกรมในการที่ โปรแกรมเมอร์ สร้างซอฟต์แวร์ขึ้นมาเพื่อแก้ไขปัญหาต่างๆ OOP เป็นวิธีการเขียนโปรแกรมรูปแบบหนึ่ง โดยมองสิ่งต่างๆในระบบเป็นวัตถุ (Object) ชิ้นหนึ่งที่มีหน้าที่และความหมายในตัว โดยวัตถุๆนั้น ก็มี คุณสมบัติ (Attributes) และ พฤติกรรม (Method,Behavior) หรือการกระทำของมัน เป็นการมองบนพื้นฐานความเป็นจริงมากขึ้น คำศัพท์ที่จำเป็นต้องทราบสำหรับการเขียนโปรแกรมเชิงวัตถุในภาษา Python…

ROS2 – 8 เขียน Node ภาษา Python เบื้องต้น

เขียน Node ภาษา Python เบื้องต้น Node :เป็นกระบวนการที่ใช้ในการดำเนินการโปรแกรมต่าง ซึ่ง ROS ได้รับการออกแบบให้เป็นระบบแบบแยกส่วนในระดับที่ละเอียด ระบบควบคุมหุ่นยนต์มักจะประกอบด้วยหลายโหนด ตัวอย่างเช่นหนึ่งโหนดควบคุม laser range-finder, หนึ่งโหนดควบคุมมอเตอร์ล้อ, หนึ่งโหนดทำการแปลงค่าต่างๆ, หนึ่งโหนดทำการวางแผนเส้นทาง, หนึ่งโหนดให้มุมมองกราฟิกของระบบและอื่น ๆ เป็นต้น 1 : สร้าง Package ภาษา Python สร้าง Package ภาษา Python…

ROS2 – 7 สร้าง Package ภาษา C++

Packages : เป็นโปรแกรมหลักที่ใช้ในการบริหาร บริการ จัดการซอฟต์แวร์ต่างๆใน ROS ซึ่งอาจจะประกอบไปด้วย ROS runtime processes (nodes), a ROS-dependent library, datasets, configuration files, และโปรแกรมอื่นๆที่จำเป็นสำหรับการจัดการและการใช้งาน สำหรับนักพัฒนาที่ออกแบบและสร้าง Packages เมื่อสร้างเสร็จแล้วก็สามารถปล่อย Packages นี้ให้แก่บุคคลที่สนใจอื่นๆได้ 1 : สร้าง Workspace ROS2 สร้าง Workspace…

ROS2 – 6 สร้าง Package ภาษา Python

Packages : เป็นโปรแกรมหลักที่ใช้ในการบริหาร บริการ จัดการซอฟต์แวร์ต่างๆใน ROS ซึ่งอาจจะประกอบไปด้วย ROS runtime processes (nodes), a ROS-dependent library, datasets, configuration files, และโปรแกรมอื่นๆที่จำเป็นสำหรับการจัดการและการใช้งาน สำหรับนักพัฒนาที่ออกแบบและสร้าง Packages เมื่อสร้างเสร็จแล้วก็สามารถปล่อย Packages นี้ให้แก่บุคคลที่สนใจอื่นๆได้ 1 : สร้าง Workspace ROS2 สร้าง Workspace…

ROS2 – 5 ติดตั้ง Visual Studio Code บน Ubuntu 20.04

ติดตั้ง Visual Studio Code บน Ubuntu 20.04 Visual Studio Code เป็นโปรแกรมแก้ไขโค้ดโอเพนซอร์ซที่มีประสิทธิภาพซึ่งพัฒนาโดย Microsoft มีการรองรับการดีบักในตัว, การควบคุม Git แบบฝัง, การเน้นไวยากรณ์, การเติมโค้ดให้สมบูรณ์, เทอร์มินัลรวม, การรีแฟคเตอร์โค้ด และตัวอย่างข้อมูล Visual Studio Code เป็นแบบข้ามแพลตฟอร์ม พร้อมใช้งานบน Windows, Linux และ macOS…

ROS2 – 4 สร้าง Workspace ROS2

ภาพองค์ประกอบโครงสร้าง (Layout) ของ Workspace ใน ROS ใน 1 Workspace จะมี Package ก็ได้ขึ้นอยู่กับโปรแกรมที่เราเขียนลงไปโดยสำหรับ ROS แต่จะรองรับอยู่ 2 ภาษาคือ Python และ C++ บทความการสร้าง Workspace ROS2 ด้วย Colcon เครื่องมือช่วยสร้าง ROS2 รุ่น Foxy และสั่งให้ Ubuntu…

ROS2 – 3 ติดตั้ง Colcon เครื่องมือช่วยสร้าง ROS2

ติดตั้ง Colcon เครื่องมือช่วยสร้าง และ Build ROS2 รุ่น Foxy 1 : ทดสอบการทำงาน ROS2 เบื้องต้น ทดสอบการทำงาน ROS2 เบื้องต้น ตามขั้นตอนลิงค์ด้านล่าง ทดสอบการทำงาน ROS2 เบื้องต้น 2 : ติดตั้ง Colcon เริ่มการติดตั้งโดย เปิด Terminal (เทอร์มินัล) ใช้คำสั่ง ตอบ…

ROS2 – 2 ทดสอบการทำงาน ROS2 เบื้องต้น

เริ่มแรก เรากำลังจะทำการทดสอบ Node 2 อัน ที่เป็นเดโม มาพร้อมกับการติดตั้งอยู่แล้ว 1 คือ Node talker ที่ทำหน้าที่พูด โดยการสุ่มตัวเลข แล้วส่งตัวเลขนั้นออกไป และ 2 คือ Node listener ทำหน้าที่รับฟัง โดยการรับตัวเลขที่ส่งออกมาจาก talker  — แล้วแสดง 1 : ติดตั้ง ROS2 Foxy บน Ubuntu…

ROS2 – 1 ติดตั้ง ROS2 Foxy บน Ubuntu 20.04

Robot Operating System(ROS) เป็นระบบที่สร้างขึ้นเพื่อทำให้เกิดความยืดหยุ่นในการเขียนซอฟต์แวร์ควบคุมหุ่นยนต์ ซึ่งใน ROS จะรวบรวมชุดเครื่องมือและชุดคำสั่งต่างๆที่จำเป็นในการพัฒนาหุ่นยนต์เอาไว้ ซึ่งสิ่งต่างๆเหล่านี้จะลดความยุ่งยากในการสร้างในการพัฒนาหุ่นยนต์ที่มีความซับซ้อน และทำให้มีประสิทธิภาพในการพัฒนาหุ่นยนต์หลากหลายรูปแบบ การพัฒนาหุ่นยนต์ในสมัยก่อนจะเป็นการพัฒนาแบบตัวใครตัวมัน ทำให้ความรู้หรือข้อมูลต่างๆถูกเก็บไว้ที่คนๆเดียวหรือเก็บเป็นความลับอยู่ในองค์กรนั้นๆ ซึ่งการพัฒนารูปแบบนี้ทำให้ยากต่อการพัฒนาหุ่นยนต์เพราะเนื่องจากผู้พัฒนาจำเป็นจะต้องพัฒนาหุ่นยนต์เองในทุกๆส่วนไม่ว่าจะเป็นระบบรับรู้ของหุ่นยนต์ ระบบขับเคลื่อนของหุ่นยนต์ รวมไปถึงกระบวนการทำงานต่างๆที่มีความซับซ้อน ส่งผลให้ ROS ถูกนำมาใช้งานเพื่อให้การพัฒนาหุ่นยนต์ที่มีความซับซ้อนเป็นไปได้อย่างรวดเร็ว ROS ถูกสร้างบนพื้นฐานของการสนับสนุนให้พัฒนาซอฟต์แวร์ของหุ่นยนต์ที่สามารถทำงานร่วมกันได้ ตัวอย่างเช่นห้องปฏิบัติการหนึ่งอาจมีผู้เชี่ยวชาญในการทำแผนที่สภาพแวดล้อมในร่ม และสามารถให้การสนับสนุนการสร้างแผนที่ให้กับองค์กรอื่นๆได้ บางกลุ่มอาจมีผู้เชี่ยวชาญในการใช้แผนที่เพื่อนำทาง บางกลุ่มอาจค้นพบวิธีการมองเห็นด้วยคอมพิวเตอร์ที่ทำงานได้ดีสำหรับการรับรู้วัตถุขนาดเล็กในพื้นที่ที่มีความยุ่งเหยิง ROS ได้รับการออกแบบมาเพื่อการทำงานร่วมกันและต่อยอดซึ่งกันและกันโดยเฉพาะ 1 : ติดตั้ง Ubuntu 20.04…

ติดตั้ง Ubuntu 20.04 บน Virtual Machine (VirtualBox)

บทความการติดตั้ง Ubuntu 20.04 บน VirtualBox โดยใช้ Windows10 Ubuntu คือระบบปฎิบัติการ Linux ชนิดหนึงซึ่ง ลีนุกซ์ (Linux) ก็เป็นระบบปฏิบัติการเช่นเดียวกับ Dos , Window หรือ Unix โดยลีนุกซ์นั้นจัดว่าเป็นระบบปฏิบัติการยูนิกซ์ประเภทหนึ่ง โครงการ Ubuntu มีการออกรุ่นของระบบปฏิบัติการทุก 6 เดือน แต่ละรุ่นใช้เรียกโดยโค้ดเนม และเลขกำกับรุ่น ตามการพัฒนา ซึ่งใช้ตามเลขปีคริสต์ศักราชและเดือนที่ออก เช่น…

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save