Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Labels
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
Romain Courteaud
erp5
Commits
3a71438f
Commit
3a71438f
authored
Aug 23, 2023
by
Léo-Paul Géneau
👾
Committed by
Roque
Aug 23, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
check collisions between drones
parent
038ac81c
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
41 additions
and
24 deletions
+41
-24
bt5/erp5_officejs_drone_simulator/PathTemplateItem/web_page_module/drone_simulator_dronelogfollower_js.js
...em/web_page_module/drone_simulator_dronelogfollower_js.js
+5
-0
bt5/erp5_officejs_drone_simulator/PathTemplateItem/web_page_module/drone_simulator_dronelogfollower_js.xml
...m/web_page_module/drone_simulator_dronelogfollower_js.xml
+2
-2
bt5/erp5_officejs_drone_simulator/PathTemplateItem/web_page_module/drone_simulator_fixedwingdrone_js.js
...Item/web_page_module/drone_simulator_fixedwingdrone_js.js
+6
-3
bt5/erp5_officejs_drone_simulator/PathTemplateItem/web_page_module/drone_simulator_fixedwingdrone_js.xml
...tem/web_page_module/drone_simulator_fixedwingdrone_js.xml
+2
-2
bt5/erp5_officejs_drone_simulator/PathTemplateItem/web_page_module/drone_simulator_logic_js.js
...hTemplateItem/web_page_module/drone_simulator_logic_js.js
+21
-12
bt5/erp5_officejs_drone_simulator/PathTemplateItem/web_page_module/drone_simulator_logic_js.xml
...TemplateItem/web_page_module/drone_simulator_logic_js.xml
+2
-2
bt5/erp5_officejs_drone_simulator_test/PathTemplateItem/web_page_module/test_drone_simulator_flight_js.js
...ateItem/web_page_module/test_drone_simulator_flight_js.js
+1
-1
bt5/erp5_officejs_drone_simulator_test/PathTemplateItem/web_page_module/test_drone_simulator_flight_js.xml
...teItem/web_page_module/test_drone_simulator_flight_js.xml
+2
-2
No files found.
bt5/erp5_officejs_drone_simulator/PathTemplateItem/web_page_module/drone_simulator_dronelogfollower_js.js
View file @
3a71438f
...
@@ -13,6 +13,11 @@ var DroneLogAPI = /** @class */ (function () {
...
@@ -13,6 +13,11 @@ var DroneLogAPI = /** @class */ (function () {
this
.
_drone_info
=
drone_info
;
this
.
_drone_info
=
drone_info
;
this
.
_flight_parameters
=
flight_parameters
;
this
.
_flight_parameters
=
flight_parameters
;
}
}
Object
.
defineProperty
(
DroneLogAPI
.
prototype
,
"
isCollidable
"
,
{
get
:
function
()
{
return
false
;
},
enumerable
:
true
,
configurable
:
true
});
/*
/*
** Function called at start phase of the drone, just before onStart AI script
** Function called at start phase of the drone, just before onStart AI script
*/
*/
...
...
bt5/erp5_officejs_drone_simulator/PathTemplateItem/web_page_module/drone_simulator_dronelogfollower_js.xml
View file @
3a71438f
...
@@ -246,7 +246,7 @@
...
@@ -246,7 +246,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
1010.13
157.33937.23381
</string>
</value>
<value>
<string>
1010.13
501.40623.51950
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -266,7 +266,7 @@
...
@@ -266,7 +266,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
1691
051883.97
</float>
<float>
1691
588429.76
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_officejs_drone_simulator/PathTemplateItem/web_page_module/drone_simulator_fixedwingdrone_js.js
View file @
3a71438f
...
@@ -32,6 +32,11 @@ var FixedWingDroneAPI = /** @class */ (function () {
...
@@ -32,6 +32,11 @@ var FixedWingDroneAPI = /** @class */ (function () {
this
.
_loiter_mode
=
false
;
this
.
_loiter_mode
=
false
;
this
.
_drone_dict_list
=
[];
this
.
_drone_dict_list
=
[];
}
}
Object
.
defineProperty
(
FixedWingDroneAPI
.
prototype
,
"
isCollidable
"
,
{
get
:
function
()
{
return
true
;
},
enumerable
:
true
,
configurable
:
true
});
/*
/*
** Function called on start phase of the drone, just before onStart AI script
** Function called on start phase of the drone, just before onStart AI script
*/
*/
...
@@ -393,9 +398,7 @@ var FixedWingDroneAPI = /** @class */ (function () {
...
@@ -393,9 +398,7 @@ var FixedWingDroneAPI = /** @class */ (function () {
}
}
var
processed_coordinates
=
var
processed_coordinates
=
this
.
_mapManager
.
convertToLocalCoordinates
(
lat
,
lon
,
z
);
this
.
_mapManager
.
convertToLocalCoordinates
(
lat
,
lon
,
z
);
if
(
processed_coordinates
.
z
>
this
.
_map_dict
.
start_AMSL
)
{
processed_coordinates
.
z
-=
this
.
_map_dict
.
start_AMSL
;
processed_coordinates
.
z
-=
this
.
_map_dict
.
start_AMSL
;
}
//this._last_altitude_point_reached = -1;
//this._last_altitude_point_reached = -1;
//this.takeoff_path = [];
//this.takeoff_path = [];
return
processed_coordinates
;
return
processed_coordinates
;
...
...
bt5/erp5_officejs_drone_simulator/PathTemplateItem/web_page_module/drone_simulator_fixedwingdrone_js.xml
View file @
3a71438f
...
@@ -240,7 +240,7 @@
...
@@ -240,7 +240,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
1010.
13155.61424.54442
</string>
</value>
<value>
<string>
1010.
22099.47894.60006
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -260,7 +260,7 @@
...
@@ -260,7 +260,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
1691
051762.91
</float>
<float>
1691
588633.42
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_officejs_drone_simulator/PathTemplateItem/web_page_module/drone_simulator_logic_js.js
View file @
3a71438f
...
@@ -37,7 +37,7 @@ var DroneManager = /** @class */ (function () {
...
@@ -37,7 +37,7 @@ var DroneManager = /** @class */ (function () {
// Create the control mesh
// Create the control mesh
this
.
_controlMesh
=
BABYLON
.
Mesh
.
CreateBox
(
this
.
_controlMesh
=
BABYLON
.
Mesh
.
CreateBox
(
"
droneControl_
"
+
id
,
"
droneControl_
"
+
id
,
0.01
,
1.55
,
// 155 cm long wingspan
this
.
_scene
this
.
_scene
);
);
this
.
_controlMesh
.
isVisible
=
false
;
this
.
_controlMesh
.
isVisible
=
false
;
...
@@ -421,7 +421,7 @@ var MapManager = /** @class */ (function () {
...
@@ -421,7 +421,7 @@ var MapManager = /** @class */ (function () {
[
map_dict
.
min_lat
,
map_dict
.
max_lon
]),
[
map_dict
.
min_lat
,
map_dict
.
max_lon
]),
max_height
=
this
.
latLonDistance
([
map_dict
.
min_lat
,
map_dict
.
min_lon
],
max_height
=
this
.
latLonDistance
([
map_dict
.
min_lat
,
map_dict
.
min_lon
],
[
map_dict
.
max_lat
,
map_dict
.
min_lon
]),
[
map_dict
.
max_lat
,
map_dict
.
min_lon
]),
map_size
=
Math
.
ceil
(
Math
.
max
(
max_width
,
max_height
))
*
0.6
;
map_size
=
Math
.
ceil
(
Math
.
max
(
max_width
,
max_height
));
this
.
map_info
=
{
this
.
map_info
=
{
"
depth
"
:
map_size
,
"
depth
"
:
map_size
,
"
height
"
:
map_dict
.
height
,
"
height
"
:
map_dict
.
height
,
...
@@ -622,13 +622,14 @@ var GameManager = /** @class */ (function () {
...
@@ -622,13 +622,14 @@ var GameManager = /** @class */ (function () {
this
.
_flight_log
[
drone
.
_id
].
push
(
error
.
stack
);
this
.
_flight_log
[
drone
.
_id
].
push
(
error
.
stack
);
};
};
GameManager
.
prototype
.
_checkDroneRules
=
function
(
drone
)
{
GameManager
.
prototype
.
_checkCollision
=
function
(
drone
,
other
)
{
//TODO move this to API methods.
if
(
drone
.
colliderMesh
&&
other
.
colliderMesh
&&
//each type of drone should define its rules
drone
.
colliderMesh
.
intersectsMesh
(
other
.
colliderMesh
,
false
))
{
if
(
drone
.
getCurrentPosition
())
{
drone
.
_internal_crash
(
new
Error
(
'
Drone
'
+
drone
.
id
+
return
drone
.
getCurrentPosition
().
z
>
1
;
'
touched drone
'
+
other
.
id
+
'
.
'
));
other
.
_internal_crash
(
new
Error
(
'
Drone
'
+
drone
.
id
+
'
touched drone
'
+
other
.
id
+
'
.
'
));
}
}
return
false
;
};
};
GameManager
.
prototype
.
_update
=
function
(
delta_time
,
fullscreen
)
{
GameManager
.
prototype
.
_update
=
function
(
delta_time
,
fullscreen
)
{
...
@@ -664,11 +665,19 @@ var GameManager = /** @class */ (function () {
...
@@ -664,11 +665,19 @@ var GameManager = /** @class */ (function () {
this
.
_droneList
.
forEach
(
function
(
drone
)
{
this
.
_droneList
.
forEach
(
function
(
drone
)
{
queue
.
push
(
function
()
{
queue
.
push
(
function
()
{
drone
.
_tick
+=
1
;
drone
.
_tick
+=
1
;
if
(
_this
.
_checkDroneRules
(
drone
))
{
if
(
drone
.
_API
.
isCollidable
&&
drone
.
can_play
)
{
return
drone
.
internal_update
(
delta_time
);
if
(
drone
.
getCurrentPosition
().
z
<=
0
)
{
drone
.
_internal_crash
(
new
Error
(
'
Drone
'
+
drone
.
id
+
'
touched the floor.
'
));
}
else
{
_this
.
_droneList
.
forEach
(
function
(
other
)
{
if
(
other
.
can_play
&&
drone
.
id
!==
other
.
id
)
{
_this
.
_checkCollision
(
drone
,
other
);
}
});
}
}
}
//TODO error must be defined by the api?
return
drone
.
internal_update
(
delta_time
);
drone
.
_internal_crash
(
'
Drone touched the floor
'
);
});
});
});
});
...
...
bt5/erp5_officejs_drone_simulator/PathTemplateItem/web_page_module/drone_simulator_logic_js.xml
View file @
3a71438f
...
@@ -240,7 +240,7 @@
...
@@ -240,7 +240,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
1010.
13183.29224.8874
</string>
</value>
<value>
<string>
1010.
42341.16308.11025
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -260,7 +260,7 @@
...
@@ -260,7 +260,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
169
1053915.45
</float>
<float>
169
2802878.6
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_officejs_drone_simulator_test/PathTemplateItem/web_page_module/test_drone_simulator_flight_js.js
View file @
3a71438f
...
@@ -63,7 +63,7 @@
...
@@ -63,7 +63,7 @@
'
me.setTargetCoordinates(
\n
'
+
'
me.setTargetCoordinates(
\n
'
+
'
me.initialPosition.x + 0.01,
\n
'
+
'
me.initialPosition.x + 0.01,
\n
'
+
'
me.initialPosition.y,
\n
'
+
'
me.initialPosition.y,
\n
'
+
'
me.
initialPosition.z
\n
'
+
'
me.
getAltitudeAbs()
\n
'
+
'
);
\n
'
+
'
);
\n
'
+
'
};
\n
'
+
'
};
\n
'
+
'
\n
'
+
'
\n
'
+
...
...
bt5/erp5_officejs_drone_simulator_test/PathTemplateItem/web_page_module/test_drone_simulator_flight_js.xml
View file @
3a71438f
...
@@ -246,7 +246,7 @@
...
@@ -246,7 +246,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
1010.1
0621.5765.11161
</string>
</value>
<value>
<string>
1010.1
2196.1891.61832
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -266,7 +266,7 @@
...
@@ -266,7 +266,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
169
0900659.22
</float>
<float>
169
1485888.5
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment