You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Click here for the `official docs <https://gazebosim.org/docs/harmonic/getstarted/>`_ from the developers of :program:`Gazebo`.
9
+
10
+
:program:`Gazebo` is a robot simulator frequently mentioned when :program:`ROS2` is used. They are officially different projects although there are `clear connections <https://gazebosim.org/docs/latest/ros_installation/#summary-of-compatible-ros-and-gazebo-combinations>`_.
11
+
12
+
Until :program:`ROS2 Humble`, :program:`Gazebo` worked in a different way and had a different name. The older project has been renamed to :program:`Gazebo Classic`.
13
+
14
+
Given that this new way to use :program:`Gazebo` has started in :program:`ROS2 Jazzy`, we can expect that some edges will be rough and some functionalities missing. Nonetheless, it is reasonable to believe this will be the way to operate :program:`Gazebo` in the foreseable future.
15
+
16
+
For :program:`ROS2 Jazzy`, we use :program:`Gazebo Harmonic`. This replicates the strategy of having a LTS version for a given piece of software. This makes it easier for the users to learn and trust a platform without it constantly changing.
17
+
18
+
Beauty and usability are in the eyes of the beholder. That said, one major improvement in :program:`Gazebo` is the motion towards not needing two robot description formats. It has always been the case that a robot would have to be described twice, once for :program:`ROS2` and another for :program:`Gazebo Classic`.
19
+
Although this switch might still be ongoing and some more advanced functionalities might be missing, we will work with a single ``.sdf`` file as much as possible in these tutorials.
Click here for the `official docs <https://gazebosim.org/docs/harmonic/getstarted/>`_ from the developers of :program:`Gazebo`.
9
-
10
-
:program:`Gazebo` is a robot simulator frequently mentioned when :program:`ROS2` is used. They are officially different projects although there are `clear connections <https://gazebosim.org/docs/latest/ros_installation/#summary-of-compatible-ros-and-gazebo-combinations>`_.
11
-
12
-
Until :program:`ROS2 Humble`, :program:`Gazebo` worked in a different way and had a different name. The older project has been renamed to :program:`Gazebo Classic`.
13
-
14
-
Given that this new way to use :program:`Gazebo` has started in :program:`ROS2 Jazzy`, we can expect that some edges will be rough and some functionalities missing. Nonetheless, it is reasonable to believe this will be the way to operate :program:`Gazebo` in the foreseable future.
15
-
16
-
For :program:`ROS2 Jazzy`, we use :program:`Gazebo Harmonic`. This replicates the strategy of having a LTS version for a given piece of software. This makes it easier for the users to learn and trust a platform without it constantly changing.
17
-
18
-
Beauty and usability are in the eyes of the beholder. That said, one major improvement in :program:`Gazebo` is the motion towards not needing two robot description formats. It has always been the case that a robot would have to be described twice, once for :program:`ROS2` and another for :program:`Gazebo Classic`.
19
-
Although this switch might still be ongoing and some more advanced functionalities might be missing, we will work with a single ``.sdf`` file as much as possible in these tutorials.
20
-
21
3
.. _Gazebo installation:
22
4
23
5
:program:`Gazebo` Installation
24
-
------------------------------
6
+
==============================
25
7
26
8
The following command will install :program:`Gazebo Harmonic` and all the pairing libraries for :program:`ROS2 Jazzy`.
27
9
@@ -37,130 +19,3 @@ curl_ Helps download files from the terminal.
37
19
gnupg_ :program:`GnuPG` is an universal crypto engine which can be used directly from a command line prompt, from shell scripts, or from other programs.
After installation, :program:`Gazebo Harmonic` can be run with the following command
44
-
45
-
.. code-block:: console
46
-
47
-
gz sim
48
-
49
-
Which should result in something similar to the following, if the installation went well.
50
-
I would recommend strongly against letting the curiosity get the best of you and clicking on the ``3d_shapes.sdf`` given that it's current freezing all my machines.
51
-
Other scenes seem to be working in general.
52
-
53
-
.. image:: images/screen_quickstart.png
54
-
:width:100%
55
-
56
-
Basic functionality
57
-
-------------------
58
-
59
-
These two official tutorials cover the basic functionality of :program:`Gazebo`. They are very well made with up-to-date images and videos. Please go through them to familiarise yourself with the basic functionality.
60
-
61
-
.. hint::
62
-
63
-
In the ``Understanding the GUI`` tutorial, you can skip the part about using ``--force-version``.
64
-
The current version of :program:`Gazebo Harmonic` is ``8.9.0`` so the command would be changed to
65
-
66
-
.. code-block:: console
67
-
68
-
gz sim --force-version 8.9.0 shapes.sdf
69
-
70
-
71
-
But you should not have multiple versions of :program:`Gazebo` installed anyway!!
72
-
73
-
- `Understanding the GUI <https://gazebosim.org/docs/harmonic/gui/>`_.
A :program:`Gazebo`\-related development in :program:`ROS2` will generally have four packages for each robot or system.
98
-
One example is shown below, in the official https://github.com/gazebosim/ros_gz_project_template.
99
-
100
-
.. code-block::
101
-
:emphasize-lines: 2,5,10,15
102
-
103
-
.
104
-
|-- ros_gz_example_application
105
-
| |-- CMakeLists.txt
106
-
| `-- package.xml
107
-
|-- ros_gz_example_bringup
108
-
| |-- CMakeLists.txt
109
-
| |-- config
110
-
| |-- launch
111
-
| `-- package.xml
112
-
|-- ros_gz_example_description
113
-
| |-- CMakeLists.txt
114
-
| |-- hooks
115
-
| |-- models
116
-
| `-- package.xml
117
-
`-- ros_gz_example_gazebo
118
-
|-- CMakeLists.txt
119
-
|-- README.md
120
-
|-- hooks
121
-
|-- include
122
-
|-- package.xml
123
-
|-- src
124
-
`-- worlds
125
-
126
-
This means that if you were to develop packages for a robot called ``beautiful_bot`` you'd be expected to create the four packages as follows.
127
-
128
-
.. code-block::
129
-
130
-
.
131
-
|-- beautiful_bot_application
132
-
|-- beautiful_bot_bringup
133
-
|-- beautiful_bot_description
134
-
`-- beautiful_bot_gazebo
135
-
136
-
According to the developers `here <https://gazebosim.org/docs/harmonic/ros_gz_project_template_guide/>`_ and `here <https://github.com/gazebosim/docs/issues/580>`_, our hypotetical packages would have the following roles.
Owing to the lifecycle of products and resource allocation (we also suffer from this at Universities), you can always expect the official packages for :program:`ROS2` and
154
-
:program:`Gazebo` shipped officially by vendors to considerably lag behind.
After installation, :program:`Gazebo Harmonic` can be run with the following command
10
+
11
+
.. code-block:: console
12
+
13
+
gz sim
14
+
15
+
Which should result in something similar to the following, if the installation went well.
16
+
I would recommend strongly against letting the curiosity get the best of you and clicking on the ``3d_shapes.sdf`` given that it's current freezing all my machines.
17
+
Other scenes seem to be working in general.
18
+
19
+
.. image:: images/screen_quickstart.png
20
+
:width:100%
21
+
22
+
Basic functionality
23
+
-------------------
24
+
25
+
These two official tutorials cover the basic functionality of :program:`Gazebo`. They are very well made with up-to-date images and videos. Please go through them to familiarise yourself with the basic functionality.
26
+
27
+
.. hint::
28
+
29
+
In the ``Understanding the GUI`` tutorial, you can skip the part about using ``--force-version``.
30
+
The current version of :program:`Gazebo Harmonic` is ``8.9.0`` so the command would be changed to
31
+
32
+
.. code-block:: console
33
+
34
+
gz sim --force-version 8.9.0 shapes.sdf
35
+
36
+
37
+
But you should not have multiple versions of :program:`Gazebo` installed anyway!!
38
+
39
+
- `Understanding the GUI <https://gazebosim.org/docs/harmonic/gui/>`_.
A :program:`Gazebo`\-related development in :program:`ROS2` will generally have four packages for each robot or system.
64
+
One example is shown below, in the official https://github.com/gazebosim/ros_gz_project_template.
65
+
66
+
.. code-block::
67
+
:emphasize-lines: 2,5,10,15
68
+
69
+
.
70
+
|-- ros_gz_example_application
71
+
| |-- CMakeLists.txt
72
+
| `-- package.xml
73
+
|-- ros_gz_example_bringup
74
+
| |-- CMakeLists.txt
75
+
| |-- config
76
+
| |-- launch
77
+
| `-- package.xml
78
+
|-- ros_gz_example_description
79
+
| |-- CMakeLists.txt
80
+
| |-- hooks
81
+
| |-- models
82
+
| `-- package.xml
83
+
`-- ros_gz_example_gazebo
84
+
|-- CMakeLists.txt
85
+
|-- README.md
86
+
|-- hooks
87
+
|-- include
88
+
|-- package.xml
89
+
|-- src
90
+
`-- worlds
91
+
92
+
This means that if you were to develop packages for a robot called ``beautiful_bot`` you'd be expected to create the four packages as follows.
93
+
94
+
.. code-block::
95
+
96
+
.
97
+
|-- beautiful_bot_application
98
+
|-- beautiful_bot_bringup
99
+
|-- beautiful_bot_description
100
+
`-- beautiful_bot_gazebo
101
+
102
+
According to the developers `here <https://gazebosim.org/docs/harmonic/ros_gz_project_template_guide/>`_ and `here <https://github.com/gazebosim/docs/issues/580>`_, our hypotetical packages would have the following roles.
Owing to the lifecycle of products and resource allocation (we also suffer from this at Universities), you can always expect the official packages for :program:`ROS2` and
120
+
:program:`Gazebo` shipped officially by vendors to considerably lag behind.
0 commit comments