Code Monkey home page Code Monkey logo

cats2's Introduction

CATS2

Released under LGPL3, see license.txt for details.

CATS2 goes for Control And Tracking Software. It serves to monitor animal-robot experiments and to control robots in closed-loop. CATS2 is built within the frame of ASSISIbf project (http://assisi-project.eu).

Prerequisites

CATS2 was tested with Ubuntu 14.04 and Ubuntu 16.04.

CATS2 depends on the following packages

  • gcc 4.9 or newer
  • SDL2
  • CMake 3.2 or newer
  • Qt5.6 or newer
  • gstreamer-0.10
  • qt-gstreamer-0.10.3
  • OpenCV 3.x (with dependecies)
  • Boost
  • ZeroMQ
  • protobuf
  • dashel
  • enki
  • aseba

Compile CATS2 under Ubuntu 14.04

Install SDL2

sudo apt-get install libsdl2-2.0-0 libsdl2-dbg libsdl2-dev 

Install Boost

sudo apt-get install libboost-dev

Install ZeroMQ

Check here http://zeromq.org/intro:get-the-software and here https://gist.github.com/cdjhlee/b8e3c927a01b0948b42d for more details

Install gcc4.9 or newer

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install g++-4.9

Setup the switch between the new gcc4.9 and the previous version installed if necessary (https://askubuntu.com/questions/26498/choose-gcc-and-g-version)

Install Qt5.6 or newer

Can be downloaded here https://info.qt.io/download-qt-for-application-development but the registration with Qt is needed

Compile CMake or newer

sudo apt install ncurses* (required by cmake to create ccmake)
wget https://cmake.org/files/v3.8/cmake-3.8.0.tar.gz
tar -xvf cmake-3.8.0.tar.gz
cd cmake-3.8.0/
./bootstrap --qt-gui
make -j24
make install

Install gstreamer-0.10 and qt-gstreamer-0.10.3

Use this link https://gstreamer.freedesktop.org/src/qt-gstreamer/ to download the qt-gstreamer-0.10.3 source files. When running cmake add -DQT_VERSION=5 flag

Compile OpenCV with dependecies

git clone https://github.com/opencv/opencv_contrib.git
git clone https://github.com/opencv/opencv.git
cd opencv
mkdir build
cd build
cmake .. -DOPENCV_EXTRA_MODULES_PATH="path-to-opencv-contrib"
make -j24
make install

Install or compile from sources dashel, enki and aseba

Compile CATS2

git clone https://github.com/gribovskiy/CATS2.git
cd CATS2
git submodule init
git submodule update
mkdir build
cd build
cmake ..
make -j24

Run CATS2

This line will launch CATS2 with the video4linux drivers and input device "1":

./cats -mc v4l 1 -c <path-to-configuration-file>

Other than v4l you can use vf (to use a video file) or if (to use a still image), in this case you need to provide the path to the corresponding file.

If you don't have any camera connected, but you would like to have a look on the user interface of CATS2, then you can try the following command:

./cats -bc if ../../../config/camera-calibration/epfl-setup-180/cats2-180-angle-below-camera.png -mc if ../../../config/setup/epfl-two-rooms.png -c ../../../config/cats2-epfl-setup.xml

Configuration files

Configuration files store parameters used by submodules of CATS2, such as the camera calibration files, parameters of tracking routines, or parameters of the robots' controllers. Examples of the configuration files can be found in config.

cats2's People

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cats2's Issues

Log starts late

Les logs il ne se lancent pas toujours tout de suite... Le log TestExperiment 2016.12.22 18_17_41.txt il commence au time step 395.414​, soit 6 min apres le lancement du programme... du coup il y a plusieurs experiences sans données...

The video resizing policy doesn't work correctly

At the moment incoming frames are resized to requested size without taking into account their ratio, as a result proportions are wrong. This is especially bad for the calibration. The grabber needs to request the camera to resize, if fails then it should stop.

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.