Motor System Identification using asctec MAV frame work

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Motor System Identification using asctec MAV frame work

Autonomous
Hi,

I am trying to do motor system identification of pelican using MAV frame work. I'm giving one of the motor of the pelican a step input and trying to record the motor speed by reading the ROS topic "/fcu/motor_speed". I'm doing ros bag record to save the data on the onboard computer of the pelican. The response of the system is not like a first order response, rather the output is just a delayed version of the input. In other words, when I give a desired speed of 100 starting from 0, I expect "/fcu/motor_speed" to give me values like 01,3,5,7,9,14,24,33,39,45,...99,100,100,100... (like an exponential function tracking a unit step input). However the response I get is 0,0,...0,0,100,100,100....

Clearly, this is wrong. I'm getting the commanded motor speeds after some delay! Has someone performed pelican motor's system ID before? Am I doing any thing wrong in recording the data?

Thanks,

Autonomous
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Motor System Identification using asctec MAV frame work

MarkusAchtelik
Hi,

How did you set the IMU-packet rate? That's the rate at which motor speeds are sent as well. The default is 50 Hz, and the time constant for a Hummingbird motor is 1/80s and 1/40s for spinning up/down [1] (I'm assuming it's somewhat similar to the pelican, maybe a bit slower), so that might explain the behaviour.

If you need accurate results, you should probably record the measurements on the HLP and then send them to the onboard computer.

[1] Wang, J., Bierling, T., & Höcht, L. (2011). Novel Dynamic Inversion Architecture Design for Quadrocopter Control. Advances in Aerospace Guidance, Navigation and Control.

Best, Markus

Loading...