Skip to content

Commit

Permalink
Add Robotics Project Master Guide
Browse files Browse the repository at this point in the history
- Add Robotics Project master guide
- Add support for MermaidJS diagrams
- Add content to topic stub pages
  • Loading branch information
kaiyun717 authored Jan 29, 2025
1 parent 2c2d256 commit acf79e7
Show file tree
Hide file tree
Showing 76 changed files with 18,014 additions and 61 deletions.
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.7.8
3.2.2
1 change: 1 addition & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ end

gem "nokogiri", ">= 1.10.8"
gem "kramdown", ">= 2.3.0"
gem 'webrick', "~> 1.7"
gem "minimal-mistakes-jekyll"


2 changes: 2 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,7 @@ GEM
unf_ext
unf_ext (0.0.9.1)
unicode-display_width (1.8.0)
webrick (1.9.0)

PLATFORMS
ruby
Expand All @@ -281,6 +282,7 @@ DEPENDENCIES
kramdown (>= 2.3.0)
minimal-mistakes-jekyll
nokogiri (>= 1.10.8)
webrick (~> 1.7)

BUNDLED WITH
2.1.4
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ The Robotics Knowledgebase makes use of the following:

### Directories
The wiki itself is contained in the `/wiki` folder. The `/docs` folder exists to contain future documentation on contributing and supporting the wiki. The wiki contains the following categories:
- **Actuation**
- **Controls & Actuation**
- Topics related to the moving components including motors and controls.
- **Common Platforms**
- Covers common hardware and software frameworks used in robotics. ROS is included here.
Expand Down
3 changes: 3 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,9 @@ kramdown:
toc_levels: 1..6
smart_quotes: lsquo,rsquo,ldquo,rdquo
enable_coderay: false
parse_block_html: true
syntax_highlighter_opts:
disable: true


# Search
Expand Down
25 changes: 22 additions & 3 deletions _data/navigation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,26 @@ wiki:
- title: Wiki Index
url: /wiki/
- title: Contribute
url: /docs/
url: /docs/index/
- title: Robotics Project Guide
url: /wiki/robotics-project-guide/master-guide/
children:
- title: Define your goals and requirements
url: /wiki/robotics-project-guide/define-your-goals-and-requirements/
- title: Choose a robot
url: /wiki/robotics-project-guide/choose-a-robot/
- title: Make a robot
url: /wiki/robotics-project-guide/make-a-robot/
- title: Choose a language (or languages)
url: /wiki/robotics-project-guide/choose-a-language/
- title: Robot communication
url: /wiki/robotics-project-guide/choose-comm/
- title: Choose a simulator
url: /wiki/robotics-project-guide/choose-a-sim/
- title: Test and debug your robot
url: /wiki/robotics-project-guide/test-and-debug/
- title: Demo day!
url: /wiki/robotics-project-guide/demo-day/
- title: System Design & Development
url: /wiki/system-design-development/
children:
Expand Down Expand Up @@ -120,7 +139,7 @@ wiki:
url: /wiki/sensing/azure-block-detection/
- title: DWM1001 UltraWideband Positioning System
url: /wiki/sensing/ultrawideband-beacon-positioning.md
- title: Actuation
- title: Controls & Actuation
url: /wiki/actuation/
children:
- title: Motor Controller Feedback
Expand Down Expand Up @@ -365,7 +384,7 @@ docs:
- title: Wiki Index
url: /wiki/
- title: Contribute
url: /docs/
url: /docs/index/
- title: Contribute
children:
- title: Introduction
Expand Down
10 changes: 10 additions & 0 deletions _includes/mermaid.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<script src="https://unpkg.com/[email protected]/dist/mermaid.min.js"></script>
<script>
$(document).ready(function () {
mermaid.initialize({
startOnLoad:true,
theme: "default",
});
window.mermaid.init(undefined, document.querySelectorAll('.language-mermaid'));
});
</script>
12 changes: 12 additions & 0 deletions _includes/scripts.html
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,15 @@
});
</script>
{% endif %}

<script src="https://unpkg.com/[email protected]/dist/mermaid.min.js"></script>
<script>
$(document).ready(function () {
mermaid.initialize({
startOnLoad:true,
theme: "default",
});
window.mermaid.init(undefined, document.querySelectorAll('.language-mermaid'));
});
</script>

1 change: 1 addition & 0 deletions about.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ To accelerate the development of both projects and individual skills, we need an
*This* is that knowledge base. Here, you will find guidance on the full spectrum of our field.

### Where should I start?
This wiki is meant for people in various stages of their career, including absolute beginners. If you are just starting out in robotics, we recommend you to start from [Robotics Project Guide](wiki/robotics-project-guide/master-guid). This tutorial talks about what to consider and plan for in each step of a robotics project and provides ample resources.

### How can I contribute?

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/robotics_project_guide/all_sim.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/robotics_project_guide/f1tenth.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 3 additions & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,9 @@ The Robotics Knowledgebase makes use of the following:

