Update
This commit is contained in:
parent
749c8ed73d
commit
09f564086b
@ -44,6 +44,7 @@ class DroneKitComms:
|
|||||||
self.nudge_fork_horiz_endpoint = '/nudge_fork_horiz'
|
self.nudge_fork_horiz_endpoint = '/nudge_fork_horiz'
|
||||||
self.nudge_drive_endpoint = '/nudge_drive'
|
self.nudge_drive_endpoint = '/nudge_drive'
|
||||||
self.approach_pallet_endpoint = '/approach_pallet'
|
self.approach_pallet_endpoint = '/approach_pallet'
|
||||||
|
self.reverse_from_pallet_endpoint = '/reverse_from_pallet'
|
||||||
self.gps_target_radius_km = 0.0025
|
self.gps_target_radius_km = 0.0025
|
||||||
rsp = self.make_request(self.heartbeat_endpoint)
|
rsp = self.make_request(self.heartbeat_endpoint)
|
||||||
if rsp.get('Success', False):
|
if rsp.get('Success', False):
|
||||||
@ -164,10 +165,11 @@ class DroneKitComms:
|
|||||||
self.nudge_fork_horiz(go_left=False, amount=0.5)
|
self.nudge_fork_horiz(go_left=False, amount=0.5)
|
||||||
self.nudge_fork_horiz(go_left=False, amount=0.65)
|
self.nudge_fork_horiz(go_left=False, amount=0.65)
|
||||||
|
|
||||||
|
|
||||||
def approach_pallet(self):
|
def approach_pallet(self):
|
||||||
_ = self.make_request(self.approach_pallet_endpoint)
|
_ = self.make_request(self.approach_pallet_endpoint)
|
||||||
# print(rsp)
|
|
||||||
|
def reverse_from_pallet(self):
|
||||||
|
_ = self.make_request(self.reverse_from_pallet_endpoint)
|
||||||
|
|
||||||
|
|
||||||
# def close_vehicle(self):
|
# def close_vehicle(self):
|
||||||
|
|||||||
@ -107,7 +107,7 @@ def __pick_up_cargo(vehicle_ctrl):
|
|||||||
def __put_down_cargo(vehicle_ctrl):
|
def __put_down_cargo(vehicle_ctrl):
|
||||||
vehicle_ctrl.zero_fork_vert_pickup()
|
vehicle_ctrl.zero_fork_vert_pickup()
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
vehicle_ctrl.nudge_drive(False, 9.9)
|
vehicle_ctrl.reverse_from_pallet()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -62,6 +62,7 @@ class DroneInterface:
|
|||||||
self.log.info("Connected to ardurover")
|
self.log.info("Connected to ardurover")
|
||||||
self.pallet_proximity_sensor = PalletProximity()
|
self.pallet_proximity_sensor = PalletProximity()
|
||||||
self.pallet_min_distance = 22 # TODO: calibrate this
|
self.pallet_min_distance = 22 # TODO: calibrate this
|
||||||
|
self.pallet_max_distance = 55 # TODO: calibrate this
|
||||||
self.log.info("Connected to pallet proximity sensor")
|
self.log.info("Connected to pallet proximity sensor")
|
||||||
self.print_status()
|
self.print_status()
|
||||||
|
|
||||||
@ -404,10 +405,10 @@ class DroneInterface:
|
|||||||
def approach_pallet(self):
|
def approach_pallet(self):
|
||||||
pallet_approached = False
|
pallet_approached = False
|
||||||
while not pallet_approached:
|
while not pallet_approached:
|
||||||
time.sleep(0.2)
|
time.sleep(0.1)
|
||||||
distance_to_pallet = self.pallet_proximity_sensor.get_prox_reading()
|
distance_to_pallet = self.pallet_proximity_sensor.get_prox_reading()
|
||||||
if distance_to_pallet < self.pallet_min_distance:
|
if distance_to_pallet < self.pallet_min_distance:
|
||||||
self.log.info(f"We are close enough to pallet ({distance_to_pallet} m)")
|
self.log.info(f"We are close enough to pallet ({distance_to_pallet} cm)")
|
||||||
pallet_approached = True
|
pallet_approached = True
|
||||||
self.override_stop()
|
self.override_stop()
|
||||||
self.clear_override_channels()
|
self.clear_override_channels()
|
||||||
@ -415,3 +416,18 @@ class DroneInterface:
|
|||||||
self.log.info(f"Distance to pallet ({distance_to_pallet} cm), moving forward...")
|
self.log.info(f"Distance to pallet ({distance_to_pallet} cm), moving forward...")
|
||||||
target_speed_pwm = 1930
|
target_speed_pwm = 1930
|
||||||
self.set_vehicle_speed(target_speed_pwm)
|
self.set_vehicle_speed(target_speed_pwm)
|
||||||
|
|
||||||
|
def reverse_from_pallet(self):
|
||||||
|
pallet_reversed = False
|
||||||
|
while not pallet_reversed:
|
||||||
|
time.sleep(0.1)
|
||||||
|
distance_to_pallet = self.pallet_proximity_sensor.get_prox_reading()
|
||||||
|
if distance_to_pallet > self.pallet_max_distance:
|
||||||
|
self.log.info(f"We are far enough from pallet ({distance_to_pallet} cm)")
|
||||||
|
pallet_reversed = True
|
||||||
|
self.override_stop()
|
||||||
|
self.clear_override_channels()
|
||||||
|
else:
|
||||||
|
self.log.info(f"Distance to pallet ({distance_to_pallet} cm), moving back...")
|
||||||
|
target_speed_pwm = 1070
|
||||||
|
self.set_vehicle_speed(target_speed_pwm)
|
||||||
|
|||||||
@ -314,6 +314,11 @@ def approach_pallet():
|
|||||||
FORKLIFT.approach_pallet()
|
FORKLIFT.approach_pallet()
|
||||||
return jsonify({'Success': True})
|
return jsonify({'Success': True})
|
||||||
|
|
||||||
|
@app.route('/reverse_from_pallet', methods=['POST'])
|
||||||
|
def reverse_from_pallet():
|
||||||
|
FORKLIFT.reverse_from_pallet()
|
||||||
|
return jsonify({'Success': True})
|
||||||
|
|
||||||
# @app.route('/close', methods=['POST'])
|
# @app.route('/close', methods=['POST'])
|
||||||
# def close_forklift():
|
# def close_forklift():
|
||||||
# logger.info(f"Closing forklift")
|
# logger.info(f"Closing forklift")
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user