สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
นี่จะเป็นชุดบทความเกี่ยวกับการสร้างแขนหุ่นยนต์ที่ควบคุมด้วย ROS (ระบบปฏิบัติการหุ่นยนต์) และ MoveIt หากคุณชอบหุ่นยนต์ ROS เป็นเฟรมเวิร์กที่ยอดเยี่ยมที่จะช่วยให้คุณสร้างหุ่นยนต์ที่ดีขึ้นได้เร็วยิ่งขึ้น ช่วยให้คุณสามารถนำแพ็คเกจกลับมาใช้ใหม่สำหรับระบบหุ่นยนต์ต่างๆ (คอมพิวเตอร์วิทัศน์ จลนศาสตร์ การวางแผนเส้นทาง สแลม ฯลฯ) ที่ผู้อื่นสร้างขึ้น ROS นั้นยอดเยี่ยม แต่น่าเสียดายที่มีช่วงการเรียนรู้ที่สูงชัน
ดังนั้นบทช่วยสอนนี้เป็นคำแนะนำทีละขั้นตอนในการสร้างแขนหุ่นยนต์ตัวแรกของคุณด้วยการวางแผนการเคลื่อนไหว โดยมุ่งเป้าไปที่ระดับเริ่มต้นและระดับกลาง ฉันคิดว่าคุณไม่มีความรู้เกี่ยวกับ ROS แต่มีความรู้พื้นฐานเกี่ยวกับ Linux และ Python, ทักษะการเขียนโปรแกรม Arduino
ขั้นตอนที่ 1: เตรียมสภาพแวดล้อมของคุณ
สภาพแวดล้อมของฉันสำหรับการพัฒนาคือ Ubuntu 16.04 LTS ที่ทำงานใน Virtual Box (เครื่องโฮสต์ Windows 10) หากคุณต้องการเรียกใช้ Ubuntu บน VM ก็ไม่เป็นไร ฉันสามารถยืนยันได้ว่า ROS Kinetic ใช้งานได้ แม้ว่าจะมีความไม่ชอบมาพากลบางอย่าง (โดยเฉพาะการเร่งความเร็ว 3 มิติและการรองรับ USB) หากคุณมีการติดตั้ง Ubuntu เป็นประจำ มันจะทำงานได้ดีขึ้น
หมายเหตุ: คุณสามารถติดตั้ง ROS บน Raspberry Pi ได้ แต่น่าเสียดายที่มันไม่มีประสิทธิภาพเพียงพอที่จะเรียกใช้การจำลองใน Rviz นับประสา Gazebo
1) ติดตั้ง ROS Kinetic ทำตามคำแนะนำนี้เกี่ยวกับวิธีการติดตั้ง ROS Kinetic บน Ubuntu 16.04
2) ติดตั้ง MoveIt เคลื่อนย้ายไปมา! เป็นแพ็คเกจสำหรับ ROS สำหรับการจัดการมือถือ เช่น แขนหุ่นยนต์
3) ตรวจสอบว่าทุกอย่างทำงานหรือไม่ วิ่ง
roslaunch panda_moveit_config demo.launch rviz_tutorial:=true
ถ้าคุณต้องการ ผ่านการสอนขั้นพื้นฐานของ moveit
4) คุณจะต้องติดตั้งแพ็คเกจ urdf_tutorial ด้วย เราจะใช้มันเพื่อแสดงภาพงานของเราที่กำลังดำเนินการอยู่
sudo apt-get install ros-kinetic-urdf-tutorial
ขั้นตอนที่ 2: สร้างไฟล์ Urdf
หากคุณทำตามบทแนะนำการเริ่มต้นอย่างรวดเร็วของ MoveIt คุณควรสร้างพื้นที่ทำงาน catkin ในโฮมไดเร็กตอรี่ของคุณ (ชื่อของพื้นที่ทำงานอาจแตกต่างกัน ค่าเริ่มต้นจากการสอน moveit คือ ws_moveit) ไปที่ ~ws_moveit/src และโคลน github repo ของฉันที่นั่น
github.com/AIWintermuteAI/ros-moveit-arm.git
หากคุณกำลังใช้แขนกลแบบเดียวกับที่ฉันทำหรือเพียงแค่ต้องการฝึกฝน คุณสามารถปล่อยให้ไฟล์ urdf ไม่เปลี่ยนแปลง ไม่เช่นนั้นคุณจะต้องเปลี่ยนมันเพื่อให้สอดคล้องกับโมเดลแขนที่คุณมี
นี่คือคำอธิบายสั้น ๆ ของไฟล์ urdf การดูตัวอย่างของฉันและโมเดลหุ่นยนต์ใน rviz จะช่วยให้คุณเข้าใจได้ดีขึ้นและสมัครเพื่อเขียนไฟล์ urdf ของคุณเอง
ข้อต่อคือส่วนต่างๆ ของหุ่นยนต์ เช่น ข้อมือหรือแท่น พวกเขามีคุณสมบัติดังต่อไปนี้:
ใช้สำหรับการแสดงภาพใน rviz และศาลา ใช้ตาข่ายคุณภาพสูง
ใช้สำหรับตรวจสอบการชนกันระหว่างการวางแผนเส้นทาง แนะนำให้ใช้เมชคุณภาพต่ำ แต่สำหรับการสอนฉันก็ใช้แบบเดียวกับวิชวล
ข้อต่อใน urdf คือการเชื่อมต่อระหว่างลิงก์ที่อธิบายว่าตำแหน่งมีความสัมพันธ์กันอย่างไรและเคลื่อนไหวอย่างไร พวกเขามีคุณสมบัติดังต่อไปนี้:
ทิศทางการหมุนของข้อต่อ (ตามแกน x, y หรือ z)
ระดับต่ำสุดและสูงสุดของข้อต่อเป็นเรเดียน ใช้ได้กับข้อต่อประเภท "หมุนวน" เท่านั้น (ข้อต่อ "ต่อเนื่อง" ไม่มีข้อ จำกัด เนื่องจากหมุนอย่างต่อเนื่อง)
ตำแหน่งของข้อต่อที่สัมพันธ์กับแหล่งกำเนิด
อธิบายว่าสองลิงค์ใดที่เชื่อมต่อกับข้อต่อ
หากคุณกำลังใช้แขนหุ่นยนต์แบบเดียวกับฉัน คุณจะต้องคัดลอกตาข่าย 3 มิติของแขนไปยังโฟลเดอร์แพ็คเกจ urdf_tutorial ทำตามคำสั่งนี้
sudo cp /opt/ros/kinetic/share/urdf_tutorial/meshes/
หากคุณกำลังใช้เมชของคุณเอง ตรวจสอบให้แน่ใจว่าเมชอยู่กึ่งกลางที่จุดกำเนิด (xyz 000 ในซอฟต์แวร์การสร้างแบบจำลอง 3 มิติที่คุณชื่นชอบ) ก่อนที่คุณจะส่งออกไปยังรูปแบบไบนารี (!) stl
ตอนนี้คุณสามารถเปิด rviz เพื่อแสดงผลลัพธ์ด้วยคำสั่งนี้
roslaunch urdf_tutorial display.launch รุ่น:=arm.urdf
(เปิดจากโฟลเดอร์ที่มีไฟล์ urdf ที่คุณสร้างขึ้นเมื่อครู่นี้)
ตรวจสอบข้อต่อและข้อต่อ ตรวจสอบให้แน่ใจว่าได้หมุนและจัดตำแหน่งตามที่ควรจะเป็น หากทุกอย่างเรียบร้อย ให้ไปยังขั้นตอนถัดไป
ขั้นตอนที่ 3: สร้างการกำหนดค่าหุ่นยนต์ด้วย MoveIt Setup Assistant
ตอนนี้เมื่อไฟล์ urdf ของคุณพร้อม ก็ถึงเวลาแปลงเป็นแพ็คเกจการกำหนดค่าหุ่นยนต์
เรียกใช้ MoveIt Setup Assistant ด้วยคำสั่งต่อไปนี้
roslaunch moveit_setup_assistant setup_assistant.launch
กระบวนการนี้อธิบายไว้อย่างดีในบทช่วยสอนอย่างเป็นทางการของ MoveIt ซึ่งคุณสามารถหาได้ที่นี่
หลังจากที่คุณสร้างแพ็คเกจการกำหนดค่าแล้ว ให้ไปที่โฟลเดอร์พื้นที่ทำงาน catkin ของคุณและดำเนินการ
ทำแมว
เพื่อสร้างแพ็คเกจ ตอนนี้คุณสามารถเปิดใช้งานได้ด้วยคำสั่งต่อไปนี้
roslaunch my_arm_xacro demo.launch rviz_tutorial:=true
โดยคุณจะต้องเปลี่ยน "my_arm_xacro" เป็นชื่อแพ็คเกจของคุณ
ขั้นตอนที่ 4: เสร็จแล้ว
หากคุณเปิดตัวแพ็คเกจสำเร็จ คุณจะเห็นโมเดลหุ่นยนต์ของคุณพร้อมเครื่องหมายแบบโต้ตอบ คุณจะสามารถควบคุมมันได้ในการจำลอง โดยใช้มาร์กเกอร์ จากนั้นกด "วางแผนและดำเนินการ" เพื่อให้โปรแกรมแก้ปัญหาไคเนมาติกค้นหาเส้นทางที่ถูกต้องไปยังสถานะที่ต้องการ
นั่นคือขั้นตอนที่หนึ่ง เราได้สร้างแบบจำลองแขนหุ่นยนต์ของเรา และสามารถเก็บเกี่ยวพลังของ ROS เพื่อคำนวณและดำเนินการเคลื่อนไหวในการจำลองได้! ขั้นตอนต่อไป - ทำกับหุ่นยนต์จริง เพื่อที่เราจะต้องเขียนตัวควบคุมหุ่นยนต์อย่างง่าย…