Table of Contents
How to setup the SmartSoft Runtime Environment on a Festo Robotino robot
Install Ubuntu
Make a bootable USB stick with Ubuntu 20.04 (desktop version):
Create a bootable USB stick on Ubuntu
Connect USB stick, keyboard, mouse and monitor to Robotino. Turn off and on Robotino, quickly press 'del' key to enter BIOS. Disable the LCD display in BIOS (may vary on older Robotinos):
- Chipset > System Agent (SA) configuration > Graphics Configuration > LCD control > LCD panel type > Disable CH7511
Go back in BIOS to:
- Save and Exit > Save Changes > Boot Override > select your USB stick
Now Robotino will boot from USB stick. Install a fresh Ubuntu 20.04, overwriting the old one. Make an administrator account with name 'robotino'.
Set wired local network adress for SICK LMS100 Lidar
Only required if your robotino has an SICK LMS100 Lidar.
Plug in monitor and keyboard and mouse directly to robotino (remote VNC or SSH is not allowed).
Right click top right network symbol > wired > wired settings > ipv4 > manual
- address: 192.168.0.1
- netmask: 16 (or 255.255.0.0)
Now the command 'ping 192.168.0.1' should ping Robotino, and 'ping 192.168.0.2' should ping Lidar. (Both ip-adresses must be different, but in same local network)
Install XFCE as Desktop Environment for VNC
Start a terminal on Robotino (e.g. ctrl+alt+T) and copy-paste these commands from this webpage:
sudo apt update sudo apt -y install xfce4 xfce4-goodies
This will ask for the default display manager, you can keep gdm3 if you want.
Install VNC server on Robotino
sudo apt -y install tigervnc-standalone-server mkdir ~/.vnc gedit ~/.vnc/xstartup
Copy&paste the following text to the editor, save and exit:
#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4
chmod u+x ~/.vnc/xstartup sudo gedit /etc/systemd/system/vncserver@.service
[Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=simple User=robotino PAMName=login PIDFile=/home/%u/.vnc/%H%i.pid ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :' ExecStart=/usr/bin/vncserver :%i -geometry 1440x900 -alwaysshared -fg -SecurityTypes None ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target
Start VNC service:
sudo systemctl daemon-reload sudo systemctl enable vncserver@1.service sudo systemctl start vncserver@1.service
Start SSH server on Robotino
sudo apt -y install openssh-server sudo systemctl enable ssh sudo systemctl start ssh
Install Robotino API and daemons
from RobotinoWiki Debrepository:
wget -qO - http://packages.openrobotino.org/keyFile | sudo apt-key add - sudo su echo "deb http://packages2.openrobotino.org focal main" > /etc/apt/sources.list.d/openrobotino.list exit
from RobotinoWiki Install_daemons_v3:
sudo apt -y install robotino-api2 robotino-dev robotino-daemons
Install SmartSoft libraries and dependencies
From Installation of the SmartSoft World do
- Step 1: Prepare the Folder Structure and the Environment Variables
- Step 2: Install the Java Development Kit
- Step 4: Install a Middleware
- Step 5: Install the Build Dependencies
- Step 6: Build and Install the SmartSoftComponentDeveloperAPIcpp
- Step 7: Build and Install the SmartSoft Kernel for the Used Middleware
- Step 8: Installation of the OPC UA Library
- Step 9: Clone, Build and Install the UtilityRepository
Note that some components need extra libraries, see the install.txt file in the related Component Directory, e.g.
- ComponentGMapping (install.txt)
sudo apt install gmapping
- ComponentLaserFromRGBDServer, ComponentKinectBoxDetection, ComponentRackDetection, ComponentRobotToRobotDocking:
sudo apt install libpcl-dev
How to run a GUI application as root
sudo cp ~/.Xauthority /root
Use editor 'mousepad' instead of 'gedit':
sudo XAUTHORITY=~/.Xauthority mousepad abc.txt
Acknowledgments
Thomas Feldmeier.