Replies: 4 comments
-
Hi! Totally agree that Scipy would really help with so many functions and algorithms. I had to re-implement some methods to be used with certain routines. And it is certainly not the first time Scipy has been used in the package. Older versions utilized Scipy's tools to read mat files and process data. Why was it removed? There was an issue with portability. Some users are trying to apply these algorithms in small board computers (e.g. raspberry pi and simlars), and adding such a big package for so few elements was already a burden for some people. In the spirit of keeping it simple and independent as much as possible, I opted to use NumPy as the only third-party library. For all the rest pure Python should suffice. Besides, the goal of the package is to also provide a clear structure in each algorithm, so that any Student / Developer / Researcher can easily follow how the data is being analyzed and transform. Sure, a simple call to It is an excellent question, though. What would the community think about bringing Scipy back? I would like to hear some more comments. In regard to the Scipy's Rotation class, I think it would overdo the Orientation Classes that are already implemented in These classes work very well with Scipy, because they are inherited from NumPy Arrays, and you can use them as such. The order of the quaternion is also important, indeed. The standard format of What I would suggest is to add a parameter, say " >>> q = ahrs.Quaternion([1., 2., 3., 4.], order='S')
>>> str(q)
'(0.1826i +0.3651j +0.5477k +0.7303)'
>>> q.w
0.7302967433402214
>>> q.v
array([0.18257419, 0.36514837, 0.54772256]) Would this solution be adequate? What do you think? |
Beta Was this translation helpful? Give feedback.
-
Thanks for following up on this suggestion. I understand the rationale for avoiding For the scenario you describe where users need a tiny package for a specific and isolated task in Arduino or a board, then I can see the advantage. However, when Something like the None of this diminishes the value or utility of this package, and I am very thankful it's available! I hope many others chime in regarding this suggestion. |
Beta Was this translation helpful? Give feedback.
-
Hi! On the contrary, thanks for bringing this up. We need to hear the community's voices to better build this package and create something that everyone can easily use. And yes, more opinions about it would be nice. In the meantime I'll add the |
Beta Was this translation helpful? Give feedback.
-
I've added the parameter |
Beta Was this translation helpful? Give feedback.
-
Hello,
It would be great if this package leveraged on
scipy
for many of its operations. For instance, using thescipy.constants
would significantly reduce duplicating these inahrs.common.constants
. Similarly,scipy.spatial.transforms.Rotation
could be used for many of operations inahrs
. This is of course only a suggestion to bring cohesiveness and avoid inconsistencies. I, and likely many other AHRS users, already usescipy
as part of processing workflows, so this integration would have many advantages. For example,scipy
uses scalar-last convention for representing quaternions, so there's at least an extra step when working with both of these tools.Beta Was this translation helpful? Give feedback.
All reactions