Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
orb_contribute [2016/05/20 17:28]
sam [Before starting work]
orb_contribute [2016/05/22 12:09] (current)
sam
Line 1: Line 1:
-====== How To Contribute To Octanis Rover/​Balloon ====== +[[orb:​contribute|this page has moved to orb:contribute]]
- +
-**How can I help?**  +
- +
-Thanks for asking! Let's find a place for you! +
- +
-Please read the following important pages that summarise technical requirements,​ systems and procedures within and around the Octanis Rover / Balloon project. Once you have a good overview, you can start working on one of the subsystems that we have categorised by "​profession"​ on this page. +
- +
-==== Before starting work ==== +
-  * Join our Slack communication tool by asking info@octanis.org  +
-  * Read [[octanis1#​mission_overview ​High level project objectives (see bottom of page)]] +
-  * Read [[orbmom | Rover / Balloon Operations Manual]] +
-  * Read [[http://​slides.com/​bitmorse/​octanis-1-rover-systems-graph | Schema of Rover Systems and Interfaces]] +
-  * Read [[orb_requirements | Technical requirements for Mechanical & Electrical Systems and Flight Software]] +
- +
- +
----- +
- +
- +
-++++ If you're a Linux sysadmin | +
- +
-  * We use Debian like distributions on our devices. Debian Jessie on the SBC. +
-  * Work on our SBC (Olimex A20 board) ​to minimise power consumption +
-  * Configure monit on the SBC to monitor for connected peripherals and running processes +
-  * Improve ROS configuration +
-  * Write scripts to simplify repetetive tasks on SBC +
-  * Test LIDAR with SBC in different conditions and measure performance +
-  * General performance and power measurements of SBC +
-  * Work on the ground basestation (RPI with peripherals and ethernet for operator) +
-  * Create a URDF rover model for representation in moveit / ROS +
- +
-++++ +
- +
----- +
- +
- +
-++++ If you're a C++ or Python developer | +
- +
-  * Coding rules[[http://​spinroot.com/​gerard/​pdf/​P10.pdf | Ten rules for safety critical coding (NASA)]] +
-  * Learn about [[http://​wiki.ros.org/​APIs|ROS API]] +
-  * Contribute to development of a ROS node that processes LIDAR scans +
-  * Most work for C or Python developers is related to writing services or nodes for ROS. Get to know ROS here: +
-    * [[http://​wiki.ros.org/​ROS/​Introduction|What is ROS]]  +
-    * [[http://​wiki.ros.org/​ROS/​Tutorials|ROS Tutorials (C++, hello world)]]  +
-    * [[http://​wiki.ros.org/​rospy_tutorials|ROS Tutorials (Python)]] +
-    * [[http://​wiki.ros.org/​catkin/​Tutorials|Writing your own ROS package]] +
- +
-++++ +
- +
- +
- +
- +
----- +
- +
- +
-++++ If you're an Electronics/​Electrical Engineer | +
-  * Debug I2C bus issues +
-  * Work on improving cable management +
-++++ +
- +
- +
----- +
- +
-++++ If you're an Mechanical/​Materials Engineer | +
-  * Review parts +
-  * Create FEM analysis of [[http://​github.com/​octanis1/​Octanis1-CAD|parts]] and suggest improvements +
-  * Print parts on our 3d printer and improve according to real printed part performance +
-  * Work on rovers enclosure +
-  * Work on rovers frame +
-  * Analyse play issues +
-  * Select and test filament for all parts +
-  * Design and test different sets of wheels +
-++++ +
----- +
- +
- +
-++++ If you're a JavaScript developer | +
-  * Work on improving basestation webservice which receives data from satellite modem and LoRa +
-++++ +
- +
----- +
- +
- +
-++++ If you're a C developer (embedded) | +
-  * Coding rules (easy read): [[http://​spinroot.com/​gerard/​pdf/​P10.pdf | Ten rules for safety critical coding (NASA)]] +
-  * Read [[orb_requirements|firmware requirements]] +
-  * Work with TI-RTOS and CCS Studio to extend feature set of Rover'​s firmware [[http://​www.ti.com/​general/​docs/​lit/​getliterature.tsp?​baseLiteratureNumber=spruhu4&​fileType=pdf|Installing CCS and TI-RTOS (page 11)]] +
-  * Write drivers for Rover'​s devices (e.g. Satellite modem) +
-  * Write tests +
-  * Work on data logging module +
-  * Analyse task scheduling, stack sizing and be on the lookout for potential priority inversions and deadlocks +
-  * Write documentation (doxygen) +
-  * Implement MAVLink protocol handling +
-  * Improve shell module +
-  * Improve build process +
- +
-++++ +
----- +