Skip to content

Commit 4f23245

Browse files
fixing rpm state thing
1 parent 1988469 commit 4f23245

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

l2f.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,9 +250,21 @@ export class L2F{
250250
async set_parameters(ids, parameters){
251251
await this.initialized
252252
ids.forEach((id, i) => {
253+
const previous_parameters = this.parameters[id]
253254
this.parameters[id] = structuredClone(parameters[i])
254255
this.perturbed_parameters[id] = structuredClone(parameters[i])
255256
this.states[id].set_parameters(JSON.stringify(parameters[i]))
257+
// the new parameters define the RPM range (all other state variables are natural and have the same scaling)
258+
const previous_min_rpm = previous_parameters.dynamics.action_limit.min
259+
const previous_max_rpm = previous_parameters.dynamics.action_limit.max
260+
const min_rpm = parameters[i].dynamics.action_limit.min
261+
const max_rpm = parameters[i].dynamics.action_limit.max
262+
const state = JSON.parse(this.states[id].get_state())
263+
state["rpm"].forEach((rpm, j) => {
264+
const new_rpm = previous_min_rpm + (rpm - previous_min_rpm) * (max_rpm - min_rpm) / (previous_max_rpm - previous_min_rpm)
265+
state["rpm"][j] = Math.max(Math.min(new_rpm, max_rpm), min_rpm)
266+
})
267+
this.states[id].set_state(JSON.stringify(state))
256268
})
257269
await this.ui.episode_init_multi(this.ui_state, this.parameters)
258270
this.remove_reference_markers()

0 commit comments

Comments
 (0)