• Stars
    star
    122
  • Rank 292,031 (Top 6 %)
  • Language
    Shell
  • License
    Apache License 2.0
  • Created over 8 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Setup Ubuntu 18.04, 16.04 and 14.04 with machine learning and robotics software plus user configuration. Includes ceres tensorflow ros caffe vrep eigen cudnn and cuda plus many more.

Ubuntu Setup Scripts for Robotics & Machine Learning

Robotics Automated Setup

This contains a set of linux setup scripts consolidated from across the web to make it easy to set up a new computer for robotics and deep learning, with links to the original sources and brief descriptions in the comments of each script. Install scripts are kept simple and minimal so you can easily change them for your needs.

Manual steps are necessary for some scripts, so be sure to check the comments!

These scripts are written for:

  • x86_64 Ubuntu Linux 14.04, 16.04, 18.04
  • NVIDIA GPUs such as GeForce GTX 1080, and Titan X.

There is also some support for:

There are also useful config files in this repository named .* that may not be immediately visible, such as .byobu/.tmux.conf.

Getting started

Typically the source code for libraries will be put in ~/src/, and binaries in /usr/local, but this rule is not hard and fast because some tools like nvidia's cuda must go elsewhere.

mkdir -p ~/src
cd ~/src
git clone [email protected]:ahundt/robotics_setup.git
cd ~/src/robotics_setup
# be sure to look at the script for special instructions!
vim <scriptname>.sh
./<scriptname>.sh
# if the above line doesn't work you can also do sh <scriptname>.sh

Open the shell scripts

Be sure to open the install scripts before you run them. There are often manual steps, more details, and links to the reference documentation and blogs used to write these scripts.

Command line, terminal, zsh

Recommended command line utils include htop, vim, tmux, byobu. To install them run:

./commandline_utils.sh

The recommended terminal environment and shell is zsh with prezto utilities, to install and configure it to run with tmux and byobu so you can have multiple terminal windows and connect via ssh without losing your place or closing your running terminal applications:

./zsh.sh

This will automatically set up .robotics_setup, a configuration automatically loads other tools you can install via this repository including ROS, cuda, google go, locally installed binaries, linuxbrew, etc.

Xonsh shell

xon.sh is a terminal shell like bash and zsh that is like a superset of python and bash. It is very useful for robotics and machine learning if you want to do some math on robot data in your shell and run applications in a single terminal, plus retain the history of your commands so you can reproduce your work. You can install xonsh with the xonsh.sh instructions and then enable it as the default shell.

byobu, lets you have multiple terminals running over a single connection that are persistent across dropped connections. If you want to use it with xonsh, make sure to update your ~/.byobu/.tmux.conf to specify xonsh instead of zsh:

# set -g default-shell /usr/bin/zsh
# set -g default-command /usr/bin/zsh
set -g default-shell ~/.local/bin/xonsh
set -g default-command ~/.local/bin/xonsh

Additional helpful tips

We highly recommend putting this repository in ~/src, but that's not required. To make your shell utilize the tools you've installed via robotics_setup:

# Add this to your ~/.bashrc or your ~/.zshrc
# From github.com/ahundt/robotics_setup
source ~/src/robotics_setup/.robotics_setup

For a pile of info snippets to troubleshoot a variety of problems you might encounter see:

https://github.com/ahundt/awesome-stuff

For robotics resources see:

https://github.com/ahundt/awesome-robotics

For great instructions for some of the best tools to use for development (much applies to non-mac too) see:

http://sourabhbajaj.com/mac-setup/

For other information on a huge range of topics see:

https://github.com/sindresorhus/awesome

Troubleshooting

All scripts are set to exit immediately on any error so it will give you a chance to fix the problem without making a mess on your computer.

Ubuntu

Script exited without installing the software

If you run a script and the software was not installed, the most likely culprit is the repositories you have configured on ubuntu. If any repository returns an error these scripts will exit, to fix it look at which repositories are in the command line error message, and follow these instructions to remove them:

Alternatives

For something with more advanced capabilities than this repository, though not always easier, I suggest https://brew.sh and https://linuxbrew.sh.

More Repositories

1

awesome-robotics

A curated list of awesome links and software libraries that are useful for robots.
698
star
2

grl

Robotics tools in C++11. Implements soft real time arm drivers for Kuka LBR iiwa plus V-REP, ROS, Constrained Optimization based planning, Hand Eye Calibration and Inverse Kinematics integration.
C++
141
star
3

homebrew-robotics

Homebrew formulae to automatically install tools for use in the fields of Robotics, Machine Learning, and Computer Vision.
Ruby
22
star
4

sharpDARTS

sharpDARTS: Faster and More Accurate Differentiable Architecture Search
Python
16
star
5

awesome-economy

Notes about economics and useful data sources
3
star
6

awesome-carbon-footprint

A curated list of steps to reduce your carbon footprint. Information about impact on the environment.
3
star
7

awesome-stuff

Random awesome programming, computer admin, command line, terminal, linux, and application snippets
2
star
8

cis

Computer Integrated Surgery 600.445 Johns Hopkins University 2014, Andrew Hundt and Alex Strickland
C++
2
star
9

buggy

This project tracks changes to the rules and regulations of the Carnegie Mellon University Sweepstakes Buggy Races. http://www.andrew.cmu.edu/user/buggy/Sweepstakes/Welcome.html http://cmubuggy.org/
2
star
10

Boost.StaticVector

This repository is outdated. StaticVector has been accepted to Boost.Container, so use the version there. StaticVector, a C++ STL container (as wrapper) for a statically allocated vector with a constant size limit.
C++
2
star
11

robone

Robotic Orhopedic Surgery assistant
CMake
1
star
12

jrl-umi3218

Consistent and tested set of key robotics tasks repositories from https://github.com/jrl-umi3218/
CMake
1
star
13

m3c

Python
1
star
14

sacredx

reproducable experiment integration of IDSIA/sacred with the xonsh shell
Python
1
star
15

ahundt.github.io

JavaScript
1
star
16

deep-learning-jhu-cs-482-682

Deep learning JHU CS 482 682 assignments
Python
1
star