Systems identification – worse performance with more data?
Show older comments
Question
I have noticed when applying the transfer function estimator to my dataset is that I get better results when I use a single dataset rather than grouping datasets together. (I typically use a 2 poles 1 zero model with fixed delay – more complicated models seem to produce a worse result). The question is why does this happen, and/or what is the best estimation method for this sort of problem?
example result (y axis is target servo angle in degrees):


Background
I am trying to find the transfer function for a dynamixel servo motor (ax12+). Where the input, u(t), is the desired position and the output , y(t), is actual position. Based on other literature I am thinking that a relatively simple transfer function should be capable of modelling the dynamics of the motor although both the motor dynamics and the controller are unknown and other work typically uses motor voltage for u(t) rather than position setpoint.
Approach
Based on this Matlab tutorial: https://uk.mathworks.com/videos/series/data-driven-control-95931.html I copied the setpoint inputs for datasets - although in my case the input is desired position rather than voltage in. As a consequence, the non-linearities caused by friction and saturation are not really seen in my dataset. In this method 11 timeseries datasets are created (z1 – z11) which are split into training (ze) and validation sets (zv). I have plotted these datasets here:

The blue line represents the target angle and the orange is the actual angle. x axis is time and y axis is servo angle.
and the data files are available here: https://www.dropbox.com/sh/738b8s7zr7bjxt4/AAA5nQp24xLP_QrpkPbbIj0Ma?dl=0
Please excuse the long post!! any guidance for improving the servo model would be welcome!
2 Comments
Aquatris
on 18 Jul 2018
How are you grouping the datasets? Are you simply cascading them? If so, since some of your data sets do not start and end at the same positions, the algorithm might treat the difference as an additional dynamic.
Jan Stankiewicz
on 18 Jul 2018
Answers (0)
Categories
Find more on Linear Model Identification in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!