# A Roadmap for Beginners: Embedded Systems and Control Theory

**URL:** https://discourse.julialang.org/t/a-roadmap-for-beginners-embedded-systems-and-control-theory/95150
**Category:** New to Julia
**Tags:** question, machine-learning, hardware, signal-processing, controlsystems
**Created:** [February 24, 2023, 4:41pm UTC](https://discourse.julialang.org/t/a-roadmap-for-beginners-embedded-systems-and-control-theory/95150 "2023-02-24T16:41:15Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![MMehdi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mmehdi/32/36065_2.png) [@MMehdi](https://discourse.julialang.org/u/MMehdi)
#### Post date: [February 24, 2023, 4:41pm UTC](https://discourse.julialang.org/t/a-roadmap-for-beginners-embedded-systems-and-control-theory/95150/1 "2023-02-24T16:41:15Z")

</div>

hi everyone, hope you’re dong well.  
As far as I could catch, I suppose Julia is quiet fitted for embedded applications and implementing algorithms with high computational burden and limited available memory space . I’m looking for a roadmap for beginners to have an overview and to know what steps are needed for learning Julia alongside these purposes.  
I’m already studying control engineering and familiar with MATLAB as it is widely used in the major and I know that C and Python are the most used programming languages for implementation. so, Julia, with the hindsight that provides a sort of combination of mentioned languages, seems interesting.

Purposes:  
1. implementing complex (linear and non-linear) control and system identification algorithms  
2. implementing AI and data-driven based algorithms  
3. implementing real-time scenarios

Applications:  
1. Robotics  
2. auto-driven vehicles  
3. Multi-agent and swarm robotics  
4. Signal processing

The roadmap should contain:  
1. Basic concepts of Julia  
2. Courses on related packages  
3. examples and real projects for training

Best regards

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [February 24, 2023, 5:47pm UTC](https://discourse.julialang.org/t/a-roadmap-for-beginners-embedded-systems-and-control-theory/95150/2 "2023-02-24T17:47:58Z")

</div>

@baggepinnen has been doing a training series on this topic over the last few months. Check out the video training series here:

https://www.youtube.com/embed/ksrEyMNX_BY?feature=oembed&wmode=opaque&list=PLC0QOsNQS8hbRWdXwp14ml-HlZROD82R3

The embedded part isn’t in there yet, but we will share more as more is completed in the JuliaSim control library.

[https://help.juliahub.com/juliasimcontrol/stable/](https://help.juliahub.com/juliasimcontrol/stable/)

---

<div class="post-metadata">

### Author: ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)
#### Post date: [February 25, 2023, 12:38pm UTC](https://discourse.julialang.org/t/a-roadmap-for-beginners-embedded-systems-and-control-theory/95150/3 "2023-02-25T12:38:53Z")

</div>

A road map quite like what you’re asking for has not been developed, but here are some resources that might help you get started:

- [Getting started with linear control](https://help.juliahub.com/juliasimcontrol/dev/getting_started_linear/), this is a quick overview of basic linear control concepts in Julia.
- [Introduction to Control Analysis and Design in Julia (Video series)](https://www.youtube.com/playlist?list=PLC0QOsNQS8hbRWdXwp14ml-HlZROD82R3) This video series is targeted at people who are familiar with other control-systems toolboxes and want to transition to Julia.
- [The ControlSystems.jl documentation](https://juliacontrol.github.io/ControlSystems.jl/dev/) contains basic examples and links to relevant video examples.
- [Robust control](https://juliacontrol.github.io/RobustAndOptimalControl.jl/dev/) This package provides resources for classical robust-control problems, analysis, synthesis and uncertainty modeling.
- [Modeling for control using ModelingToolkit](https://help.juliahub.com/juliasimcontrol/dev/examples/mtk_control/) a tutorial on how to use the ModelingToolkit modeling language to solve basic control problems.
- [System identification with ControlSystemIdentification.](https://baggepinnen.github.io/ControlSystemIdentification.jl/dev/) handles classical identification of LTI models. See the examples section in the documentation for a number of examples and tutorials.
- [LowLevelParticleFilters.jl](https://baggepinnen.github.io/LowLevelParticleFilters.jl/stable/) contins facilities for state estimation, such as Kalman filters and other observer structures. These are used in the system identification package as well as in the JuliaSim Control package.
- [ControlSystemsMTK.jl](https://juliacontrol.github.io/ControlSystemsMTK.jl/dev/) is an interface package that makes it easier to solve classical control problems with ModelingToolkit models.
- [Control Ecosystem in Julia](https://juliacontrol.github.io/ControlSystems.jl/dev/#Ecosystem) this page lists a number of packages that are related to control-systems and adjacent areas in Julia.
- [Model-predictive control](https://help.juliahub.com/juliasimcontrol/dev/mpc/) We offer MPC functionality, linear, nonlinear and robust, in JuliaSim Control.
- [JuliaControl youtube playlist](https://youtube.com/playlist?list=PLd_RaCnvGpJAk8JXI9dVtIkhoe10CadnI) I maintain this playlist which contains a number of videos that are related to control-systems in Julia.
- [C code generation with SymbolicControlSystems.jl](https://github.com/JuliaControl/SymbolicControlSystems.jl), we do not have very much advanced functionality here at the moment, but basic C-code generation for linear systems is supported.
- For examples and tutorials, we have a decent number of tutorials in the [JuliaSimControl tutorial section](https://help.juliahub.com/juliasimcontrol/dev/), see the section “Tutorials” in the menu. Also see the [“Exampels section”](https://juliacontrol.github.io/ControlSystems.jl/dev/) in the ControlSystems.jl documentation.
