Robobot B

From Rsewiki
(Difference between revisions)
Jump to: navigation, search
(Software on Raspberry)
(Software installation Raspberry Pi)
Line 61: Line 61:
  
  
===Install on SD===
+
===Install on Raspberry===
  
 
Barebone installation (Raspbian GNU/Linux 11 (bullseye) as of July 2023)
 
Barebone installation (Raspbian GNU/Linux 11 (bullseye) as of July 2023)
Line 82: Line 82:
 
* connect to DTU network without with secret password
 
* connect to DTU network without with secret password
 
* use NTP (network time protocol) with DTU network
 
* use NTP (network time protocol) with DTU network
 +
 +
===Enable autostart===
 +
 +
====Display of IP====
 +
 +
Start app to display IP on Regbot display, log CPU temperature and synchronize hostname
 +
 +
====Hostname update====
 +
 +
A script updates the Raspberry Pi hostname, with the name in ''~/svn/log/robotname''.
 +
The script ''rename_host.bash'' is:
 +
#!/bin/bash
 +
hn=`hostname`
 +
f="/home/local/svn/log/robotname"
 +
if [ -f $f ];
 +
then
 +
  nn=`cat $f`
 +
  yy= $(expr length $nn)
 +
  if [ $yy -gt 2 ];
 +
  then
 +
    if [ $hn != $nn ];
 +
    then
 +
      sed -i "s/$hn/$nn/g" /etc/hostname
 +
      sed -i "s/$hn/$nn/g" /etc/hosts
 +
    else
 +
      echo Same hostname, all is fine.
 +
    fi
 +
  fi
 +
else
 +
  echo "No robot name file: "  $f
 +
fi
 +
 +
  
 
===Additional packages===
 
===Additional packages===

Revision as of 12:14, 6 August 2023

This page is is for development nodes and user description of the simplified version of Robobot

Contents

Robobot B description

This section is intended for users.

Overview

Robobot architecture

Hardware

Plastic

Electronics

PCB

Software on Raspberry

Software repository

Directory structure

On the Raspberry the main directory and files are:

/home/local/
+-git        - Directory for libratyes available from a GIT repository (mostly Teensy/arduino libraries).
+-svn        - Directory for software from the subversion repository (Robobot specific software).
|  +-regbot  - Directory for the Teesny software (firmware) this part is called Regbot.
|  |  +-regbot_gui Debug app for Regbot.
|  |  +-regbot     The firmware source code.
|  +-robobot - Directory for the Robobot specific code.
|  |  +-setup      Directory with some default configuration files.
|  |  +-raubase    The basic Raspberry Pi software for Robobot.
|  |  |  +-src     Source code 
|  |  |  +-build   Build directory with Makefile
|  |  |  |  +-log  Directory for data-monitoring logfiles
|  |  |  CMakeList.txt   Directives to generate a Makefile using cmake
|  |  |  robot.ini       Configuration and calibration file
|  |  +- ip_disp   Small app to update the IP address of the Raspberry.
|  |     log_ip_dist.txt Logfile for IP and temperature monotoring
|  +-log     - Directory with logfiles from ip_disp (IP, users and CPU temperature)
on_reboot.bash  - Script to start applications that should start after a reboot (ip_disp)

Robot software

Firmware on Teensy

Description

Compile tools

Upload to Teensy

Development notes

This section is for development notes.

Software installation Raspberry Pi

Install on Raspberry

Barebone installation (Raspbian GNU/Linux 11 (bullseye) as of July 2023)

Raspberry base install

Raspberry wifi

  • make a bootable SD card
  • Make a new user called local and set the group permissions
sudo adduser local gpio
  • Install general-purpose development packages

User and network (WiFi)

Connect to DTU Wifi

  • connect to DTU network without with secret password
  • use NTP (network time protocol) with DTU network

Enable autostart

Display of IP

Start app to display IP on Regbot display, log CPU temperature and synchronize hostname

Hostname update

A script updates the Raspberry Pi hostname, with the name in ~/svn/log/robotname. The script rename_host.bash is:

#!/bin/bash
hn=`hostname`
f="/home/local/svn/log/robotname"
if [ -f $f ]; 
then
 nn=`cat $f`
 yy= $(expr length $nn)
 if [ $yy -gt 2 ];
 then
   if [ $hn != $nn ]; 
   then
     sed -i "s/$hn/$nn/g" /etc/hostname
     sed -i "s/$hn/$nn/g" /etc/hosts
   else
     echo Same hostname, all is fine.
   fi
 fi
else
 echo "No robot name file: "  $f
fi


Additional packages

Install the following packages:

libreadline-dev
libopencv-dev
libgpiod-dev
gpiod
cmake
subversion
aptitude
telnet
nmap
lsof
sudo apt install libreadline-dev libopencv-dev libgpiod-dev gpiod cmake subversion aptitude telnet nmap lsof

and, if available

sudo apt install libcli11-dev

Install command line interface library (if not found by 'apt install libcli11-dev')

cd
cd git
git clone https://github.com/CLIUtils/CLI11.git

Install the GPIO library to access pins on the Raspberry PI.

sudo apt install libpigpiod-if-dev

Robobot base software

To make the initial copy from the repository

cd
cd svn
svn checkout svn://repos.gbar.dtu.dk/jcan/robobot

To update with a new version

cd
cd svn/robobot
svn update

Teensy

Software tool chain installation

Old Robobot pages

robobot an extension to Regbot with a raspberry pi for more extended missions, but uses mission code in Teensy, like Regbot.

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox