-
Notifications
You must be signed in to change notification settings - Fork 316
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ros2 migration behavior/arm #695
Conversation
As far as I understand, the [1] astrobee/behaviors/arm/tools/arm_tool.cc Line 195 in 939adfe
|
@marinagmoreira and @kbrowne15 recently merged a3ae212 on I'm not sure why it was originally marked latching. The latching option would have the effect of automatically resending the joint goals if somehow the arm nodelet joined late after the goals were originally published, but I don't think that's really desired (could lead to an unintended "zombie command"). |
So I tested the arm behavior in simulation and it works. But let's hold on merging this until we make a decision on the services since it affects it. |
behaviors/arm/src/arm_nodelet.cc
Outdated
TOPIC_JOINT_GOALS, 1); | ||
sub_joint_states_ = FF_CREATE_SUBSCRIBER(nh, sensor_msgs::JointState, TOPIC_JOINT_STATES, 1, | ||
std::bind(&ArmComponent::JointStateCallback, this, std::placeholders::_1)); | ||
// TODO(ana): This had a latch=true argument, but TOPIC_JOINT_GOALS is NOT in the LatchedTopic list |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to the analysis in #628, this does not need to be latched
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes! See my comment above. This topic is no longer latching in develop
, although maybe it was latching on whatever baseline version @ana-GT started from. Probably the correct action is to remove the comment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Ana and Marina!
DISTAL_SERVO, // Distal joint servo | ||
GRIPPER_SERVO, // Gripper joint servo | ||
ALL_SERVOS // Proximal, Distal and Gripper servos | ||
}; | ||
|
||
// Joint information, where HUMAN = SCALE * DRIVER + OFFSET | ||
struct JointInfo { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now that we aren't using tol (I'm pretty sure) except to set it but never look at it, I would just delete it from JointInfo to make things more clear.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That sounds like a change to apply/test on develop
first?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought it only applies here due to changes in how the parameter server works, but correct me if I'm wrong Marina.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In order to maintain functionality with the previous version the tol with GetTolerance() still only gets updated in certain state modes, which maintains the need for the tol variable :)
Conversion was straightforward, with the exception of a few issues that I marked TODO: