Skip to content
Khang Vu edited this page Sep 19, 2020 · 34 revisions

HIRo banner

Overview

Technical documentation in HIRo exists in 3 different places: Github wiki, HIRo website, and project's repo. Besides, we also have team documentation on Google Drive, Slack, and Asana. Please contact the current team leader for access permissions.

Github Wiki

This is where you can find all official documentation about our system. It includes all the essential, up-to-date tutorials and instructions to operate the hardware and manage the software.

It also provides a temporary place to document the current project(s) because it's easier for all project members to find documentation on Github Wiki. However, Github wiki is not a place to document previous projects (old projects' documentation should stay within their own repos). That said, after each project ends, its documentation on Github Wiki has to be re-organized and then moved to the project's repo page via a pull request. Old projects on Github Wiki will be deleted when the next semester starts.

HIRo website

The team website is hosted on Github page using Forestry.io as a middle-man service to build and maintain the site. The site is used to showcase our team's previous projects to the outside audience. A project post on this site needs to explain the high-level implementation of the project with polished videos and images and provide a project's repo URL (source code).

Branch hosted: hiro/gh-pages

Forestry.io instruction: https://github.com/olinrobotics/hiro/wiki/Github-Page-with-Forestry.io

Post example: https://olinrobotics.github.io/hiro/projects/math-problem-solving/

Please contact the current team leader to gain permission to the Forestry platform.

Project's repo

Old projects' repos should stay in hiro_archive folder. This is where the source code of your project lives. Each project should have a README that

  • describes the program (with a link to the project on Github page)
  • explains the structure of the code (for example, what are the classes, and how are they related?)
  • describes how to install and run the program including versions of required software and the OS you tested on
  • lists contributors

Project README example: https://github.com/olinrobotics/hiro/tree/master/hiro_archive/Spring_2018_Project_Gemini/Perception

Basic tutorials

General Markdown Basics

Github Wiki pages are written in the Markdown language. The language is a format-based language, much like HTML. It's fairly easy to write, and most of the work involves looking up what you want to do and copying the formatting of the code that you find. Github has a nice bar with buttons for quite a few different functions that you can use. Additionally, Markdown Cheatsheet has a general page for basic Markdown commands that is useful. To access the Markdown file for a given GitHub page, click the "Edit" button (next to the "New Page" button) on the right-hand side of the website.

Getting Started

Advanced Tutorials

To understand how Perception and Path Planning and Control are connected, check out Architecture Overview for XAMYAB.

Perception

Path Planning and Control

Machine Learning

Hardware Documentation

Software Documentation

If you want to learn about how to create URDF models and configure your robot in MoveIt!, check out these posts:

Essential Repositories

1. What packages do I need to control the robot Xamyab using MoveIt!?

Repository Simulated Robot Real Harware
olinrobotics/universal_robot x x
olinrobotics/robotiq_2finger_grippers x x
olinrobotics/ur_modern_driver x

2. Why don't we put everything in one place (aka hiro repo)?

These packages are still under development, and by keeping them separate, we can occasionally pull from upstream (the official repos) and update the packages to the newest version. When pulling from upstream, we might encounter some merge conflicts but it would be rare and easy to fix.

Active Projects

Links to active projects should be listed here.

Archive

These are archive pages that are hidden and cannot be found on Github Wiki. To make a page hidden, put underscore _ in front of the page title.