Robobot B: Difference between revisions

From Rsewiki
 
(12 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-in-blocks-2024.png | 600px]]
Line 10: Line 8:
==Overview==
==Overview==


* [[Robobot architecture]] module description
This section is intended for users.
* Hardware
 
* Electronics
* [[Robobot architecture | Software overview]] and blocks description.
* Software on Raspberry
* [[Robobot software description | Software description]] and examples.
* [[Raspberry Pi directory structure for Robobot]]
* [[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]]
* [[Robobot install on Raspberry]]
 
* DTU network and time setup: [[Network setup]]
 
* [[Enable autostart]] and IP display
===User and network (WiFi)===
* [[Robobot base software installation]]
 
* Setup of [[Robobot webcam server]]
Connect to DTU Wifi
* Old [[robobot]], instructions are mostly depricated
 
* use NTP (network time protocol) with DTU network (require ntp and ntpdate packages)
* connect to DTU network without showing secret password
 
Instructions here [[Network setup]]
 
===Enable autostart===
 
====Display of IP====
 
Start app to display IP on Regbot display, log CPU temperature and synchronize hostname
 
Make an on-rebbot script in the home directory
 
cp ~/svn/robobot/setup/on_reboot.bash ~/
 
This file is something like:
 
#!/bin/bash
# script to start applications after a reboot
#
# run the app to show IP of raspberry on the Teensy display.
mkdir -p /home/local/svn/log
cd /home/local/svn/log
# save the last reboot date
echo "Rebooted" >> rebootinfo.txt
date >> rebootinfo.txt
../robobot/ip_disp/build/ip_disp &
# save PID for debugging
echo "ip_disp started with PID:" >> rebootinfo.txt
pgrep -l ip_disp >> rebootinfo.txt
exit 0
 
Use crontab to run this script at reboot
 
crontab -e
 
If asked, select the preferred editor (suggesting nano).
 
Add this line at the end:
@reboot /home/local/on_reboot.bash
 
====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
      hostnamectl set-hostname $nn
      # seems like /etc/hosts is not updated, but /etc/hostname is
      sed -i "s/$hn/$nn/g" /etc/hosts
    else
      echo Same hostname, all is fine.
    fi
  fi
else
  echo "File >" $f "< not found."
fi
 
The script needs to be run as root, it is therefore set to run as part of the boot process.
 
Create the script in /etc/init.d
 
sudo nano /etc/init.d/host_rename.sh
 
Enter the following lines into the new file
 
#!/bin/bash
bash /home/local/svn/robobot/setup/rename_host.bash
 
Make the file executable and add it to run-level 2 (before networking is started)
 
sudo chmod +x /etc/init.d/host_rename.sh
sudo ln -s /etc/init.d/host_rename.sh /etc/rc2.d/S99host_rename
 
The script is then executed when the Raspberry boots, and if the hostname does not match that of the Teensy, then the hostname is modified.
 
 
===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.

Latest revision as of 15:39, 9 January 2024

Robobot B is a simplified (2024) version of the old Robobot

Robobot

Overview

This section is intended for users.

Development notes

This section is for development notes.