Robobot B
(→Software on Raspberry) |
(→Software installation Raspberry Pi) |
||
Line 61: | Line 61: | ||
− | ===Install on | + | ===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 11: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
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)
- 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.