Skip to content
RaghavRao edited this page Jun 4, 2015 · 15 revisions

Welcome

Welcome to the team. There are probably a bunch of questions you have, but hopefully this wiki will answer some of them. If you ever get confused or lost and the wiki doesn't help, feel free to contact another member on the team listed on the Team Member's Page.

Installation

To do any development you must have a personal computer or BeagleBone Black running Ubuntu Trusty Tahr (14.04) and ROS Indigo Igloo (versions may change).

If you are using a personal computer, you have three options. The first is to install virtual machine software, such as VMWare Player (available at the Software Center or from VMWare). This is the least intrusive on your system, but offers the least benefits in terms of performance. The second is to dual boot your current OS and Linux. The third is to format your hard drive and install a fresh copy of Linux.

If you are using a lab BeagleBone Black, you should create your own installation on a microSD card. Contact the beaglebone Slack channel and we will get you one. Alternatively, each BeagleBone Black has 4GB of onboard eMMC, which is preferable if we have enough boards for everyone that needs one.

See the Installation page to see how you can set up your personal computer or BeagleBone Black for work with the team code and tools.

Git

Git is a type of Distributed Version Control System. If you don't know what that means don't worry. Just remember that Git is the tool that helps us manage all of our source code and files even when multiple people all over the world are working on them simultaneously.

It is extremely important that you get used to working with Git. You CANNOT contribute anything to the team until you are comfortable enough with Git to: commit files, merge branches, update from the team repository, and submit pull requests. If any of these things seem unfamiliar to you then checkout the Git Tutorials page (Coming soon!).

C++

If you've never used C++ before you should learn it. The majority of our code is written in C++. There are plenty of resources online. A good set of tutorials is located here. That site also acts as an excellent reference for the standard C/C++ libraries.

Additionally the lab contains books which you may find useful. We should also establish our team C++ gurus for further help. Let us know if you think this might be you!

There's also a playlist of YouTube videos that are pretty useful

If you just want to start writing some C++ make sure you checkout the style guide, best practices, and common errors pages.

Python

There are also some files written in Python, mostly our custom ROS device drivers. You can learn python by following the official python tutorials.

ROS

Our entire system is built using the Robot Operating System (ROS) libraries. For the most part you should focus on the C++ information, but some ROS nodes are also written in Python.

You can start learning ROS via the roswiki beginner tutorials.

IDEs (In Progress)

Apart from editing code with your favorite text editor, IDE's have some useful features such as auto-complete, indexing, static code analysis and debugging. ROS recommends Eclipse. Do not use sudo apt-get install eclipse, instead download the tar.gz from the eclipse website. Here's a helpful tutorial on that, assuming you're running Ubuntu 14.04.

JetBrains released CLion last year, which you can use for upto a year with a student license, 30 days without. ROS does not mention CLion, but if you're feeling ambitious, feel free to download it and try it out.