Chia sẻ Balancing Robot-Robot tự cân bằng 2 bánh !!!

zi_zi

Học sinh phổ thông
#21
cảm ơn chia sẻ của các bạn, mình cũng đang nghiên cứu về con MPU6050, mình có sử dụng code bộ lọc kalman cho cảm biến này nhưng mình thấy khi để tĩnh thì giá trị góc ra rất chính xác nhưng khi cho cảm biến di chuyển hay rung lắc thì giá trị ra bị trôi rất nhiều.
không biết bạn dragon1991 đã giải quyết vấn đề này thế nào, bạn có thể chia sẻ được không.
mình dùng code kalman tại:
"github.com/TKJElectronics/Example-Sketch-for-IMU-including-Kalman-filter/blob/master/IMU6DOF/MPU6050/Kalman.h"
 

dragon1991

Sinh viên cao đẳng
#22
cảm ơn chia sẻ của các bạn, mình cũng đang nghiên cứu về con MPU6050, mình có sử dụng code bộ lọc kalman cho cảm biến này nhưng mình thấy khi để tĩnh thì giá trị góc ra rất chính xác nhưng khi cho cảm biến di chuyển hay rung lắc thì giá trị ra bị trôi rất nhiều.
không biết bạn dragon1991 đã giải quyết vấn đề này thế nào, bạn có thể chia sẻ được không.
mình dùng code kalman tại:
"github.com/TKJElectronics/Example-Sketch-for-IMU-including-Kalman-filter/blob/master/IMU6DOF/MPU6050/Kalman.h"

Với bài toán của mình thì mình sử dụng cả 2 bộ cảm biến là Gyro và Accel, sau khi đọc được giá trị thì mình xử lý rồi cũng đưa qua lọc Kalman, khi để tĩnh thì cảm biến của mình rất chính xác (khoảng 0.02 độ). Khi di chuyển thì góc thay đổi rất ổn định không có vấn đề gì về trôi cả, còn khi để lại vị trí tĩnh thì góc trả lại vẫn chính xác( ví dụ như là mặt phẳng là 0 độ, Khi mình cầm cảm biến lên rung lắc kiểu gì thì để lại cảm biến vào chỗ cũ thì nó lại là 0 độ không có vấn đề gì). Bạn sử dụng lọc Kalman cho Gyro riêng biệt hay là lọc cho cả Gyro và Accel như mình ????
 

dragon1991

Sinh viên cao đẳng
#23
Bác ơi cái con MPU6050 dữ liệu đưa về có cần qua bộ lọc gì không hay là có thể xài trực tiếp luôn ạ. Vì em thấy có nhiều người hay sử dụng bộ lọc với các loại cảm biến này thì phải.
Mình đã thử qua 1 số bộ lọc nhưng thấy bộ lọc Kalman lọc là ổn định nhất. Bạn có thể đọc về bộ lọc Kalman vì nó là bộ lọc ước đoán mà :D
 

zi_zi

Học sinh phổ thông
#24
dragon1991 làm cách nào mà bạn biết được đọ chính xác là 0.02 (có dùng dụng cụ gì để xác định không).
code Kalman mình dùng ở trên có kết hợp cả gyro và accel, giá trị nó trả về vẫn chính xác ở trước và sau khi rung lắc nhưng không chính xác trong quá trình rung lắc, di chuyển: khi mình áp chặt cảm biến xuống mặt bàn phẳng và di chuyển qua lại nhanh thì giá trị trục x bị thay đổi vài độ dù lúc này trục x vẫn là 0 độ, sau khi để lại vị trí tĩnh thì giá trị trả về vẫn chính xác.
bộ lọc Kalman bạn viết trực tiếp code c hay có thông qua Matlab gì không, mình thấy code Kalman ở link trên khá ngắn gọn nên không biết có đáp ứng đầy đủ bộ lọc Kalman chưa.
 

dragon1991

Sinh viên cao đẳng
#25
dragon1991 làm cách nào mà bạn biết được đọ chính xác là 0.02 (có dùng dụng cụ gì để xác định không).
code Kalman mình dùng ở trên có kết hợp cả gyro và accel, giá trị nó trả về vẫn chính xác ở trước và sau khi rung lắc nhưng không chính xác trong quá trình rung lắc, di chuyển: khi mình áp chặt cảm biến xuống mặt bàn phẳng và di chuyển qua lại nhanh thì giá trị trục x bị thay đổi vài độ dù lúc này trục x vẫn là 0 độ, sau khi để lại vị trí tĩnh thì giá trị trả về vẫn chính xác.
bộ lọc Kalman bạn viết trực tiếp code c hay có thông qua Matlab gì không, mình thấy code Kalman ở link trên khá ngắn gọn nên không biết có đáp ứng đầy đủ bộ lọc Kalman chưa.
Mình cũng sử dụng bộ lọc Kalman bằng code C thôi. Cũng tham khảo ở trên các diễn đàn thôi. Nếu mà giá trị góc của bạn như vậy là tương đối tốt rồi đó, bạn có thể sử dụng nó vào ứng dụng thực tế được rồi. Còn vấn đề khi mình di chuyển thì không phải chỗ nào của mặt bàn cũng phẳng như nhau và cũng không đảm bảo rằng cảm biến luôn luôn nằm trong mặt phẳng như khi tĩnh. Còn về độ chính xác thì mình sử dụng đồ thị và LCD để xác định khi cảm biến ở trạng thái tĩnh.
 

tuan1912

Học sinh phổ thông
#26
Đang mún làm một con, ma hok bit sao làm nửa. có bạn nào chỉ mình không ?
minh chỉ là dân quá thui chẳng bít j về điện tử hít. trên mạng thì mh củng tìm khong thấy nửa. ai làm chỉ mh voi
gui wa cho mh nha : pntuan1912@gmail.com
hihi cám ơn nhiều
 
#27
mình củng từng làm con này. tuy nhiên mình dùng sliding + LQR . về lý thuyết có thể mọi người đã đọc qâ về hai giải thuật này rồi. tuy nhiên muốn cân bằng tốt bằng 2 giải thuật này phải cân chỉnh khá mất time đấy!
 

ngoa long

Học sinh phổ thông
#29
Bạn cho mình hỏi thông số của động cơ bạn sử dụng được không, động cơ của bạn có encoder ko?
 

Quảng cáo Google