This repository contains all materials related to the Foldable Robotics Project, inspired by the basilisk lizard's unique ability to transition between quadrupedal and bipedal locomotion. The project focuses on designing and optimizing a foldable robotic system using a four-bar mechanism to enhance movement adaptability and efficiency.
The primary goal of this project is to develop a robotic system capable of mimicking the basilisk lizard's terrestrial locomotion. By systematically altering the four-bar mechanism's parameters, the project aims to:
- Maximize the lift provided to the robot's body.
- Achieve efficient and stable motion transitions between locomotion modes.
This research contributes to the field of biomimetic robotics, emphasizing innovative, adaptable designs with potential applications in exploration, search and rescue, and entertainment.
MuJoCo (Multi-Joint dynamics with Contact) is a high-performance physics engine used extensively in this project to simulate the robot's movements and dynamics. It was integral to:
- Simulating Dynamics: The four-bar mechanism and other robotic components were modeled and tested in a virtual environment to evaluate their stability and performance.
- Optimizing Parameters: MuJoCo allowed iterative testing of different configurations, such as link lengths, joint angles, and stiffness, to achieve optimal lift and balance.
- Visualizing Movement: The simulation provided visual feedback, enabling fine-tuning of parameters and validating the robot's locomotion design.
The XML templates used in MuJoCo defined the physical structure, joint properties, and other dynamic parameters of the robot. These simulations significantly reduced the need for physical prototyping, saving time and resources.
download.mp4
-
LoopTesting.ipynb
- A Jupyter Notebook containing simulation code for testing different configurations of the four-bar mechanism.
- Includes functions for analyzing stability, adjusting variables, and visualizing performance.
- Features dynamic simulations using MuJoCo.
-
robot_data.csv
- Contains recorded simulation data for various configurations of the robotic system.
- Includes columns such as time, position, velocity, and torque data.
-
initial_data.csv
- Provides initial parameter sets and configurations used in the simulations.
- Useful for baseline comparisons and optimization analysis.
-
Research.pdf
- A detailed research paper describing the biomechanical inspiration for the project.
- Explores the basilisk lizard's gait patterns and mechanical principles applied to robotic design.
-
Output.pdf
- Summarizes the project's challenges, solutions, and key findings.
- Highlights the implementation of a systematic approach to stabilize the four-bar mechanism.
-
Existing
README.md
- A basic placeholder file replaced by this comprehensive version.
-
Four-Bar Mechanism
- Designed to replicate the basilisk's hind limb movement for efficient locomotion.
- Parameters are adjustable for optimized lift and stability.
-
Simulation Environment
- Built using MuJoCo for realistic dynamic analysis.
- XML templates for configuring the four-bar mechanism and the full robot system.
-
Data Analysis
- Code includes functions to process simulation data, detect tipping conditions, and visualize performance metrics.
- MuJoCo: For dynamic simulations and system testing.
- Python: For data analysis, visualization, and parameter optimization.
- Jupyter Notebook: Interactive environment for running simulations and analyzing results.
To run the simulations and analyze the data, you need:
- Python 3.7 or higher
- MuJoCo installed and configured
- Required Python libraries:
numpy
,pandas
,matplotlib
,mediapy
,scipy
,tqdm
-
Download MuJoCo:
- Visit the MuJoCo website and download the appropriate version for your operating system.
-
Install MuJoCo:
- Follow the installation guide provided on the MuJoCo website. For Linux and macOS, ensure the
mjkey.txt
is in the MuJoCo directory.
- Follow the installation guide provided on the MuJoCo website. For Linux and macOS, ensure the
-
Set Environment Variables:
- Add the MuJoCo installation path to your system's environment variables. For example:
export MUJOCO_PY_MJKEY_PATH=/path/to/mjkey.txt export MUJOCO_PY_MJPRO_PATH=/path/to/mujoco
- Add the MuJoCo installation path to your system's environment variables. For example:
-
Install
mujoco-py
:- Use pip to install the Python bindings for MuJoCo:
pip install mujoco-py
- Use pip to install the Python bindings for MuJoCo:
-
Clone the repository:
git clone https://github.com/your-username/FoldableRobotics.git cd FoldableRobotics
-
Install the required Python packages:
pip install -r requirements.txt
-
Open
LoopTesting.ipynb
in Jupyter Notebook and execute the cells to run simulations and analyze results. -
Adjust the parameters in the notebook or XML files to customize the simulations.
- Initializing the four-bar mechanism in simulations without instability.
- Finding the optimal parameters for lift and stability.
- Developed systematic methods for accurate initialization.
- Utilized iterative optimization to refine parameters based on simulation feedback.
The project draws inspiration from various studies on basilisk locomotion:
For more details, refer to Research.pdf
.
- Pranay Palem
- Puneet Sai Naru