forked from rtv/Stage
-
Notifications
You must be signed in to change notification settings - Fork 1
/
RELEASE.txt
265 lines (197 loc) · 9.24 KB
/
RELEASE.txt
1
2
3
4
5
6
7
8
9
10
11
12
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
Version 3.2.2
-------------
Bugfix, performance and cleanup release. This is the fastest Stage
ever for most use cases.
Externally visible changes
- removed property database from models. This will break user code
that depends on it. The rationale for removing it is that it is not
useful to libstage users, and only to libstageplugin users who used
it for Player-based IPC. It should be provided by a Player
driver. Removing this little-used code is a useful clean up.
Richard Vaughan (rtv) [email protected] - 2009.10.28
Version 3.2.1
-------------
Bugfix release, contains mainly bugfixes but some performance tweaks.
Richard Vaughan (rtv) [email protected] - 2009.10.13
Version 3.2.0
-------------
This minor release fixes many bugs, has some performance improvements
and some significant internal and API changes, including:
* introduced an internal event queue, so that there is no longer any
atomic world update interval. Each model can have its update
interval specified individually
* worldfile syntax checking improved: poses and sizes are checked for
correct vector length
* pkg-config file for libstage now contains correct dependencies,
making it much easier to build things using libstage
* controllers can now take an argument string from the worldfile and
command line
* better powerpack model
* cleaned up namespace quite a bit - controllers and simulators using
libstage may need some simple tweaks, but the design is cleaner and
more consistent.
Richard Vaughan (rtv) [email protected] - 2009.9.12
Version 3.1.0
-------------
This minor release includes some major improvements, including:
* Added or reinstated models
* grippers
* linear actuator
* Powerpacks models power consumption, charging and transferring
* Models can provide occuapancy grids with Stg::Model::Rasterize()
* WebStage is Stage with WebSim support
* Many bugfixes
* Many performance improvements, including faster raytracing
* Better support for very large worlds
* More example controllers in <stage>/examples/ctrl
* Faster raytracing
* Replaced GLib-2.0 with STL, pthreads, etc.
* Better docs (but still lots to do here)
Richard Vaughan (rtv) [email protected] - 2009.7.22
Version 3.0.1
-------------
This version incorporates a number of fixes made since the previous
major release:
* Player plugin
* added unit test suite to verify functionality (build instructions
in libstageplugin/test directory)
* many bug fixes
* blobfinder, fiducial, laser, position2d, simulation, sonar, and
speech interfaces are now working correctly
* CMake script fixes
* OpenGL headers located properly
* FLTK sourced correctly
* dependency failures should show up before compiling
* fixed bug where fiducial sensor would return duplicate results
* fixed some rendering glitches
* blobfinder now returns blobs in the correct horizontal order
* blobfinder sensor visualization displays in the plane of the screen
Version 3.0.0
-------------
Stage 3.0.0 consists of these components:
* libstage - a robot simulation C++ library.
* libstageplugin - a simulation plugin for Player
* stage - a stand-alone robot simulator
This is a a major new release of Stage. The main new features are:
* 2.5D models
* 3D user interface
* very much faster raytracing than 2.X series
* plugin code modules attach at run time to any model. Useful for data
filtering or complete robot controllers without Player (examples
included)
* 3D camera model, with color and depth for each pixel
* first "official" release of the libstage API
* save/save-as/reload file dialog box
* improved data visualization options
* select and drag/rotate multuple robots by shift-clicking
libstageplugin still needs some work - currently it only supports
position2d, laser and sonar interfaces It also uses too much
CPU. Player/Stage users may choose to wait for libstageplugin to
improve before trying Stage-3.0.
Note that your Stage-2.0 world files will probably need to be updated
to work with Stage-3.0. The main difference world file syntax is that
poses and velocities are now specied as [x y z theta] instead of the
old [x y theta]. Sizes are now specifed as [x y z] instead of [x y].
Some useful parts of Stage 2.x have not yet been ported to 3.0,
including
* gripper & puck
* wireless comms
* audio comms
* blinkenights
This is the first release of a lot of new code. It has been used in my
lab for a while now, but there are bound to be bugs and quirks. Please
use the bug tracker and feature request system on Sourceforge to help
us fix and improve Stage. As always, your patches are very welcome.
Richard Vaughan (rtv) [email protected] - 2008.7.12
Version 2.0.1
-------------
This is mainly a bugfix and performance-enhancement release. This
release requires Player-2.0.1, released simultaneously.
The only major new feature is the addition of support for Player's
speech interface: speech bubbles show the text being "spoken" by each
robot. The text is rendered using Pango, so non-Roman alphabets are
supported.
Richard Vaughan (rtv) [email protected] 2006.3.24
Version 2.0.0
-------------
This is a major new release of Stage, and is intended to replace all
previous versions. It requires Player-2.0.0 or later.
Please report bugs to the tracker and let us know what you do with Stage.
Richard Vaughan (rtv) [email protected] 2006.2.26
### New Features
Significant user-level changes include:
- Stage is now implemented as the C library
libstage. Using libstage, your programs can include a
sophisticated robot simulator with a few lines of code. The
Player plugin libstageplugin is a wrapper for libstage
that provides simulation services to Player. Player with
libstageplugin is the Player/Stage system.
- Player clients can draw directly in the Stage window using the
graphics2d interface. libstage programs can use the internal
user graphics API.
- Configurable odometry error in position model
- Gripper model that can pick up anything. Any object can be made
grippable/pushable by setting the the gripper_return property.
- Pan-tilt-zoom (PTZ) model.
- More and improved visualizations, including models leaving trails
over time
- Any object can now have its shape specified by a bitmap file (JPG,
PNG, etc.).
- Worldfile syntax has changed slightly, so you may need to edit your
existing worlds to get them to work. Look at the example worlds in
(stage src)/worlds to get the idea.
- Worlds can be very large (thousands of meters square).
Version 1.6.1
-------------
This is a bug-fix release that replaces 1.6.0.
- Fixes several GUI bugs, including the [View/Fill Polygons] menu item.
- Some code clean-up and thread-safety fixes
Version 1.6.0
-------------
This release of Stage is the first after a major rewrite. There are
bound to be bugs and teething troubles, but the Autonomy Lab
(http://www.cs.sfu.ca/research/groups/autonomy) has been using this
code for serious work for a few months now and we think it's useful
and usable.
### Significant changes visible to the user
1. Stage is now a Player plugin, instead of an executable. The key
benefit of this is that all Player drivers are now available for
use directly with Stage, including sophisticated drivers like
AMCL, without needing passthrough drivers.
2. Stage depends on Player 1.6 or newer.
3. Worldfile syntax has a changed, so you need to edit your existing
worlds to get them to work. Look at the example worlds in <stage
src>/worlds to get the idea.
4. Any object can now have its shape specified by a bitmap file
5. Several bitmap file formats are supported, using a third-party
library. Load maps and robot bodies from JPG, PNG, etc. No more PNM
troubles.
6. Worlds can now be very large (thousands of meters square).
7. Several models are missing from this release - notably the gripper
and puck. These will be available soon. Meanwhile, enjoy the full
power of Player with the basic laser, sonar, position, fiducial and
blobfinder models.
8. Stage no longer depends on libRTK.
9. Some models from previous versions may not yet be available in
this release (e.g. gripper & puck), but we're working on them. Let us
know which ones you need.
### Significant changes under the hood
1. The Stage simulation engine is now a library rather than an
application. The library can be used to write custom robot
simulations. This is very useful if you need to do synchronous control
of robots (e.g for perfectly repeatable experiments), or dynamically
create and destroy robots or other objects. You can't (yet) do this
though Player. Refer to the libstage reference manual
(http://playerstage.sf.net/doc/stage_reference) for the API and
developer docs.
2. Stage is now mostly written in C. A simple object-oriented system
allows one level of inheritance for writing polymorphic model code.
3. The underlying occupancy grid model has changed from a simple
fixed-size array to a sparse array of (almost) unlimited size
(implemented with a hash table). To compensate for the performance hit
of raytracing in the hash table, a three-level multiple-resolution
approach is used. Raytracing is now usually _much_ faster than in
Stage-1.3. To get an idea how this works, select the
View/Debug/Raytrace menu item while a laser or ranger is producing
data.
4. Most home-rolled data structures have been replaced by glib versions.