Generative design

This commit is contained in:
2025-05-06 11:14:24 +02:00
parent 7087a257c3
commit b11ed673ef
13 changed files with 62 additions and 2 deletions

View File

@@ -167,13 +167,73 @@ namespace Controller {
ESPC3 --> ESPC6 Thread 1 : Send data to flight controller using ESPNOW ESPC3 --> ESPC6 Thread 1 : Send data to flight controller using ESPNOW
``` ```
I've already gotten the motors to spin in [week 10](../Assignments/week_10_output_devices/output_devices.md) using the script in there. Now I also need to modify the driver so my ESC's can properly understand it's instructions. I've already gotten the motors to spin in [week 10](../Assignments/week_10_output_devices/output_devices.md) using the script in there. Now I also need to modify the original VTOL driver so my ESC's can properly understand it's instructions.
//TODO: Continue this
https://grabcad.com/library/readytosky-rs2205-1 https://grabcad.com/library/readytosky-rs2205-1
## Generative design
Online I saw a lot of organic designs that where created by generative design.
![alt text](image-12.jpg)
Credits: [formlabs](https://formlabs.com/eu/blog/generative-design/)
I wanted to do this myself for the drone arms. So I started messing around in the generative design tab of my drone arm model.
![alt text](image-13.jpg)
I've already designed the base of the arm. What generative design does is either add or remove material based on parameters you give it.
I've already prepared my model by created some parts as seperate bodies. So I can preserve them during the generation process.
When creating a Study you need to assign which parts to groups.
![alt text](image-14.jpg)
* The preserve Geometry group where loads get applied
* Obstacle Geometry gets avoided and no loads get placed on there.
* Obstacle offset increases the size of a body by an x amount of mm.
* Starting shape is the group that is mainly going to get modified
* Unsigned geometry are bodies that are not assigned yet
* symmetry planes are a way to define a plane where both sides need to be mirrored (symmetrical)
So after assigning everything this is my result.
![alt text](image-15.jpg)
After that you can open the Objectives tab to see what you wanna do and set more limits.
![alt text](image-16.jpg)
The only things I understand from this menu is the Objectives and the Displacement. The objective is straight foward and the Displacement is the amount of millimeters it is allowed to fluctuate from the original design in said direction.
Now it's time to add the loads on the part. So the amount weight and force the part needs to be able to handle.
For that there's a keybind `L`
![alt text](image-17.jpg)
After you've pressed that you can click a face and add force to it. In my instance it needs to withstand at least 2 kg in all directions.
The formula for Kg to Newton is. `Earths gravity * Kg = Newton`. So 9.81 * 2 = 19.62N.
After adding all of that there are 2 steps left over.
Adding the place where it is locked in place and materials we wanna study.
Over in the Manufacturing tab we can select materials.
![alt text](image-18.jpg)
I've added PET since there isn't PLA in the library.
![alt text](image-19.jpg)
Also make sure you have a constraint.
![alt text](image-20.jpg)
This can be added by pressing `C`.
Now we can run the case!
When running a study I first recommend running the pre-check.
![alt text](image-21.jpg)
In my case I am not milling it and the part that's hidden is the motor itself so that's fine.
So now I am ready for generation.
![alt text](image-22.jpg)
Once I press that button this will pop up and I can press Generate 1 Study.
This does cost money If you don't have unlimited cloud tokens. With my education license I do have unlimited.
![alt text](image-23.jpg)
Once it starts generating this will pop up. These are the finished results. The generation process can take about an hour.
## TODO ## TODO
* [ ] Matrix board subsystem * [ ] Matrix board subsystem
* [ ] Rewrite PWM esc control system in driver * [ ] Rewrite PWM esc control system in driver

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB