Closed whirwind closed 3 years ago
Hi @whirwind
thanks for creating the issue. Three questions:
Best, Eric
Hi @EricVoll
Thanks for your answer.
No error message, just crash to HL2's desktop. Debugger to HL2 is too slow so I rarely use it. But today I tried it and got this: To be honest I don't understand what this means.
Here is the code (I delete parts of processing and rendering and just simply receive data to test the problem):
And this is how I active the script:
Best, whirwind
thanks for the answers.
The code of the subscriber looks good to me - at least there are no components that might fail on UWP builds.
Have you also tried to debug it as it is explained here? This should give you the exceptions not in the IL2CPP compiled c++ code, but directly in the C# code that we can interpret much better.
Hi
I tried to debug with C# code. App in the HL2 device crashes, too, without any error message in HL2 or VS2019. I guess it crashes when "base.Start()" or "ReceiveMessage()" function runs.
Today I also tried generate PointCloud message and receive it. In Unity it works fine again. But in HL2 this time the "ReceiveMessage()" function can't be triggered instead of crashing. However, file_server in ROS told me this topic was successfully subscribed.
Do you try to run it on HL2 emulator?
I have been met another exception and crash issue earlier when I try to deploy a solution on HoloLens hardware. But that was because of a wireless connection issue and it is not related with Ros#.
@EricVoll I am new to RosSharp VS2019 project so I have a stupid question: When I add new PointCloud message type, I added scripts to RosBridgeClient project and used "add as link" to add same scripts to RosBridgeClientUWP project. Is that right way to build new RosBridgeClient.dll and RosBridgeClientUWP.dll?
@glennliu PointCloud msg type in emulator performe the same as real device: no crash but "ReceiveMessage()" can not be trigged
But PointCloud2 msg type is different: 1.no crash but "ReceiveMessage()" can not be trigged in emulator 2.crash in real device
sry don't have much time now. I'm currently working on updating this UWP Fork to the newest version of ROS#. Since there will be a ton of changes, this issue might resolve itself with the newer version. Do you have time to wait for the new version, or do you need a solution asap?
Hi
Please take your time. I am looking forward to the new version.
@whirwind FYI: making good progress. I'm currently in the testing phase
@whirwind I just merged the VersionUpdate branch into the main ranch. All my tests with the new version of RosSharpUWP were successful and should work. The demo App has also been updated. If you find any new issues with the new version, feel free to create an Issue here.
Hello @EricVoll
What I am doing now is to receive pointcloud from ROS and display it in hololens2. The code works fine in Unity, but it will crash if I apply it to my Hololens2 device.
I followed other subcriber scipt and wrote my own PointCloud2 subscriber. After this error happened, I deleted all processing code and just simply receive the data, but the error still exists:
protected override void ReceiveMessage(Messages.Sensor.PointCloud2 message) { isMessageReceived = true; }
I also subscribed other messages like image or posestamped successfully both in Unity and Hololens2. The format of code and the way I use them are all the same. So I am confused now and do you have any advice? Thank you.
My OS is: Windows 10 Pro, ver.2004 My Unity Version is: 2019.4.2f1 with MRTK2.4 My Build Target Platform is: Hololens2