Add gripper integration#7
Conversation
WARNING: the gripper movement is very jagger and imprecise
…t updateSensorsMutex_ to exact scope
| { | ||
| if(!ur->gripperName().empty()) | ||
| { | ||
| ur->autoCalibrate(); |
There was a problem hiding this comment.
auto calibration should not be performed by default for safety. Please consider adding button to GUI to perform auto calibration
There was a problem hiding this comment.
I thought that's what it is doing ? when starting MCControlRtde, the gripper would not get calibrated. Only trigger when pressing this button.
| const float steady_threshold = 0.001f; | ||
| int stable_count = 0; | ||
|
|
||
| // TODO; change stable_required so that this function can be put in controlThread() ? |
There was a problem hiding this comment.
Please fix TODO before merging
There was a problem hiding this comment.
I will fix the others.
Sorry this is confusing. This one is more of a question I noted to ask you rather than TODO.
Should I do that? There is almost no benefit since the gripper cannot operate real time.
Set default command to real pose
|
The gripper automatically perform the sequence [OPEN > CLOSE > OPEN] the first time when it is turned on. This is coded in ur_rtde. But after that, the gripper will not automatically run between move. |
|
Thank for the information, can you add it to the read me ? |
I will. I am still testing/fixing some bugs when using it with dual arms. |
…ts. Consider edge case where gripper can be connected using another ip than the robot itself.
…iguration - Use active_name_ to track currently using robot, and name_ (const) is default - Reset tools' threads, interfaces, and gui before setting up new robot
Do not need ip since all robots have unique name
Connect modules
| } | ||
| else | ||
| { | ||
| // TOFIX: the rest of the joint in q need to be initialized as well even if they are mimic |
There was a problem hiding this comment.
I am not sure how to do this. Currently, if the gripper is not fully open, when MCControlRtde is called, that position will be the zero position (meaning, we can only close the gripper more)
|
For the record, the yaml file suppose to look like this |
This is my current attempt of adding gripper integration to mc_rtde.
The current version does does not have options for positions, velocity, and torque control, and there is a delay between simulated and real robots. This is because of two issues:
The current implementation only required user to add gripper into their yaml
Since the changes are not standardized with the current code base, I would need some feedback to refine it.. I will update the README afterward.