Documentation

← back to Autocrawler Contents

Autocrawler - OS and Software Install

The following instructions are for reinstalling Autocrawler OS and software, or updating from older Ubuntu 18.04/ROS Melodic installs.

In this section:
OS INSTALL
PACKAGES AND DEPENDENCIES
INSTALL REALSENSE DRIVERS
INSTALL ROS
INSTALL AUTOCRAWLER JAVA
ENABLE VNC
DISABLE UPDATES AND SLEEP

OS INSTALL

Do fresh install of Ubuntu OS:
  -Ubuntu desktop version 20.04 LTS 64-bit
  -Choose fresh install when prompted (ie., erase whatever is on the SSD)
  -Set username to “auto”
  -with auto login enabled
  -Set hostname to “crawler”

After installation, open a terminal and enter:

sudo apt update && sudo apt upgrade

(Upgrade will take a while.)

PACKAGES AND DEPENDENCIES

Then, install various required packages. Enter:

sudo apt install vim x11vnc geany htop git openjdk-11-jdk v4l-utils openssh-server coturn python3-pip net-tools curl espeak expect

And:

sudo adduser auto dialout

Install Gstreamer and Python3 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 libgstreamer*1.0-dev libnice-dev gstreamer1.0-nice libjson-glib-dev libsoup2.4-dev

pip3 install websockets pyserial

INSTALL REALSENSE DRIVERS

Install Realsense SDK and drivers, following “installing the packages” instructions here. Include the optional developer and debug packages.
With a monitor stil plugged in run realsense-viewer to make sure the camera works, and do a firmware update if available (internet connection required for this).

INSTALL ROS

Follow ROS1 Noetic ‘desktop full install’ instructions here

To install required ROS packages, enter:

sudo apt install ros-noetic-move-base ros-noetic-map-server ros-noetic-amcl ros-noetic-dwa-local-planner ros-noetic-gmapping ros-noetic-ddynamic-reconfigure ros-noetic-usb-cam ros-noetic-realsense2-camera ros-noetic-vision-msgs

To setup ROS workspace and install required source packages from source, enter each line below in order:

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ~/catkin_ws/
catkin_make
cd ~/catkin_ws/src
git clone --branch noetic https://github.com/xaxxontech/autocrawler_ros.git
git clone https://github.com/xaxxontech/fiducials.git
git clone https://github.com/xaxxontech/gst_video_server.git
git clone --branch noetic https://github.com/xaxxontech/xaxxon_openlidar.git
cd ~/catkin_ws/
catkin_make

Cartographer
Install Cartographer following instructions hereBUT install to ~/cartographer_catkin_ws instead of ~/catkin_ws as instructed (can’t be installed to the same workspace as created above).

When complete, setup the environment by adding the following lines to ~/.bashrc:

source /home/auto/cartographer_catkin_ws/devel_isolated/setup.bash
source /home/auto/catkin_ws/devel/setup.bash --extend

Then do:
source ~/.bashrc

INSTALL AUTOCRAWLER JAVA

Download the latest Autocrawler Java from here
Unpack it into the home folder: /home/auto/

Enable the headless wifi manager on startup -
as root user create the file /etc/rc.local with the following contents:

#!/bin/sh -e
# 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
# bits.
/home/auto/autocrawler/access_point_manager/run &
exit 0

Make executable by entering:

sudo chmod +x /etc/rc.local

Enable regular user access to reboot and shutdown commands – enter:

sudo visudo

Add the following line, then save the file:

ALL ALL=NOPASSWD: /sbin/reboot,/sbin/shutdown

To auto-start Autocrawler Java, go to desktop GUI > applications > Startup Applications
add new item with the following command entry:

/bin/bash -i /home/auto/autocrawler/autocrawler.sh

ENABLE VNC

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:

Section "Device"
    Identifier  "Configured Video Device"
    Driver      "dummy"
EndSection
Section "Monitor"
    Identifier  "Configured Monitor"
    HorizSync 31.5-48.5
    VertRefresh 50-70
EndSection
Section "Screen"
    Identifier  "Default Screen"
    Monitor     "Configured Monitor"
    Device      "Configured Video Device"
    DefaultDepth 24
    SubSection "Display"
    Depth 24
    Modes "1024x800"
    EndSubSection
EndSection

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 /etc/X11/xorg.conf file.

DISABLE UPDATES AND SLEEP

To help with smooth operation without keyboard and monitor attached, in the desktop GUI make the following changes to disable automatic updates and power saving features:

desktop GUI > software and updates > disable all update checking/never
desktop GUI > settings > notifications > do not disturb
desktop GUI > settings > power > disable all power saving options
desktop GUI > settings > privacy > lock screen all off

DONE

That’s it! Disconnect the monitor and keyboard, plug back in all USB devices. After reboot, the robot will (hopefully) come up with full software functionality.



CART 0 items | US$
    Check Order Status
Follow →
instagram twitter facebook youtube
@XaxxonTech Twitter
© 2022 Xaxxon
Products Documentation Downloads Source Code
Warranty & Returns About Us Contact/Support News
instagram twitter facebook youtube