This repository contains a comprehensive set of Jupyter notebooks focused on kinematics analysis, providing insights into various mechanical and robotic systems. Each notebook highlights specific concepts and computational techniques with automated testing and deployment.

kinematics-analysis/
├── notebooks/ # Jupyter notebooks
│ ├── Foldable-Kinematics.ipynb
│ ├── Fourbar_Kinematics.ipynb
│ └── Robot-Kinematics.ipynb
├── src/ # Source code utilities
├── tests/ # Test suite
├── assets/ # Generated animations and assets
├── docs/ # Documentation
├── .github/workflows/ # GitHub Actions CI/CD
├── requirements.txt # Python dependencies
├── Makefile # Build automation
└── README.md
- Enhanced with Animation: Now includes automated GIF generation showing robot movement
- Google Colab Compatible: Can be run directly in Google Colab
- Focuses on foldable mechanisms and their kinematic behavior
- Provides solutions to assignment-based problems on foldable linkages
- Includes step-by-step breakdown of kinematic equations
- Demonstrates analysis and modeling of folding mechanisms through practical examples
- Incorporates quaternions to represent and compute rotations efficiently
- Explores the kinematics of a four-bar linkage system
- Discusses the derivation of the Jacobian matrix
- Analyzes the relationship between joint torques and external forces using τ = J^T F
- Features detailed computations and visualizations
- Delves into the kinematics of robotic systems
- Covers forward and inverse kinematics for robotic arms
- Examines transformations, joint space, and workspace analysis
- Utilizes practical examples to illustrate robotic motion and control strategies
- Employs quaternions for rotation representation, avoiding gimbal lock
- Python 3.8 or higher
- pip package manager
-
Clone the repository
git clone https://github.com/pranaypalem/kinematics-analysis.git cd kinematics-analysis -
Install dependencies
make install # or manually: pip install -r requirements.txt -
Run notebooks
jupyter lab notebooks/
make help # Show available targets
make install # Install dependencies
make test # Run tests
make lint # Run code linting
make format # Format code
make notebooks # Execute all notebooks
make animations # Generate animation GIFs
make clean # Clean temporary files
make build # Run complete build pipeline
make all # Run everything# Run the complete build pipeline
make build
# Or run individual steps
make install
make test
make notebooks
make animationsThe Foldable Kinematics notebook now includes:
- Automated GIF Generation: Creates smooth animations of robot movement
- Configurable Parameters: Adjust animation speed, range, and quality
- Google Colab Support: Works seamlessly in cloud environments
- Asset Management: Generated animations are saved to
assets/directory
The project includes comprehensive testing:
# Run all tests
make test
# Tests include:
# - Notebook execution verification
# - Code quality checks
# - Dependency verificationThis project uses GitHub Actions for automated testing and deployment:
- Multi-Python Testing: Tests on Python 3.8, 3.9, 3.10, 3.11
- Automated Builds: Every push and pull request triggers CI
- Notebook Execution: Verifies all notebooks run without errors
- Animation Generation: Automatically creates and uploads animations
- Artifact Storage: Generated assets are preserved for 30 days
The CI badge at the top shows the current build status. Green means all tests pass!
# Setup development environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
make installAll notebooks are Google Colab compatible. Simply:
- Upload the notebook to Colab
- Run the first cell to install dependencies
- Execute normally
Deployment happens automatically:
- Push to
mainordevelopbranches triggers CI - Pull requests are automatically tested
- Successful builds generate and store animations
- Fork the repository
- Create a feature branch
- Make your changes
- Run
make buildto ensure everything works - Submit a pull request
This project is open source and available under the MIT License.
Pranay Palem
- GitHub: @pranaypalem
- Academic work showcasing kinematics analysis research
Explore the fascinating world of kinematics with automated testing and beautiful animations! 🤖✨