-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7f448f2
commit ff5960c
Showing
13 changed files
with
106 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
|
||
### Mathematical Description of Cosserat Rods | ||
|
||
|
||
### Reference Frames | ||
|
||
### Conservation of Momentum | ||
|
||
### Linear Elasticity | ||
|
||
|
||
## Numerics | ||
|
||
### Spatial Discretization | ||
|
||
### Time Discretization | ||
|
||
### Reduce to Global State | ||
|
||
### Global to Reduce State | ||
|
||
### Boundary conditions and interaction forces | ||
|
||
|
||
|
||
|
||
|
||
A step-by-step tutorial for understanding how to model a 1D object using the Cosserat plugin within the SOFA framework. | ||
|
||
# Modeling 1D Objects with Cosserat Theory in SOFA** | ||
|
||
**Introduction:** | ||
In this tutorial, we will learn how to create a 1D object model using Cosserat Theory within the SOFA framework. This model is useful for simulating various physical systems, such as beams or rods. We'll cover the essential components and parameters needed to set up the model. | ||
|
||
**Prerequisites:** | ||
Before you begin, make sure you have SOFA installed. If not, follow the installation instructions on the SOFA website. | ||
|
||
### **Section 1: Setting up the Environment** | ||
1.1. Import necessary libraries: | ||
- Import the required libraries, including SOFA and custom utility modules. | ||
|
||
1.2. Define the class: | ||
- Begin by defining the `CosseratBase` class, which represents our 1D object model. | ||
|
||
### **Section 2: Class Initialization** | ||
2.1. Constructor: | ||
- Create the `__init__` method to initialize the class. | ||
- Define the parameters and attributes used in the class, such as mass, geometry, and nodes. | ||
|
||
### **Section 3: Beam Physics Parameters** | ||
3.1. Mass and Radius: | ||
- Set the mass and radius of the beam using parameters. | ||
|
||
3.2. Use Inertia Parameters: | ||
- Choose whether to use inertia parameters and set them accordingly. | ||
|
||
### **Section 4: Adding Rigid Base Node** | ||
4.1. Create a Rigid Base Node: | ||
- Add a rigid base node to represent the base of the 1D object. | ||
- Specify its position and rotation. | ||
|
||
4.2. Attach the Base: | ||
- Choose whether to attach the base to a link or allow it to follow arm position. | ||
- Add a rest shape force field if needed. | ||
|
||
### **Section 5: Cosserat Coordinate Node** | ||
5.1. Create a Cosserat Coordinate Node: | ||
- Add a node to represent the Cosserat coordinates. | ||
- Specify the parameters needed for the beam physics. | ||
|
||
### **Section 6: Cosserat Frame** | ||
6.1. Create a Cosserat Frame Node: | ||
- Add a node to represent the Cosserat frame. | ||
- Include mechanical objects, mappings, and other necessary components. | ||
|
||
### **Section 7: Collision Models** | ||
7.1. Add Collision Model: | ||
- Implement collision models for interactions with other objects, if required. | ||
|
||
7.2. Sliding Points (Optional): | ||
- Include sliding points or containers for specific scenarios. | ||
|
||
### **Section 8: Setting up the Scene** | ||
8.1. Configure the Scene: | ||
- Initialize the SOFA scene with necessary parameters and components. | ||
- Define gravity, time step, and solver settings. | ||
|
||
8.2. Create the Object: | ||
- Instantiate the `CosseratBase` class within the scene. | ||
|
||
**Conclusion:** | ||
In this tutorial, we've learned how to create a 1D object model using Cosserat Theory in SOFA. We covered class initialization, beam physics parameters, rigid base nodes, Cosserat coordinates, collision models, and setting up the scene. With this knowledge, you can create and simulate various 1D objects for your specific applications. | ||
|
||
**Note:** This tutorial provides a high-level overview of the class structure and its components. For more detailed code explanations and demonstrations, please refer to the actual Python class code and comments. | ||
|
||
|
||
## Applications | ||
|
||
### Build a simple cosserat Scene | ||
|
||
### Cosserat as cable for finger actuation | ||
|
||
### Cosserat as | ||
|
||
### Cosserat as |