Regbot: Difference between revisions

From Rsewiki
No edit summary
 
(104 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Small robot intended for control-1 exercises.


[[File:regbot-final.png|200px]]
REGBOT is a small robot designed for exercises for our linear control 1 course (PID control) ([http://www.dtu.dk/english/Service/Phonebook/Person?id=14453 author]).


==Hardware==
[[file:foto_of_Alba_40.png | 250px]]


[[Design overview]] can be found here.
Figur 1. Version 2 of Regbot.


REGBOT comes in 2 versions:
== Overview ==
* version 1A - with robot numbers 1..15
* version 2B - with robot numbers 16..


[[REGBOT robot status]]
This section is intended for users.


==Use software as is==
[[Getting started]] with REGBOT GUI.


To use regbot two software parts are needed - one for the robot (regbot.hex) and the client (regbot.exe (for windows)).
[[User interface]], how to configure the robot using the Regbot client.


====Client software====
[[Control]] overview gives some information on control possibilities.


Get the client software (regbot.exe) from file sharing on campusnet, place it in a directory, this directory will be default for configuration file and result files from the robot.
[[Mission]], how to write a mission.


A USB driver must be installed to get in contact with the robot - see [[installation in windows]]
[[Regbot calibration]] for better performance.


The driver will (on Windows) create a com-port when connected - most likely com3 or any higher number.
[[Regbot maintenance]] for longer life.
When the robot is disconnected by unplugging the cable, then the client probably needs to be restarted if it was connected when the cable was unplugged (no connection detect in windows).


The run the regbot.exe file.
[[Regbot GUI]] installation.


====User interface====
[[Regbot hardware board]].


The user interface can configure and run the robot, as well as inspecting almost all values on the robot. Written in python using Qt GUI library.
== Install notes ==


The [[User interface]] page has details.
This section is primarily installation notes and more detailed descriptions not usually needed by the end-user.


===Robot software===
[[Regbot command interface]] - command list.


The robot software is compiled into a regbot.hex file, that is loaded into the robot flash disk using a teensy loader.
[[Software installation]] on REGBOT (Arduino) and tool-chain - Linux


The loader is found here https://www.pjrc.com/teensy/loader.html.
[[Regbot old stuff]]
 
Start the teensy loader - it looks like this
 
[[File:teensy_loader_button.png]]
 
Load the regbot.hex file (found on file sharing for the course) into the teensy loader application.
 
With the robot connected over USB, press the small "software load" button on the teensy board.
 
NB! It may take up to 30 seconds before the teensy loader detects the board.
 
[[File:teensy_button_regbot.png]]
 
Then press "Program" and "Reboot" on the teensy loader application. It may be necessary to press the big "reboot" or "power" button on the robot itself also. On some robots a total power cycle is needed to reboot properly. The robot should blink every 1 second with a short blink.
 
==Software download==
 
The source code for the robot and the client is available here.
NB! the software source can not be compiled without the proper tool-chain (compiler and library for the robot and python and libraries for the client)
 
*Robot software (including regbot.hex): version 2.301 (as of 10 February 2016) - fixed error in disabling faulty velocity estimator.
*Robot software (including regbot.hex): version 2.290 (as of 5 February 2016) - fixed loss of ID if saved mission has more than a few lines.
*Robot software (including regbot.hex): version 2.285 (as of 31 January 2016) - ready for F16 course
 
*Client software : 2.290 (as of 5 February 2016) - fixed tilt offset error en saved configuration file (regbot.ini)
*Client software (including regbot.exe for windows): 2.285 (as of 31 January 2016) - ready for F16 course
 
repository for software - client and robot
 
* client: svn://repos.gbar.dtu.dk/jcan/regbot/qtgui
* robot:  svn://repos.gbar.dtu.dk/jcan/regbot/regbot
* robot version 2.290 as zipfile from dropbox https://www.dropbox.com/s/s71s4w1x61cwpb2/regbot_290.zip?dl=0 )
 
On a Linux computer do something like this:
svn co svn://repos.gbar.dtu.dk/jcan/regbot/regbot .
svn co svn://repos.gbar.dtu.dk/jcan/regbot/qtgui .
 
==Install software tools==
 
The software tools to modify the software requires some tools.
 
* [[Software installation]] and tool-chain - Linux
* [[installation in windows]] and some of the tool-chain
* [[Schematic]]
 
 
==Vision based Line Follower==
 
===Video of Line Following RegBot===
 
In this first GIF a video is captured of the RegBot during it's run on line. The RegBot is set to take right turns.
 
 
[[File:Line_video.gif]]
 
 
This second GIF shows the run as seen on the RegBot. A rectangle bounding box is drawn around the boundaries of the tape-line contours. The red dot is the middle of the box/line and the blue dot functions as a navigation offset as the camera is mounted left to the center on RegBot and the RegBot should be driving on the center of the line.
 
 
[[File:Line.gif]]
 
 
===How to use the application===
 
When turning on the RegBot the Raspberry Pi and the Line Follower application will automatically start.
 
To wirelessly control and communicate with the RegBot and the Line Follower application open up a SSH session by using '''Putty''' on Windows and '''Terminal''' on Linux and Mac.
 
To access the RegBot type in:
 
ssh pi@hostname.local
 
where hostname should have been changed to '''regbotxx''' corresponding to the robots number.
 
The default password to a Raspberry Pi is '''raspberry''', but this should have been changed to e.g. '''filippa''' corresponding to the robots name.
 
When the SSH session is open attach to the running Line Follower instance:
 
tmux attach
 
This will present a window like this:
 
[[File:Tmux_attach.png|500px]]
 
In the bottom window 1 should be presented as '''1:linefollow'''.
 
To attach to window 1 press '''Ctrl+B''' then '''1'''.
 
As usual typing '''help''' will list the available commands for the RegBot.
 
Typing '''pihelp''' will give a list of commands to the Line Follower application:
 
          ### COMMANDS ###
pihelp:              this text
left:                regbot will make left turns [default]
right:                regbot will make right turns
linemode=0:          regbot will run till end of line [default]
linemode=xxxx:        regbot will run till xxxx frames have been captured
black:                regbot will run on black lines [default]
white:                regbot will run on white lines
err=xx:              sets a threshold on how many errors the robot
                      can make before stopping - if it fails during turns,
                      this variable probably needs to go up! [default = 4]
        ### ######## ###
 
To run the Line Follower mission on the RegBot change the mission to '''M=8'''.
 
To detach (exit) the session '''do not''' type '''exit''' as this will shut down the running instance. Instead press '''Ctrl+B''' then '''D''' to detach and then close down the SSH session by either closing the window or typing '''exit'''.
 
===Details on how to set up Line Following RegBot===
 
 
Go to [[Vision based Line Follower]] for detailed information on the project and instructions on how to setup a new Line Following RegBot.

Latest revision as of 14:17, 17 October 2024

REGBOT is a small robot designed for exercises for our linear control 1 course (PID control) (author).

Figur 1. Version 2 of Regbot.

Overview

This section is intended for users.

Getting started with REGBOT GUI.

User interface, how to configure the robot using the Regbot client.

Control overview gives some information on control possibilities.

Mission, how to write a mission.

Regbot calibration for better performance.

Regbot maintenance for longer life.

Regbot GUI installation.

Regbot hardware board.

Install notes

This section is primarily installation notes and more detailed descriptions not usually needed by the end-user.

Regbot command interface - command list.

Software installation on REGBOT (Arduino) and tool-chain - Linux

Regbot old stuff