Closed Hotsburp closed 3 months ago
@Hotsburp
Yeah, it is convenient for ros_control
to use different controllers to control different parts of the robot.
You just need to edit the position._control.yaml
and load the gripper controller.
If you use effort_controllers/JointPositionController
, you do not need to modify anything.
Hi @skywoodsz, sorry for another question.
I would like to use Unitree Z1 arm, which has a gripper, for interacting with objects either by grasping or simply moving the closed gripper to a target point.
Instead of considering the gripper as an "extra" 7th joint to the current controller, which you mentioned in #14 would be complicated to adapt the controller to add new joints / DOF, you suggested in #12 that i would be easier to use the MPC-only version to control the gripper independently.
Could i clarify with you on the following question:
effort_controller/JointPositionController
can be used for independent gripper control while still being integrated with MPC for the other 6 joints. How do we do this as i am quite confused?I have adapted the position_control.yaml to be the following for the Z1 arm shown below and also the other launch files but am not sure if this is the correct approach.
`# Publish all joint states ----------------------------------- joint_state_controller: type: joint_state_controller/JointStateController publish_rate: 1000
joint_1_position_controller: joint: joint1 pid: d: 5 i: 0.1 p: 1000 type: effort_controllers/JointPositionController
joint_2_position_controller: joint: joint2 pid: d: 5 i: 0.1 p: 1000 type: effort_controllers/JointPositionController
joint_3_position_controller: joint: joint3 pid: d: 5 i: 0.1 p: 1000 type: effort_controllers/JointPositionController
joint_4_position_controller: joint: joint4 pid: d: 5 i: 0.1 p: 1000 type: effort_controllers/JointPositionController
joint_5_position_controller: joint: joint5 pid: d: 5 # 5.0 i: 0.1 p: 1000 # 500 type: effort_controllers/JointPositionController
joint_6_position_controller: joint: joint6 pid: d: 5 i: 0.1 p: 1000 type: effort_controllers/JointPositionController
joint_7_position_controller: joint: jointGripper pid: d: 0.01 i: 0 p: 100 type: effort_controllers/JointPositionController`
Thank you once again!