Browse Source

参数序列格式修改,去除多余参数;

master
Lizongdi 2 weeks ago
parent
commit
ff14d338b1
  1. 12
      kelaifen/Kelaifen_V6.0/Example_0_5.py
  2. 330
      kelaifen/Kelaifen_V6.0/config.json
  3. 6
      kelaifen/Kelaifen_V6.0/serial_handler.py
  4. 10
      kelaifen/Kelaifen_V6.0/trajectory_program.py

12
kelaifen/Kelaifen_V6.0/Example_0_5.py

@ -209,6 +209,10 @@ if __name__ == "__main__":
delay = program_delay_map.get(current_program, 0.0) delay = program_delay_map.get(current_program, 0.0)
if delay <= 0: if delay <= 0:
delay = 0 delay = 0
current_program1 = sequence_1[current_index + 1]
delay1 = program_delay_map.get(current_program1, 0.0)
if delay1 <= 0:
delay1 = 0
stop_cmd_bytes = read_cmd_from_shared(timeout=0.1) stop_cmd_bytes = read_cmd_from_shared(timeout=0.1)
if stop_cmd_bytes is not None and stop_cmd_bytes == b'\xAA\x30': if stop_cmd_bytes is not None and stop_cmd_bytes == b'\xAA\x30':
print("收到0xAA 0x30,停止循环") print("收到0xAA 0x30,停止循环")
@ -219,7 +223,7 @@ if __name__ == "__main__":
running = False running = False
time.sleep(0.5) time.sleep(0.5)
else: else:
running = program_switch[current_program](sock, ser, turn_on_relay_start, turn_off_relay_start, ex_turn_on_relay_start, ex_turn_off_relay_start, delay) running = program_switch[current_program](sock, ser, turn_on_relay_start, turn_off_relay_start, ex_turn_on_relay_start, ex_turn_off_relay_start, delay, delay1)
# 回到洗枪位置指令 # 回到洗枪位置指令
elif sub_cmd1 == 0x0a: elif sub_cmd1 == 0x0a:
print(f"接收到指令0xAA 0x{sub_cmd1:02X},切换执行对应程序") print(f"接收到指令0xAA 0x{sub_cmd1:02X},切换执行对应程序")
@ -271,6 +275,10 @@ if __name__ == "__main__":
delay = program_delay_map.get(current_program, 0.0) delay = program_delay_map.get(current_program, 0.0)
if delay <= 0: if delay <= 0:
delay = 0 delay = 0
current_program1 = sequence_3[current_index + 1]
delay1 = program_delay_map.get(current_program1, 0.0)
if delay1 <= 0:
delay1 = 0
stop_cmd_bytes = read_cmd_from_shared(timeout=0.1) stop_cmd_bytes = read_cmd_from_shared(timeout=0.1)
if stop_cmd_bytes is not None and stop_cmd_bytes == b'\xAA\x30': if stop_cmd_bytes is not None and stop_cmd_bytes == b'\xAA\x30':
print("收到0xAA 0x30,停止循环") print("收到0xAA 0x30,停止循环")
@ -281,7 +289,7 @@ if __name__ == "__main__":
running = False running = False
time.sleep(0.5) time.sleep(0.5)
else: else:
running = program_switch[current_program](sock, ser, turn_on_relay_start, turn_off_relay_start, ex_turn_on_relay_start, ex_turn_off_relay_start, delay) running = program_switch[current_program](sock, ser, turn_on_relay_start, turn_off_relay_start, ex_turn_on_relay_start, ex_turn_off_relay_start, delay, delay1)
#回到洗枪位置指令 #回到洗枪位置指令
elif sub_cmd1 == 0x0a: elif sub_cmd1 == 0x0a:
print(f"接收到指令0xAA 0x{sub_cmd1:02X},切换执行对应程序") print(f"接收到指令0xAA 0x{sub_cmd1:02X},切换执行对应程序")

330
kelaifen/Kelaifen_V6.0/config.json

