Skip to content

Commit 630fbe1

Browse files
author
Benjamin Deleze
committed
fix conflicts
2 parents ceb889b + 047190f commit 630fbe1

File tree

3,096 files changed

+41315
-20462
lines changed

Some content is hidden

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

3,096 files changed

+41315
-20462
lines changed

.eslintrc.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
"Enum": false,
1818
"document": false,
1919
"glm": false,
20+
"libtess": false,
2021
"Module": false,
2122
"navigator": false,
2223
"Quaternion": false,

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ Thumbs.db
6565
/.clang-format
6666
/msys64
6767
/webots
68+
/webots-controller
6869
/webots.lnk
6970
/webots_debug_output.txt
7071
/util

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 R2023a revision 1, Copyright 1998-2023 Cyberbotics Ltd.</string>
38+
<string>Webots R2023b, 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>R2023a revision 1</string>
50+
<string>R2023b</string>
5151
<key>CFBundleSignature</key>
5252
<string>wbt </string>
5353
<key>CFBundleVersion</key>
54-
<string>R2023a revision 1</string>
54+
<string>R2023b</string>
5555
<key>LSMinimumSystemVersion</key>
5656
<string>10.14</string>
5757
<key>CSResourcesFileMapped</key>

docs/blog/Webots-2020-a-release.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ Simulate the TIAGo robot from [PAL Robotics](http://pal-robotics.com/) in Webots
2828

2929
Several models of the robot have been created for Webots:
3030
- [TIAGo Base](../guide/tiago-base.md)
31-
- [TIAGo Iron](../guide/tiago-iron.md)
32-
- [TIAGo Steel](../guide/tiago-steel.md)
33-
- [TIAGo Titanium](../guide/tiago-titanium.md)
34-
- [TIAGo++](../guide/tiagopp.md)
31+
- [TIAGo Iron](https://cyberbotics.com/doc/guide/tiago-iron?version=R2020a)
32+
- [TIAGo Steel](https://cyberbotics.com/doc/guide/tiago-steel?version=R2020a)
33+
- [TIAGo Titanium](https://cyberbotics.com/doc/guide/tiago-titanium?version=R2020a)
34+
- [TIAGo++](https://cyberbotics.com/doc/guide/tiagopp?version=R2020a)
3535

3636
### TurtleBot3 Burger
3737

docs/blog/Webots-2023-a-release.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Here we are going to present some of the main new features, but for a comprehens
1212

1313
## New Robot
1414

15-
A new robot model has been added to the Webots library.
15+
A new robot model has been added to the Webots library.
1616
The ROS-based four-wheeled [ROSbot](../guide/rosbot.md) robot from [Husarion](https://husarion.com/) is now included in Webots.
1717

1818
%figure "ROSbot"
@@ -46,10 +46,10 @@ Additional models have been added to the Webots library, namely static animals (
4646
## New Python API
4747

4848
Webots R2023a comes with a brand new Python API!
49-
This API has the advantage of being compatible with all Python distributions (including conda, anaconda, etc.).
49+
This API has the advantage of being compatible with all Python distributions (including conda, anaconda, etc.).
5050
The API will always be compatible with current and upcoming Python versions.
5151

52-
This change of API does not induce any change to the methods.
52+
This change of API does not induce any change to the methods.
5353
Python controllers developed before Webots R2023a are fully compatible with this new version.
5454

5555
Moreover, in order to enrich the collection of sample controllers, all sample worlds of the device nodes provide an additional Python controller equivalent to the C controller already included to demonstrate the usage of the API functions.
@@ -58,9 +58,9 @@ Moreover, in order to enrich the collection of sample controllers, all sample wo
5858

5959
## New IMU Sample World
6060

61-
So far, the [InertialUnit](../reference/inertialunit.md) was considered as an IMU, because it provides the ground truth data of the attitude (roll, pitch, yaw) of the object on which it is inserted.
61+
So far, the [InertialUnit](../reference/inertialunit.md) was considered as an IMU, because it provides the ground truth data of the attitude (roll, pitch, yaw) of the object on which it is inserted.
6262
This assumption is fundamentally wrong.
63-
An IMU gives the raw values of its sensors ([Accelerometer](../reference/accelerometer.md), [Gyroscope](../reference/gyro.md), [Compass](../reference/compass.md)) and can optionally provide the attitude output computed from the fusion of its sensors.
63+
An IMU gives the raw values of its sensors ([Accelerometer](../reference/accelerometer.md), [Gyroscope](../reference/gyro.md), [Compass](../reference/compass.md)) and can optionally provide the attitude output computed from the fusion of its sensors.
6464
The [InertialUnit](../reference/inertialunit.md) just makes life easier for the user who does not want to use a sensor fusion library or algorithm to combine the data from an IMU and compute the attitude.
6565

6666
In addition to the implementation of the [Mpu-9250](../guide/imu-sensors.md#mpu-9250) IMU, Webots R2023a contains a new sample world that demonstrates a simple algorithm for calculating the attitude of a robot from the sensors of an IMU.

docs/css/webots-doc.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -601,7 +601,7 @@ body {
601601
.ui-icon {
602602
display: inline-block;
603603
background-repeat: no-repeat;
604-
background-image: url('https://cyberbotics.com/wwi/R2023a/images/icons.svg');
604+
background-image: url('https://cyberbotics.com/wwi/R2023b/images/icons.svg');
605605
background-color: transparent;
606606
border: none;
607607
width: 34px;

docs/dependencies.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,3 @@ https://cyberbotics.com/showdown/1.3.0/showdown-youtube.min.js
1212
# mermaid
1313

1414
https://cdnjs.cloudflare.com/ajax/libs/mermaid/7.0.0/mermaidAPI.min.js
15-
16-
# ace
17-
18-
https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/ace.js

docs/guide/controller-programming.md

Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ public class HelloWorld {
7575

7676
%tab "MATLAB"
7777
```MATLAB
78+
function hello_world
79+
7880
while wb_robot_step(32) ~= -1
7981
wb_console_print(sprintf('Hello World!\n'), WB_STDOUT);
8082
end
@@ -207,6 +209,8 @@ public class ReadingSensor {
207209

208210
%tab "MATLAB"
209211
```MATLAB
212+
function read_sensor
213+
210214
TIME_STEP = 32;
211215
212216
sensor = wb_robot_get_device('my_distance_sensor');
@@ -484,17 +488,19 @@ public class Actuators {
484488

485489
%tab "MATLAB"
486490
```MATLAB
491+
function actuators
492+
487493
TIME_STEP = 32;
488494
489495
motor = wb_robot_get_device('my_motor');
490496
491-
double F = 2.0; % frequency 2 Hz
492-
double t = 0.0; % elapsed simulation time
497+
F = 2; % frequency 2 Hz
498+
t = 0; % elapsed simulation time
493499
494500
while wb_robot_step(TIME_STEP) ~= -1
495-
position = sin(t * 2.0 * pi * F);
501+
position = sin(t * 2 * pi * F);
496502
wb_motor_set_position(motor, position);
497-
t += TIME_STEP / 1000.0;
503+
t = t + TIME_STEP / 1000;
498504
end
499505
```
500506
%tab-end
@@ -953,7 +959,7 @@ import com.cyberbotics.webots.controller.DistanceSensor;
953959
import com.cyberbotics.webots.controller.Motor;
954960
import com.cyberbotics.webots.controller.Robot;
955961

956-
public class ActuSensorJava {
962+
public class ActuSensor {
957963

958964
public static void main(String[] args) {
959965

@@ -993,6 +999,8 @@ public class ActuSensorJava {
993999

9941000
%tab "MATLAB"
9951001
```MATLAB
1002+
function actu_sensor
1003+
9961004
TIME_STEP = 32;
9971005
left_sensor = wb_robot_get_device('left_sensor');
9981006
right_sensor = wb_robot_get_device('right_sensor');
@@ -1028,7 +1036,8 @@ end
10281036
In the ".wbt" file, it is possible to specify arguments that are passed to a controller when it starts.
10291037
They are specified in the `controllerArgs` field of the [Robot](../reference/robot.md) node, and they are passed as parameters of the `main` function.
10301038
For example, this can be used to specify parameters that vary for each robot's controller.
1031-
Note that using MATLAB, the controller arguments retrieval is not supported.
1039+
Note that the implementation will differ significantly across the different languages.
1040+
If using MATLAB, you should add the optional argument [`varargin`](https://www.mathworks.com/help/matlab/ref/varargin.html) to the function declaration.
10321041

10331042
For example if we have:
10341043

@@ -1051,8 +1060,7 @@ And if the controller's name is *"demo"*, then this sample controller code:
10511060
int main(int argc, const char *argv[]) {
10521061
wb_robot_init();
10531062

1054-
int i;
1055-
for (i = 0; i < argc; i++)
1063+
for (int i = 1; i < argc; i++)
10561064
printf("argv[%i]=%s\n", i, argv[i]);
10571065

10581066
wb_robot_cleanup();
@@ -1072,8 +1080,7 @@ int main(int argc, const char *argv[]) {
10721080
10731081
Robot *robot = new Robot();
10741082
1075-
int i;
1076-
for (i = 0; i < argc; i++)
1083+
for (int i = 1; i < argc; i++)
10771084
std::cout << "argv[" << i << "]=" << argv[i] << std::endl;
10781085
10791086
delete robot;
@@ -1089,7 +1096,7 @@ import sys
10891096

10901097
robot = Robot()
10911098

1092-
for i in range(0, len(sys.argv)):
1099+
for i in range(1, len(sys.argv)):
10931100
print("argv[%i]=%s" % (i, sys.argv[i]))
10941101
```
10951102
%tab-end
@@ -1098,24 +1105,33 @@ for i in range(0, len(sys.argv)):
10981105
```java
10991106
import com.cyberbotics.webots.controller.Robot;
11001107

1101-
public class Arguments {
1108+
public class Demo {
11021109

11031110
public static void main(String[] args) {
11041111

11051112
final Robot robot = new Robot();
11061113

1107-
for(int i=0; i < args.length ; i++)
1114+
for(int i=1; i < args.length ; i++)
11081115
System.out.format("argv[%d]=%s\n",i, args[i]);
11091116
}
11101117
}
11111118
```
11121119
%tab-end
1120+
1121+
%tab "MATLAB"
1122+
```MATLAB
1123+
function demo(varargin)
1124+
1125+
for i=1:nargin
1126+
wb_console_print(sprintf('argv[%d]=%s\n', i, varargin{i}), WB_STDOUT);
1127+
end
1128+
```
1129+
%tab-end
11131130
%end
11141131

11151132
This will print:
11161133

11171134
```
1118-
argv[0]=demo
11191135
argv[1]=one
11201136
argv[2]=two
11211137
argv[3]=three
@@ -1258,6 +1274,8 @@ public class ReadingSensor {
12581274

12591275
%tab "MATLAB"
12601276
```MATLAB
1277+
function reading_sensor
1278+
12611279
TIME_STEP = 32;
12621280
sensor = wb_robot_get_device('my_distance_sensor');
12631281
wb_distance_sensor_enable(sensor, TIME_STEP);

docs/guide/controller-start-up.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ For example if the controller's name is "xyz\_controller", then Webots looks for
1414
3. "xyz\_controller.jar" (a Java .jar file)
1515
4. "xyz\_controller.bsg" (a Webots/BotStudio file)
1616
5. "xyz\_controller.py" (a Python script)
17-
6. "xyz\_controller.m" (a MATLAB script)
17+
6. "xyz\_controller.m" (a MATLAB function)
1818

1919
The first file that is found will be executed by Webots using the required language interpreter (Java, Python, MATLAB).
2020
So the priority is defined by the file extension, e.g. it won't be possible to execute "xyz\_controller.m" if a file named "xyz\_controller.py" is also present in the same controller directory.

docs/guide/icub.md

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

0 commit comments

Comments
 (0)