Contribute
Contribution Quickstart Guide
The Robotics Knowledgebase is hosted on Github. You are welcome to edit and improve this project. You can find a link to the repository here.
New Entries
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.
- Do not modify the
- Submit a pull request to the Robotics Knowledgebase.
- If your 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.
Improving Articles
If you spot a mistake (or think that you have an improvement to an article), create an issue to discuss your recommended changes.
Keeping your Fork Updated
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
Clear Changes and Update your Fork
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
Markdown
Markdown is a lightweight and easy-to-use syntax for styling your writing. It includes conventions for
Syntax highlighted code block
# Header 1
## Header 2
### Header 3
- Bulleted
- List
1. Numbered
2. List
**Bold** and _Italic_ and `Code` text
[Link](url) and ![Image](src)
For more details see GitHub Flavored Markdown.
Site Structure
Supporting technology
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
- 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.
Directory Structure
Individual subfolders should contain both an /assets
folder (for supporting files including images) and an index.md
file.
Future Work
This Knowledgebase is an evolving project. There are numerous areas for improvement in both content and site features.
Needed topics
- 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
To-do
- Logo for Robotics Knowledgebase
- Writing & style standards
Default template- Link to Github
- Collapsed Navigation for sidebar
- Separate repositories for content and technical files
- Dynamic Navigation Generation
Implement Math Support