Forked from the eFlesh repo, this is a trimmed down version for the OMAV platform.
LATER @luceharris will make a docker on crazy that you can use for making the thimble
git clone --recurse-submodules [email protected]:ethz-asl/omav_thimble_utils.git
cd omav_thimble_utils
create python env e.g.
conda env create -f env.yml
conda activate thimble
or venv (recommended)
python -m venv /path/to/venv/thimble
source /path/to/thimble/bin/activate
pip install numpy scipy reskin-sensor matplotlib meshio tqdm libigl
- design the STL/OBJ file of your desired shape for the sensor. Other designs are on [FILL IN LATER]
- get N52 neodymium magnets N52 Ø9 mm, height 3 mm. This size is the best for SNR and provide a strong magnetism.
- arduino Adafruit QT py with STEMMA QT connectors and some Qwiic cables, how to setup the adafruit
- the magnometer PCB board
- a compass
- bambu studio (the ubuntu version)
- arduino ide for flashing the Adafruit (the newer versions of arduino failed, this one is old but good)
- blender to modify the mesh after generation
system pre-requisites
sudo apt-get update && sudo apt-get install -y build-essential cmake libgmp-dev libmpfr-dev libcgal-dev libeigen3-dev libsuitesparse-dev libboost-all-dev
note: Running the following command as it is, uses 12 CPU nodes. You can customize by running
./build.sh cpu_nodes=nwhere you can choose 'n' based on your system.
cd microstructure/microstructure_inflators && chmod +x build.sh && ./build.sh
You're now all set to use cut-cell.ipynb to make your own thimble sensor, point the notebook to your OBJ/STL fle.
now you should have a mesh STL/OBJ file generated, and we need to add pouches for the magnets.
there are some pre-made scripts for the pouches
source /path/to/venv/thimble
/path/to/your/blender -bP scripts/create_pouches.py
you can change the magnet size, pouch location, and add other features such as caps here. [STILL WIP]
using the bambu lab PS1, 3D print it with TPU 95A. Warning, each print takes about 7h so plan well.
- in prepare, add the STL model generated from before
- go to file > import > import configs to load the
thimble.json - click on the object on the plate and choose the loaded thimble settings
- right click on the object and add 4 primitive cylinders and place them inside the magnet pouch locations
- inside the magnet pouch, change the infill so the pouch doesn't fill up
- slice the plate, check the magnet pouches, and add a pause at the end of the magnet pouch
- print, then add the magnets with glue making sure each magnet points the same pole
- please wear gloves!!!
[WIP] first perform the initial fabrication validation to see if this sensor is viable.
then to connect the thimble mesh to the endeffector for the OMAV, first print the attachment [ADD LATER]
- glue in the thimble sensor
- screw in the magnometer PCB board into the slot
[LATER] should epoxy the whole thing.
first follow the adafruit steps to add the board to the IDE
next upload the arduino code located in 5X_thimble_stream.ino to the qtPy arduino using the arduino IDE.
data collection data_collection.md
