cannot find ChronoEngine_gpu.dll;independent speed control of the left and right drive sprockets;

119 views
Skip to first unread message

wonderful Boston

unread,
Oct 13, 2024, 4:11:30 AM10/13/24
to ProjectChrono
Dear project manager, I have asked the following questions before, but I did not get a reply. I am worried that it is because of the network, so I ask for help again.
  1. Can the tracked vehicle be configured for independent speed control of the left and right drive sprockets? How should I implement this (using the M113 as an example)? I’m feeling a bit confused at the moment.

  2. When I open the executable with the GPU module, it shows an error saying it cannot find ChronoEngine_gpu.dll. I have checked, and indeed, this DLL is missing on my computer, but I believe I have configured the GPU module correctly. How can I resolve this issue?

  3.   Why does the M113 tracked vehicle gradually drift during long simulations? I am using the default model without modifications, and my control input is from a custom .txt file where I have only set the throttle, while both steering and braking are set to 0. I find this issue rather strange.  

I would greatly appreciate your assistance.

Radu Serban

unread,
Oct 13, 2024, 5:17:04 AM10/13/24
to ProjectChrono
  1. No, the driveline templates currently available for tracked vehicles are connected to both sprockets.
    One possible way to actuate them independently is to disconnect the driveline (see ChTrackedVehicle ::DisconnectDriveline) and then add your own actuators connected to the sprocket bodies (e.g., using ChLinkMotorRotation).
  2. You are probably missing a dependency or use an incorrect version of a dependency. Check carefully the CMake output as it is most likely that the Chrono::GPU module is automatically disabled (that happens if CUDA cannot be found or if you are using an Eigen version older than 3.3.6).
  3. The vehicle model is asymmetrical (rotational dampers are in different locations left/right, there are 63 track shoes in the left track and 64 on the right, etc.). Furthermore, numerical errors can be significant (depending on solver and integrator settings) and accumulate. All of this makes it that the vehicle will not go in a straight line with an open-loop controller (which is what you use when you prescribe driver inputs from a file). You may want to look in the provided examples and attach a lateral controller (path follower).

 

--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/b98044a0-321b-4f14-845f-ad17e4586d97n%40googlegroups.com.

wonderful Boston

unread,
Oct 13, 2024, 9:35:06 AM10/13/24
to ProjectChrono

Thank you very much. With your help, I have a solution in mind for problem 1 and 3. However, problem 2 still has no solution. I am using the Eigen library version 3.4.0, which is newer than 3.3.6. CMake successfully found CUDA, and the GPU module was not disabled, but ChronoEngine_gpu.dll was not generated. I am eagerly awaiting further solutions.



==== Chrono GPU module ====


NVCC Flags: -gencode;arch=compute_89,code=sm_89 --ptxas-options=-v


Searching for CUDA...

CUDA version: 12.1

CUDA toolkit root dir: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.1

CUDA binary dir: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.1/bin


1728825871765.jpg

Radu Serban

unread,
Oct 13, 2024, 9:51:39 AM10/13/24
to ProjectChrono

Then you must get errors during the build process, no?

What compiler and version are you using?

Please also post your CMakeCache.txt file.

 

--Radu

 

From: projec...@googlegroups.com <projec...@googlegroups.com> On Behalf Of wonderful Boston
Sent: Sunday, October 13, 2024 3:35 PM
To: ProjectChrono <projec...@googlegroups.com>
Subject: Re: [chrono] cannot find ChronoEngine_gpu.dll;independent speed control of the left and right drive sprockets;

 

Thank you very much. With your help, I have a solution in mind for problem 1 and 3. However, problem 2 still has no solution. I am using the Eigen library version 3.4.0, which is newer than 3.3.6. CMake successfully found CUDA, and the GPU module was not disabled, but ChronoEngine_gpu.dll was not generated. I am eagerly awaiting further solutions.

 

 

==== Chrono GPU module ====

 

