Skip to content

Commit a3488a7

Browse files
committed
Final code for presentation
1 parent 24edc9c commit a3488a7

File tree

3 files changed

+14
-13
lines changed

3 files changed

+14
-13
lines changed
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# This message is used to set PID for different joints
22

33
uint8 joint_num #Possible values: joint_1_id : 1, joint_2_1_id: 2, joint_2_2_id: 3, joint_3_id: 4 joint_4_id: 5, joint_5_id: 6 , gripper: 7, pan: 8, tilt: 9
4-
uint8 P
5-
uint8 I
6-
uint8 D
4+
uint16 P
5+
uint16 I
6+
uint16 D
77
---
88
bool result

scripts/controller.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def set_arm_joint_angles(self, joint_target):
6161
joint_state.position = tuple(joint_target)
6262
rospy.loginfo('Going to arm joint 0: {} rad'.format(joint_target[0]))
6363
self.arm_pub.publish(joint_state)
64-
rospy.sleep(6)
64+
rospy.sleep(8)
6565

6666
def get_joint_state(self, data):
6767
# TODO: Change this when required
@@ -74,7 +74,7 @@ def get_joint_state(self, data):
7474
# Add Joint Feedback
7575
joint_angles = np.array(data.position)[self.MOVEABLE_JOINTS]
7676
self.history['joint_feedback'].append(joint_angles)
77-
if(len(self.history['joint_feedback']) > 20):
77+
if(len(self.history['joint_feedback']) > 10):
7878
self.history['joint_feedback'].popleft()
7979

8080
self.current_joint_state = data.position[0:5]
@@ -140,6 +140,7 @@ def go_to_grasp_pose(self, FRAME):
140140

141141
poses = [Pose(Point(P[0], P[1], P[2]+0.15), Quaternion(Q[0], Q[1], Q[2], Q[3])),
142142
Pose(Point(P[0], P[1], P[2]+0.10), Quaternion(Q[0], Q[1], Q[2], Q[3]))]
143+
print(poses)
143144

144145
target_joint = None
145146
self.open_gripper()

scripts/machine.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
# Initialize controller
1616
ctrl = Controller()
17-
MIN_JOINT_MOTION_FOR_HAND_OVER = 0.1
17+
MIN_JOINT_MOTION_FOR_HAND_OVER = 0.05
1818
# define state Idle
1919
class Idle(smach.State):
2020
def __init__(self):
@@ -99,7 +99,7 @@ def __init__(self):
9999

100100
def execute(self, userdata):
101101
ctrl.set_camera_angles(ctrl.HOME_POS_CAMERA_02)
102-
ctrl.set_arm_joint_angles(ctrl.HOME_POS_MANIPULATOR_02)
102+
ctrl.set_arm_joint_angles(ctrl.HOME_POS_MANIPULATOR_00)
103103
rospy.loginfo('Executing state MoveHome2')
104104
return 'reached'
105105

@@ -135,7 +135,7 @@ def execute(self, userdata):
135135
## Make a different function with gripper pointing upwards and call it from here
136136
rospy.loginfo('Executing state IK2')
137137
success = ctrl.go_to_handover_pose(userdata.head_pose)
138-
rospy.sleep(8)
138+
rospy.sleep(3)
139139
if not success:
140140
return 'noIK'
141141
return 'foundIK'
@@ -161,7 +161,6 @@ def execute(self, userdata):
161161
P,I,D = userdata.PID
162162
for joint_num in userdata.joint_nums:
163163
response = set_PID(joint_num, P, I, D)
164-
rospy.sleep(10)
165164
return 'changed'
166165
except rospy.ServiceException as e:
167166
rospy.logwarn("Service call failed:{0}".format(e))
@@ -178,11 +177,12 @@ def execute(self, userdata):
178177
while(True):
179178
joint_len = len(ctrl.history['joint_feedback'][0])
180179
joint_sum = np.zeros(ctrl.history['joint_feedback'][0].shape)
181-
for joint_feedback in ctrl.history['joint_feedback']:
182-
# pdb.set_trace()
180+
for joint_feedback in list(ctrl.history['joint_feedback']):
181+
#pdb.set_trace()
183182
joint_sum += joint_feedback - ctrl.current_target_state
184183
avg_joint_sum = joint_sum/joint_len
185-
if(np.sum(avg_joint_sum) > MIN_JOINT_MOTION_FOR_HAND_OVER):
184+
# print(joint_sum)
185+
if(np.abs(np.sum(avg_joint_sum)) > MIN_JOINT_MOTION_FOR_HAND_OVER):
186186
ctrl.open_gripper()
187187
rospy.sleep(1)
188188
return 'opened'
@@ -195,7 +195,7 @@ def main():
195195
# Create a SMACH state machine
196196
sm = smach.StateMachine(outcomes=['stop'])
197197
sm.userdata.tool_id = -1
198-
sm.userdata.joint_nums = [1,6]
198+
sm.userdata.joint_nums = [0,5]
199199
sm.userdata.PID_Final = [0,0,0]
200200
sm.userdata.PID_Initial = [640,5,50]
201201
sis = smach_ros.IntrospectionServer('server_name', sm, '/SM_ROOT')

0 commit comments

Comments
 (0)