Robotino Raspberry

From RobotinoWiki

Introduction

Robotino raspberry 64.png This page explaines how you can use a Raspberry Pi to upgrade your Robotino v1 and Robotino v2. Upgrading your old Robotino is a dangerous operation. You have to open Robotino and remove the PC104 stack. Then you mount a Raspberry Pi and connect it to Robotino's IO board. If you are unsure how to connect the Raspberry you can damage or destroy the Raspberry and your Robotino. The explanations and pictures that follow are without any warranty and/or support.

The basic Robotino software is available for Raspberry Pi. This enables you to drive Robotino with an externally run Robotino View, API2 programm or the REST interface. Robotino View is not available for Raspberry nor is Robotino's navigation stack.

Software

Install Raspbian on your Raspberry Pi. Include the Debian Buster repository for Robotino.

apt-get update
apt-get install robotino-daemons

On Robotino v1 and v2 you have to enable the controld2 service.

systemctl enable controld2.service

Disable console serial0

Edit /boot/cmdline.txt and remove console=....

systemctl stop serial-getty@ttyS0.service
systemctl disable serial-getty@ttyS0.service

Reboot.

Hardware

The serial line at the Pi GPIO14/15 is TTL level whereas the RS232 connector on Robotino's IO board is RS232 level. The MAX3232 does this job.

Raspberry-EA09.png

Robotino v2

Raspberry-EA09-real.png

Robotino v1

Raspberry-EA05.png Raspberry-EA05-Power.png Raspberry-EA05-RS232.png

Cross compile for Raspberry Pi 32bit

https://www.j1nx.nl/diy/crosscompiling-software-for-raspbian-in-a-chroot-environment/

sudo apt-get install qemu-user-static debootstrap

sudo debootstrap --no-check-gpg --foreign --arch=armhf buster /home/verbeek/raspbian http://archive.raspbian.org/raspbian

sudo cp /usr/bin/qemu-arm-static /home/verbeek/raspbian/usr/bin

sudo chroot /home/verbeek/raspbian /debootstrap/debootstrap --second-stage

vim /home/verbeek/raspbian/etc/apt/sources.list

deb http://mirrordirector.raspbian.org/raspbian/ buster main contrib non-free rpi
deb http://archive.raspberrypi.org/debian/ buster main

sudo chroot /home/verbeek/raspbian 

apt install wget
wget https://archive.raspbian.org/raspbian.public.key -O - | apt-key add -
wget https://archive.raspberrypi.org/debian/raspberrypi.gpg.key -O - | apt-key add -

apt install lsb-release

apt install cmake-data=3.13.4-1
apt install cmake=3.13.4-1

Cross compile for Raspberry Pi 64bit

https://gist.github.com/G-UK/ded781ea016e2c95addba2508c6bbfbe

sudo debootstrap --no-check-gpg --foreign --arch=arm64 buster /home/verbeek/raspbian64 http://ftp.uk.debian.org/debian

sudo cp /usr/bin/qemu-aarch64-static /home/verbeek/raspbian64/usr/bin

sudo chroot /home/verbeek/raspbian64 /debootstrap/debootstrap --second-stage

vim /home/verbeek/raspbian64/etc/apt/sources.list

deb http://ftp.uk.debian.org/debian stable main contrib non-free
deb-src http://ftp.uk.debian.org/debian stable main contrib non-free

deb http://ftp.uk.debian.org/debian stable-updates main contrib non-free
deb-src http://ftp.uk.debian.org/debian stable-updates main contrib non-free

deb http://security.debian.org/ stable/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free

sudo chroot /home/verbeek/raspbian64

apt install wget
wget https://archive.raspbian.org/raspbian.public.key -O - | apt-key add -
wget https://archive.raspberrypi.org/debian/raspberrypi.gpg.key -O - | apt-key add -

apt install lsb-release

apt install cmake-data=3.13.4-1
apt install cmake=3.13.4-1

apt install build-essential libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libglu1-mesa-dev freeglut3-dev mesa-common-dev

Compile librealsense

https://github.com/acrobotic/Ai_Demos_RPi/wiki/Raspberry-Pi-4-and-Intel-RealSense-D435

apt install libtbb-dev libprotoc-dev python3-protobuf libtool libusb-1.0-0-dev libx11-dev xorg-dev libglu1-mesa-dev

git clone https://github.com/IntelRealSense/librealsense.git

cd ~/librealsense
mkdir  build  && cd build
cmake .. -DBUILD_EXAMPLES=true -DCMAKE_BUILD_TYPE=Release -DFORCE_LIBUVC=true -DCMAKE_INSTALL_PREFIX=install
make -j1

Compile openrobotino

apt install qt5-default lsb-release dot graphviz libboost-all-dev libcpprest-dev libsystemd-dev ca-certificates libopencv-dev libompl-dev libopencv-dev libmrpt-dev libglibmm-2.4-dev libpython3-dev libboost-python-dev libopen62541cppwrapper libvtk7.1p libpcl-segmentation1.10 libpcl-visualization1.10