PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Công nghệ robot (http://www.picvietnam.com/forum/forumdisplay.php?f=50)
-   -   Thuật toán điều khiển robot tự động (http://www.picvietnam.com/forum/showthread.php?t=7722)

phamduypro 16-01-2011 08:00 AM

Thuật toán điều khiển robot tự động
 
Hi các bậc tiền bối!Em đang nghiên cứu về thuật toán điều khiển cho robot tự động.Câu hỏi của em là làm thế nào để robot bám vạch tốt và chuyển động với độ ổn định cao.Mong các bác đã từng làm robot chia sẻ kinh nghiệm.Thank các pác

hanguyenhuy 30-06-2011 11:45 PM

Trích:

Nguyên văn bởi phamduypro (Post 41540)
Hi các bậc tiền bối!Em đang nghiên cứu về thuật toán điều khiển cho robot tự động.Câu hỏi của em là làm thế nào để robot bám vạch tốt và chuyển động với độ ổn định cao.Mong các bác đã từng làm robot chia sẻ kinh nghiệm.Thank các pác

Bạn nên nghiên cứu và áp dụng giải thuật PID.

hongmta 03-07-2011 03:49 PM

hi,
 
Trích:

Nguyên văn bởi phamduypro (Post 41540)
Hi các bậc tiền bối!Em đang nghiên cứu về thuật toán điều khiển cho robot tự động.Câu hỏi của em là làm thế nào để robot bám vạch tốt và chuyển động với độ ổn định cao.Mong các bác đã từng làm robot chia sẻ kinh nghiệm.Thank các pác

phần cứng: trước hết phải có 1 mạch led dò đường ngon
phần mềm: áp dụng giải thuật PID

thanhtrunghh 31-07-2011 03:56 AM

đúng vấn đề là PID.
em cũng đang tìm hiểu về PID cho robot
bác nào có tai liệu thì post lên nhé. kinh nghiệm của bác nào từng làm càng đáng quý.
mạch + giải thuật với PID

tahi 11-08-2011 11:17 PM

mắt tinh: cảm biến tốt
chân khỏe: động cơ ngon
1 cái đầu thông minh: code tốt
1 cái đầu thông minh sẽ đỡ 1 phần cho cái mắt kém, và 1 cái chân yếu
Em viết dò đường hay viết theo kiểu máy trạng thái đơn giản

Code:

void read_sensor()
{
}
void direct(int mode)
{
        //set up direct for motor controller
}
void speed(unsigned int motor1,unsigned int motor2)
{
        //justify speed of left and right motor
}
main()
{
        direct(forward);
        speed(100,100);
        while(1)
        {
                switch(partern)
                {
                        case wait:
                                //waiting user press any button
                        case straight:
                                switch(read_sensor())
                                        case 0000 0000:
                                                partern = straight;
                                                break;
                                        case xxx0 0xxx:
                                                //A little inclined to the left
                                        case 0000 xxxx:
                                                partern = turn_left;
                                                break;
                                        case xxxx xxxx:
                                                partern = out_road;
                        case turn_left:
                                direct(forward);
                                toc_do(20,100);
                                partern = straight;
                                break;
                        case turn_right:
                                break;
                        case check_crossline:
                                break;
                        case out_road:
                                direct(back);
                                speed(100,100);               
                                break;
                }
        }
}



Múi giờ GMT. Hiện tại là 07:12 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam