Robobot

From Rsewiki
(Difference between revisions)
Jump to: navigation, search
(Mobotware)
Line 3: Line 3:
 
[[File:robobot.JPG|400px]]
 
[[File:robobot.JPG|400px]]
  
==Installation instruction on the raspberry==
+
[[Getting started guide]]
  
Install raspberry pi version of Linux on a micro-SD, instructions can be found here:
+
[[Full installation instructions]]
  
[[Install on raspberry]] first section (prerequisites).
 
  
===Raspicam===
 
 
A rather short raspberry pi camera API is available from https://www.uco.es/investiga/grupos/ava/node/40.
 
And can be downloaded from https://sourceforge.net/projects/raspicam/files/?
 
 
Unpack and install:
 
unzip raspicam-0.1.3.zip
 
cd raspicam-0.1.3
 
mkdir build
 
cd build
 
cmake ..
 
make
 
sudo make install
 
 
===Userland-master===
 
 
To be able to install mobotware
 
 
Follow the guide under REGBOT for userland-master install - [[Install on raspberry]]
 
 
===DNSMASQ===
 
 
To enable the robobot to be connected directly to a PC, then it is easier if the robobot provides an IP for the PC.
 
 
Install DNSMASQ
 
 
sudo apt install dnsmasq
 
 
allow dnsmasq to provide IP to pear-to-pear networks
 
Edit the /etc/dnsmasq.conf (nano is a small text editor, fine for editing configuration files owned by Linux root)
 
 
sudo nano /etc/dnsmasq.conf
 
 
find and change/add the following line (for eth0)
 
 
dhcp-range=eth0,192.168.0.100,192.168.0.150,12h
 
 
To work, the eth0 must have an IP, if noone provides one,
 
change /etc/dhcpcd.conf (dhcp client deamon) to have a default IP, if no DHCP server is available
 
 
Add the following lines at the end of /etc/dhcpcd.conf to have a fall back behaviour for eth0 and eth1.
 
 
# define static profile
 
profile static_eth0
 
static ip_address=192.168.0.2/24
 
static routers=192.168.0.1
 
static domain_name_servers=192.168.0.1
 
 
# fallback to static profile on eth0
 
interface eth0
 
fallback static_eth0
 
 
# define static profile
 
profile static_eth1
 
static ip_address=192.168.1.2/24
 
static routers=192.168.1.1
 
#static domain_name_servers=192.168.0.1
 
 
# fallback to static profile on eth1
 
interface eth1
 
fallback static_eth1
 
 
This will also give a default IP for an eventual second network (usb-to-cable) if needed
 
 
Now, after a reboot, you should be able to connect a PC directly with at network cable to a PC, and the PC should get an IP from the raspberry, so now
 
 
ssh local@192.168.0.2
 
 
should work
 
 
===ROBOBOT demo C++===
 
 
This is an examplesoftware in C++ to access both raspberry camera and REGBOT, and with an example mission controlled from the raspberry.
 
 
Get the robobot software from the svn repository:
 
 
svn checkout svn://repos.gbar.dtu.dk/jcan/regbot/robobot robobot
 
 
To be able to compile the demo software CMAKE needs also to use the user installed library (raspicam installed above),
 
so add the following line to ~/.bashrc:
 
 
export CMAKE_PREFIX_PATH=/usr/local/lib
 
 
Then build Makefiles and compile:
 
 
cd robobot
 
cd build
 
cmake ..
 
make
 
 
Then testrun the application:
 
 
./robobot
 
 
It should print that the camera is open, save an image and print some data from the robot (e.g. position).
 
 
===USB as SOCKET for REGBOT client===
 
 
To use the REGBOT client through (not on) the raspberry pi, the serial connection /dev/ttyACM0 on the raspberry can be converted to a network port by SOCAT. So install:
 
 
sudo apt install socat
 
 
Add the following line to /etc/rc.local
 
 
socat TCP-LISTEN:24001,fork,reuseaddr FILE:/dev/ttyACM0,raw,echo=0
 
 
This creates a TCP socket server, listening to port 24001 and piping /dev/ttyACM0 to the socket (with no local echo). This only takes the data from the /dev/ttyACM0 when a client is connected to the socket.
 
 
Works after a reboot, or the same line on the command prompt.
 
 
This is good for configuring the REGBOT (in REGBOT client connect wifi to IP of robot, e.g. 192.168.0.2).
 
 
===Share files from windows===
 
 
To share files on all windows computers (without need for administrator) configure a samba share
 
(or follow Simon on http://simonthepiman.com/how_to_setup_windows_file_server.php)
 
 
First install samba
 
 
sudo apt install samba samba-common-bin
 
 
then edit /etc/samba/smb.conf
 
 
sudo nano /etc/samba/smb.conf
 
 
comment out all lines under the headlines:
 
[homes]
 
[printers]
 
[print$]
 
[cdrom]
 
 
Add the following section at the end:
 
 
[robobot]
 
comment = Raspberry Pi user LOCAL home directory
 
path = /home/local
 
writeable = Yes
 
only guest = Yes
 
create mask = 0777
 
directory mask = 0777
 
browseable = Yes
 
public = yes
 
 
 
Add "local" and "pi" as a samba user (and set password, for user pi it should be "raspberry"):
 
 
sudo smbpasswd -a local
 
sudo smbpasswd -a pi
 
 
Reboot to implement
 
 
sudo reboot
 
 
====Windows map drive====
 
 
On the windows computer, connect a network cable directly between the robobot and the computer, e.g. using a USB to Ethernet converter. Robobot should now be available with network address 192.168.0.2 (you could try a ping if in doubt).
 
 
In the file browser:
 
* select "map network drive" (menu tools, or right-click on "my computer").
 
* select drive R: (for robobot) - or another if R is used already.
 
* in the folder field write: \\192.168.0.2\robobot, and select "Connect using different credentials", then OK.
 
* Type in username (local or pi) and the appropriate password (and OK).
 
 
Now the code and other files can be accessed and manipulated from windows, e.g. using an IDE.
 
 
* But the code still needs to be compiled on the raspberry (install and use putty for a ssh terminal access)
 
 
===Share files on Linux===
 
 
On the Linux PC use sshfs for sharing rather than samba.
 
Make an empty directory for the mapped disk, and then mount
 
 
mkdir robobotdisk
 
sshfs local@192.168.0.2: robobotdisk
 
 
Unmount with
 
 
fusermount -u robobotdisk
 
 
Or use "sudo unmount robobotdisk"
 
  
 
==Getting started==
 
==Getting started==

Revision as of 22:45, 22 January 2017

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

Robobot.JPG

Getting started guide

Full installation instructions


Getting started

This section contains a quick-start guide for the user.

It includes how to get the robot connected to Eduroam WiFi for easy access, an explanation of software and software structure and present a few examples to get the robots driving.

Press the link below to go to the instructions page.

Instructions for getting started

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox