Skip to content

harishjayaraj10/Julia-Playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Julia-Playground

A long-term learning project: Julia for mechanical engineering & robotics, building toward a published Julia package.

Goals

  1. Learn Julia properly (syntax, idioms, performance, ecosystem).
  2. Build robotics fundamentals from scratch (rigid-body transforms, DH parameters, kinematics, dynamics).
  3. Produce YouTube content along the way (recordable, reproducible lessons).
  4. End with a real, published Julia package (MechJulia.jl).

Quick start

# 1. Instantiate the package environment (downloads deps once)
julia --project=. -e 'using Pkg; Pkg.instantiate()'

# 2. Run the test suite (sanity check that the package is wired up)
julia --project=. -e 'using Pkg; Pkg.test()'

# 3. Use the package from a REPL or notebook
julia --project=.
#   julia> using MechJulia
#   julia> rotation_z(π/2) * SA[1.0, 0.0, 0.0]
#   3-element SVector{3, Float64} with indices SOneTo(3):
#    6.123233995736766e-17
#    1.0
#    0.0

For the Pluto notebooks under notebooks/, see notebooks/README.md — they use a separate Julia environment so notebook-only dependencies don't bloat the package.

Phase plan

Phase Topic Output
0 Julia setup, REPL, Pluto, project tooling Working env, this repo
1 Julia fundamentals Notebooks 01–10
2 Linear algebra, rotations, transforms Notebooks 11–20
3 Robot kinematics (FK, IK, Jacobians) Notebooks 21–30
4 Robot dynamics (Lagrangian / Newton–Euler) Notebooks 31–40
5 Trajectory planning & control Notebooks 41–50
6 Visualization, simulation, testing Notebooks 51–55
7 Package the whole thing MechJulia.jl on JuliaHub / General registry

See ROADMAP.md for the detailed week-by-week plan.

Repo layout

.
├── README.md
├── ROADMAP.md              ← detailed week-by-week plan
├── Project.toml            ← package deps (what gets published)
├── src/                    ← package source
│   ├── MechJulia.jl        ← entry point
│   ├── units.jl
│   ├── transforms.jl       ← rotations & homogeneous transforms
│   ├── kinematics.jl       ← Phase 3 placeholder
│   ├── dynamics.jl         ← Phase 4 placeholder
│   └── trajectories.jl     ← Phase 5 placeholder
├── test/                   ← package tests
│   └── runtests.jl
├── docs/                   ← documentation site (Documenter.jl) — Phase 6
├── notebooks/              ← Pluto.jl lessons (video source material)
│   ├── README.md
│   └── 00_setup/
│       └── 01_hello_pluto.jl
├── videos/                 ← YouTube scripts, thumbnails, notes
└── .github/workflows/      ← CI

Current status

  • Phase 0 — environment & tooling
  • Phase 1 — Julia fundamentals (notebooks 01–10)
  • Phase 2 — Math for robotics (notebooks 11–20)
  • Phase 3 — Robot kinematics (notebooks 21–30)
  • Phase 4 — Robot dynamics (notebooks 31–40)
  • Phase 5 — Trajectory planning & control (notebooks 41–50)
  • Phase 6 — Engineering quality (CI, docs, benchmarks)
  • Phase 7 — Publish to the General registry

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages