Giter VIP home page Giter VIP logo

sycurobot-install-2's Introduction

catkin workspace with packages manager

Setup of the system

TODO: Update of the README

  • Choose the recommended distribution for next year (18.04?)
  • Update dependencies (moving to OpenCV3)
    • Currently nonfree of OpenCV3 is not supported in 18.04
  • Change install commands for rhoban developers (use private repositories)
  • Is 'workspace' only for 'kid_size' or not?
    • To be discussed

Recommended Operating System

The recommended operating system to run this version of the software is Ubuntu 16.04 Xenial Xerus using other OS might result on issues with some of the packages required.

Installing APT dependencies

First of all, you will need to install required packages:

sudo apt-get install gcc cmake git libtinyxml-dev libncurses5-dev\
    php php-cli php-xml libopencv-dev libv4l-dev gnuplot5-qt \
    python-pip python-empy python-setuptools python-nose chrpath ffmpeg libudev-dev \
    libsfml-dev libconsole-bridge-dev

Installing catkin

sudo pip install -U catkin_tools mock

Setting up your Github account with your public key

Since the workspace manager handle dozens of repositories at once, it is much more convenient to use SSH keys. If you don't have a one, generate one using:

ssh-keygen -t rsa

Sign in on your GitHub account and go to Settings, and then "SSH and GPG keys". Click "New SSH key" and copy the content of .ssh/id_rsa.pub in the key field, choose any name you want and validate the new key.

Setting up the workspace

Clone the latest stable release of workspace repository and move to it:

git clone -b final_2018 https://github.com/rhoban/workspace.git
cd workspace

Then, run the setup:

./workspace setup

You can then install the latest stable release of all the rhoban source code: Note: You should make a fork of rhoban/environments_public in order to have the configuration for your own robots.

./workspace install rhoban/hl_kid_public.git
./workspace install rhoban/environments_public.git
./workspace install rhoban/monitoring_robocup.git
./workspace git checkout final_2018
ln -sf src/rhoban/environments_public env

Some symbolic links should be modified in env/fake. "default_robot" should be change with one of the robot folder name:

ln -sf ../default_robot/kick_classic.json env/fake
ln -sf ../default_robot/kick_small.json env/fake
ln -sf ../default_robot/kick_lateral.json env/fake
ln -sf ../default_robot/KickModelCollection.json env/fake
ln -sf ../default_robot/VCM.json env/fake
ln -sf ../default_robot/sigmaban.urdf env/fake
ln -sf ../../../rhoban/model/Data/font.ttf env/fake

Installing FlyCapture dependency

To use BlackFly cameras from FLIR, you have to install their software. First clone this repository:

git clone https://github.com/RhobanDeps/flycapture.git

And run the install script:

cd flycapture
sudo ./install_flycapture.sh

Maybe there will be issues with apt packages, in this case, run:

sudo apt --fix-broken install

And try again (you might need to repeat the last step 2 or 3 times)

Installing RhIO Shell

You can now compile the RhIO Shell:

./workspace build RhIOShell

Run this command to add rhio to your $PATH:

echo export "PATH=\"\$PATH:$PWD/devel_release/lib/RhIOShell/\"" >> ~/.bashrc

Don't forget to re-run the shell to have the change, you should then be able to run the rhio command.

Installing RoboCup monitoring software

You can now compile the RoboCup monitoring software:

./workspace build monitoring_robocup

Run this command to add MonitoringRobocup to your $PATH:

echo alias "MonitoringRoboCup=\"\$PWD/devel_release/lib/monitoring_robocup/MonitoringRoboCup\"" >> ~/.bashrc

Don't forget to re-run the shell to have the change, you should then be able to run the MonitoringRoboCup command.

Basic commands

Compiling the robot program (KidSize)

Run the following to build the program:

./workspace build kid_size

Communicating with the robot

Our robots communicate with the 10.0.0.1 ip address, so you need to configure your computer to a compatible static address like 10.0.0.2

It is strongly recommended that you add your private key to the robot. By copying the content of .ssh/id_rsa.pub in the .ssh/authorized_keys inside the robot.

Deploying the program to the robot

This will deploy the program on the robot:

./deploy

Running the program on the robot

This will remotely run the program on the robot

./run

Connecting to the robot with rhio

rhio 10.0.0.1

Saving logs with MonitoringRoboCup

Simply place a terminal with the location in which you want to save the log and run:

MonitoringRoboCup

This will save all the content in a file named monitoring.log and if a webcam is connected, it will also save images in the folder.

Note: If a file named monitoring.log exists in the folder, MonitoringRoboCup will crash rather than overwritting current log. If you want to ecrase current log, just remove the file monitoring.log to allow the program to start.

Replaying logs with MonitoringRoboCup

Move to the folder containing the monitoring.log file and run:

MonitoringRoboCup monitoring.log

Workspace commands

To pull all the repositories:

./workspace pull

To build:

./workspace build

To build (debug):

./workspace build:debug

Listing packages:

./workspace packages

To build just a specific package:

./workspace build RhIOShell

Dependencies

In packages.xml, you can annotate the repositories:

    <build_depend>model</build_depend> <!-- rhobanproject/model -->

By default, this will use GitHub, you can also use complete repo names

    <build_depend>csa_mdp_experiments</build_depend> <!-- optional [email protected]:rhoban/csa_mdp_experiments.git -->

Here, a full repository name is used, and the dependency is tagged optional. This means that the user will be asked if he wants to install the dependency. You can also use recommend, that would do the same, except that the default choice will be yes instead of no.

sycurobot-install-2's People

Contributors

gregwar avatar medrimonia avatar remifabre avatar patxikuku avatar apirrone avatar allali avatar leph avatar drmint avatar stevenguyen avatar boussica avatar

Stargazers

 avatar

Watchers

James Cloos avatar king  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.