CODES
A Primer on the Kinematics of Discrete Elastic Rods
This repository accompanies the book "A Primer on the Kinematics of Discrete Elastic Rods." Written in C++, this repository contains a number of case studies presented in the book.
Snap Buckling in Overhand Knots
This repository studies the snap buckling process when tightening an over hand knot. Uses Discrete Elastic Rod (DER) framework and incorporates contact and friction.
GitHub: https://github.com/StructuresComp/snap-buckling-knots
Implicit Contact Model (IMC) - Flagella Bundling Case
A fully implicit penalty-based contact method, Implicit Contact Model (IMC), for 3D elastic rod simulations. Uses Discrete Elastic Rod (DER) framework to simulate the physics of elastic rods and incorporates IMC to simulate both contact and friction. The following code is an end-to-end framework for simulating rotating multiple flagella in a viscous fluid.
Implicit Contact Model (IMC) - Knot Tying Case
Contact model for 3D elastic rod simulations. Uses Discrete Elastic Rod (DER) framework and incorporates contact and friction. Formulates a contact potential as a twice differentiable analytical expression through smooth approximations and uses the subsequent energy gradient (forces) and Hessian (force Jacobian) to simulate contact and friction.
Machine Learning Assisted Resistive Force Theory
This repository contains the code for machine learning-based resistive force theory (MLRFT), which accounts for the rigid helical structure's force, torque, and drag with high accuracy. The model was trained based on the non-local high fidelity simulation, regularized stokeslet segments (RSS) method. The trained model is generalizable to helix-based geometry and has a comparable speed to the local coefficient-based empirical resistive force theory. Due to intrinsic geometrical definition, our ML-trained model is independent of the local coordinates. This model could be applied to the simulation of rigid helical microbots operating in low Reynolds number flow.
Rapidly Encoding Generalizable Dynamics in a Euclidean Symmetric Neural Network
This repository contains the code for the paper: "Rapidly encoding generalizable dynamics in a Euclidean symmetric neural network." In this work, we propose a physics-informed deep learning approach to build reduced-order models of physical systems. We use Slinky as a demonstration. The approach introduces a Euclidena symmetric neural network architecture (ESNN), trained under the neural ordinary differential equation framework. The ESNN implements a physics-guided architecture that simultaneously preserves energy invariance and force equivariance on Euclidean transformations of the input, including translation, rotation, and reflection. We demonstrate that the ESNN approach is able to accelerate simulation by roughly 60 times compared to traditional numerical methods and achieve a superior generalization performance, i.e., the neural network, trained on a single demonstration case, predicts accurately on unseen cases with different Slinky configurations and boundary conditions.
AIWeeds: A Large Realistic Weed Dataset and Multi-label Classification Between Plants and Weeds
This repository makes available the source code and public dataset for our work, "Deep-CNN based Real-Time Robotic Multi-Class Weed Identification" submitted to International Conference on Robots and Automation (ICRA) 2021.Here, our first contribution is the first adequately large realistic image dataset AIWeeds (one/multiple kinds of weeds in one image), a library of around 10,000 annotated images taken from 20 different locations, including flax and the 14 most common weeds in (flaxseeds) fields and gardens in North Dakota, and California and Central China. Second, we provide a thorough pipeline from training these models with maximum efficiency to deploying the TensorRT-optimized model onto a single board computer. Based on AIWeeds dataset and the pipeline, we present a baseline for classification performance using five benchmark deep learning models: DenseNet121, InceptionV3, MobileNetV2, ResNet50, and Xception. Among them, MobileNetV2, with both the shortest inference time and lowest memory consumption, is the most competitive candidate for real-time applications. Finally, we deploy MobileNetV2 onto our own miniaturized autonomous mobile robot SAMBot for real-time weed detection. The 90% test accuracy realized in previously unseen scenes in flaxseeds fields (with a row spacing of 0.2-0.3 m), with crops and weeds, distortion, blur, and shadows, is a milestone towards precision weed control in the real world.
GitHub: https://github.com/StructuresComp/Multi-class-Weed-Classification
Neural-Kalman GNSS/INS Navigation for Precision Agriculture
Precision agricultural robots require high-resolution navigation solutions. We introduce a robust neural-inertial sequence learning approach to track such robots with ultra-intermittent GNSS updates. First, we propose an ultra-lightweight neural-Kalman filter that can track agricultural robots within 1.4 m (1.4 - 5.8x better than competing techniques), while tracking within 2.75 m with 20 mins of GPS outage. Second, we introduce a user-friendly video-processing pipeline to generate high-resolution (+- 5 cm) position data for fine-tuning pre-trained neural-inertial models in the field. Third, we introduce the first and largest (6.5 hours, 4.5 km, 3 phases) public neural-inertial navigation dataset for precision agricultural robots.
GitHub: https://github.com/nesl/agrobot