How can I augment a toolbox to improve its capabilities?

Illustration
ghers_fggb - 2021-03-25T12:07:12+00:00
Question: How can I augment a toolbox to improve its capabilities?

I am using the Robotics Systems Toolbox and its rotm2eul() function only takes in 3 possible rotation orders, XYZ, ZYX, and ZYZ. With permutations of these types there are 12 possibilities and matlab only works with a quarter of them. Adding support for the others is trivial thanks to the intelligent way the others were programmed. I only need to add 9 lines of code and remove a number of duplicated code statements in various code blocks.   % Pre-populate settings for different axis orderings % Each setting has 4 values: % 1. firstAxis : The right-most axis of the rotation order. Here, X=1, % Y=2, and Z=3. % 2. repetition : If the first axis and the last axis are equal in % the sequence, then repetition = 1; otherwise repetition = 0. % 3. parity : Parity is 0 if the right two axes in the sequence are % YX, ZY, or XZ. Otherwise, parity is 1. % 4. movingFrame : movingFrame = 1 if the rotations are with % reference to a moving frame. Otherwise (in the case of a static % frame), movingFrame = 0. seqSettings.ZYX = [1, 0, 0, 1]; seqSettings.YZX = [1, 0, 1, 1]; % ADDED seqSettings.XYX = [1, 1, 0, 1]; % ADDED seqSettings.XZX = [1, 1, 1, 1]; % ADDED seqSettings.XZY = [2, 0, 0, 1]; % ADDED seqSettings.ZXY = [2, 0, 1, 1]; % ADDED seqSettings.YZY = [2, 1, 0, 1]; % ADDED seqSettings.YXY = [2, 1, 1, 1]; % ADDED seqSettings.YXZ = [3, 0, 0, 1]; % ADDED seqSettings.XYZ = [3, 0, 1, 1]; seqSettings.ZXZ = [3, 1, 0, 1]; % ADDED seqSettings.ZYZ = [3, 1, 1, 1];

Expert Answer

Profile picture of Neeta Dsouza Neeta Dsouza answered . 2025-11-20

The answer by dpb is what you should do, but the answer to the question as posed is this:
 
Matlab is closed-source. Mathworks will probably not accept any changes to their code that they didn't write themselves. The cost is not just the edit itself, but also editing the documentation, added testing load to confirm no bugs are (re)introduced, and opportunity cost. The time spent on this function can't be spent elsewhere.
 
However, you can send an enhancement request which they may act on. It does happen, but they have to be convinced it is worth the cost.


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!