|
|
(41 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| This page is is for development nodes and user description of the simplified version of Robobot
| | Robobot B is a simplified (2024) version of the old Robobot |
|
| |
|
| =Robobot B description= | | =Robobot= |
|
| |
|
| This section is intended for users.
| | [[File:robobot-in-blocks-2024.png | 600px]] |
| | [[File:robobot-design-2024.png | 400px]] |
|
| |
|
| ==Overview== | | ==Overview== |
|
| |
|
| [[Robobot architecture]]
| | This section is intended for users. |
| | |
| == 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===
| | * [[Robobot architecture | Software overview]] and blocks description. |
| | * [[Robobot software description | Software description]] and examples. |
| | * [[Raspberry Pi directory structure for Robobot]] |
| | * [[Robobot and MATLAB]] use of logfiles. |
| | * [[Robobot hardware]] items. |
| | * [[Robobot circuits]] |
|
| |
|
| =Development notes= | | ==Development notes== |
|
| |
|
| This section is for development notes. | | This section is for development notes. |
|
| |
|
| ==Software installation Raspberry Pi==
| | * [[Robobot install on Raspberry]] |
| | | * DTU network and time setup: [[Network setup]] |
| | | * [[Enable autostart]] and IP display |
| ===Install on Raspberry===
| | * [[Robobot base software installation]] |
| | | * Setup of [[Robobot webcam server]] |
| Barebone installation (Raspbian GNU/Linux 11 (bullseye) as of July 2023)
| | * Old [[robobot]], instructions are mostly depricated |
| | |
| [[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. | |