Author Archives: ดร. ยศวีย์ แก้วมณี
การพัฒนาหุ่นยนต์เคลื่อนที่ด้วย ROS2 ตอนที่ 3
ตัวอย่างนี้จะเป็นการสร้างหุ่นยนต์เคลื่อนที่ที่สามารถควบคุมผ่าน wifi ได้ ซึ่งจะเป็นระบบพื้นฐานของหุ่นยนต์เคลื่อนที่แบบอัตโนมัติในพื้นที่ปิด (indoor) ซึ่งมีความสามารถในการสร้างแผนที่และเคลื่อนที่ไปยังตำแหน่งที่ต้องการพร้อมหลบหลีกสิ่งกีดขวางได้โดยอัตโนมัติ การทำงานจะแยกเป็น 2 ส่วนคือ จากบทความก่อนหน้า ซึ่งทำการทดลองสร้าง command_node บน PC และ drive_node drive_node บน Raspberry Pi เพื่อให้หุ่นยนต์สามารถรับคำสั่งจากการกด Keyboard บน PC ได้ ในขั้นตอนถัดไป จะทำการสร้างเชื่อมต่อ Rpi กับบอร์ด Arduino เพื่อรับคำสั่งและควบคุมการเคลื่อนที่ของหุ่นยนต์ 2. เพิ่มเติม code ในไฟล์ drive_node.py import rclpyfrom rclpy.node import … Continue reading
การพัฒนาหุ่นยนต์เคลื่อนที่ด้วย ROS2 ตอนที่ 2
ตัวอย่างนี้จะเป็นการสร้างหุ่นยนต์เคลื่อนที่ ที่สามารถควบคุมผ่าน wifi ได้ ซึ่งจะเป็นระบบพื้นฐานของหุ่นยนต์เคลื่อนที่แบบอัตโนมัติในพื้นที่ปิด (indoor) ที่มีความสามารถในการสร้างแผนที่และเคลื่อนที่ไปยังตำแหน่งที่ต้องการพร้อมหลบหลีกสิ่งกีดขวางได้โดยอัตโนมัติ การทำงานจะแยกเป็น 2 ส่วนคือ จากบทความก่อนหน้า ซึ่งทำการทดลองสร้าง command_node และ drive_node เพื่อรับส่งข้อมูลระหว่างกันในขั้นตอนถัดไป จะทำการสร้าง drive_node บน Raspberry Pi เพื่อให้หุ่นยนต์สามารถรับคำสั่งจากการกด Keyboard บน PC ได้ ขั้นตอนที่ 1: การตั้งค่า ROS2 Workspace ใน Rpi เปิด terminal และสร้าง Workspace Directory ด้วยคำสั่งดังนี้ mkdir … Continue reading
การพัฒนาหุ่นยนต์เคลื่อนที่ด้วย ROS2 ตอนที่ 1.1
รายละเอียดของ code ในไฟล์ command_node.py และ drive_node.py อธิบายโค้ดโดยละเอียด Command_node.py 1. การนำเข้าไลบรารีที่ใช้ import rclpyfrom rclpy.node import Nodefrom std_msgs.msg import Stringfrom pynput import keyboardimport threading 2. การสร้างคลาส CommandNode class CommandNode(Node): def __init__(self): super().__init__(‘command_node’) 3. สร้าง Publisher self.publisher_ = self.create_publisher(String, ‘/drive_commands’, 10) 4. แสดงข้อความใน … Continue reading
การพัฒนาหุ่นยนต์เคลื่อนที่ด้วย ROS2 ตอนที่ 1
ตัวอย่างนี้จะเป็นการสร้างหุ่นยนต์เคลื่อนที่ ที่สามารถควบคุมผ่าน wifi ได้ ซึ่งจะเป็นระบบพื้นฐานของหุ่นยนต์เคลื่อนที่แบบอัตโนมัติในพื้นที่ปิด (indoor) ที่มีความสามารถในการสร้างแผนที่และเคลื่อนที่ไปยังตำแหน่งที่ต้องการพร้อมหลบหลีกสิ่งกีดขวางได้โดยอัตโนมัติ การทำงานจะแยกเป็น 2 ส่วนคือ เราจะเริ่มจากการสร้าง Node อย่างง่าย 2 node บน PC เพื่อทดสอบการรับส่งข้อมูลระหว่าง node คือ Command_node และ Drive_node ขั้นตอนที่ 1: การตั้งค่า ROS2 Workspace mkdir -p ~/ros2_ws/srccd ~/ros2_ws เริ่มต้น Workspace ด้วยคำสั่ง colcon build ขั้นตอนที่ 2: … Continue reading
Yossawee Keaomanee and Apichat Heednacram, “Effects of discrete cosine transform arrangement patterns on full size image steganography”, Songklanakarin J. Sci. Technol. 46 (2), 159–168, Mar. – Apr. 2024Effects of discrete cosine transform arrangement patterns on full-size image steganography
Steganography is an invisible image-hiding technique that can be used to hide proprietary information within a cover image. Protecting this information ensures that product owners can continue to innovate without the fear of their ideas being stolen or replicated by … Continue reading
Elementor #588
ดร.ยศวีย์ แก้วมณี เดินทางไปนำเสนองานวิจัยเรื่อง “Effects of Discrete Cosine Transform Arrangement Patterns on Full Size Image Steganography” ในการประชุมวิชาการ The 10th International Conferenceon Engineering and Technology (ICET-2024) ณ มหาวิทยาลัยสงขลานครินทร์ อ.หาดใหญ่ จ.สงขลาระหว่าง 2-4 กุมภาพันธ์ 2567
Robot Operating System(ROS) Part 3
Robot Operating System(ROS) Part 3 ภาษาในการพัฒนาแอปพลิเคชั่นใน ROS ROS ถูกพัฒนาขึ้นโดยใช้ภาษาสองภาษาหลักคือ C++ และ Python ซึ่งเป็นภาษาที่นิยมใช้มากที่สุดในการพัฒนาแอปพลิเคชันหุ่นยนต์ สามารถใช้ไลบรารี roscpp เพื่อเขียนโค้ดภาษา C++ และไลบรารี rospy เพื่อเขียนโค้ดภาษา Python นอกจากนี้ยังมีไลบรารีบางส่วนที่ช่วยสร้างการเชื่อมต่อกับกับภาษาอื่น ๆ เช่น rosjava สำหรับภาษา Java และ roslibjs หรือ rosnodejs สำหรับภาษา JavaScript รูปที่ 1 communication & Language layerใน ROS[2] … Continue reading
ROS (Robot Operating System) Part 2
Robot Operating System(ROS) Part 2 เครื่องมือสื่อสาร การพัฒนาหุ่นยนต์ด้วย ROS เราสามารถแยกส่วนต่างๆของโปรแกรมควบคุมหุ่นยนต์ของเราให้เป็นโปรแกรมย่อยๆหลายโปรแกรมที่ทำงานร่วมกันได้ โดยโปรแกรมย่อยๆแต่ละตัวนี้จะเรียกว่า Node การทำให้โปรแกรมหรือ Node ย่อยๆสื่อสารกันได้อย่างถูกต้องจะต้องใช้เครื่องมือสื่อสารของ ROS สำหรับจัดการการสื่อสารระหว่างแต่ละ Node 3 ส่วน ดังนี้: Topics: ใช้สำหรับส่งสตรีมข้อมูล (Data Stream) ระหว่าง Node ตัวอย่างเช่น เรากำลังตรวจสอบอุณหภูมิของมอเตอร์บนหุ่นยนต์ Node ที่ตรวจสอบอุณหภูมิของมอเตอร์นี้จะส่งสตรีมข้อมูลพร้อมค่าอุณหภูมิเข้าไปในระบบ Node อื่นๆ ที่ทำงานอยู่ สามารถติดตาม (Subscribe) หัวข้อ(topic) นี้และรับข้อมูลไปใช้งานได้ Services: เป็นส่วนที่ช่วยให้เราสร้างการสื่อสารระหว่างแต่ละ Node … Continue reading
ROS (Robot Operating System) Part 1
Robot Operting System(ROS) ROS เป็นแพลตฟอร์มที่ถูกพัฒนาขึ้นเพื่อการพัฒนาซอฟต์แวร์ในด้านหุ่นยนต์ ซึ่งไม่ใช่ระบบปฏิบัติการจริงๆ หรือเฟรมเวิร์ค แต่ทำงานเสมือนเป็นมิดเดิลแวร์ (Middleware) ที่ทำหน้าที่เชื่อมต่อและจัดการการสื่อสารระหว่างโปรแกรมในระบบที่ทำงานร่วมกันหลายๆโปรแกรม ROS ถูกออกแบบให้เป็นสถาปัตยกรรมที่รองรับการพัฒนาแบบมีโมดูลและสามารถนำโค้ดที่พัฒนาขึ้นมาใช้ซ้ำได้ ซึ่งช่วยลดเวลาและความยุ่งยากในการพัฒนาซอฟต์แวร์หุ่นยนต์ได้ ระบบนี้มีความยืดหยุ่นและสามารถใช้ได้กับหุ่นยนต์หลากหลายประเภท เช่น หุ่นยนต์เคลื่อนที่, แขนหุ่นยนต์, โดรน, เรือ, เครื่องขายของ เป็นต้น ROS มีเครื่องมือการสื่อสารหลายอย่างเช่น topics, services, actions เพื่อช่วยในการสื่อสารระหว่างโปรแกรม และมีไลบรารีที่นำไปใช้งานได้หลากหลาย เช่น … Continue reading
K. Yossawee, K. Thitinan and K. Komsan. “A Study of Lightweight Dynamic Algorithm of Power Management System for Small Satellite Applications.” Presented at the 2nd Innovation Aviation & Aerospace Industry-International Conference. Vol. 28. 2021.
Abstract: This paper proposes the study of the lightweight dynamic algorithm of a power management for a small LEO-orbit satellite application such as CubeSat. The proposed work was designed in connection with a rule-based decision method and real-time scheduling. Here, … Continue reading