EDEM Custom Coupling with Unity3D or PyBullet

Gaetan Pans_21058
Gaetan Pans_21058 New Altair Community Member
edited April 15 in Community Q&A

Good evening,

Would it be possible to create a coupling with EDEM and Untiy3D or Pybullet? The idea being to have an accurate discrete element modelling/particle interaction in other physics engines/renderers to incorporate machine learning of a robot through deformable terrain (to be modelled by EDEM).

Thanks

Gaetan

Tagged:

Answers

  • RWood
    RWood
    Altair Employee
    edited March 28

    Hi,

    Possible? Certainly. We have a coupling interface built into EDEM which you can connect to over TCP/IP, calling from any executable/binary you like. We have a coupling library (dll/so) with a range of public functions allowing you to get particle/geometry/contact/timestep information which you can do with as you wish. In the same way that we couple with CFD/MBD/FEA codes, you can connect to anything you like, such as  the programs you mention.

    The only thing you have to do...is write the coupling :)

    Cheers,

    Richard

  • PrasadAvilala
    PrasadAvilala
    Altair Employee
    edited March 28

    Hi Gaetans,

    Looks like EDEM not coupled with Pybullet and Unity3D. However, looks linke Pybullet is Artificial neural network based workflow, EDEM is coupled with Hyperstudy which is ANN based work flow. Below is the link to explore EDEM+ Hyperstudy work flow

    Altair Exchange - EDEM-HyperStudy Connector: Installers and User Guide

     

    If i am correctly understood about Unity3D, it's like a Machine learning, EDEM is also coupled with romAI and also Altair has our own machine learning tools called rapid miner.

    Please find below example of a romAI coupled with EDEM

    Altair Exchange - Wheel Loader Simulation with romAI

     

    thanks,

    Prasad A

     

  • Gaetan Pans_21058
    Gaetan Pans_21058 New Altair Community Member
    edited April 15

    Hi,

    Possible? Certainly. We have a coupling interface built into EDEM which you can connect to over TCP/IP, calling from any executable/binary you like. We have a coupling library (dll/so) with a range of public functions allowing you to get particle/geometry/contact/timestep information which you can do with as you wish. In the same way that we couple with CFD/MBD/FEA codes, you can connect to anything you like, such as  the programs you mention.

    The only thing you have to do...is write the coupling :)

    Cheers,

    Richard

    Hi Richard,

    Thank you for the quick reply. I am completely new to writing a coupling having never done it before. Any possible guidance, tutorials or resources on the first steps? It is not just accessing the data from the simulation through code, but generating the particles with EDEM's physics into another renderer. 

    Thanks

    Gaetan

  • RWood
    RWood
    Altair Employee
    edited April 15

    Hi Richard,

    Thank you for the quick reply. I am completely new to writing a coupling having never done it before. Any possible guidance, tutorials or resources on the first steps? It is not just accessing the data from the simulation through code, but generating the particles with EDEM's physics into another renderer. 

    Thanks

    Gaetan

    Hi,

    https://community.altair.com/community/en/dynamics-coupling-interface-swing-door-example?id=kb_article&sysparm_article=KB0121901

    https://community.altair.com/community/en/edem-coupling-interface-applying-pressure-to-a-geometry?id=kb_article&sysparm_article=KB0121935

    These were written a long time ago but serve as simple introductions to the coupling interface. They're not full tutorials, but there are steps on how to use it at the bottom of one of those links and the source code is there too. These examples have very simple executables that control different aspects of EDEM. I know nothing about Unity3D or PyBullet, but in essence they would be replacing the simple executables from these examples.

    Those examples will hopefully give you some insight into how to interact with the coupling. Clearly it's much easier if you have access to the source for the software you want to couple with. I'm assuming this isn't the case for you so it will depend on what API/libraries those software have available to users as to how you get the information in, so it will be something like:

    EDEM -- Coupling interface -- [ an executable ]

    or

    EDEM -- Coupling interface -- [some API/library from Unity3D/PyBullet] --  [Software]

    Cheers,

    Richard

     

  • Gaetan Pans_21058
    Gaetan Pans_21058 New Altair Community Member
    edited April 15

    Hi,

    https://community.altair.com/community/en/dynamics-coupling-interface-swing-door-example?id=kb_article&sysparm_article=KB0121901

    https://community.altair.com/community/en/edem-coupling-interface-applying-pressure-to-a-geometry?id=kb_article&sysparm_article=KB0121935

    These were written a long time ago but serve as simple introductions to the coupling interface. They're not full tutorials, but there are steps on how to use it at the bottom of one of those links and the source code is there too. These examples have very simple executables that control different aspects of EDEM. I know nothing about Unity3D or PyBullet, but in essence they would be replacing the simple executables from these examples.

    Those examples will hopefully give you some insight into how to interact with the coupling. Clearly it's much easier if you have access to the source for the software you want to couple with. I'm assuming this isn't the case for you so it will depend on what API/libraries those software have available to users as to how you get the information in, so it will be something like:

    EDEM -- Coupling interface -- [ an executable ]

    or

    EDEM -- Coupling interface -- [some API/library from Unity3D/PyBullet] --  [Software]

    Cheers,

    Richard

     

    Hi Richard,

    Thanks will have a look, certainly heading in the right direction.

    Gaetan