NVCC Flags: -gencode;arch=compute_89,code=sm_89 --ptxas-options=-v

 

Searching for CUDA...

CUDA version: 12.1

CUDA toolkit root dir: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.1

CUDA binary dir: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.1/bin


20241013日星期日 UTC+8 17:17:04<Radu Serban> 写道:

  1. No, the driveline templates currently available for tracked vehicles are connected to both sprockets.
    One possible way to actuate them independently is to disconnect the driveline (see ChTrackedVehicle ::DisconnectDriveline) and then add your own actuators connected to the sprocket bodies (e.g., using ChLinkMotorRotation).
  2. You are probably missing a dependency or use an incorrect version of a dependency. Check carefully the CMake output as it is most likely that the Chrono::GPU module is automatically disabled (that happens if CUDA cannot be found or if you are using an Eigen version older than 3.3.6).
  3. The vehicle model is asymmetrical (rotational dampers are in different locations left/right, there are 63 track shoes in the left track and 64 on the right, etc.). Furthermore, numerical errors can be significant (depending on solver and integrator settings) and accumulate. All of this makes it that the vehicle will not go in a straight line with an open-loop controller (which is what you use when you prescribe driver inputs from a file). You may want to look in the provided examples and attach a lateral controller (path follower).

 

--Radu

 

From: projec...@googlegroups.com <projec...@googlegroups.com> On Behalf Of wonderful Boston
Sent: Sunday, October 13, 2024 10:12 AM
To: ProjectChrono <projec...@googlegroups.com>
Subject: [chrono] cannot find ChronoEngine_gpu.dll;independent speed control of the left and right drive sprockets;

 

Dear project manager, I have asked the following questions before, but I did not get a reply. I am worried that it is because of the network, so I ask for help again.

  1. Can the tracked vehicle be configured for independent speed control of the left and right drive sprockets? How should I implement this (using the M113 as an example)? I’m feeling a bit confused at the moment.
  2. When I open the executable with the GPU module, it shows an error saying it cannot find ChronoEngine_gpu.dll. I have checked, and indeed, this DLL is missing on my computer, but I believe I have configured the GPU module correctly. How can I resolve this issue?
  3.   Why does the M113 tracked vehicle gradually drift during long simulations? I am using the default model without modifications, and my control input is from a custom .txt file where I have only set the throttle, while both steering and braking are set to 0. I find this issue rather strange.  

I would greatly appreciate your assistance.

--
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/b98044a0-321b-4f14-845f-ad17e4586d97n%40googlegroups.com.

--
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.

wonderful Boston

unread,
Oct 13, 2024, 10:22:42 AM10/13/24
to ProjectChrono
thank you,I did not experience any error when configure and generate in cmake3.25.1, nor did I report any error in visual studio2022. The following is my CMakeCache.txt, please help to check it.
CMakeCache.txt

Radu Serban

unread,
Oct 14, 2024, 6:16:32 AM10/14/24
to ProjectChrono

I don’t see anything obviously wrong in the CMakeCache file.

 

A few things to try:

  1. If possible, please work with the latest version of Chrono (in the ‘main’ branch of the GitHub repository). Is there a particular reason you are using Chrono v.8.0.0?
  2. Enable verbose output from the compiler and rebuild *only* the ChronoEngine_gpu project in VS.  Does it end with lines such as:
       1>   Creating library E:/Build/chronoFSI/lib/Release/ChronoEngine_gpu.lib and object E:/Build/chronoFSI/lib/Release/ChronoEngine_gpu.exp
       1>ChronoEngine_gpu.vcxproj -> E:\Build\chronoFSI\bin\Release\ChronoEngine_gpu.dll
  3. Enable the Chrono::FSI module (that is also CUDA-based). Are you able to build that module?
  4. Try updating CUDA to 12.3 (12.1 should also work as far as I know, but I am using 12.3 with no problems). Note however that you should *not* use a version newer than 12.3.
Reply all
Reply to author
Forward
0 new messages