-
Notifications
You must be signed in to change notification settings - Fork 16
Getting started
This is a brief guide on how to start development on this project. Refer to the Developers' guide after following these steps.
We use Ubuntu 14.04 (code name "trusty") at CUED as a host OS. Download the Ubuntu install image. Follow the instructions on the Ubuntu website to create a bootable USB stick from the image:
Before we can do anything else, we must install Docker. We want to make use of the latest version of Docker and so we will install it from the upstream Docker repo:
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
$ sudo add-apt-repository "deb https://get.docker.io/ubuntu docker main"
$ sudo apt-get update
$ sudo apt-get install lxc-docker
In order to avoid having to use sudo
to run Docker each time, add yourself to the Docker group:
$ sudo usermod -a -G docker `whoami`
NOTE: You may have to log out and log back in for this to take effect.
Check that you can run docker commands without any errors. For example, try downloading the latest Ubuntu image for Docker:
$ docker pull ubuntu
Need VNCviewer for GUI
$ sudo apt-get install xtightvncviewer #Install vncviewer for 'make gui'
There is a bug in Ubuntu 14.04 when it comes to DNS resolution. The solution, copied from a comment on the bug, is to edit the /etc/NetworkManager/NetworkManager.conf
and comment out a line. The following command will do it for you:
$ sudo sed -i -e 's/^dns=dnsmasq/#&/' /etc/NetworkManager/NetworkManager.conf
Now, restart networking and then Docker itself.
$ sudo restart network-manager
$ sudo restart docker
Make a project directory, change to it and run:
$ git clone [email protected]:sigproc/robotic_surgery
$ cd robotic_surgery
Look at the GitHub help if you're having trouble cloning the repo.
Try to build an image:
$ make image
You may need to change the permission for the SSH key for the following commands:
$ chmod 400 config/ros_user_ssh_key
If that works, try logging into the image:
$ make shell # Log into a command line. Type 'exit' to quit.
$ make gui # Launch a GUI session into the container.
The make gui
command should launch a GUI session inside the container. It should look like this:
You can compile the software inside the currently running image:
$ make # Compile all the things
$ make test # Test all the things
Now you can move on to reading the Developers' guide
- Resources
- Development guide
- [Getting started](Getting started)
- Quick recipes