Project

General

Profile

Wiki » History » Version 1

Martin Jacquet, 2020-10-19 13:03

1 1 Martin Jacquet
h1. Perceptive and torque-control NMPC wiki
2
3
h2. Software Overview
4
5
h3. Openrobots
6
7
Collections of all the open-source software used at LAAS. You can find more details in "Openrobots Wiki-Homepage":https://www.openrobots.org/wiki
8
>
9
10
h3. GenoM
11
12
The Generator of Modules, aka *GenoM*, is [*Cite paper*] a *generator of modules*, i.e. components, for different "middlewares":https://it.wikipedia.org/wiki/Middleware (examples of middlewares are "ROS":https://www.ros.org/, "YARP":https://www.yarp.it/), i.e. it allows to create components independently from the choice of the used middleware.
13
This allows a great code re-usability and to abstract the user from any specific choice of a middleware. You just write the component once and then you can select one among the supported middleware; for each middleware GenoM needs a template.
14
Originally GenoM has been developed tightly with *Pocolibs*, then from version 3, aka *GenoM3*, other middleware templates has been provided, like ROS.
15
>
16
17
h3. Resources
18
19
Here it is reported a list of other resources in which you can find more details about GenoM.
20
* "*GenoM Homepage*":https://git.openrobots.org/projects/genom3 hosted on @git.Openrobots.org@, where you can find also:
21
** its "*Wiki*":https://git.openrobots.org/projects/genom3/wiki ,
22
** and its "*Documentation*":https://git.openrobots.org/projects/genom3/gollum/index ,
23
* or you can have also a look "here":https://www.openrobots.org/wiki/genom, where you can find more detailed material - like a manual and some slides - in section @Documentation@.
24
>
25
26
h3. Pocolibs
27
28
As stated before, "*Pocolibs*":https://www.openrobots.org/wiki/pocolibs/ is a middleware, like ROS, YARP.
29
As already said, GenoM was originally made for it.
30
>
31
32
* ??Why are we using Pocolibs and not other popular middlewares, such as ROS???
33
** It has been developed here at LAAS, thus we have total control on its development and we can even develop other _custom_ features necessary for our projects;
34
** it is *more performant* and *fast* compared to ROS, when running on a single machine, thanks to the exploitation of shared memory. ROS, on the other hand, uses a network layer for sending messages between one "node":http://wiki.ros.org/Nodes and another one, this leads to greater delays and loss of performances.
35
>
36
37
h3. Robotpkg
38
39
If you are going to use GenoM then you will definitely meet "*Robotpkg*":http://robotpkg.openrobots.org/.
40
It is a compilation framework and packaging system for installing robotics software developed by the robotic community. It also contains packages for some general, third-party open-source software that the robotics software depends on and that is not commonly packaged by major unix distributions.
41
>
42
In orther words it is a simple way to *package software* together and it allows to *automatically manage* all the *dependecies* (libraries and other modules) which the softwares depend on.
43
More detailed info on how it works and on how to use it can be found in its "*Documentation*":http://robotpkg.openrobots.org/robotpkg/README.html (@Robotpkg Homepage->Documentation@).
44
>
45
Robotpkg is the *simplest way to* [[Software-installation|install GenoM]] since it allows you to download and compile GenoM automatically without the need to worry about all the dependencies.