Robobot

From Rsewiki

This page is for ROBOBOT, an extension of REGBOT with a raspberry pi and three wheels.


Figure 1. Robobot, - see drawing https://cad.onshape.com/documents/fef8699fcafb8aea780c8981/w/ce38e7fdd6cf8533b65e2c3c/e/4792e876b254f8e35059f863


Overview

hardware

ROBOBOT based on navigation box with line-sensor (Edge sensor) and IR distance sensor. In this case with big rear wheels and two castor front wheels. To the right is a bottom view with line-sensor and motors visible.

The motors in the image are JGB37-545 with encoder and a 1:10 gearing (max 600RPM out).

Navigation box software

Figure 2. ROBOBOT is an extension of the simpler robot REGBOT. The REGBOT part controls the wheels, interfaces to sensors like an IMU (6 axis accelerometer and gyro), IR distance sensors (2), and a line edge detector. REGBOT further controls up to 3 servos and controls the battery supply. ROBOBOT is further equipped with a Raspberry Pi to allow more complicated missions. On the Raspberry Pi runs an interface process called robobot_bridge, this interfaces to a small 5-line display, to a game-pad and is the main interface to the REGBOT. The mission process collects data from the bridge and from ROBOBOT, and supplies the REGBOT with small mission code snippets. The mission process further holds the interface to the Raspberry Pi camera and may use the Open-CV library functions. The speaker allows debugging messages or other sound effects.

The ROBOBOT functions are available on the net at port number 24001. The existing user interface for REGBOT can access REGBOT functions from this port.

The gamepad can take control of the robot if the mission fails, and can be used to initiate missions or other functions using the gamepad buttons and axis.

Software description

Bridge software

The bridge - called robobot_bridge - runs on the Raspberry Pi and is started when the Raspberry Pi starts.

Robobot_bridge overview

The autostart feature is implemented in '/etc/rc.local' with the following line. - add also a fix to get the date and time on the DTU network, where the NTP port is blocked.

Insert this in /etc/rc.local before the "exit 0" line

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

Mission software

The mission application is the primary user control for the robot.

Robobot mission application overview.

The Mission application is started manually from an ssh console.

Python interface

A python-based control example - including especially camera streaming and interface.

Python interface

Setup issues

Installation instructions

This section contains instructions for setting up a clean Raspberry Pi.

Install on raspberry on a clean SD-card - raspi-config.

Setup user local adding a new user.

Network setup Wifi and time

Linux tools - packages for compile, openCV and Python

Raspberry Camera API - to use camera from C++

Sound installation on Raspberry

Robobot on Raspberry PI specifics for ROBOBOT.

Acces from (Windows)

Access from PC (Linux or Windows).

Other windows tools - run graphics from Windows


old stuff

Instructions for getting started - primarily network, Linux intro and wifi setup.


REGBOT setup

A number of parameters in the REGBOT part of the robot need setting.

Some suggestions are provided here using the REGBOT GUI (available on the raspberry in the 'regbotgui' directory, and in a Windows version):

Regbot settings

Hardware

The Robobot frame is 3D printed, the design is in onshape - see this link https://cad.onshape.com/documents/fef8699fcafb8aea780c8981/w/ce38e7fdd6cf8533b65e2c3c/e/4792e876b254f8e35059f863 , in the list of parts to the left it is possible to export (right-click) as STL files, that you can slice for your 3D printer.

The REGBOT part of the hardware is described on the Regbot_version_4 page, e.g. schematics and connector pinout.

Connection of the line display to the Raspberry pi is here Robobot Hardware.

Castor wheels assembly.

The navigation box opened. The main part is a Raspberry pi and the REGBOT low-level control board with a Teensy 3.5.

Navigation box assembly may look a bit complex, but look here for more details.

Navigation box assembly

On this page is a short assembly instruction for the navigation box.

Status

Some status for individual ROBOBOT robots may be available here. ROBOBOT status