The following instructions are for updating Oculus Prime software from versions 0.84 and lower, to versions 1.0 and higher.
You’ll need to plugin a monitor, keyboard and mouse for these steps.
Do fresh install of Ubuntu OS:
-Ubuntu desktop version 18.04 LTS 64-bit
-Choose fresh install when prompted (ie., erase whatever is on the SSD)
-Set username to “oculus”
-with auto login enabled
-Set hostname to “prime”
After installation, open a terminal and enter:
sudo apt update
sudo apt upgrade
(Upgrade will take a while.)
Then, install various required packages. Enter:
sudo apt install vim geany htop x11vnc git openjdk-11-jdk-headless v4l-utils openssh-server coturn python3-pip net-tools v4l-utils espeak
sudo adduser oculus dialout
Install Gstreamer components – enter the following:
sudo apt install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
pip3 install websockets
sudo apt install libgstreamer*1.0-dev libnice-dev gstreamer1.0-nice libjson-glib-dev libsoup2.4-dev
Follow ROS1 Melodic ‘desktop full install’ instructions here
To install required ROS packages, enter:
sudo apt install ros-melodic-move-base ros-melodic-map-server ros-melodic-amcl ros-melodic-dwa-local-planner ros-melodic-gmapping ros-melodic-usb-cam
To setup ROS workspace and install required packages from source, enter each line below in order:
mkdir -p ~/catkin_ws/src
git clone https://github.com/xaxxontech/oculusprime_ros.git
git clone https://github.com/xaxxontech/depthimage_to_laserscan.git
echo "source $HOME/catkin_ws/devel/setup.bash" >> ~/.bashrc
Add Astra camera ROS package to your catkin workspace, and compile, using instructions here: wiki.ros.org/astra_camera
INSTALL OCULUS PRIME JAVA
Download the latest Oculus Prime Java from here
Unpack it into the home folder:
Enable the headless wifi manager on startup -
as root user create the file
/etc/rc.local with the following contents:
# rc.local script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
# In order to enable or disable this script just change the execution
Make executable by entering:
sudo chmod +x /etc/rc.local
Enable regular user access to
shutdown commands – enter:
Add the following line, then save the file:
ALL ALL=NOPASSWD: /sbin/reboot,/sbin/shutdown
To auto-start Oculusprime Java, go to desktop GUI > applications > Startup Applications
add new item with the following command entry:
/bin/bash -i /home/oculus/oculusPrime/oculusprime.sh
VNC won’t work without a monitor plugged in, so adding a dummy monitor is required for VNC access during normal robot use. Download the package by entering:
sudo apt install xserver-xorg-video-dummy
Then create+edit the file
/etc/X11/xorg.conf with the following contents:
Identifier "Configured Video Device"
Identifier "Configured Monitor"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
After reboot, you should be able to run a VNC session at any time with the command:
x11vnc -xauth /var/lib/gdb/:0.Xauth -display :0 -forever -shared &
NOTE: This will disable functionality for actual plugged-in monitors. To re-enable it, delete or rename the
That’s it! Disconnect the monitor and keyboard. After reboot, the robot will (hopefully) come up with full software functionality.