### Directories
The wiki itself is contained in the `/wiki` folder. The `/docs` folder exists to contain future documentation on contributing and supporting the wiki. The wiki contains the following categories:
- **Actuation**
- **Robotics Project Guide**
- Overall guide on start-to-end for robotics projects.
- **Controls & Actuation**
- Topics related to the moving components including motors and controls.
- **Common Platforms**
- Covers common hardware and software frameworks used in robotics. ROS is included here.
Expand Down
1,077 changes: 1,077 additions & 0 deletions wiki/actuation/__all_subsections.md

Large diffs are not rendered by default.

55 changes: 51 additions & 4 deletions wiki/actuation/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,53 @@
---
date: 2017-09-13
title: Actuation
date: 2024-12-05
title: Controls & Actuation
---
**This page is a stub.** You can help us improve it by [editing it](https://github.com/RoboticsKnowledgebase/roboticsknowledgebase.github.io).
{: .notice--warning}
<!-- **This page is a stub.** You can help us improve it by [editing it](https://github.com/RoboticsKnowledgebase/roboticsknowledgebase.github.io).
{: .notice--warning} -->

The "Controls & Actuation" section provides a detailed guide to implementing and understanding a range of actuation and control methodologies essential for robotics and automation. Topics span from high-level motion planning to low-level motor controllers, helping engineers bridge the gap between conceptual design and physical motion. The section includes insights into both theoretical foundations and practical implementations.

## Key Subsections and Highlights

- **[Drive-by-wire Conversion for Autonomous Vehicles](/wiki/actuation/drive-by-wire/)**
Explains the principles and types of drive-by-wire systems, including throttle-by-wire, brake-by-wire, and steer-by-wire, and their role in modern autonomous vehicles.

- **[Linear Actuator Resources and Quick Reference](/wiki/actuation/linear-actuator-resources/)**
A comprehensive overview of linear actuation systems, covering linear guides, belt drives, screw systems, and rack-and-pinion setups.

- **[Model Predictive Control Introduction and Setup](/wiki/actuation/model-predictive-control/)**
Discusses Model Predictive Control (MPC), its benefits, and implementation in robotics for handling constraints in multi-input, multi-output systems.

- **[Motor Controller with Feedback](/wiki/actuation/motor-controller-feedback/)**
Introduces motor controllers with encoder feedback, highlighting the Pololu Jrk 21v3 USB Motor Controller as an example.

- **[MoveIt Motion Planning and HEBI Actuator Setup and Integration](/wiki/actuation/moveit-and-HEBI-integration/)**
Outlines using MoveIt in ROS for robotic motion planning and integrating it with HEBI actuators for hardware execution.

- **[PID Control on Arduino](/wiki/actuation/pid-control-arduino/)**
Explains implementing PID control on Arduino platforms, including tips for tuning and integrating Kalman filters for noisy sensors.

- **[Pure-Pursuit Based Controller for Skid Steering Robots](/wiki/actuation/Pure-Pursuit-Controller-for-Skid-Steering-Robot/)**
Covers the Pure-Pursuit algorithm for trajectory tracking in skid-steering robots, including implementation steps and constraints.

- **[Task Prioritization Control for Advanced Manipulator Control](/wiki/actuation/task-prioritization-control/)**
Details task prioritization control for robotic manipulators to manage redundant degrees of freedom and prioritize multiple simultaneous tasks.

- **[Using ULN 2003A as a Motor Controller](/wiki/actuation/uln2003a-motor-controller/)**
Explains how the ULN 2003A Darlington Array can be used as a motor controller for low-power motors and relays.

- **[Vedder Open-Source Electronic Speed Controller](/wiki/actuation/vedder-electronic-speed-controller/)**
Highlights features and advantages of the Vedder ESC, an open-source electronic speed controller for brushless DC motors.

## Resources

- [Drive-by-wire System Overview](https://carbiketech.com/drive-by-wire-technology-working/)
- [Linear Motion Components - Misumi](https://us.misumi-ec.com/)
- [Model Predictive Control - MATLAB Guide](https://www.mathworks.com/videos/series/understanding-model-predictive-control.html)
- [Pololu Jrk 21v3 USB Motor Controller](https://www.pololu.com/product/1392)
- [MoveIt Tutorials for ROS](https://ros-planning.github.io/moveit_tutorials/)
- [Arduino PID Library](http://playground.arduino.cc/Code/PIDLibrary)
- [Task Priority Control - Robotics Journal](https://journals.sagepub.com/doi/10.1177/027836498700600201)
- [Pure-Pursuit Algorithm Reference](https://www.ri.cmu.edu/pub_files/pub3/coulter_r_craig_1992_1/coulter_r_craig_1992_1.pdf)
- [ULN 2003A Documentation](https://www.ti.com/lit/ds/symlink/uln2003a.pdf)
- [Vedder ESC Project](http://vedder.se/2015/01/vesc-open-source-esc/)
Loading

0 comments on commit acf79e7

Please sign in to comment.