The Robotics Knowledgebase is the Wiki for Robot Builders. It exists to advance knowledge in the robotics discipline. We document and share application details left out of textbooks and academic papers.
This Knowledgebase holds knowledge essential to building working robots. We believe robots should be built to solve specific problems. We take a systems-based approach to creating them. We include Project Management practices to ensure project completion.
To submit an original article follow these steps:
- Fork this repository.
- Locate the appropriate directory for your submission in
/wiki
. - Copy
_templates/template.md
into the directory. - Write your article. We recommend the following options:
- Connect Prose.io to your Github account and write from your browser.
- Clone the repository to your device. We recommend using the Atom editor with the Markdown-Writer and Markdown-Image-Helper packages.
- Rename
template.md
to the subject of your article. The new name should be lowercase, have hyphens for spaces, and end with.md
(this-is-an-example.md
) - Add a link to your article to
_data/navigation.yml
under thewiki
heading.
- Do not modify the
main
ordocs
lists.
- Submit a pull request to the Robotics Knowledgebase.
- If you're working from your device, don't forget to add, commit, and push your changes first.
- Editors may request changes before they accept your pull request. Use their feedback to improve your entry and resubmit.
If you spot a mistake (or think that you have an improvement to an article), create an issue to discuss your recommended changes.
Syncing a fork is accomplished through git on your local device. You should already have Git installed and cloned your fork to your computer.
- Navigate to the working directory of your local project.
- Configure a remote that points to the upstream repository. On your Linux device, use:
git remote add upstream https://github.com/RoboticsKnowledgebase/roboticsknowledgebase.github.io
.- This only needs to be done once.
- Use
git remote -v
to verify that the upstream repository is listed. - Fetch the latest commits from the upstream repository. These will be stored in a local branch
upstream/master
:
git fetch upstream
- Check out your fork's local
master
branch:
git checkout master
- This brings your fork's master branch into sync with the upstream repository, without losing your local changes:
git merge upstream/master
This method is used specifically to erase all changes to your fork and replace it with the most updated copy of the Wiki.
- Follow steps 1-5 from Keeping your Fork Updated above.
- Reset your local repository:
git reset --hard upstream/master
- Force the new repository to overwrite your remote fork:
git push origin master --force
The Robotics Knowledgebase makes use of the following:
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
- 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.
- Computing
- Topics related to hardware brains for robotics including on-board computers and cluster computing.
- Fabrication
- Topics related to techniques and tools for fabricating a robot.
- Interfacing
- Covers means of interfacing with a robot outside of networking.
- Networking
- Topics related to communications infrastructure for robotics including programming and wireless technologies.
- Programming
- General programming topics including languages and practices.
- Project Management
- Topics related to project management practices.
- Sensing
- Covers topics related to sensors including computer vision and cameras.
- State Estimation
- Topics related to the position and orientation of a robot including navigation, localization, and mapping.
- System Design and Development
- Covers topics related to Systems Engineering.
- Tools
- Useful hardware and software for robotics not used directly in the robot itself.
Individual subfolders should contain both an /assets
folder (for supporting files including images) and an index.md
file.
This Knowledgebase is an evolving project. There are numerous areas for improvement in both content and site features.
- Introduction to planning your robotics project
- Updated overview of single-board computers (
/wiki/computing/single-board-computers.md
) - Mobility Overview (put in
/actuation
) - Manipulation Overview (put in
/actuation
) - State Estimation Overview
- System Engineering Overview
- Using GPUs for Computer Vision
- Using GPUs for Machine Learning
- V-model
- Logo for Robotics Knowledgebase
- Writing & style standards
- Link to Github
- Collapsed Navigation for sidebar
- Separate repositories for content and technical files
- Dynamic Navigation Generation
Default templateImplement Math Support