|
2 | 2 | layout: default |
3 | 3 | --- |
4 | 4 |
|
5 | | -Text can be **bold**, _italic_, or ~~strikethrough~~. |
| 5 | +[micro-ROS](https://cordis.europa.eu/project/rcn/213167_en.html) puts ROS2 onto microcontrollers, making them first class participants of the ROS 2 environment. |
6 | 6 |
|
7 | | -[Link to another page](./another-page.html). |
| 7 | +From the level of ROS onwards, we strive to re-use as much as possible from ROS 2, and be as compatible with it as possible. In some areas, we will probably do custom implementations optimized for resource use. This will definitely include TF, and maybe other areas such as scheduling. These optimized implementations may also be interesting for use with "normal" ROS2. |
8 | 8 |
|
9 | | -There should be whitespace between paragraphs. |
| 9 | +We'll update this README as we proceed. For now, you can check out our work on: |
| 10 | + - Real-Time Operating System: [https://github.com/microROS/NuttX]() |
| 11 | + - Reference hardware: [https://github.com/microROS/hardware]() |
| 12 | + - Build infrastructure for embedded development using docker: [https://github.com/microROS/docker]() |
10 | 13 |
|
11 | | -There should be whitespace between paragraphs. We recommend including a README, or a file with information about your project. |
| 14 | +### Architecture |
| 15 | +The micro-ROS architecture is a work in progress, and while we do have some ideas, for now, lets just say that it's modular and built from the following ingredients: |
12 | 16 |
|
13 | | -# Header 1 |
| 17 | + - A Real-Time Operating System (RTOS). This includes at least NuttX, and possibly others. |
| 18 | + - An embedded communications middleware, at least [Micro XRCE-DDS](https://github.com/eProsima/Micro-XRCE-DDS) |
| 19 | + - The [ROS client library](https://github.com/microROS/rcl) |
14 | 20 |
|
15 | | -This is a normal paragraph following a header. GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere. |
| 21 | +A first approach (yet not final) of the architecture is represented below: |
16 | 22 |
|
17 | | -## Header 2 |
18 | | - |
19 | | -> This is a blockquote following a header. |
20 | | -> |
21 | | -> When something is important enough, you do it even if the odds are not in your favor. |
22 | | -
|
23 | | -### Header 3 |
24 | | - |
25 | | -```js |
26 | | -// Javascript code with syntax highlighting. |
27 | | -var fun = function lang(l) { |
28 | | - dateformat.i18n = require('./lang/' + l) |
29 | | - return true; |
30 | | -} |
31 | | -``` |
32 | | - |
33 | | -```ruby |
34 | | -# Ruby code with syntax highlighting |
35 | | -GitHubPages::Dependencies.gems.each do |gem, version| |
36 | | - s.add_dependency(gem, "= #{version}") |
37 | | -end |
38 | | -``` |
39 | | - |
40 | | -#### Header 4 |
41 | | - |
42 | | -* This is an unordered list following a header. |
43 | | -* This is an unordered list following a header. |
44 | | -* This is an unordered list following a header. |
45 | | - |
46 | | -##### Header 5 |
47 | | - |
48 | | -1. This is an ordered list following a header. |
49 | | -2. This is an ordered list following a header. |
50 | | -3. This is an ordered list following a header. |
51 | | - |
52 | | -###### Header 6 |
53 | | - |
54 | | -| head1 | head two | three | |
55 | | -|:-------------|:------------------|:------| |
56 | | -| ok | good swedish fish | nice | |
57 | | -| out of stock | good and plenty | nice | |
58 | | -| ok | good `oreos` | hmm | |
59 | | -| ok | good `zoute` drop | yumm | |
60 | | - |
61 | | -### There's a horizontal rule below this. |
62 | | - |
63 | | -* * * |
64 | | - |
65 | | -### Here is an unordered list: |
66 | | - |
67 | | -* Item foo |
68 | | -* Item bar |
69 | | -* Item baz |
70 | | -* Item zip |
71 | | - |
72 | | -### And an ordered list: |
73 | | - |
74 | | -1. Item one |
75 | | -1. Item two |
76 | | -1. Item three |
77 | | -1. Item four |
78 | | - |
79 | | -### And a nested list: |
80 | | - |
81 | | -- level 1 item |
82 | | - - level 2 item |
83 | | - - level 2 item |
84 | | - - level 3 item |
85 | | - - level 3 item |
86 | | -- level 1 item |
87 | | - - level 2 item |
88 | | - - level 2 item |
89 | | - - level 2 item |
90 | | -- level 1 item |
91 | | - - level 2 item |
92 | | - - level 2 item |
93 | | -- level 1 item |
94 | | - |
95 | | -### Small image |
96 | | - |
97 | | - |
98 | | - |
99 | | -### Large image |
100 | | - |
101 | | - |
102 | | - |
103 | | - |
104 | | -### Definition lists can be used with HTML syntax. |
105 | | - |
106 | | -<dl> |
107 | | -<dt>Name</dt> |
108 | | -<dd>Godzilla</dd> |
109 | | -<dt>Born</dt> |
110 | | -<dd>1952</dd> |
111 | | -<dt>Birthplace</dt> |
112 | | -<dd>Japan</dd> |
113 | | -<dt>Color</dt> |
114 | | -<dd>Green</dd> |
115 | | -</dl> |
116 | | - |
117 | | -``` |
118 | | -Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this. |
119 | | -``` |
120 | | - |
121 | | -``` |
122 | | -The final element. |
123 | 23 | ``` |
| 24 | ++-------------------------------------------------------------+ |
| 25 | +| embedded application layer | |
| 26 | ++-------------------------------------------------------------+ |
| 27 | +| ROS client library | |
| 28 | ++-------------------------------------------------------------+ |
| 29 | +| micro-ROS middleware interface | |
| 30 | ++-------------------+---------------------+-------------------+ |
| 31 | +| middleware 1 | middleware 2 | middleware 3 | |
| 32 | +| (micro-RTPS) | | | |
| 33 | ++-------------------+---------------------+-------------------+ |
| 34 | +| Real-Time Operating System (RTOS) abstractions | |
| 35 | ++------------------+------------------+-----------------------+ |
| 36 | +| RTOS 1 | RTOS 2 | RTOS 3 | |
| 37 | +| (NuttX) | | | |
| 38 | ++------------------+------------------+-----------------------+ |
| 39 | +| hardware | |
| 40 | ++-------------------------------------------------------------+ |
| 41 | +``` |
0 commit comments