-
Notifications
You must be signed in to change notification settings - Fork 1
Shamima/fall2020/recruitment-challenge/submission #4
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
base: master
Are you sure you want to change the base?
Changes from 5 commits
dd53080
b496ed5
b76952a
1a6a117
f822c5d
37d7970
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,2 +1,3 @@ | ||
| # recruiting-challenges | ||
| Repository containing all paradigm student group recruiting challenges. | ||
| Repository containing paradigm student group recruiting challenges. | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -70,23 +70,68 @@ def set_desired_position(self, desired_position): | |
| Note: assume the user will pass in the desired_position parameter when using | ||
| the interface | ||
| """ | ||
|
|
||
|
||
| self.desired_position = desired_position | ||
|
|
||
| pass | ||
|
||
|
|
||
|
|
||
|
||
| def update_current_position(self): | ||
| """ Updates the current position of the TBM """ | ||
| GPS.pollSensor | ||
| self.current_position = GPS.getPos | ||
|
||
|
|
||
| pass | ||
|
|
||
|
|
||
| def navigate(self): | ||
| """ Navigate to the desired position from the current position | ||
|
|
||
| Based on the current position tuple, compared to the desired position tuple, | ||
| make decisions on steering, and ensure that the actuations are successful | ||
|
|
||
| Returns: True if actuation requests were successful, False if not | ||
| Note: It may be good to notify the user if something unexpected happens! | ||
| """ | ||
| """ Assumption: If any actuation is unsuccessful, the TBM will stop moving""" | ||
|
||
|
|
||
| """ These boolean values will indicate whether or not the actuations were suucessful.""" | ||
|
||
| act_request_forward = True | ||
| act_request_right = True | ||
| act_request_left = True | ||
| act_request_up = True | ||
| act_request_down = True | ||
|
||
|
|
||
|
|
||
| """"The TBM will move forward as long as the current position is not | ||
|
||
| equal to the desired position in the x direction. """ | ||
| if desired_position[0] != 0: | ||
|
||
| while(current_position[0] != desired_position[0]): | ||
| act_request_forward = Steering.move_forward() | ||
|
||
| self.update_current_position | ||
| if act_request_forward == False: | ||
| print("Unable to move to desired x position") | ||
| self.update_current_position | ||
| return current_position == desired_position | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I like the way you have this, where if actuation fails it will return whether or not we have reached the desired position. Nifty way of doing it! |
||
|
|
||
|
|
||
| required_y_distance = desired_position[1] - current_position[1] | ||
| if required_y_distance > 0: | ||
| act_request_right = Steering.move_right(required_y_distance) | ||
| elif required_y_distance < 0: | ||
| act_request_left = Steering.move_left(required_y_distance) | ||
|
||
| if act_request_left == False or act_request_right == False: | ||
| print("Unable to move to desired y position") | ||
| self.update_current_position | ||
| return current_position == desired_position | ||
|
|
||
|
|
||
| required_z_distance = desired_position[2] - current_position[2] | ||
| if required_z_distance > 0: | ||
| act_request_up = Steering.move_up(required_z_distance) | ||
| elif required_z_distance < 0: | ||
| act_request_down = Steering.move_down(required_z_distance) | ||
| if act_request_up == False or act_request_down == False: | ||
| print("Unable to move to desired z position") | ||
| self.update_current_position | ||
| return current_position == desired_position | ||
|
|
||
| self.update_current_position | ||
| return current_position == desired_position | ||
|
|
||
| pass | ||
|
|
||
|
|
||
|
|
||
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.
You're right, it does sound better without
all.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 didn't really mean to make that correction😄 I was just trying out to 'commit' feature on my computer.