@ -2,314 +2,218 @@
"PRESET_PARAMS": [ "PRESET_PARAMS": [
{ {
"params": [ "params": [
50, 80,
0 0
], ],
"program_delay_map": { "program_delay_map": {
"1": 1.0,
"100": 0.1,
"2": 0, "2": 0,
"3": 1.0, "300": 0,
"300": 0.1,
"4": 0.1,
"5": 1.0,
"500": 0.1,
"6": 0, "6": 0,
"7": 1.0, "700": 0
"700": 0.1,
"8": 0
}, },
"relay_config": { "relay_config": {
"turn_on_relay_start": 40, "turn_on_relay_start": 10,
"turn_off_relay_start": 114, "turn_off_relay_start": 144,
"ex_turn_on_relay_start": 40, "ex_turn_on_relay_start": 10,
"ex_turn_off_relay_start": 114 "ex_turn_off_relay_start": 144
} }
}, },
{ {
"params": [ "params": [
30, 80,
-150 0
], ],
"program_delay_map": { "program_delay_map": {
"1": 1.0, "2": 0,
"100": 0.1, "300": 0,
"2": 0.1, "6": 0,
"3": 1.0, "700": 0
"300": 0.1,
"4": 0.1,
"5": 1.0,
"500": 0.1,
"6": 10,
"7": 1.0,
"700": 0.1,
"8": 0.2
}, },
"relay_config": { "relay_config": {
"turn_on_relay_start": 0, "turn_on_relay_start": 10,
"turn_off_relay_start": 134, "turn_off_relay_start": 144,
"ex_turn_on_relay_start": 0, "ex_turn_on_relay_start": 10,
"ex_turn_off_relay_start": 134 "ex_turn_off_relay_start": 144
} }
}, },
{ {
"params": [ "params": [
30, 80,
-150 0
], ],
"program_delay_map": { "program_delay_map": {
"1": 1.0, "2": 0,
"100": 0.1, "300": 0,
"2": 0.1, "6": 0,
"3": 1.0, "700": 0
"300": 0.1,
"4": 0.1,
"5": 1.0,
"500": 0.1,
"6": 10,
"7": 1.0,
"700": 0.1,
"8": 0.2
}, },
"relay_config": { "relay_config": {
"turn_on_relay_start": 0, "turn_on_relay_start": 10,
"turn_off_relay_start": 134, "turn_off_relay_start": 144,
"ex_turn_on_relay_start": 0, "ex_turn_on_relay_start": 10,
"ex_turn_off_relay_start": 134 "ex_turn_off_relay_start": 144
} }
}, },
{ {
"params": [ "params": [
30, 80,
-150 0
], ],
"program_delay_map": { "program_delay_map": {
"1": 1.0, "2": 0,
"100": 0.1, "300": 0,
"2": 0.1, "6": 0,
"3": 1.0, "700": 0
"300": 0.1,
"4": 0.1,
"5": 1.0,
"500": 0.1,
"6": 10,
"7": 1.0,
"700": 0.1,
"8": 0.2
}, },
"relay_config": { "relay_config": {
"turn_on_relay_start": 0, "turn_on_relay_start": 10,
"turn_off_relay_start": 134, "turn_off_relay_start": 144,
"ex_turn_on_relay_start": 0, "ex_turn_on_relay_start": 10,
"ex_turn_off_relay_start": 134 "ex_turn_off_relay_start": 144
} }
}, },
{ {
"params": [ "params": [
30, 80,
-150 0
], ],
"program_delay_map": { "program_delay_map": {
"1": 1.0, "2": 0,
"100": 0.1, "300": 0,
"2": 0.1, "6": 0,
"3": 1.0, "700": 0
"300": 0.1,
"4": 0.1,
"5": 1.0,
"500": 0.1,
"6": 10,
"7": 1.0,
"700": 0.1,
"8": 0.2
}, },
"relay_config": { "relay_config": {
"turn_on_relay_start": 0, "turn_on_relay_start": 10,
"turn_off_relay_start": 134, "turn_off_relay_start": 144,
"ex_turn_on_relay_start": 0, "ex_turn_on_relay_start": 10,
"ex_turn_off_relay_start": 134 "ex_turn_off_relay_start": 144
} }
}, },
{ {
"params": [ "params": [
30, 80,
-150 0
], ],
"program_delay_map": { "program_delay_map": {
"1": 1.0, "2": 0,
"100": 0.1, "300": 0,
"2": 0.1, "6": 0,
"3": 1.0, "700": 0
"300": 0.1,
"4": 0.1,
"5": 1.0,
"500": 0.1,
"6": 10,
"7": 1.0,
"700": 0.1,
"8": 0.2
}, },
"relay_config": { "relay_config": {
"turn_on_relay_start": 0, "turn_on_relay_start": 10,
"turn_off_relay_start": 134, "turn_off_relay_start": 144,
"ex_turn_on_relay_start": 0, "ex_turn_on_relay_start": 10,
"ex_turn_off_relay_start": 134 "ex_turn_off_relay_start": 144
} }
}, },
{ {
"params": [ "params": [
30, 80,
-150 0
], ],
"program_delay_map": { "program_delay_map": {
"1": 1.0, "2": 0,
"100": 0.1, "300": 0,
"2": 0.1, "6": 0,
"3": 1.0, "700": 0
"300": 0.1,
"4": 0.1,
"5": 1.0,
"500": 0.1,
"6": 10,
"7": 1.0,
"700": 0.1,
"8": 0.2
}, },
"relay_config": { "relay_config": {
"turn_on_relay_start": 0, "turn_on_relay_start": 10,
"turn_off_relay_start": 134, "turn_off_relay_start": 144,
"ex_turn_on_relay_start": 0, "ex_turn_on_relay_start": 10,
"ex_turn_off_relay_start": 134 "ex_turn_off_relay_start": 144
} }
}, },
{ {
"params": [ "params": [
30, 80,
-150 0
], ],
"program_delay_map": { "program_delay_map": {
"1": 1.0, "2": 0,
"100": 0.1, "300": 0,
"2": 0.1, "6": 0,
"3": 1.0, "700": 0
"300": 0.1,
"4": 0.1,
"5": 1.0,
"500": 0.1,
"6": 10,
"7": 1.0,
"700": 0.1,
"8": 0.2
}, },
"relay_config": { "relay_config": {
"turn_on_relay_start": 0, "turn_on_relay_start": 10,
"turn_off_relay_start": 134, "turn_off_relay_start": 144,
"ex_turn_on_relay_start": 0, "ex_turn_on_relay_start": 10,
"ex_turn_off_relay_start": 134 "ex_turn_off_relay_start": 144
} }
}, },
{ {
"params": [ "params": [
30, 80,
-150 0
], ],
"program_delay_map": { "program_delay_map": {
"1": 1.0, "2": 0,
"100": 0.1, "300": 0,
"2": 0.1, "6": 0,
"3": 1.0, "700": 0
"300": 0.1,
"4": 0.1,
"5": 1.0,
"500": 0.1,
"6": 10,
"7": 1.0,
"700": 0.1,
"8": 0.2
}, },
"relay_config": { "relay_config": {
"turn_on_relay_start": 0, "turn_on_relay_start": 10,
"turn_off_relay_start": 134, "turn_off_relay_start": 144,
"ex_turn_on_relay_start": 0, "ex_turn_on_relay_start": 10,
"ex_turn_off_relay_start": 134 "ex_turn_off_relay_start": 144
} }
}, },
{ {
"params": [ "params": [
30, 80,
-150 0
], ],
"program_delay_map": { "program_delay_map": {
"1": 1.0, "2": 0,
"100": 0.1, "300": 0,
"2": 0.1, "6": 0,
"3": 1.0, "700": 0
"300": 0.1,
"4": 0.1,
"5": 1.0,
"500": 0.1,
"6": 10,
"7": 1.0,
"700": 0.1,
"8": 0.2
}, },
"relay_config": { "relay_config": {
"turn_on_relay_start": 0, "turn_on_relay_start": 10,
"turn_off_relay_start": 134, "turn_off_relay_start": 144,
"ex_turn_on_relay_start": 0, "ex_turn_on_relay_start": 10,
"ex_turn_off_relay_start": 134 "ex_turn_off_relay_start": 144
} }
}, },
{ {
"params": [ "params": [
30, 80,
-150 0
], ],
"program_delay_map": { "program_delay_map": {
"1": 1.0, "2": 0,
"100": 0.1, "300": 0,
"2": 0.1, "6": 0,
"3": 1.0, "700": 0
"300": 0.1,
"4": 0.1,
"5": 1.0,
"500": 0.1,
"6": 10,
"7": 1.0,
"700": 0.1,
"8": 0.2
}, },
"relay_config": { "relay_config": {
"turn_on_relay_start": 0, "turn_on_relay_start": 10,
"turn_off_relay_start": 134, "turn_off_relay_start": 144,
"ex_turn_on_relay_start": 0, "ex_turn_on_relay_start": 10,
"ex_turn_off_relay_start": 134 "ex_turn_off_relay_start": 144
} }
}, },
{ {
"params": [ "params": [
30, 80,
-150 0
], ],
"program_delay_map": { "program_delay_map": {
"1": 1.0, "2": 0,
"100": 0.1, "300": 0,
"2": 0.1, "6": 0,
"3": 1.0, "700": 0
"300": 0.1,
"4": 0.1,
"5": 1.0,
"500": 0.1,
"6": 10,
"7": 1.0,
"700": 0.1,
"8": 0.2
}, },
"relay_config": { "relay_config": {
"turn_on_relay_start": 0, "turn_on_relay_start": 10,
"turn_off_relay_start": 134, "turn_off_relay_start": 144,
"ex_turn_on_relay_start": 0, "ex_turn_on_relay_start": 10,
"ex_turn_off_relay_start": 134 "ex_turn_off_relay_start": 144
} }
} }
] ]

