This repository contains the RoCKIn@Home Referee, Scoring and Benchmarking Box.
The repository RoAH RSBB Comm from https://github.com/rockin-robot-challenge/at_home_rsbb_comm is included as a git submodule.
git pull
git submodule update --initYou need to have installed a C++11 compiler, CMake, Boost, Protobuf and OpenSSL.
If you are using Ubuntu, install the dependencies with:
sudo apt-get install build-essential cmake libboost-all-dev libprotoc-dev protobuf-compiler libssl-devFurthermore, you need to use at least ROS Hydro, follow the instructions at http://wiki.ros.org/ROS/Installation/ .
This was tested with Ubuntu 12.04.5 LTS (Precise Pangolin) and 14.04.1 LTS (Trusty Tahr).
This package depends on the roah_devices and the rockin_benchmarking
packages, which must be available in the Catkin workspace.
roah_devicescan be cloned or downloaded from http://github.com/joaocgreis/roah_devicesrockin_benchmarkingcan be downloaded from http://users.isr.tecnico.ulisboa.pt/~jreis/rockin/rockin_benchmarking_2182.tar.xz
For rockin_benchmarking to run, it is also necessary to install the Levenshtein module for Python:
sudo easy_install python-LevenshteinAfter git clone and after every git pull, please do:
git submodule update --initCompile as a normal ROS package in your Catkin workspace. Make sure roah_devices is available.
You can run the full RSBB including the Core, the Interface and the devices node with:
roslaunch roah_rsbb roah_rsbb.launchFor a test with dummy home devices use:
roslaunch roah_rsbb roah_rsbb_dummy.launch rsbb_host:=192.168.1.255 --screenThe rsbb_host parameter should be set to the Bcast of the interface you want to use, as reported by ifconfig. Do not run the RSBB in the same computer as the client (robot).
It may be necessary to delete the rqt cache for the new components to appear:
rm ~/.config/ros.org/rqt_gui.iniMake sure that you run these commands in whatever computer runs the RSBB:
sudo iptables -A INPUT -i lo -p tcp -m tcp --dport 11311 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 11311 -j DROPYou might add this to /etc/rc.local, before the exit command.
To be able to connect from other computers safely, you must install
the openssh-server package:
sudo apt-get install openssh-serverMake sure the ROS_IP variable is set correctly.
To launch RSBB clients in other computers, you must have the
openssh-server package installed in the server and be running the
RSBB. Then, in the remote computer do:
ssh -L 127.0.0.1:11311:10.0.0.1:11311 rockin@10.0.0.1In this example, the user is named rockin and the server is at
10.0.0.1. The 127.0.0.1 at the beginning is mandatory.
Make sure the ROS_IP variable is set correctly.
Then, just run the client as if the ROS master were local:
roslaunch roah_rsbb roah_rsbb_client.launch