Skip to content

Commit 46c57eb

Browse files
authored
Merge branch 'master' into sync-released-eff554879
2 parents eff5548 + a5ad2db commit 46c57eb

111 files changed

Lines changed: 1580 additions & 1000 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/pull_request_template.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,25 @@
11
**Description**
2-
Describe the bug you are fixing, the new feature your are introducing or the enhancement you are proposing.
2+
Describe the bug fix, enhancement or new feature your are proposing.
33

44
**Related Issues**
55
This pull-request fixes issue #
66

77
**Tasks**
88
Add the list of tasks of this PR.
9+
- [ ] Update the [changelog](https://github.com/cyberbotics/webots/blob/master/docs/reference/changelog-r2023.md)
10+
- [ ] Update the documentation (if needed)
911
- [ ] Task 1
1012
- [ ] Task 2
13+
- [ ] ...
1114

1215
**Documentation**
1316
If this pull-request changes the doc, add the link to the related page, including the `?version=BRANCH_NAME`, such as:
14-
https://cyberbotics.com/doc/guide/getting-started-with-webots?version=develop
17+
https://cyberbotics.com/doc/guide/getting-started-with-webots?version=my_repo:my_branch
18+
or
19+
https://cyberbotics.com/doc/guide/getting-started-with-webots?version=my_branch (if the branch is on this repository)
1520

1621
**Screenshots**
17-
If this pull-request includes any new robots/simulations/etc. add one or more screenshots of the result.
22+
If this pull-request includes any interesting visible result, add one or more screenshots.
1823

1924
**Additional context**
2025
Add any other context about the pull-request here.

.github/workflows/test_suite_linux.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ jobs:
177177
path: artifact
178178
- name: Get branch name
179179
id: branch-name
180-
uses: tj-actions/branch-names@v5.1
180+
uses: tj-actions/branch-names@v7.0.7
181181
- name: Extract Webots and Cache
182182
run: |
183183
tar xjf artifact/webots-*-x86-64*.tar.bz2 -C artifact

.github/workflows/test_suite_linux_develop.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ jobs:
170170
path: artifact
171171
- name: Get branch name
172172
id: branch-name
173-
uses: tj-actions/branch-names@v5.1
173+
uses: tj-actions/branch-names@v7.0.7
174174
- name: Extract Webots and Cache
175175
run: |
176176
tar xjf artifact/webots-*-x86-64*.tar.bz2 -C artifact

.github/workflows/test_suite_mac.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ jobs:
4343
- name: Install Webots Compilation Dependencies
4444
run: |
4545
# swig wget and cmake are already installed
46+
pip install setuptools
4647
npm install -g appdmg
4748
- name: Set Commit SHA in Version
4849
if: ${{ github.event_name == 'schedule' }}

.github/workflows/test_suite_mac_develop.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ jobs:
3939
- name: Install Webots Compilation Dependencies
4040
run: |
4141
# swig wget and cmake are already installed
42+
pip install setuptools
4243
npm install -g appdmg
4344
- name: Set Commit SHA in Version
4445
if: ${{ github.event_name == 'schedule' }}

Contents/Info.plist

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
<key>CFBundleExecutable</key>
3636
<string>webots</string>
3737
<key>CFBundleGetInfoString</key>
38-
<string>Webots R2023b, Copyright 1998-2023 Cyberbotics Ltd.</string>
38+
<string>Webots R2023b revision 1, Copyright 1998-2023 Cyberbotics Ltd.</string>
3939
<key>CFBundleIconFile</key>
4040
<string>webots_icon</string>
4141
<key>CFBundleIdentifier</key>
@@ -47,11 +47,11 @@
4747
<key>CFBundlePackageType</key>
4848
<string>APPL</string>
4949
<key>CFBundleShortVersionString</key>
50-
<string>R2023b</string>
50+
<string>R2023b revision 1</string>
5151
<key>CFBundleSignature</key>
5252
<string>wbt </string>
5353
<key>CFBundleVersion</key>
54-
<string>R2023b</string>
54+
<string>R2023b revision 1</string>
5555
<key>LSMinimumSystemVersion</key>
5656
<string>10.14</string>
5757
<key>CSResourcesFileMapped</key>

docs/discord/update.py

Lines changed: 0 additions & 210 deletions
This file was deleted.

docs/guide/matlab.md

Lines changed: 25 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,6 @@ Here is a simple MATLAB controller example:
1515
```MATLAB
1616
function simple_example
1717
18-
% uncomment the next two lines to use the MATLAB desktop
19-
%desktop;
20-
%keyboard;
21-
2218
TIME_STEP = 32;
2319
2420
my_led = wb_robot_get_device('my_led');
@@ -40,41 +36,42 @@ while wb_robot_step(TIME_STEP) ~= -1
4036
end
4137
```
4238

43-
### Using the MATLAB Desktop
39+
### Debugging Using the MATLAB Desktop
4440

45-
In order to avoid cluttering the desktop with too many windows, Webots starts MATLAB with the *-nodesktop* option.
46-
The *-nodesktop* option starts MATLAB without user interface and therefore it keeps the memory usage low which is useful in particular for multi-robot experiments.
47-
If you would like to use the MATLAB desktop to interact with your controller you just need to add these two MATLAB commands somewhere at the beginning of your controller m-file:
41+
For each controller written using MATLAB, Webots will start a new instance of MATLAB to act as an interpreter.
42+
In order to avoid cluttering the desktop with too many windows, Webots starts each instance of MATLAB in non-interactive mode.
43+
This means that MATLAB starts without the user interface which keeps the memory usage low; this is particularly useful in multi-robot experiments.
44+
Any output to stdout (such as `disp` or `fprintf`) will also be redirected to the Webots console.
4845

49-
```MATLAB
50-
desktop;
51-
keyboard;
52-
```
46+
If you would like to use the MATLAB desktop to interact with your controller, you will need to run it in `<extern>` mode with the appropriate additional argument.
47+
You can read more about that [here](running-extern-robot-controllers.md).
5348

54-
The `desktop` command brings up the MATLAB desktop.
55-
The `keyboard` stops the execution of the controller and gives control to the keyboard (`K>>` prompt).
56-
Then MATLAB opens your controller m-file in its editor and indicates that the execution is stopped at the `keyboard` command.
57-
After that, the controller m-file can be debugged interactively, i.e., it is possible to continue the execution step-by-step, set break points, watch variable, etc.
58-
While debugging, the current values of the controller variables are shown in the MATLAB workspace.
59-
It is possible to *continue* the execution of the controller by typing `return` at the `K>>` prompt.
60-
Finally the execution of the controller can be terminated with <kbd>ctrl</kbd>-<kbd>C</kbd> key combination.
49+
**Note**: This is equivalent to inserting the command `keyboard` in your controller code, but this is strongly discouraged since it will cause an error during non-interactive execution of the code.
6150

62-
Once the controller is terminated, the connection with Webots remains active.
51+
Running an external controller in interactive mode will automatically place a breakpoint at the first line of your controller.
52+
Once MATLAB desktop has initialized, it will halt the execution of the controller and give control to the keyboard (`K>>` prompt).
53+
MATLAB also opens your controller m-file in its editor and indicates that the execution is stopped at the breakpoint.
54+
55+
At this point, the controller m-file can be debugged interactively, i.e., it is possible to continue the execution step-by-step, set break points, watch variable, etc.
56+
You can use the navigation buttons in the Editor Toolstrip such as Continue/Pause, Step, and Quit Debugging to control the execution.
57+
While running, the controller will run normally until it terminates or reaches another breakpoint.
58+
While paused, the current values of the controller variables are shown in the MATLAB workspace, and the Command Window becomes available.
59+
You can read more about debugging MATLAB code on the [MathWorks homepage](https://www.mathworks.com/help/matlab/matlab_prog/debugging-process-and-features.html).
60+
61+
While paused (or after the controller has been terminated), the connection with Webots remains active.
6362
Therefore it becomes possible to issue Webots commands directly on the MATLAB prompt, for example you can interactively issue commands to query the sensors, etc.:
6463

6564
```MATLAB
66-
>> wb_robot_step(1000);
67-
>> wb_gps_get_values(gps)
65+
K>> wb_robot_step(1000);
66+
K>> wb_gps_get_values(gps)
6867
6968
ans =
7069
7170
0.0001 0.0030 -0.6425
72-
>> |
7371
```
7472

75-
It is possible to use additional `keyboard` statements in various places in your ".m" controller.
76-
So each time MATLAB will run into a `keyboard` statement, it will return control to the `K>>` prompt where you will be able to debug interactively.
77-
78-
At this point, it is also possible to restart the controller by calling its m-file from MATLAB prompt.
73+
The execution of the controller can be terminated with <kbd>Ctrl</kbd>+<kbd>C</kbd> key combination, or by quitting the debugger.
74+
However, since all controllers are functions, their Workspace (local variables) will be lost after termination.
75+
It is possible to re-run the controller by calling `launcher` from MATLAB prompt.
7976
Note that this will restart the controller only, not the whole simulation, so the current robot and motor positions will be preserved.
80-
If you want to restart the whole simulation you need to use the `Reload` button as usual.
77+
If you want to restart the whole simulation you need to use the `Reload` button in Webots as usual.

0 commit comments

Comments
 (0)