README.md 4.58 KB
Newer Older
Arnaud Blanchard's avatar
Arnaud Blanchard committed
1
[![logo](logo_blaar.png)](http://blaar.org)
Arnaud Blanchard's avatar
Arnaud Blanchard committed
2

Arnaud Blanchard's avatar
Arnaud Blanchard committed
3
Basic Libraries And Applications for Robotics
Arnaud Blanchard's avatar
Arnaud Blanchard committed
4
5
6
7
8
9
10
=====================================
BLAAR is still in active development. It is **not stable yet** and will evolve. Do no hesitate to [ask for improvements or notify issues](https://framagit.org/blaar/blaar/issues).

Basic Libraries for C/C++
---------------------------------
- [blc_core](https://framagit.org/blaar/blc_core) : Generic helpers in C or C++ used by all other blaar projects
- [blc_channel](https://framagit.org/blaar/blc_channel) : Tools to use shared memory in synchrone ( in test) and asynchrone mode 
11
- [blc_image](https://framagit.org/blaar/blc_image) : Manipulate bla_array as images. Can load and save them as png files  
Arnaud Blanchard's avatar
Arnaud Blanchard committed
12
- [blc_program](https://framagit.org/blaar/blc_program) : Parse arguments and interacts with  user in commandline.
Arnaud Blanchard's avatar
Arnaud Blanchard committed
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

<!--
Others usefull  basic libraries
----------------------------
- blv4l2 : Video capture on Linux. Need video for linux libv4l2
- blQTKit : Video on MAC OS. Need Quicktime libQTKit
- blcl : OpenCL
- blalsa : ALSA sound on Linux
- blgtk : helpers for gtk graphic library

Basic applications
===============
- [i_channels](https://framagit.org/blaar/i_channels/wikis/home) : Display and manipulate blc channels
- i_coreaudio
- i_create_mask
- i_QTKit_camera
- i_v4l2_camera
- i_oscillator
- [i_tino_arms](https://framagit.org/blaar/i_tino_arms/wikis/home) Broker to drive the arms of the robot tino
- i_wiimote
- [f_view_channel](https://framagit.org/blaar/f_view_channel/) : Display blc channel in a graphical interface
- f_gnuplot : display data graphs of blc_channels
- [f_schunk_hand](https://framagit.org/blaar/f_schunk_hand/wikis/home)
-->

Arnaud Blanchard's avatar
Arnaud Blanchard committed
38
39
Install
=======
Arnaud Blanchard's avatar
Arnaud Blanchard committed
40
41
42
43
44
45
46
47
48

Mac OSX
------------

[Video tutorial](http://www.etis.ensea.fr/neurocyber/blaar/videos/blaar_osx_install.mp4)

You need Xcode or a C/C++ compilation (clang, g++, ..). 

Copy past this line in a terminal
Arnaud Blanchard's avatar
Arnaud Blanchard committed
49
50

    curl -sS https://framagit.org/blaar/blaar/raw/master/developer_tools/standard_osx_blaar_install.sh | sh
Arnaud Blanchard's avatar
Arnaud Blanchard committed
51
52
53
54
55

You can do [**step by step**](https://framagit.org/blaar/blaar/blob/master/developer_tools/standard_osx_blaar_install.sh) copying command line by command line. This may be useful to better understand and in case where the installer crash.

If you have a problem at compile time it may be due to a bad configuration of your compiler  [**see how to install command line tools mac os x**](http://osxdaily.com/2014/02/12/install-command-line-tools-mac-os-x/)

Arnaud Blanchard's avatar
Arnaud Blanchard committed
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72

###Optional modules

    #f_gnuplot to draw values of blc_channels
    brew install gnuplot --with-qt
    git submodule update --init 

    #f_view_channel to have a gtk interface to view blc_channels (need gtk3, blgtk basic library for gtk3,  will be installed)
    brew install gtk+3 gnome-icon-theme
    git submodule add https://framagit.org/blaar/blgtk.git
    git submodule add https://framagit.org/blaar/f_view_channel.git
    ./install blgtk

    #blQTKit allow program to use the camera
    git submodule add https://framagit.org/blaar/blQTKit.git
    ./install blQTKit

Arnaud Blanchard's avatar
Arnaud Blanchard committed
73
74
75
76
Ubuntu
------

Copy past this line in a terminal
Arnaud Blanchard's avatar
Arnaud Blanchard committed
77
78
79

    wget -q  -O/tmp/blaar_install.sh  https://framagit.org/blaar/blaar/raw/master/developer_tools/standard_ubuntu_install.sh && sh /tmp/blaar_install.sh; rm /tmp/blaar_install.sh
    
Arnaud Blanchard's avatar
Arnaud Blanchard committed
80
81
82
83
84
85
86
87
88
89
90
91
92

You will be requested at some point to enter your admin password to make the installation.

You can do [**step by step**](https://framagit.org/blaar/blaar/blob/master/developer_tools/standard_ubuntu_install.sh) copying command line by command line. This may be useful to better understand and in case where the installer crash.


Adding projects
---------------
You will only have basic framework. You should add projects as needed

To add  project use : `git submodule add <project repository>` 

Usage 
Arnaud Blanchard's avatar
Arnaud Blanchard committed
93
=====
Arnaud Blanchard's avatar
Arnaud Blanchard committed
94

Arnaud Blanchard's avatar
Arnaud Blanchard committed
95
96
97
98
99
    ./run.sh <project directory> [--help] [others args ...]

This automatically compiles the project in release mode and executes it. You do not risk anymore to test a program you forget to recompile.

Usually it is better to use`wraprun.sh` which does the same but use **rlwrap**  to have better keyboard interaction (history, completion, ...). However it sometime confuses terminals with complex displays ( text refreshing, ASCII art, ... ).
100

Arnaud Blanchard's avatar
Arnaud Blanchard committed
101
You have equivalent commands for debugging or editing projects. These scripts are shortcuts and you can manually compile, debug etc. See [developement](development).
102

Arnaud Blanchard's avatar
Arnaud Blanchard committed
103
104
105
106
107
108
You can see an [**example**](https://framagit.org/blaar/blc_core/wikis/home) of manipulating and displaying generic arrays with blc_core

You can create you first project with this example of [image manipulation](https://framagit.org/blaar/blc_image/wikis/home)