Skip to content
This repository has been archived by the owner on Oct 8, 2021. It is now read-only.

Manual Configuration

Jacob Huesman edited this page Feb 15, 2019 · 5 revisions

Environment

The default and recommended environment for this year

Configure git and other helpful utils

sudo apt-get update
sudo apt-get install git tmux ssh vim
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash 
sudo apt-get install -y git-lfs

Setup your ssh keys

Follow these instructions https://help.github.com/articles/connecting-to-github-with-ssh/

Setup an IDE

I highly recommend using the clion IDE available at https://www.jetbrains.com/clion/. Make sure you sign up for an education account so you don't have to pay for it. Otherwise if you're as hardcore as Dr. Ding, VIM works too.

You can generate Code::Blocks project files (and others in a similar way)

cd build/
cmake ../src -G"CodeBlocks - Unix Makefiles"

Install and build gmock

sudo apt-get install build-essential google-mock
cd /usr/src/gmock
sudo mkdir build
cd build
sudo cmake ../
sudo make

Install clang

sudo apt-get install clang-format-3.6

Install imu library

cd ~/Downloads
wget https://bitbucket.org/lpresearch/openmat/downloads/LpSensor-1.3.5-Linux-x86-64.tar.gz
tar -xvzf LpSensor-1.3.5-Linux-x86-64.tar.gz 
cd LpSensor-1.3.5-Linux-x86-64/
sudo apt-get install libbluetooth-dev
sudo dpkg -i liblpsensor-1.3.5-Linux.deb
dpkg -L liblpsensor

Install zr300 library

sudo apt-key adv --keyserver keys.gnupg.net --recv-key 0xD6FB2970
sudo add-apt-repository "deb http://realsense-alm-public.s3.amazonaws.com/apt-repo xenial main"
sudo apt install librealsense-utils librealsense-dev

Install qt5

sudo apt install qt5-default

Workspace

Our workspace is the NRM2018 repository this README lives in. Assuming you have your environment properly configured run the following commands.

# Clone the repo to your computer
cd ~

# If you have ssh keys with github setup on your pc
git clone git@github.com:BisonRobotics/NRMC2019.git

# If not
git clone https://github.com/BisonRobotics/NRMC2019.git

From here make sure you checkout the branch you'll be working on before proceeding

# Checkout branch
git checkout <branch_name>

# Pull in submodules
git submodule update --init --recursive

# Install workspace dependencies, respond y to all prompts
rosdep install --from-paths . --ignore-src --rosdistro=kinetic --default-yes -r --os=ubuntu:xenial

# Build workspace
catkin_make

If you are using the VREP simulator

# Link vrep plugin to vrep install directory (Assumes you placed NRMC2019 and vrep in home directory)
ln -s ~/NRMC2019/devel/lib/libv_repExtRosInterface.so ~/vrep/

Add some optional alias that make launching stuff and working with ROS easier

echo "alias vrep='~/vrep/vrep.sh'"                    >> ~/.bashrc
echo "alias clion='~/clion/bin/clion.sh'"             >> ~/.bashrc
echo "alias ws='cd ~/NRMC2019'"                       >> ~/.bashrc
echo "alias wss='source ~/NRMC2019/devel/setup.bash'" >> ~/.bashrc

To start the simulator

# Make sure you run each command in a new terminal and have your workspace sourced
roscore
vrep
roslaunch description display.launch

Useful unit test commands for debugging

Build and run single test suite

Tab complete is your friend here

catkin_make run_tests_wheel_control_gtest_test_WaypointControllerHelper2

# Build test for debugging 
catkin_make -DCMAKE_BUILD_TYPE=Debug test_WaypointControllerHelper2

Debug the unit test

gdb ./devel/lib/wheel_control/test_WaypointControllerHelper2



## Known Issues/Bugs in "Not-Our-Stuff"
# CANables
You may not be able to enumerate two CANables on the same computer easily and as you would imagine. There is a bug in the CANable firmware which makes one CANable enumerate as two. So, to work around this issue: make one of them can1 and the other can2. Forget about can0. Less than nothing, it decieved you, and so should be scorned.

sudo ip link set can1 type can bitrate 500000 triple-sampling on
sudo ip link set can1 up

sudo ip link set can2 type can bitrate 500000 triple-sampling on
sudo ip link set can2 up