Seekur Jr installation - ITVRoC/SeekurJr GitHub Wiki

TUTORIAL:

Install xubuntu and remove unity:

$ sudo apt install xubuntu-desktop
$ sudo apt purge unity unity8
$ sudo apt install htop
$ sudo apt install traceroute

Edit hosts:

$ sudo vim /etc/hosts
        127.0.0.1       localhost
	127.0.1.1       onboardpc
        127.0.1.1       seekurjr-robot

Install ROS:

$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
$ sudo apt-get update
$ sudo apt-get install ros-kinetic-desktop-full

Install ssh:

$ sudo apt install ssh openssh-server openssh-client

Install sublime

$ wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
$ sudo apt-get install apt-transport-https
$ echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
$ echo "deb https://download.sublimetext.com/ apt/dev/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
$ sudo apt-get update
$ sudo apt-get install sublime-text

Install VNC x11 (Compatible with rviz):

Installation:

$ sudo apt-get update
$ sudo apt-get install x11vnc

Set password:

$ x11vnc -storepasswd 

Enter VNC password: seekurjr
Verify password: seekurjr  
Write password to /home/seekurjr/.vnc/passwd?  [y]/n y
Password written to: /home/seekurjr/.vnc/passwd

Start X11VNC Server:

$ sudo x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/seekurjr/.vnc/passwd -rfbport 5900 -shared

The VNC server will start on default port 5900. In case the port 5900 is busy with some other service, it will automatically select the next available port like 5901.

Setup AutoStart on Boot:

$ sudo vim /etc/systemd/system/x11vnc.service

        [Unit]
        Description=x11vnc remote desktop server
        After=multi-user.target

        [Service]
        Type=simple
        ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/seekurjr/.vnc/passwd -rfbport 5900 -shared

        Restart=on-failure

        [Install]
        WantedBy=multi-user.target
 
$ sudo systemctl daemon-reload
$ sudo systemctl start x11vnc
$ sudo systemctl status x11vnc

Install VNCserver (Not compatible with rviz):

Installation:

$ sudo apt-get update
$ sudo apt install xfce4 xfce4-goodies tightvncserver
$ vncserver
    password:seekurjr

if it’s worked sudo systemctl enable x11vnc.service VNC Server configuration :

$ vncserver -kill :1
$ vim ~/.vnc/xstartup

	xrdb $HOME/.Xresources
        startxfce4 &

$ sudo chmod +x ~/.vnc/xstartup
$ vncserver

Creating a VNC Service File

$ sudo vim /etc/systemd/system/[email protected]

        [Unit]
        Description=Start TightVNC server at startup
        After=syslog.target network.target

        [Service]
        Type=forking
        User=seekurjr
        PAMName=login
        PIDFile=/home/seekurjr/.vnc/%H:%i.pid
        ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
        ExecStart=/usr/bin/vncserver -depth 24 -geometry 1024x768 :%i
        ExecStop=/usr/bin/vncserver -kill :%i

        [Install]
        WantedBy=multi-user.target

Initializing the server

$ sudo systemctl daemon-reload
$ sudo systemctl enable [email protected]
$ vncserver -kill :1
$ sudo systemctl start vncserver@1
##Para verificar se o server está rodando:
$ sudo systemctl status vncserver@1

** OBS: ** To disable a specific vnc, use systemctl deactivate and stop.

Preparing the network:

$ sudo vim /etc/NetworkManager/system-connections/itv_network
	
[connection]
id=itv_network
uuid=21277f8f-cbf1-30eb-bba4-1c8fcae7c906
type=ethernet
autoconnect-priority=-999
permissions=
secondaries=
timestamp=1519176321

[ethernet]
duplex=full
mac-address=00:04:BF:B0:E8:57
mac-address-blacklist=

[ipv4]
dns=8.8.8.8;8.8.4.4;
dns-search=
method=auto

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
ip6-privacy=0
method=auto
$ sudo vim /etc/NetworkManager/system-connections/seekur_network

[connection]
id=seekur_network
uuid=98692b1f-a1d7-4be8-80e8-6a7e8d2b2de0
type=ethernet
interface-name=enp2s0
permissions=
secondaries=
timestamp=1519175480

[ethernet]
duplex=full
mac-address=00:04:BF:B0:E8:57
mac-address-blacklist=

[ipv4]
address1=10.0.125.32/24,10.0.125.1
address2=192.168.0.32/24
dns-search=
method=manual

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
ip6-privacy=0
method=auto
$ sudo vim /etc/NetworkManager/system-connections/itv_seekur_static_network

[connection]
id=itv_seekur_static_network
uuid=0012cca9-78d3-4d11-86c0-d0da24f5d791
type=ethernet
interface-name=enp2s0
permissions=
secondaries=
timestamp=1544053214

[ethernet]
duplex=full
mac-address=00:04:BF:B0:E8:57
mac-address-blacklist=

[ipv4]
address1=10.2.1.104/24,10.2.1.254
address2=10.0.125.32/24
address3=192.168.0.32/24
dns=8.8.8.8;8.8.4.4;
dns-search=
may-fail=false
method=manual
route1=10.0.126.0/24,10.0.125.1
route2=10.2.9.0/24,10.2.1.254
route3=10.2.1.0/24,10.2.1.254

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
ip6-privacy=0
method=auto

Checking the network:

