-
Notifications
You must be signed in to change notification settings - Fork 0
Beam Robotics Installation Guide
Our installation guide makes the distinction between development machines (i.e. your laptop) and beam robots (i.e. ig2, ig_handle, roben, pierre, etc.). This allows for conflict-free software development across all platforms.
- four or more processors
- eight or more gigabytes of RAM
It is recommended to have a hard drive with at least 60 GB of free space for development machines (i.e. your laptop) and 500 GB of free space for beam robots
As with all robotics software development, Ubuntu is required. Our installation supports Ubuntu 20.04 for development machines and beam robots.
This installation guide assumes you have the following installed on your Ubuntu machine
- git:
sudo apt install git
- openssh-server:
sudo apt install openssh-server
- gdown
sudo apt install python3-pip && pip3 install gdown && pip3 install --upgrade gdown && reboot
Items 2 and 3 are required when installing software and working with beam robots
Before you install any beam code from github, You will likely need to setup an ssh key on your computer. Follow Github's tutorials for generating an SSH key and adding an SSH key to your Github account.
If you cannot install Ubuntu onto a development machine or you are testing our installation scripts, we offer a simple virtual machine environment to develop within. The virtual machine is created in VirtualBox, which you may download here. Once downloaded and installed, download the Ubuntu 20.04 virtual machine here
Virtual machines come with git and openssh-server, though you still need to run through the process of generating and adding an SSH key to your virtual machine.
Beam Robotics contains installation scripts to automatically install and configure the environment for certain packages. The current installation procedure follows:
- We recommend creating a folder titled projects (e.g.
~/projects
).
mkdir -p ~/projects
The projects folder should be seen as a destination for other cloned repositories, though you are not required to follow this naming convention. We further recommend creating a personal Dropbox account and mounting the Dropbox folder to your machine to act as an extra back-up layer (e.g. ~/Dropbox/projects
). Once created, cd
into the ~/projects
folder.
cd ~/projects
- Clone the
beam_robotics
repository recursively.
git clone --recursive git@github.com:BEAMRobotics/beam_robotics.git
- Navigate to the
beam_robotics/scripts
folder. If following recommended file structure:
cd ~/projects/beam_robotics/scripts/
- If installing on a development machine (i.e. your laptop):
bash install.bash
optional commandline flags for additional software installs include: -g
(installs GTSAM); -p
(installs pytorch). These optional installations are not requied by the beam robotics stack, but do come in handy when working on other projects in the same software ecosystem.
If installing on a beam robot:
bash install.bash -r BEAM_ROBOT
where BEAM_ROBOT
is the name of a beam robot. Currently, the following robots are supported: ig-handle
, ig2
, pierre
- Create a symbolic link for beam_robotics in your catkin workspace. If following recommended file structure:
ln -s ~/projects/beam_robotics/ ~/catkin_ws/src/beam_robotics
- Open a new terminal (this automatically resources
~/catkin_ws/devel/setup.bash
) and build your catkin workspace. If following recommended file structure:
cd ~/catkin_ws/src && catkin build -j$NUM_PROCESSORS
where -j$NUM_PROCESSORS
specifies the number of processors to use and $NUM_PROCESSORS
is equal to half of the number of processors available as written in ~/.bashrc
. For Ubuntu 18.04, your system may crash if you do not pass this command line argument.
- Each package within the BEAMRobotics organization should have its own install script.
- If you want to install a single component without installing all of beam_robotics, clone that component and run the script using
$ bash scripts/install.sh
- The script should install all the dependencies you need for that component. Please open an issue in beam_install_scripts if that is not the case for the component you are trying to install.
- Home
- Onboarding
- Installation Guide
- Libbeam
- Mapping
- Calibration
- Hardware Instructions
- Deep Learning
- Formatting
- PoTree Maps
- Supported Hardware
- Additional Resources