@@ -101,9 +101,10 @@ class DiffPhysicsWarp:
101
101
v_l = vels [i ] - r * omegas [i ]
102
102
track_vels [i , :, 0 ], track_vels [i , :, 1 ] = v_r , v_l
103
103
104
- # control input to rotate 180 degrees
105
- track_vels [- 1 , :, 0 ] = - linear_vel
106
- track_vels [- 1 , :, 1 ] = linear_vel
104
+ if not allow_backward :
105
+ # control input to rotate 180 degrees
106
+ track_vels [- 1 , :, 0 ] = - linear_vel
107
+ track_vels [- 1 , :, 1 ] = linear_vel
107
108
108
109
return track_vels
109
110
@@ -254,6 +255,8 @@ def main():
254
255
total_sim_time = rospy .get_param ('~total_sim_time' , 10.0 )
255
256
n_sim_trajs = rospy .get_param ('~n_sim_trajs' , 40 )
256
257
allow_backward = rospy .get_param ('~allow_backward' , True )
258
+ linear_vel = rospy .get_param ('~linear_vel' , 0.5 )
259
+ angular_vel_max = rospy .get_param ('~angular_vel_max' , 0.5 )
257
260
device = rospy .get_param ('~device' , 'cuda' if torch .cuda .is_available () else 'cpu' )
258
261
259
262
node = DiffPhysicsWarp (robot = robot , robot_clearance = robot_clearance ,
@@ -262,6 +265,8 @@ def main():
262
265
total_sim_time = total_sim_time ,
263
266
n_sim_trajs = n_sim_trajs ,
264
267
allow_backward = allow_backward ,
268
+ linear_vel = linear_vel ,
269
+ angular_vel_max = angular_vel_max ,
265
270
device = device )
266
271
node .spin ()
267
272
0 commit comments