$ ls /etc/NetworkManager/system-connections/ 

itv_seekur_static_network      seekur_network     itv_network      

Giving permissions to networks:

$ sudo chmod 600 itv_seekur_static_network 
$ sudo chmod 600 itv_network
$ sudo chmod 600 seekur_network

Preparing serial ports:

$ sudo apt install setserial
$ sudo vim /var/lib/setserial/autoserial.conf

	###PORT STATE GENERATED USING AUTOSAVE-ONCE###
	###AUTOSAVE-ONCE###
	###AUTOSAVE-ONCE###
	###AUTOSAVE###
	#
	# If you want to configure this file by hand, use 
	# dpkg-reconfigure setserial
	# and change the configuration mode of the file to MANUAL. If you do not do this, this file may be overwritten automatically the next time you upgrade the
        # package.
	#
	/dev/ttyS0 uart 16550A port 0x03f8 irq 4 baud_base 115200 spd_normal skip_test
	/dev/ttyS1 uart 16550A port 0x02f8 irq 3 baud_base 115200 spd_normal skip_test
	/dev/ttyS2 uart 16550A port 0x03e8 irq 7 baud_base 115200 spd_normal skip_test
	/dev/ttyS3 uart 16550A port 0x02e8 irq 5 baud_base 115200 spd_normal skip_test

Aria

There are two options to install Aria:

  • Aria (configured for the ITV Seekurjr) RECOMMENDED

This package contain all necessaries libraries for Seekur Jr, including ArVideo and ArNetworking.

  • AriaCoda

ARIA library for use with Pioneer-compatible mobile robots. Several changes have occurred and may occur in this package (due to non-maintenance of the ARIA package by Adept Robots .inc.).

Install Aria (configured for the ITV Seekurjr):

Download libaria_2.9.4.1+ubuntu16~itvroc_amd64.deb avaliable in ARIA ITV

$ sudo dpkg -i libaria_2.9.4.1+ubuntu16~itvroc_amd64.deb

Install AriaCoda:

$ git clone https://github.com/reedhedges/AriaCoda
$ cd AriaCoda
$ make
$ make examples
$ sudo make install
$ sudo vim /etc/ld.so.conf.d/aria-coda.conf

	/usr/local/Aria/lib

Preparing Aria configurations:

Replace the contents of the file below with the following file: seekurjr.p

$ sudo vim /usr/local/Aria/params/seekurjr.p 

Permission to access the ports ttySx:

$ sudo adduser seekurjr dialout 

Add seekurPower to path:

$ sudo ln -s /usr/local/Aria/examples/seekurPower /usr/bin/
$ sudo ldconfig

Install java:

$ sudo apt-get update
$ sudo apt-get install default-jdk

Configuration of ARNL e ARIA (install version 1.9.4 or 1.9.2):

http://robots.mobilerobots.com/ARNL/download/prerelease/ (Site unavailable)

http://robots.mobilerobots.com/BaseArnl/download/current/ (Site unavailable)

Use the following links to download and install Aria and ARNL:

ARNL install packages

Packages Ros-arnl GitHub:

git clone https://github.com/MobileRobots/ros-arnl.git

Package Rosaria GitHub:

git clone https://github.com/MobileRobots/rosaria.git

OBS: It is necessary to comment two lines in the package.xml file of the Rosaria package so that rosdep does not try to install two conflicting libraries (libaria-dev and libaria2v5) with itv's Aria.

Comment the following lines:

<build_depend>libraria</build_depend> <run_depend>libraria</run_depend>

Permission to access esd_can2 driver in modules to always start:

$ sudo vim /etc/modules

	# /etc/modules: kernel modules to load at boot time.
	#
	# This file contains the names of kernel modules that should be loaded
	# at boot time, one per line. Lines beginning with "#" are ignored.
	esd_usb2

Install Lidar

Add rote:

 $ sudo ip route add 192.168.0.0/24 dev enp2s0

Download and compile:

$ git clone https://github.com/clearpathrobotics/LMS1xx

To run:

$ rosrun lms1xx LMS1xx_node _host:=192.168.0.1

Trimble GPS

Configure the port B off the GPS by following this guide: Seekur hardware - GPS configuration.

Package and libs:

Download the package:

$ git clone https://github.com/ros-drivers/nmea_navsat_driver.git -b kinetic-devel

Required libraries:

$ sudo apt-get install ros-kinetic-nmea-navsat-msg 
$ sudo apt-get install ros-kinetic-nmea-navsat-driver 

Can setup script

$ cd ~/Documents/
$ sudo vim can_setup
      
       #!/bin/bash
       ### CAN-USB Initialization script 
       ### Set the bitrate to 500k. This has to be done while the interface is down, so first turn it down, set the bitrate value, then turn it up again
       
       echo Setting can down...
       sudo ip link set dev $1 down
       sleep 1s

       echo Adjusting can bitrate...
       sudo ip link set $1 type can bitrate 500000
       sleep 1s

       echo Setting can up...
       sudo ip link set dev $1 up
       sleep 1s

       ### Set the txqueue length to be between (15-20)
       echo Configuring the length of the transmit queue...
       sudo ifconfig $1 txqueuelen 20

Setting permission and add to the path:

$ sudo chmod +x can_setup
$ sudo ln -s ~/Documents/can_setup /usr/bin/
⚠️ **GitHub.com Fallback** ⚠️