编程萌新,博客仅为记录自己的工作历程
Day1:
主要完成工作:pyserial串口通信平台搭建完成,基本操作函数封装完成,可以控制四个电机分别转动角度,用户可以不借助串口调试助手输入麻烦的16进制指令,pctomcu完成
明日计划完成工作:编写mcutopc回程检验函数,封装其他参数函数
import serial
ser=serial.Serial(port='COM6',
baudrate=115200,
bytesize=serial.EIGHTBITS,
timeout=0.5)
usercmd={}
def int_transform_4hex(intNums):#输入正负十进制,转4位16进制
if intNums < 0: #如果是负数
str_list_16nums = list(hex(intNums%65536))
insert_num = 'f'
else: #如果是正数
str_list_16nums = list(hex(intNums))
insert_num = '0'
#补位数
if len(str_list_16nums) == 5:
str_list_16nums.insert(2, insert_num)
elif len(str_list_16nums) == 4:
str_list_16nums.insert(2, insert_num)
str_list_16nums.insert(2, insert_num)
elif len(str_list_16nums) == 3:
str_list_16nums.insert(2, insert_num)
str_list_16nums.insert(2, insert_num)
str_list_16nums.insert(2, insert_num)
else:
pass
crc_data = "".join(str_list_16nums) # 用""把数组的每一位结合起来 组成新的字符串
hexNums = crc_data[2:4] + ' ' + crc_data[4:]
return hexNums
def cmdinput():#用户输入指令
for value in range(1,6):
if value==1:#用户输入工作模式
name='mode'
value_input=input("plz input the opreating mode: \n00:Rel_Agl 01:Abs_Agl 02:Spd 03:torquectrl 04:loosing 05:zero ff:off\t")
value_input=int(value_input)
usercmd[name]=value_input
else:#用户输入各个电机的参数数值
name=f"motor{value-1}"
value_input=input(f"plz enter the corresponding value of the motor{value-1}\t")
value_input=int(value_input)
usercmd[name]=value_input
def cmdstr_get():#将用户输入的十进制转化为十六进制的字符串
i=0
for name in usercmd.keys():
if i==0:
cmdstr_mode=str(int_transform_4hex(usercmd[name])[2:])
elif i==1:
cmdstrm1=int_transform_4hex(usercmd[name])
elif i==2:
cmdstrm2=int_transform_4hex(usercmd[name])
elif i==3:
cmdstrm3=int_transform_4hex(usercmd[name])
elif i==4:
cmdstrm4=int_transform_4hex(usercmd[name])
i+=1
cmdstr=f"{cmdstr_mode} {cmdstrm1} {cmdstrm2} {cmdstrm3} {cmdstrm4} 00 00 0A"
return cmdstr
def inputbytes():#将字符串转化为可执行的bytes形式,并且开始写入
byte_cmd=bytes.fromhex(cmdstr_get().strip())
ser.write(byte_cmd)
Day2:
主要完成工作:
今日完成了对于电机相对绝对角度,转速转矩调整函数的封装,丰富了用户操作,若是放松或是归零操作,用户不需输入0x00指令,关机指令简化成yn,将各函数分别装入不同文件(分为src inc文件类型),方便查找检查
明日计划完成:
回程检验函数完善,debug操作函数
Day3:
研读文献
X. Q. Li, Y. Qian, R. Li, X. Y. Niu, H. Qiao, “Robust form-closure grasp planning for 4-pin gripper using learning-based Attractive Region in Environment,” Neurocomputing, vol. 384, pp. 268-281, 2020.
了解参数计算,明日完成函数编写