diff --git a/new_main.py b/new_main.py index 9285bee..52f0d15 100644 --- a/new_main.py +++ b/new_main.py @@ -105,7 +105,7 @@ class PickAndPlace(object): def _approach(self, pose): approach = copy.deepcopy(pose) # approach with a pose the hover-distance above the requested pose - approach.position.z = approach.position.z + self._hover_distance + approach.position.z = approach.position.z + 0.05# self._hover_distance joint_angles = self.ik_request(approach) self._guarded_move_to_joint_position(joint_angles) @@ -135,7 +135,6 @@ class PickAndPlace(object): # servo above pose print('Approaching') self._approach(pose) - return # servo to pose self._servo_to_pose(pose) print('Ready to grip') @@ -148,7 +147,6 @@ class PickAndPlace(object): def place(self, pose): # servo above pose self._approach(pose) - return # servo to pose self._servo_to_pose(pose) # open the gripper @@ -170,6 +168,9 @@ class PickAndPlace(object): # retract to clear object self._retract() + def send(self, angles): + self._guarded_move_to_joint_position(angles) + brick_ids = ['b1','b2','b3','b4','b5','b6','b7','b8','b9'] @@ -235,43 +236,59 @@ left_pnp.gripper_open() ## TODO: MAKE hover_distance higher for place part or solve IK collision error +# spawn_v_brick() +# left_pnp.pick(brickstuff[0]['pose']) +# left_pnp.place(brickstuff[2]['pose']) +# exit(0) +# tuck_arms.init_arms() +# paused = raw_input('Continue?') +# spawn_v_brick() +# left_pnp.pick(brickstuff[0]['pose']) +# print('\n \n-----------------------\n \n') +# left_pnp.place(brickstuff[3]['pose']) +# exit(1) +# tuck_arms.init_arms() +# paused = raw_input('Continue?') +# spawn_v_brick() +# # left_pnp.pick(brickstuff[0]['pose']) spawn_v_brick() -left_pnp.pick(brickstuff[0]['pose']) -exit() -left_pnp.place(brickstuff[2]['pose']) -tuck_arms.init_arms() -paused = raw_input('Continue?') -spawn_v_brick() -left_pnp.pick(brickstuff[0]['pose']) -left_pnp.place(brickstuff[3]['pose']) -tuck_arms.init_arms() -paused = raw_input('Continue?') -spawn_v_brick() -left_pnp.pick(brickstuff[0]['pose']) -left_pnp.place(brickstuff[4]['pose']) -tuck_arms.init_arms() -paused = raw_input('Continue?') -spawn_h_brick() -left_pnp.pick(brickstuff[1]['pose']) -left_pnp.place(brickstuff[5]['pose']) -tuck_arms.init_arms() -paused = raw_input('Continue?') -spawn_h_brick() -left_pnp.pick(brickstuff[1]['pose']) -left_pnp.place(brickstuff[6]['pose']) -paused = raw_input('Continue?') -spawn_v_brick() -left_pnp.pick(brickstuff[0]['pose']) -left_pnp.place(brickstuff[7]['pose']) -paused = raw_input('Continue?') -spawn_v_brick() -left_pnp.pick(brickstuff[0]['pose']) -left_pnp.place(brickstuff[8]['pose']) -paused = raw_input('Continue?') -spawn_h_brick() -left_pnp.pick(brickstuff[1]['pose']) -left_pnp.place(brickstuff[9]['pose']) -paused = raw_input('Continue?') -spawn_v_brick() -left_pnp.pick(brickstuff[0]['pose']) -left_pnp.cust_place(brickstuff[10]['pose']) +left_pnp.send({'left_w0': 0.309347832698974, 'left_w1': 1.881132793719985, 'left_w2': 2.3018260606950194, 'left_e0': -0.6620952326288202, 'left_e1': 0.8506124094054622, 'left_s0': 0.4467327362087081, 'left_s1': -1.0924293648582206}) +left_pnp.send({'left_w0': 0.32998286773274293, 'left_w1': 1.3930185907441222, 'left_w2': 2.2171019702140753, 'left_e0': -0.6821342836475758, 'left_e1': 1.3311146610544962, 'left_s0': 0.5323550070725158, 'left_s1': -1.0404847669613069}) +left_pnp.gripper_close() +left_pnp.send({'left_w0': 0.309347832698974, 'left_w1': 1.881132793719985, 'left_w2': 2.3018260606950194, 'left_e0': -0.6620952326288202, 'left_e1': 0.8506124094054622, 'left_s0': 0.4467327362087081, 'left_s1': -1.0924293648582206}) +# left_pnp.place(brickstuff[4]['pose']) +# tuck_arms.init_arms() +# exit(0) +# paused = raw_input('Continue?') +# spawn_h_brick() +# left_pnp.send({'left_w0': 0.8139517749899786, 'left_w1': 1.7913332347783784, 'left_w2': 2.140253332470379, 'left_e0': -1.2881506550429311, 'left_e1': 0.9559160919794364, 'left_s0': 0.718405344706577, 'left_s1': -0.7389057972202023}) +# left_pnp.send({'left_w0': 0.9011295809085222, 'left_w1': 1.4021253667832847, 'left_w2': 2.0105076391011076, 'left_e0': -1.171667748823461, 'left_e1': 1.2991409722196496, 'left_s0': 0.7750446847107565, 'left_s1': -0.5757716624754514}) +# left_pnp.gripper_close() +# left_pnp.send({'left_w0': 0.8139517749899786, 'left_w1': 1.7913332347783784, 'left_w2': 2.140253332470379, 'left_e0': -1.2881506550429311, 'left_e1': 0.9559160919794364, 'left_s0': 0.718405344706577, 'left_s1': -0.7389057972202023}) +# left_pnp.place(brickstuff[5]['pose']) +# exit(0) +# tuck_arms.init_arms() +# paused = raw_input('Continue?') +# spawn_h_brick() +# left_pnp.pick(brickstuff[1]['pose']) +# left_pnp.place(brickstuff[6]['pose']) +# exit(0) +# paused = raw_input('Continue?') +# spawn_v_brick() +# left_pnp.pick(brickstuff[0]['pose']) +# left_pnp.place(brickstuff[7]['pose']) +# exit(0) +# paused = raw_input('Continue?') +# spawn_v_brick() +# left_pnp.pick(brickstuff[0]['pose']) +# left_pnp.place(brickstuff[8]['pose']) +# exit(0) +# paused = raw_input('Continue?') +# spawn_h_brick() +# left_pnp.pick(brickstuff[1]['pose']) +# left_pnp.place(brickstuff[9]['pose']) +# exit(0) +# paused = raw_input('Continue?') +# spawn_v_brick() +# left_pnp.pick(brickstuff[0]['pose']) +left_pnp.place(brickstuff[10]['pose']) diff --git a/target_angles.py b/target_angles.py index 893f934..d28264a 100644 --- a/target_angles.py +++ b/target_angles.py @@ -1,24 +1,24 @@ ''' -Pickup Vertical Offset : -Pickup Vertical Pick : -Pickup Horizontal Offset : -Pickup Horizontal Pick : -Place 1 Offset : -Place 1 Down : -Place 2 Offset : -Place 2 Down : -Place 3 Offset : -Place 3 Down : -Place 4 Offset : -Place 4 Down : -Place 5 Offset : -Place 5 Down : -Place 6 Offset : -Place 6 Down : -Place 7 Offset : -Place 7 Down : -Place 8 Offset : -Place 8 Down : -Place 9 Offset : -Place 9 Down : +Pickup Vertical Offset : {'left_w0': 0.309347832698974, 'left_w1': 1.881132793719985, 'left_w2': 2.3018260606950194, 'left_e0': -0.6620952326288202, 'left_e1': 0.8506124094054622, 'left_s0': 0.4467327362087081, 'left_s1': -1.0924293648582206} +Pickup Vertical Pick : {'left_w0': 0.32998286773274293, 'left_w1': 1.3930185907441222, 'left_w2': 2.2171019702140753, 'left_e0': -0.6821342836475758, 'left_e1': 1.3311146610544962, 'left_s0': 0.5323550070725158, 'left_s1': -1.0404847669613069} +Pickup Horizontal Offset : {'left_w0': 0.8139517749899786, 'left_w1': 1.7913332347783784, 'left_w2': 2.140253332470379, 'left_e0': -1.2881506550429311, 'left_e1': 0.9559160919794364, 'left_s0': 0.718405344706577, 'left_s1': -0.7389057972202023} +Pickup Horizontal Pick : {'left_w0': 0.9011295809085222, 'left_w1': 1.4021253667832847, 'left_w2': 2.0105076391011076, 'left_e0': -1.171667748823461, 'left_e1': 1.2991409722196496, 'left_s0': 0.7750446847107565, 'left_s1': -0.5757716624754514} +Place 1 Offset : {'left_w0': -0.24575885307317663, 'left_w1': 0.8749420307826046, 'left_w2': 1.6948949798814181, 'left_e0': 0.4583130030868797, 'left_e1': 1.8748037298799984, 'left_s0': -1.240546397484759, 'left_s1': -1.1229907414393936} +Place 1 Down : {'left_w0': -0.44706325183614026, 'left_w1': 0.5308931382072065, 'left_w2': 1.8176589482381398, 'left_e0': 0.2909093427758618, 'left_e1': 1.8092679400066711, 'left_s0': -1.1225317078625037, 'left_s1': -0.7034153618455765} +Place 2 Offset : {'left_w0': 1.0334701994763147, 'left_w1': 1.2668145176284678, 'left_w2': 0.9572318887458758, 'left_e0': -1.3409238316370244, 'left_e1': 1.7778524701894391, 'left_s0': 0.2271848446398137, 'left_s1': -0.573105088634528} +Place 2 Down : {'left_w0': 1.2915396241568844, 'left_w1': 0.964866770561432, 'left_w2': 0.8596545556176473, 'left_e0': -0.991322423912265, 'left_e1': 1.7633745271360939, 'left_s0': 0.07709549283393327, 'left_s1': -0.33774783820639565} +Place 3 Offset : {'left_w0': 0.803725300735474, 'left_w1': 1.194163188977739, 'left_w2': 1.4667013915694584, 'left_e0': -1.0771478530987262, 'left_e1': 1.58481527249928, 'left_s0': 0.3549391390860414, 'left_s1': -0.7083016536375286} +Place 3 Down : {'left_w0': 1.0094440753014968, 'left_w1': 0.8974942275422987, 'left_w2': 1.3801020782459945, 'left_e0': -0.8128594434709138, 'left_e1': 1.56853086901738, 'left_s0': 0.2186545601611162, 'left_s1': -0.4267459808731298} +Place 4 Offset : {'left_w0': 0.1671234856733194, 'left_w1': 0.8261944766180188, 'left_w2': 1.379487069256468, 'left_e0': -0.28247213805949767, 'left_e1': 1.8837252545953784, 'left_s0': -0.607713162458475, 'left_s1': -1.1163951963030918} +Place 4 Down : {'left_w0': 0.24419474317602866, 'left_w1': 0.6290231193065527, 'left_w2': 1.326407292573995, 'left_e0': -0.23303382594081024, 'left_e1': 1.8771117428607849, 'left_s0': -0.6460371665357855, 'left_s1': -0.9078139028116797} +Place 5 Offset : {'left_w0': 0.6984403275545308, 'left_w1': 1.2544926841081905, 'left_w2': 1.3544614580142273, 'left_e0': -1.1745832201258934, 'left_e1': 1.6458210205020332, 'left_s0': 0.31526732584172107, 'left_s1': -0.8464672073407838} +Place 5 Down : {'left_w0': 0.9437250579116295, 'left_w1': 0.9167077216413124, 'left_w2': 1.222379447910923, 'left_e0': -0.879490332019234, 'left_e1': 1.7294606327190576, 'left_s0': 0.15746537974463826, 'left_s1': -0.5907485424149368} +Place 6 Offset : {'left_w0': 0.13795791158290516, 'left_w1': 1.4976647271381562, 'left_w2': 1.3716861361389447, 'left_e0': -0.7668644025351493, 'left_e1': 1.5004594439971868, 'left_s0': -0.21720089382963984, 'left_s1': -1.3717982666530235} +Place 6 Down : {'left_w0': 0.30567556734697016, 'left_w1': 1.0253204952492578, 'left_w2': 1.2509852844361058, 'left_e0': -0.6998909977260979, 'left_e1': 1.8157485803507927, 'left_s0': -0.2856819912424196, 'left_s1': -1.1598950455287043} +Place 7 Offset : {'left_w0': 0.2880633344490283, 'left_w1': 1.586029171376809, 'left_w2': 1.618882284053745, 'left_e0': -0.9484107003286485, 'left_e1': 1.3454477156124263, 'left_s0': 0.1821213719091443, 'left_s1': -1.2157353154435486} +Place 7 Down : {'left_w0': 0.42723819133965163, 'left_w1': 1.1318459412158908, 'left_w2': 1.5190079397734162, 'left_e0': -0.8526717542593604, 'left_e1': 1.6855962489232676, 'left_s0': 0.13537792888171907, 'left_s1': -1.049425917711375} +Place 8 Offset : {'left_w0': 0.47397216515126994, 'left_w1': 1.8191693493757988, 'left_w2': 1.3505030133400355, 'left_e0': -1.2629306563238563, 'left_e1': 1.135600354775232, 'left_s0': 0.09497817386676323, 'left_s1': -1.0891358446984596} +Place 8 Down : {'left_w0': 0.47397216515126994, 'left_w1': 1.8191693493757988, 'left_w2': 1.3505030133400355, 'left_e0': -1.2629306563238563, 'left_e1': 1.135600354775232, 'left_s0': 0.09497817386676323, 'left_s1': -1.0891358446984596} +Place 9 Offset : {'left_w0': 0.35959165932558207, 'left_w1': 1.9280499585601125, 'left_w2': 1.4753075963656614, 'left_e0': -1.014625396487737, 'left_e1': 0.9725959751301161, 'left_s0': -0.03418343328074433, 'left_s1': -1.1722171342836722} +Place 9 Down : {'left_w0': 0.31592446450227823, 'left_w1': 1.7694573442805632, 'left_w2': 1.4526326487219683, 'left_e0': -1.0428825978748242, 'left_e1': 1.1732291351006587, 'left_s0': 0.05048765124424395, 'left_s1': -1.2037991885581427} ''' \ No newline at end of file