xioTechnologies / NGIMU-MATLAB-Real-Time-Example

11 stars 11 forks source link

Error with displaying quaternions/teapot in Realtime #4

Open leoguen opened 4 years ago

leoguen commented 4 years ago

When I first launched the programm the GUI was opening up but did not receive data. Therefore I checked for connection problems and everything but found out that the following line in the funtion "timer_Callback" was the problem.

handles.quaternionPlot.updateData()

once I commented this line out, everything was running smoothly and I could receive and display data in realtime in the Matlab GUI (but just the graphs). Still I would like to have the 3D perspective for upcoming purposes. Is there any experience with this error?

I work with MatLab 2016, but have also tried it on Matlab 2020. Same problem. Futher MatLab gives out the follwoing comment (but not as fatal error):

Error while evaluating TimerFcn for timer 'timer-1' Undefined function 'quat2rotm' for input arguments of type 'double'.

I could not find a real mistake connected to these warnings.

xioTechnologies commented 4 years ago

It looks like you are missing the toolbox that provides the function quat2rotm. The example has been updated to no longer require this function. I believe this will fix the issue.

leoguen commented 4 years ago

Thanks for the quick response. I immemdiatly tried it, but sadly it still does not work. instead of:

it now says:

This line can be found in the quaternionPlot.m in line 71. Do you have an idea how to dodge that problem?

Am Mo., 20. Apr. 2020 um 14:49 Uhr schrieb x-io Technologies < notifications@github.com>:

It looks like you are missing the toolbox that provides the function quat2rotm. The examples has been updated to no longer require this function. I believe this will fix the issue.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/xioTechnologies/NGIMU-MATLAB-Real-Time-Example/issues/4#issuecomment-616530776, or unsubscribe https://github.com/notifications/unsubscribe-auth/APHBNYGNXQV2SX4BPTHGZJ3RNRAENANCNFSM4MKPRF2Q .

xioTechnologies commented 4 years ago

The example has been updated to remove the dependency on rotm2tform

leoguen commented 4 years ago

Thanks again for the quick response, sadly the programm is still not working. The new error is now:

Error while evaluating TimerFcn for timer 'timer-1' Input is not a valid rigid transformation.

Could you maybe explain, what you are trying to modify in the code right now/what you think is not working?

xioTechnologies commented 4 years ago

The previous errors indicated that a function being called was not available on your system. The solution was to remove the function call and instead implemented the equivalent contents of the function in the code. You can see this in the commits. In each case I cannot replicate your error, I am making changes based on the error messages you have shared. The example always runs without issue on my system. I am not sure what the most recent error message you shared refers to and I still have no way of replicating the error. I suggest you attempt to debug this and share your findings.

leoguen commented 4 years ago

Could you send me a list of the toolboxes you are using in MatLab? (most helpful with the command "ver")

xioTechnologies commented 4 years ago

I suggest that you make progress by using the error message to determine where the error is occurring and then comment out code until you have no errors. You can then incrementally introduce code to narrow down the source of the error.

leoguen commented 4 years ago

Thanks for the suggestion.

I chose the approach you suggested, still I eliminated an error just by downloading a toolbox that I was missing. Therefore I am afraid, that another missing toolbox will postpone my progress unnecessarily. That's why I was asking for the list of toolboxes.

HugeZ9 commented 4 years ago

Thanks again for the quick response, sadly the programm is still not working. The new error is now:

Error while evaluating TimerFcn for timer 'timer-1' Input is not a valid rigid transformation.

Could you maybe explain, what you are trying to modify in the code right now/what you think is not working?

Seem that it is the floating point precision problems.