คำถามติดแท็ก control

วิธีการหรืออุปกรณ์ในการจัดการสั่งการหรือควบคุมบางส่วนของระบบ

4
คำที่เป็นมิตรกับมนุษย์สำหรับการวางแนวหุ่นยนต์มือถือและทิศทางสัมพัทธ์ของวัตถุที่ไม่ใช่หุ่นยนต์คืออะไร?
ภายในการเขียนโปรแกรมวิทยาการหุ่นยนต์การปฐมนิเทศจะให้ในรูปของพิกัด x, y, & z จากตำแหน่งศูนย์กลางบางแห่ง อย่างไรก็ตามพิกัด x, y, z ไม่สะดวกสำหรับการทำความเข้าใจอย่างรวดเร็วของมนุษย์หากมีหลายสถานที่ให้เลือก (เช่น {23, 34, 45}, {34, 23, 45}, {34, 32, 45} , {23, 43, 45} ไม่ได้เป็นมนุษย์โดยเฉพาะอย่างยิ่งเป็นมิตรและมีแนวโน้มที่จะเกิดข้อผิดพลาดของมนุษย์) แต่ตัวบ่งชี้การวางแนวภาษาอังกฤษที่พบบ่อยกว่านั้นมักเป็นคำที่ไม่เหมาะสมหรือไม่เหมาะสมสำหรับการเลือกอย่างรวดเร็ว (เช่น "กล้องหน้าด้านหน้าบนไหล่ขวาด้านหน้าของหุ่นยนต์ 1" เป็นคำที่เกินไป แต่ "หน้า" / "ไปข้างหน้า" เกินไป กล้องบนขอบนำหรือมันชี้ไปข้างหน้า?) ในสถานที่ยานพาหนะทางเรือและการบินมีการพูดคุยกันโดยทั่วไปเกี่ยวกับด้านหน้า, ท้าย (หรือท้ายเรือ), พอร์ตและกราบขวา ในขณะที่ทิศทางของการเคลื่อนไหวที่สัมพันธ์กับยานพาหนะมักจะได้รับในการอ้างอิงถึง clockface (เช่นไปข้างหน้าของหน้าจะ "ที่ 12" ด้านหลังของเรือจะเป็น "ที่ 6" ในขณะที่ทางขวาของกราบขวาและ …

3
การใช้อัลกอริทึมทางพันธุกรรมสำหรับการปรับจูนคอนโทรลเลอร์
ฉันอ่านเอกสารบางอย่างเพื่อควบคุมระบบไม่เชิงเส้น (เช่นลูกตุ้มไม่เชิงเส้น) มีหลายวิธีในการกำหนดเป้าหมายระบบที่ไม่ใช่เชิงเส้น ส่วนใหญ่คนทั่วไปมีความคิดเห็น linearizaing , backsteppingและเลื่อนโหมดควบคุม ในกรณีของฉันฉันได้ทำส่วนทฤษฎีและการปฏิบัติในการควบคุมรูปแบบไม่เชิงเส้นของลูกตุ้มง่าย ๆ รวมทั้งปัญหาอื่น ๆ ใน C ++ สำหรับลูกตุ้มนั้นฉันได้ใช้ตัวควบคุมส่วนหลังเพื่อแก้ไขงานติดตามสำหรับการเคลื่อนที่เชิงมุมและความเร็ว ผลที่ได้คือ θ¨+(k/m)θ˙+(g/L)sinθ=uθ¨+(k/m)θ˙+(g/L)sin⁡θ=u \ddot{\theta} + (k/m) \dot{\theta} + (g/L) \sin\theta= u ที่และgm=0.5,k=0.0001,L=.2m=0.5,k=0.0001,L=.2m=0.5, k=0.0001, L=.2g=9.81g=9.81g=9.81 ผลลัพธ์ที่ดี อย่างไรก็ตามการปรับจูนคอนโทรลเลอร์ใช้เวลานาน เอกสารส่วนใหญ่ใช้อัลกอริธึมทางพันธุกรรมในการปรับแต่งคอนโทรลเลอร์เช่น PD, PID และ backstepping controllers ฉันรู้สึกไร้เดียงสาในสาขานี้และฉันหวังว่าจะมีใครบางคนให้แสงสว่างกับแนวคิดนี้เป็นอย่างยิ่งโดยเฉพาะอย่างยิ่งหากมีตัวอย่าง MATLAB สำหรับการควบคุมลูกตุ้มแบบง่าย จนถึงตอนนี้ฉันได้ออกแบบ GUI อย่างง่ายใน C ++ / Qt เพื่อปรับแต่งคอนโทรลเลอร์ด้วยตนเอง ในภาพด้านล่างการตอบสนองของคอนโทรลเลอร์สำหรับฟังก์ชั่นขั้นตอน
9 control 

1
ฉันจะตัดสินใจขนาดของขั้นตอนเวลาระหว่างการตรวจจับและควบคุมการกระตุ้นได้อย่างไร
พื้นหลังของฉัน: ประสบการณ์ของฉันอยู่ในกลศาสตร์ที่มั่นคงและ FEA ดังนั้นฉันไม่มีประสบการณ์เกี่ยวกับหุ่นยนต์ / การควบคุม คำอธิบายปัญหา ฉันกำลังพัฒนากลยุทธ์การควบคุมเพื่อสร้างเสถียรภาพให้กับระบบพลวัต 6 ขาที่ซับซ้อน แรงบิดTiจากข้อต่อของแต่ละขาจะถูกใช้เพื่อสร้างโมเมนต์สุทธิMบนร่างกายทำให้ระบบมีความเสถียร ช่วงเวลานี้Mเป็นที่รู้จักจากกลยุทธ์การควบคุมที่กำหนดไว้ล่วงหน้า (หมายเหตุด้าน: ตัวแก้ไขแบบไดนามิกเป็นประเภทการคำนวณแบบไม่เชิงเส้น) เนื่องจากขาดพื้นฐานฉันจึงมีความสับสนพื้นฐานกับระบบพลวัต ฉันต้องการใช้แรงบิดร่วมTiที่จะสร้างนี้เป็นที่รู้จักกันสุทธิขณะMในร่างกาย ขณะนี้Mเป็นฟังก์ชั่นของ ตำแหน่ง / มุมปัจจุบันของส่วนขาทั้งหมด แรงปฏิกิริยาและช่วงเวลา (ที่ไม่สามารถควบคุมได้) ของแต่ละขา แรงบิดร่วมควบคุมTiของแต่ละขา เวลา (∗)(∗)(*) ในเวลาที่กำหนด ( n - 1 ) Δ(n-1)Δ(n-1)\Deltat: --From กลยุทธ์การควบคุมที่ต้องการช่วงเวลาสุทธิMคำนวณ / รู้จักกัน - หนึ่งสามารถอ่าน / สัมผัสตำแหน่งมุมมุมแรงปฏิกิริยาและช่วงเวลาการตอบสนองของขา (พูดจากเซ็นเซอร์ที่วางไว้อย่างดี) ในเวลานี้ t = ( n - 1 ) …

1
การควบคุมหลายลูปที่มีเอฟเฟกต์ซ้อนทับกัน
ฉันคุ้นเคยกับการใช้ PID เพื่อดำเนินการควบคุมวงปิดเมื่อมีเอาต์พุตเดียวและสัญญาณข้อผิดพลาดเพียงครั้งเดียวสำหรับวิธีการที่เอาต์พุตดีถึงจุดที่ต้องการ อย่างไรก็ตามสมมติว่ามีหลายลูปควบคุมแต่ละอันมีหนึ่งเอาต์พุตและสัญญาณข้อผิดพลาดหนึ่งอัน แต่ลูปไม่ได้เป็นอิสระอย่างสมบูรณ์ โดยเฉพาะอย่างยิ่งเมื่อหนึ่งลูปเพิ่มสัญญาณแอคทูเอเตอร์การเปลี่ยนแปลงนี้จะส่งผลกระทบต่อเอาต์พุตจากลูปอื่น ๆ ในระบบ สำหรับตัวอย่างที่เป็นรูปธรรมลองจินตนาการถึงแหล่งกำเนิดแรงดันไฟฟ้าแบบอนุกรมที่มีตัวต้านทานโดยใช้แรงดันไฟฟ้าข้ามระบบของตัวต้านทานที่ปรับค่าได้หกตัวในแบบขนาน เราสามารถวัดกระแสผ่านตัวต้านทานแต่ละตัวและเราต้องการควบคุมกระแสของตัวต้านทานแต่ละตัวอย่างอิสระโดยการปรับความต้านทาน แน่นอนว่านี่คือเคล็ดลับเมื่อคุณปรับความต้านทานของตัวต้านทานตัวใดตัวหนึ่งมันจะเปลี่ยนความต้านทานโดยรวมของชุดขนานซึ่งหมายความว่ามันจะเปลี่ยนแรงดันตกเนื่องจากตัวหารกับความต้านทานของแหล่งจ่ายไฟและเปลี่ยนกระแสผ่านตัวต้านทานอื่น ๆ . ตอนนี้เห็นได้ชัดว่าเรามีแบบจำลองที่สมบูรณ์แบบสำหรับระบบนี้ดังนั้นเราสามารถคาดการณ์ความต้านทานที่เราควรใช้สำหรับตัวต้านทานทั้งหมดพร้อมกันโดยการแก้ชุดสมการเชิงเส้น อย่างไรก็ตามจุดทั้งหมดของการควบคุมวงปิดคือเราต้องการแก้ไขข้อผิดพลาด / อคติที่ไม่รู้จักในระบบที่เบี่ยงเบนไปจากแบบจำลองในอุดมคติของเรา จากนั้นคำถาม: อะไรเป็นวิธีที่ดีในการใช้การควบคุมวงปิดเมื่อคุณมีแบบจำลองที่มีการเชื่อมต่อข้ามชนิดนี้
9 control  pid 

2
นำทาง Quadrotor สู่เป้าหมาย
ฉันกำลังทำงานกับควอดโรเตอร์ ฉันรู้ตำแหน่งของมัน -ที่ซึ่งฉันต้องการไป - ตำแหน่งเป้าหมายและจากนั้นฉันคำนวณเวกเตอร์ - เวกเตอร์หน่วยที่จะพาฉันไปยังเป้าหมายของฉัน:aaabbbccc c = b - a c = normalize(c) เนื่องจาก quadrotor สามารถเคลื่อนที่ในทิศทางใดก็ได้โดยไม่มีการหมุนสิ่งที่ฉันพยายามทำคือ หมุนโดยมุมเอียงของหุ่นยนต์ccc แยกออกเป็นองค์ประกอบx,yx,yx, y ส่งพวกเขาไปยังหุ่นยนต์เป็นมุมม้วนและระดับเสียง ปัญหาคือว่าถ้าหันเหเป็น 0 °± 5 แล้วก็ใช้งานได้ แต่ถ้าหันไปใกล้ +90 หรือ -90 มันจะล้มเหลวและหันไปทิศทางที่ผิด คำถามของฉันคือฉันขาดอะไรบางอย่างชัดเจนที่นี่?
9 quadcopter  uav  navigation  slam  kinect  computer-vision  algorithm  c++  ransac  mobile-robot  arduino  microcontroller  machine-learning  simulator  rcservo  arduino  software  wifi  c  software  simulator  children  multi-agent  ros  roomba  irobot-create  slam  kalman-filter  control  wiring  routing  motion  kinect  motor  electronics  power  mobile-robot  design  nxt  programming-languages  mindstorms  algorithm  not-exactly-c  nxt  programming-languages  mindstorms  not-exactly-c  raspberry-pi  operating-systems  mobile-robot  robotic-arm  sensors  kinect  nxt  programming-languages  mindstorms  sensors  circuit  motion-planning  algorithm  rrt  theory  design  electronics  accelerometer  calibration  arduino  sensors  accelerometer 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.