Robobot on Raspberry PI

From Rsewiki
(Difference between revisions)
Jump to: navigation, search
(Update ROBOBOT source)
(Start robobot_bridge)
 
(13 intermediate revisions by one user not shown)
Line 1: Line 1:
 
Back to [[Robobot]]
 
Back to [[Robobot]]
  
== Software packages ==
 
 
Install the following paxkages on the Raspberry to get, run and maintain the Robobot software
 
 
sudo apt install subversion  # to get the source code
 
sudo apt install cmake      # to be able co create Makefiles from a specification
 
sudo apt install libopencv.dev  # vision library
 
 
Additional python packages used
 
 
* python3-pyqtgraph
 
* python3-numpy
 
* python3-serial
 
* python3-scipy
 
* pyqt5-dev-tools
 
 
sudo apt install python3-pyqtgraph python3-numpy python3-serial python3-scipy pyqt5-dev-tools
 
  
 
== Get ROBOBOT and REGBOT source ==
 
== Get ROBOBOT and REGBOT source ==
Line 28: Line 11:
 
  ln -s regbot/robobot_bridge
 
  ln -s regbot/robobot_bridge
 
  ln -s regbot/regbotgui
 
  ln -s regbot/regbotgui
 +
svn co svn://repos.gbar.dtu.dk/jcan/regbot && ln -s regbot/mission && ln -s regbot/robobot_bridge && ln -s regbot/regbotgui
  
==Update ROBOBOT source==
+
==Update and compile==
  
 
On the raspberry there is the following directories:
 
On the raspberry there is the following directories:
Line 62: Line 46:
 
Type
 
Type
 
  cd ~/robobot_bridge
 
  cd ~/robobot_bridge
  mkdir -p build        # make a build directort -p accepts it may be there already
+
  mkdir -p build        # make a build directory; -p accepts it may be there already
 
  cd build
 
  cd build
 
  cmake ..              # builds Makefile from CMakeLists.txt in parent directory ".."
 
  cmake ..              # builds Makefile from CMakeLists.txt in parent directory ".."
  make -j4               # compile - using 4 CPUs
+
  make -j3               # compile - using 3 CPU cores (not to overheat)
 
  cd ~/mission          # to C++ version of mission control
 
  cd ~/mission          # to C++ version of mission control
  mkdir -p build        # make a build directort -p accepts it may be there already
+
  mkdir -p build        # make a build directory; -p accepts it may be there already
 
  cd build
 
  cd build
 
  cmake ..              # builds Makefile from CMakeLists.txt in parent directory ".."
 
  cmake ..              # builds Makefile from CMakeLists.txt in parent directory ".."
  make -j4               # compile - using 4 CPUs
+
  make -j3               # compile - using 3 CPU cores
 +
 
 +
=== Start robobot_bridge ===
 +
 
 +
The ROBOBOT bridge should start automatically to open the display (showing IP and battery voltage)
 +
and optionally also camera streaming (must be installed first)
 +
 
 +
nano /etc/rc.local
 +
 
 +
add the following lines before 'exit 0' (close to the end)
 +
 
 +
# DTU fix for time over blocked network
 +
htpdate -q www.linux.org www.freebsd.org
 +
# start ROBOBOT bridge
 +
cd /home/local/robobot_bridge/build && ./robobot_bridge -a &
 +
 
 +
Copy and 'shift-ctrl-v' will do
  
 
==REGBOT software==
 
==REGBOT software==

Latest revision as of 13:57, 25 December 2021

Back to Robobot


Contents

[edit] Get ROBOBOT and REGBOT source

This is probably installed already, otherwise use

cd
svn co svn://repos.gbar.dtu.dk/jcan/regbot
ln -s regbot/mission
ln -s regbot/robobot_bridge
ln -s regbot/regbotgui
svn co svn://repos.gbar.dtu.dk/jcan/regbot && ln -s regbot/mission && ln -s regbot/robobot_bridge && ln -s regbot/regbotgui

[edit] Update and compile

On the raspberry there is the following directories:

$ cd
$ ls
  mission          Mission software skeleton that can also access the raspberry camera
  regbotgui        Configuration GUI for REGBOT (python), a Windows executable can be found in course material.
  regbot/regbot    Firmware for the REGBOT part
  robobot_bridge   The connection software between the REGBOT, the small display, the remote control and the mission software

[edit] Update

All these source directories are already connected to a SVN repository, but probably need update, by

cd 
cd mission
svn up
cd ../regbotgui
svn up
cd ../regbot
svn up
cd ../robobot_bridge
svn up

[edit] Compile

If there are updates, then they need a recompile (except qtgui).

Mission and Robobot_bridge has a 'build' subdirectory with a Makefile, REGBOT has the Makefile in the base directory.

Type

cd ~/robobot_bridge
mkdir -p build         # make a build directory; -p accepts it may be there already
cd build
cmake ..               # builds Makefile from CMakeLists.txt in parent directory ".."
make -j3               # compile - using 3 CPU cores (not to overheat)
cd ~/mission           # to C++ version of mission control
mkdir -p build         # make a build directory; -p accepts it may be there already
cd build
cmake ..               # builds Makefile from CMakeLists.txt in parent directory ".."
make -j3               # compile - using 3 CPU cores

[edit] Start robobot_bridge

The ROBOBOT bridge should start automatically to open the display (showing IP and battery voltage) and optionally also camera streaming (must be installed first)

nano /etc/rc.local

add the following lines before 'exit 0' (close to the end)

# DTU fix for time over blocked network
htpdate -q www.linux.org www.freebsd.org
# start ROBOBOT bridge
cd /home/local/robobot_bridge/build && ./robobot_bridge -a &

Copy and 'shift-ctrl-v' will do

[edit] REGBOT software

The REGBOT is programmed with Arduino (and Teensyduino) and require these tools to be installed to compile and install the firmware See the installation procedure description in Software_installation.

The REGBOT software is in the ~/regbot/regbot directory

To compile it for the REGBOT version 4 hardware (red board) with a Teensy 3.5 processor board, go to the '3.5' subdirectory

cd ~/regbot/regbot/3.5
make -j4

If successful a regbot.hex file is generated and should be uploaded to the REGBOT Teensy 3.5 processor.

This can be done from a console with X-messages enabled.

ssh -X local@solvej.local

if the robot is 'solvej'.

NB! While programming all the pins on the processor are released, including the one maintaining power to the robot. This means that the red button on the board MUST be pressed during the MAKE UPLOAD command

cd ~/regbot/regbot/3.5
make upload

See the regbot directory for more details.

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox