@@ -58,7 +58,8 @@ class MultiController {
5858
5959let model = null
6060let trajectory = null
61- let trajectory_x_offset = 0
61+ let trajectory_offset = 0
62+ let trajectory_offset_axis = 0
6263class Policy {
6364 constructor ( ) {
6465 this . step = 0
@@ -136,7 +137,7 @@ class Policy{
136137 const ref = this . _get_reference ( )
137138 return states . map ( ( _ , i ) => {
138139 const new_ref = ref . slice ( )
139- new_ref [ 0 ] += trajectory_x_offset * i
140+ new_ref [ trajectory_offset_axis ] += trajectory_offset * i
140141 return new_ref
141142 } )
142143 }
@@ -185,12 +186,34 @@ async function load_model(checkpoint) {
185186}
186187
187188async function main ( ) {
188- const trajectory_x_offset_container = document . getElementById ( "reference-trajectory-offset-container" )
189- const trajectory_x_offset_slider = trajectory_x_offset_container . querySelector ( "input[type=range]" )
190- const trajectory_x_offset_label = trajectory_x_offset_container . querySelectorAll ( ".control-container-label" ) [ 1 ]
191- trajectory_x_offset_slider . addEventListener ( "input" , ( event ) => {
192- trajectory_x_offset = parseFloat ( event . target . value )
193- trajectory_x_offset_label . textContent = trajectory_x_offset . toFixed ( 2 )
189+ const trajectory_offset_container = document . getElementById ( "reference-trajectory-offset-container" )
190+ const trajectory_offset_slider = trajectory_offset_container . querySelector ( "input[type=range]" )
191+ const trajectory_offset_label = trajectory_offset_container . querySelectorAll ( ".control-container-label" ) [ 0 ]
192+ trajectory_offset_label . addEventListener ( "click" , ( event ) => {
193+ switch ( trajectory_offset_label . textContent ) {
194+ case "" :
195+ trajectory_offset_label . textContent = "X Offset"
196+ trajectory_offset_axis = 0
197+ break ;
198+ case "X Offset" :
199+ trajectory_offset_label . textContent = "Y Offset"
200+ trajectory_offset_axis = 1
201+ break ;
202+ case "Y Offset" :
203+ trajectory_offset_label . textContent = "Z Offset"
204+ trajectory_offset_axis = 2
205+ break ;
206+ case "Z Offset" :
207+ trajectory_offset_label . textContent = "X Offset"
208+ trajectory_offset_axis = 0
209+ break ;
210+ }
211+ } )
212+ trajectory_offset_label . dispatchEvent ( new Event ( "click" ) )
213+ const trajectory_offset_value = trajectory_offset_container . querySelectorAll ( ".control-container-label" ) [ 1 ]
214+ trajectory_offset_slider . addEventListener ( "input" , ( event ) => {
215+ trajectory_offset = parseFloat ( event . target . value )
216+ trajectory_offset_value . textContent = trajectory_offset . toFixed ( 2 )
194217 } )
195218 const trajectory_select = document . getElementById ( "reference-trajectory" )
196219 const trajectories = { "Position" : Position , "Lissajous" : Lissajous , "Langevin" : SecondOrderLangevin }
0 commit comments