@@ -57,10 +57,10 @@ void SampleGradientPlanner::Initialize(mjModel* model, const Task& task) {
5757 num_trajectory_ = GetNumberOrDefault (10 , model, " sampling_trajectories" );
5858
5959 // set number of gradient trajectories to rollout
60- num_gradient_ = GetNumberOrDefault (0 , model, " gradient_trajectories " );
60+ num_gradient_ = GetNumberOrDefault (0 , model, " sample_gradient_trajectories " );
6161
6262 // gradient filter
63- gradient_filter_ = GetNumberOrDefault (1.0 , model, " gradient_filter " );
63+ gradient_filter_ = GetNumberOrDefault (1.0 , model, " sample_gradient_filter " );
6464
6565 if (num_trajectory_ > kMaxTrajectory ) {
6666 mju_error_i (" Too many trajectories, %d is the maximum allowed." ,
@@ -219,8 +219,7 @@ void SampleGradientPlanner::OptimizePolicy(int horizon, ThreadPool& pool) {
219219 trajectory_order[i] = i;
220220 }
221221
222- // sort so that the first ncandidates elements are the best candidates, and
223- // the rest are in an unspecified order
222+ // sort lowest to highest total return
224223 std::partial_sort (
225224 trajectory_order.begin (), trajectory_order.begin () + num_trajectory,
226225 trajectory_order.begin () + num_trajectory,
@@ -354,12 +353,12 @@ void SampleGradientPlanner::AddNoiseToPolicy(int i) {
354353
355354 // sample noise
356355 for (int k = 0 ; k < num_parameters; k++) {
357- noise[k + shift] = absl::Gaussian<double >(gen_, 0.0 , noise_exploration );
356+ noise[k + shift] = absl::Gaussian<double >(gen_, 0.0 , 1.0 );
358357 }
359358
360359 // add noise
361- mju_addTo (candidate_policy[i].parameters .data (), DataAt (noise, shift),
362- num_parameters);
360+ mju_addToScl (candidate_policy[i].parameters .data (), DataAt (noise, shift),
361+ noise_exploration, num_parameters);
363362
364363 // clamp parameters
365364 for (int t = 0 ; t < num_spline_points; t++) {
@@ -449,7 +448,7 @@ void SampleGradientPlanner::GradientCandidates(int num_trajectory,
449448
450449 // normalize gradient
451450 // TODO(taylor): should we normalize?
452- mju_normalize (gradient.data (), num_parameters);
451+ // mju_normalize(gradient.data(), num_parameters);
453452
454453 // compute step sizes along gradient
455454 std::vector<double > step_size (num_gradient);
0 commit comments