c++ - Balancing robot PID tuning -


i'm trying build two-wheeled balancing robot fun. have of hardware built , put together, , think have coded well. i'm using imu gyro , accelerometers find tilt angle complimentary filter smoothing signal. input signal imu seems pretty smooth, in less 0.7 variance + or - actual tilt angle.

my imu sampling rate 50 hz , pid calculation @ 50 hz too, think should fast enough.

basically, i'm using pid library found @ pid library .

when set p value low wheels go in right direction.

when set p value large output graph.

enter image description here

from graph looks system not stable. hope have tested each subsystem of robot before directly going tuning. means both sensors , actuators responding , acceptable error. once each subsytem calibrated external error. can start tuning. once done can start valid value of p may (0.5) first achieve proper response time, need trials here, them increment cut down steady state error if , use d when required(in case of oscillation). suggest handle p,i , d 1 one instead of tweaking @ 1 time. during testing need continuously monitor sensor , actuator data see if in acceptable range.


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -