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. |