Curiosity SCM Demo Error

48 views
Skip to first unread message

Vanessa Hernandez-Cruz

unread,
Jul 28, 2023, 8:02:38 PM7/28/23
to ProjectChrono
Hello, 

When running demo_ROBOT_Curiosity_SCM that is downloaded with Chrono, I get an error (about threads and static-static collision) in my terminal once it comes time for the rover to traverse over the rock , or at least that is what it looks like from the visualization - I have not changed anything in this demo code. I am using Microsoft Visual Studio to run the demo. I am attaching a screenshot of the error message and section of cbtThreads.cpp where the error comes from, please let me know if you have any tips to solve this issue. Thank you in advance! 

All my best,
Vanessa
threads.png
threaderror.png

Radu Serban

unread,
Aug 2, 2023, 4:29:00 AM8/2/23
to ProjectChrono

Hi Vanessa,

 

Both issues (the warning and failed assertion) come from the third-party Bullet library (which we use as the default collision detection library in Chrono).  Having said that,

  1. You can safely ignore the warning about static-static collision (that’s Bullet misinterpreting some of the Chrono setup)
  2. The failed assertion appears to be triggered during some ray casting operations which are at the heart of the SCM deformable soil implementation. I have not investigated this in depth, but it seems to me that this is a Bullet issue, where this assertion should have been at most a warning.  Indeed, as you can see in the ThreadsafeCounter::getNext() function, the Bullet code can mitigate the case mCounter >= BT_MAX_THREAD_COUNT (by wrapping the counter back to 1).  In fact, the reason we didn’t see this issue before is that we do not run a demo such as this one built in Debug mode for this long.  With Chrono built in Release mode, this assert is never evaluated; the code works just fine, showing that this should not be a showstopper.

 

To make a long story short, try commenting out the cbtAssert(!"thread counter exceeded"); line in cbtThreads.cpp, rebuild, and run the test again.

 

Finally, unless you have specific reasons to run the code in Debug mode, I suggest you rebuild in Release mode.  You will see a significant performance boost. 

 

--Radu

--
You received this message because you are subscribed to the Google Groups "ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email to projectchron...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/projectchrono/59560ed9-c39f-41dd-a813-c3a87d3f2fbdn%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages