Skip to content

Commit 850bb48

Browse files
author
Taiju Yamada
committed
fix SetEncoderOffset broke other parameters
1 parent 71edfac commit 850bb48

1 file changed

Lines changed: 4 additions & 6 deletions

File tree

src/mujincontrollerclient.cpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -516,10 +516,9 @@ void RobotResource::GetEncoderOffset(int jointIndex, double& encoderOffset, doub
516516
void RobotResource::SetEncoderOffset(int jointIndex, double encoderOffset, double timeout){
517517
rapidjson::Document pt(rapidjson::kObjectType);
518518
GetWrap(pt, "robot_motion_parameters", timeout);
519-
std::vector<int> pulseOffset = mujinjson_external::GetJsonValueByPath<std::vector<int>>(pt, "/robot_motion_parameters/int_parameters/pulseOffset");
520-
pulseOffset.at(jointIndex) = encoderOffset;
521519
std::map<std::string, std::map<std::string, std::vector<int>>> setparams;
522-
setparams["int_parameters"]["pulseOffset"] = pulseOffset;
520+
setparams["int_parameters"] = mujinjson_external::GetJsonValueByPath<std::map<std::string, std::vector<int>>>(pt, "/robot_motion_parameters/int_parameters");
521+
setparams["int_parameters"]["pulseOffset"].at(jointIndex) = encoderOffset;
523522
SetJSON(mujinjson_external::GetJsonStringByKey("robot_motion_parameters", setparams), timeout);
524523
}
525524

@@ -533,10 +532,9 @@ void RobotResource::GetEncoderMultiplier(int jointIndex, double& encoderMultipli
533532
void RobotResource::SetEncoderMultiplier(int jointIndex, double encoderMultiplier, double timeout){
534533
rapidjson::Document pt(rapidjson::kObjectType);
535534
GetWrap(pt, "robot_motion_parameters", timeout);
536-
std::vector<int> pulsePerDegree = mujinjson_external::GetJsonValueByPath<std::vector<int>>(pt, "/robot_motion_parameters/int_parameters/pulsePerDegree");
537-
pulsePerDegree.at(jointIndex) = encoderMultiplier;
538535
std::map<std::string, std::map<std::string, std::vector<int>>> setparams;
539-
setparams["int_parameters"]["pulsePerDegree"] = pulsePerDegree;
536+
setparams["int_parameters"] = mujinjson_external::GetJsonValueByPath<std::map<std::string, std::vector<int>>>(pt, "/robot_motion_parameters/int_parameters");
537+
setparams["int_parameters"]["pulsePerDegree"].at(jointIndex) = encoderMultiplier;
540538
SetJSON(mujinjson_external::GetJsonStringByKey("robot_motion_parameters", setparams), timeout);
541539
}
542540

0 commit comments

Comments
 (0)