Skip to content

Commit 6ededbd

Browse files
committed
-
1 parent fe67993 commit 6ededbd

File tree

3 files changed

+17
-16
lines changed

3 files changed

+17
-16
lines changed

coderbot.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"move_tr_speed": "75", "move_fw_elapse": "1.5", "move_motor_mode": "dc", "show_page_program": "true", "load_at_start": "", "move_tr_elapse": "1", "sound_start": "$startup.mp3", "sound_stop": "$shutdown.mp3", "camera_exposure_mode": "auto", "prog_video_rec": "true", "prog_level": "basic_move", "prog_scrollbars": "true", "ctrl_fw_speed": "100", "move_fw_speed": "100", "sound_shutter": "$shutter.mp3", "show_page_prefs": "true", "prog_maxblocks": "5", "ctrl_hud_image": "coderbot_hud_2.png", "button_func": "none", "wifi_mode": "ap", "ctrl_fw_elapse": "-1", "ctrl_tr_elapse": "-1", "show_page_control": "true", "ctrl_tr_speed": "80"}
1+
{"move_tr_speed": "75", "move_fw_elapse": "20", "show_page_program": "true", "load_at_start": "", "move_tr_elapse": "90", "sound_start": "$startup.mp3", "sound_stop": "$shutdown.mp3", "camera_exposure_mode": "auto", "prog_move_motion": "yes", "prog_video_rec": "true", "show_control_move_commands": "true", "prog_level": "basic", "prog_scrollbars": "true", "ctrl_fw_speed": "100", "move_fw_speed": "100", "show_page_control": "true", "sound_shutter": "$shutter.mp3", "show_page_prefs": "true", "prog_maxblocks": "5", "ctrl_hud_image": "coderbot_hud_2.png", "button_func": "none", "move_motor_mode": "servo", "ctrl_fw_elapse": "-1", "ctrl_tr_elapse": "-1", "move_power_angle_2": "20", "move_power_angle_3": "20", "ctrl_tr_speed": "80", "move_power_angle_1": "20"}

motion.py

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
from coderbot import CoderBot
99
from camera import Camera
10+
from config import Config
1011

1112
lk_params = dict( winSize = (15, 15),
1213
maxLevel = 2,
@@ -17,6 +18,7 @@
1718
minDistance = 7,
1819
blockSize = 7 )
1920

21+
2022
PI_CAM_FOV_H_DEG = 53.0
2123
PI_CAM_FOV_V_CM = 100.0
2224
IMAGE_WIDTH = 160.0
@@ -38,6 +40,8 @@ def __init__(self):
3840
self.target_dist = 0.0
3941
self.delta_angle = 0.0
4042
self.target_angle = 0.0
43+
cfg = Config.get()
44+
self.power_angles = [[15, (int(cfg.get("move_power_angle_1")), -1)], [4, (int(cfg.get("move_power_angle_2")), 0.05)], [1, (int(cfg.get("move_power_angle_3")), 0.02)], [0, (0, 0)]]
4145

4246
_motion = None
4347

@@ -80,10 +84,6 @@ def loop_move(self):
8084
self.frame_idx += 1
8185
self.prev_gray = self.frame_gray
8286

83-
ch = 0xFF & cv2.waitKey(1)
84-
if ch == 27:
85-
self.bot.stop()
86-
done = True
8787

8888
def loop_turn(self):
8989
done = False
@@ -104,11 +104,7 @@ def loop_turn(self):
104104
self.frame_idx += 1
105105
self.prev_gray = self.frame_gray
106106

107-
ch = 0xFF & cv2.waitKey(1)
108-
if ch == 27:
109-
self.bot.stop()
110-
done = True
111-
107+
self.bot.stop()
112108

113109
def find_keypoints(self, image_gray, tracks):
114110
#print "find_keypoints"
@@ -192,13 +188,12 @@ def calc_motion(self):
192188
return self.delta_angle, self.delta_dist
193189

194190
def bot_turn(self, target_angle, delta_angle):
195-
power_angles = [[15, (40, -1)], [4, (80, 0.05)], [1, (80,0.02)], [0, (0, 0)]]
196191
done = False
197192
sign = (target_angle - delta_angle) / abs(target_angle - delta_angle)
198-
logging.info( "abs delta: " + abs(target_angle - delta_angle) + " sign delta: " + sign )
199-
for p_a in power_angles:
193+
logging.info( "abs delta: " + str(abs(target_angle - delta_angle)) + " sign delta: " + str(sign) )
194+
for p_a in self.power_angles:
200195
if abs(target_angle - delta_angle) > p_a[0]:
201-
print "pow: ", p_a[1][0], " duration: ", p_a[1][1]
196+
#print "pow: ", p_a[1][0], " duration: ", p_a[1][1]
202197
self.bot.motor_control(sign * p_a[1][0], -1 * sign * p_a[1][0], p_a[1][1])
203198
done = p_a[1][0] == 0 #stopped
204199
break
@@ -207,9 +202,9 @@ def bot_turn(self, target_angle, delta_angle):
207202

208203
def bot_move(self, target_dist, delta_dist, delta_angle):
209204
base_power = 100 * (target_dist/abs(target_dist))
210-
logging.info("base power" + base_power)
205+
logging.info("base power" + str(base_power))
211206
self.delta_power += (delta_angle * 0.01)
212-
logging.info( "delta power: " + self.delta_power)
207+
logging.info( "delta power: " + str(self.delta_power))
213208
if abs(delta_dist) < abs(target_dist):
214209
self.bot.motor_control(min(max(base_power-self.delta_power,-100),100), min(max(base_power+self.delta_power,-100),100), -1)
215210
else:

templates/config.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,12 @@ <h1>CoderBot</h1>
102102
<div id="t_movement" class="ui-body-d ui-content">
103103
<label for="i_move_motor_mode">{% trans %}Motor control mode{% endtrans %}</label>
104104
<input type="text" id="i_move_motor_mode" name="move_motor_mode" value="{{config.move_motor_mode}}">
105+
<label for="i_move_power_angle_1">{% trans %}Power (target angle -15){% endtrans %}</label>
106+
<input type="text" id="i_move_power_angle_1" name="move_power_angle_1" value="{{config.move_power_angle_1}}">
107+
<label for="i_move_power_angle_2">{% trans %}Power (target angle -4){% endtrans %}</label>
108+
<input type="text" id="i_move_power_angle_2" name="move_power_angle_2" value="{{config.move_power_angle_2}}">
109+
<label for="i_move_power_angle_3">{% trans %}Power (target angle -1){% endtrans %}</label>
110+
<input type="text" id="i_move_power_angle_3" name="move_power_angle_3" value="{{config.move_power_angle_3}}">
105111
</div>
106112
<div id="t_start" class="ui-body-d ui-content">
107113
<label for="i_load_at_start">{% trans %}Load at start{% endtrans %}</label>

0 commit comments

Comments
 (0)