6
kelaifen/Kelaifen_V6.0/serial_handler.py

@ -125,6 +125,12 @@ def handle_special_commands(PRESET_PARAMS):
selected_preset = PRESET_PARAMS[config_select - 1] selected_preset = PRESET_PARAMS[config_select - 1]
# 提取params并更新全局变量 # 提取params并更新全局变量
speed_val, angle_val = selected_preset["params"] speed_val, angle_val = selected_preset["params"]
if speed_val < 50:
speed_val = 50
if speed_val > 150:
speed_val = 150
if angle_val > 200:
angle_val = 200
speed_adjustment = speed_val speed_adjustment = speed_val
Trajectory_angle = angle_val Trajectory_angle = angle_val
# 提取当前配置项对应的delay和relay配置(赋值给返回变量) # 提取当前配置项对应的delay和relay配置(赋值给返回变量)

10
kelaifen/Kelaifen_V6.0/trajectory_program.py

@ -980,7 +980,7 @@ def program12(sock):
print("第十二段程序执行完") print("第十二段程序执行完")
def program100(sock, ser, turn_on_relay_start, turn_off_relay_start, ex_turn_on_relay_start, ex_turn_off_relay_start, delay): def program100(sock, ser, turn_on_relay_start, turn_off_relay_start, ex_turn_on_relay_start, ex_turn_off_relay_start, delay, delay1):
global sample_time, lookahead_time global sample_time, lookahead_time
lookahead_time = 400 # 前瞻时间 (ms) lookahead_time = 400 # 前瞻时间 (ms)
@ -1024,12 +1024,13 @@ def program100(sock, ser, turn_on_relay_start, turn_off_relay_start, ex_turn_on_
#0.延时操作,点位延时 #0.延时操作,点位延时
#1.添加点位延时 #1.添加点位延时
NUM = int(delay * 1000 / sample_time) NUM = int(delay * 1000 / sample_time)
NUM1 = int(delay1 * 1000 / sample_time)
# 2.第一道喷涂延时点位 # 2.第一道喷涂延时点位
last_point_3_4 = Pose_3_4_M[-1].copy() # 先复制最后一个点位 last_point_3_4 = Pose_3_4_M[-1].copy() # 先复制最后一个点位
Pose_3_4_Stop = [last_point_3_4.copy() for _ in range(NUM)] # 每个点位独立副本 Pose_3_4_Stop = [last_point_3_4.copy() for _ in range(NUM)] # 每个点位独立副本
# 3.第2道喷涂延时点位 # 3.第2道喷涂延时点位
last_point_4_3 = Pose_4_3_M[-1].copy() last_point_4_3 = Pose_4_3_M[-1].copy()
Pose_4_3_Stop = [last_point_4_3.copy() for _ in range(NUM)] Pose_4_3_Stop = [last_point_4_3.copy() for _ in range(NUM1)]
trajectories = [Pose_3_M, Pose_3_4_M,Pose_3_4_Stop, Pose_4_M, Pose_4_3_M,Pose_4_3_Stop] trajectories = [Pose_3_M, Pose_3_4_M,Pose_3_4_Stop, Pose_4_M, Pose_4_3_M,Pose_4_3_Stop]
# ----- 一次性清理和初始化透传服务 ----- # ----- 一次性清理和初始化透传服务 -----
@ -1109,7 +1110,7 @@ def program100(sock, ser, turn_on_relay_start, turn_off_relay_start, ex_turn_on_
return False return False
def program101(sock, ser, turn_on_relay_start, turn_off_relay_start, ex_turn_on_relay_start, ex_turn_off_relay_start, delay): def program101(sock, ser, turn_on_relay_start, turn_off_relay_start, ex_turn_on_relay_start, ex_turn_off_relay_start, delay, delay1):
global sample_time, lookahead_time global sample_time, lookahead_time
lookahead_time = 400 # 前瞻时间 (ms) lookahead_time = 400 # 前瞻时间 (ms)
@ -1155,12 +1156,13 @@ def program101(sock, ser, turn_on_relay_start, turn_off_relay_start, ex_turn_on_
#0.延时操作,点位延时 #0.延时操作,点位延时
#1.添加点位延时 #1.添加点位延时
NUM = int(delay * 1000 / sample_time) NUM = int(delay * 1000 / sample_time)
NUM1 = int(delay1 * 1000 / sample_time)
# 2.第一道喷涂延时点位 # 2.第一道喷涂延时点位
last_point_3_4 = Pose_3_4_M[-1].copy() # 先复制最后一个点位 last_point_3_4 = Pose_3_4_M[-1].copy() # 先复制最后一个点位
Pose_3_4_Stop = [last_point_3_4.copy() for _ in range(NUM)] # 每个点位独立副本 Pose_3_4_Stop = [last_point_3_4.copy() for _ in range(NUM)] # 每个点位独立副本
# 3.第2道喷涂延时点位 # 3.第2道喷涂延时点位
last_point_4_3 = Pose_4_3_M[-1].copy() last_point_4_3 = Pose_4_3_M[-1].copy()
Pose_4_3_Stop = [last_point_4_3.copy() for _ in range(NUM)] Pose_4_3_Stop = [last_point_4_3.copy() for _ in range(NUM1)]
trajectories = [Pose_3_M, Pose_3_4_M,Pose_3_4_Stop, Pose_4_M, Pose_4_3_M,Pose_4_3_Stop] trajectories = [Pose_3_M, Pose_3_4_M,Pose_3_4_Stop, Pose_4_M, Pose_4_3_M,Pose_4_3_Stop]
# ----- 一次性清理和初始化透传服务 ----- # ----- 一次性清理和初始化透传服务 -----

Loading…
Cancel
Save