- bug fixed (position pid gain & velocity pid gain sync write).
- added velocity_to_value_ratio to DXL Pro-H series.
This commit is contained in:
@ -4,7 +4,7 @@ device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 27.15146
|
||||
|
||||
velocity_to_value_ratio = 2900.59884
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -151900
|
||||
value_of_max_radian_position = 151900
|
||||
|
@ -4,7 +4,7 @@ device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 9.66026
|
||||
|
||||
velocity_to_value_ratio = 4793.01226
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -250950
|
||||
value_of_max_radian_position = 250950
|
||||
|
@ -4,7 +4,7 @@ device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 9.09201
|
||||
|
||||
velocity_to_value_ratio = 4793.01226
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -250950
|
||||
value_of_max_radian_position = 250950
|
||||
|
@ -4,7 +4,7 @@ device_type = dynamixel
|
||||
|
||||
[type info]
|
||||
torque_to_current_value_ratio = 9.09201
|
||||
|
||||
velocity_to_value_ratio = 4793.01226
|
||||
value_of_0_radian_position = 0
|
||||
value_of_min_radian_position = -250950
|
||||
value_of_max_radian_position = 250950
|
||||
|
@ -59,12 +59,12 @@ public:
|
||||
double goal_position_;
|
||||
double goal_velocity_;
|
||||
double goal_torque_;
|
||||
double position_p_gain_;
|
||||
double position_i_gain_;
|
||||
double position_d_gain_;
|
||||
double velocity_p_gain_;
|
||||
double velocity_i_gain_;
|
||||
double velocity_d_gain_;
|
||||
int position_p_gain_;
|
||||
int position_i_gain_;
|
||||
int position_d_gain_;
|
||||
int velocity_p_gain_;
|
||||
int velocity_i_gain_;
|
||||
int velocity_d_gain_;
|
||||
|
||||
std::map<std::string, uint32_t> bulk_read_table_;
|
||||
|
||||
@ -78,13 +78,13 @@ public:
|
||||
goal_position_(0.0),
|
||||
goal_velocity_(0.0),
|
||||
goal_torque_(0.0),
|
||||
position_p_gain_(0.0),
|
||||
position_i_gain_(0.0),
|
||||
position_d_gain_(0.0),
|
||||
velocity_p_gain_(0.0),
|
||||
velocity_i_gain_(0.0),
|
||||
velocity_d_gain_(0.0),
|
||||
position_offset_(0.0)
|
||||
position_p_gain_(0),
|
||||
position_i_gain_(0),
|
||||
position_d_gain_(0),
|
||||
velocity_p_gain_(0),
|
||||
velocity_i_gain_(0),
|
||||
velocity_d_gain_(0),
|
||||
position_offset_(0)
|
||||
{
|
||||
bulk_read_table_.clear();
|
||||
}
|
||||
|
@ -327,6 +327,12 @@ Dynamixel *Robot::getDynamixel(std::string path, int id, std::string port, float
|
||||
std::string goal_position_item_name = "";
|
||||
std::string goal_velocity_item_name = "";
|
||||
std::string goal_current_item_name = "";
|
||||
std::string position_d_gain_item_name = "";
|
||||
std::string position_i_gain_item_name = "";
|
||||
std::string position_p_gain_item_name = "";
|
||||
std::string velocity_d_gain_item_name = "";
|
||||
std::string velocity_i_gain_item_name = "";
|
||||
std::string velocity_p_gain_item_name = "";
|
||||
|
||||
while (!file.eof())
|
||||
{
|
||||
@ -396,6 +402,18 @@ Dynamixel *Robot::getDynamixel(std::string path, int id, std::string port, float
|
||||
goal_velocity_item_name = tokens[1];
|
||||
else if (tokens[0] == "goal_current_item_name")
|
||||
goal_current_item_name = tokens[1];
|
||||
else if (tokens[0] == "position_d_gain_item_name")
|
||||
position_d_gain_item_name = tokens[1];
|
||||
else if (tokens[0] == "position_i_gain_item_name")
|
||||
position_i_gain_item_name = tokens[1];
|
||||
else if (tokens[0] == "position_p_gain_item_name")
|
||||
position_p_gain_item_name = tokens[1];
|
||||
else if (tokens[0] == "velocity_d_gain_item_name")
|
||||
velocity_d_gain_item_name = tokens[1];
|
||||
else if (tokens[0] == "velocity_i_gain_item_name")
|
||||
velocity_i_gain_item_name = tokens[1];
|
||||
else if (tokens[0] == "velocity_p_gain_item_name")
|
||||
velocity_p_gain_item_name = tokens[1];
|
||||
}
|
||||
else if (session == SESSION_CONTROL_TABLE)
|
||||
{
|
||||
@ -444,6 +462,18 @@ Dynamixel *Robot::getDynamixel(std::string path, int id, std::string port, float
|
||||
dxl->goal_velocity_item_ = dxl->ctrl_table_[goal_velocity_item_name];
|
||||
if (dxl->ctrl_table_[goal_current_item_name] != NULL)
|
||||
dxl->goal_current_item_ = dxl->ctrl_table_[goal_current_item_name];
|
||||
if (dxl->ctrl_table_[position_d_gain_item_name] != NULL)
|
||||
dxl->position_d_gain_item_ = dxl->ctrl_table_[position_d_gain_item_name];
|
||||
if (dxl->ctrl_table_[position_i_gain_item_name] != NULL)
|
||||
dxl->position_i_gain_item_ = dxl->ctrl_table_[position_i_gain_item_name];
|
||||
if (dxl->ctrl_table_[position_p_gain_item_name] != NULL)
|
||||
dxl->position_p_gain_item_ = dxl->ctrl_table_[position_p_gain_item_name];
|
||||
if (dxl->ctrl_table_[velocity_d_gain_item_name] != NULL)
|
||||
dxl->velocity_d_gain_item_ = dxl->ctrl_table_[velocity_d_gain_item_name];
|
||||
if (dxl->ctrl_table_[velocity_i_gain_item_name] != NULL)
|
||||
dxl->velocity_i_gain_item_ = dxl->ctrl_table_[velocity_i_gain_item_name];
|
||||
if (dxl->ctrl_table_[velocity_p_gain_item_name] != NULL)
|
||||
dxl->velocity_p_gain_item_ = dxl->ctrl_table_[velocity_p_gain_item_name];
|
||||
|
||||
fprintf(stderr, "(%s) [ID:%3d] %14s added. \n", port.c_str(), dxl->id_, dxl->model_name_.c_str());
|
||||
//std::cout << "[ID:" << (int)(_dxl->id) << "] " << _dxl->model_name << " added. (" << port << ")" << std::endl;
|
||||
|
Reference in New Issue
Block a user