首页
统计
留言
Search
1
测试1
1,974 阅读
2
测试2
1,261 阅读
3
typecho内嵌B站视频
1,052 阅读
4
测试3神经猫
1,028 阅读
5
Matlab 计算机视觉实验-UI
978 阅读
Java学习记录
Matlab学习记录
测试
路径规划学习
登录
Search
Mango57
累计撰写
22
篇文章
累计收到
2
条评论
首页
栏目
Java学习记录
Matlab学习记录
测试
路径规划学习
页面
统计
留言
搜索到
8
篇与
测试
的结果
2022-09-16
pve安装黑群晖
1、创建虚拟机2、分离删除硬盘和dvd3、引导4、添加硬盘选sata5、修改引导顺序6、启动打开群晖助手或 https://finds.synology.com/
2022年09月16日
585 阅读
0 评论
0 点赞
2022-07-06
航迹推算张
import serial import time import math def get_date(): """ 此函数通过串口接收数据,并把每一帧数据提取出来,以列表的形式存储每一帧数据,为后续数据提取做基础 :return: a_list 每一帧数据的列表 """ ser = serial.Serial( # 下面这些参数根据情况修改 port='COM5', # 串口 baudrate=115200, # 波特率 parity=serial.PARITY_NONE, # 校验位 stopbits=serial.STOPBITS_ONE, # 停止位 bytesize=serial.EIGHTBITS, # 字节大小 timeout=1) while True: msg = ser.read_all() # 读取全部数据 # msg = ser.readline() # 读取遇换行符换行 # msg = b'\x00\x00\x00\x00\x00\x00\x00\xfb\xa6\xfe46(\x00\x00\x00\x01\x00\x01_\xe8E' 原始数据格式,后续要做转换 # print('raw', msg) """ 备用代码 d = 1 for key in msg: if d % 24 == 0: print(hex(key)) else: print(hex(key), end=' ') d = d + 1 """ a_list = [] # 空列表 for key in msg: a = hex(key) # 将stm32发来的原始数据转换为16进制 # 提取包含帧头帧尾24字节的16进制数据并保存到a_list列表中 while a == "0x7b" and len(a_list) < 25: for key01 in msg: a = hex(key01) a_list.append(a) if len(a_list) == 24 and a_list[2] != "0x7b": return a_list pos_x = 0 # 此处赋予小车初始位姿 接收二维码赋予的初值 pos_y = 0 theta = 0 sampling_time = 0.02 # 积分时间 while True: b_list = get_date() # 测试代码 # print(b_list[2], b_list[3]) # print(int(b_list[2], 16), int(b_list[3], 16), int(b_list[19], 16)) # print(type(int(b_list[3], 16))) # print("小车速度:%f 小车角速度:%f" % ((float(int(b_list[3], 16))) / 1000, (float(int(b_list[19], 16))) / 3753)) # 此处用来判断小车前进或者后退,逆时针旋转或者顺时针旋转。然后在此基础上赋予速度变量和角速度变量正负号 # print(type(bin(int(b_list[2], 16))[2])) 注意此处为字符串类型,需要做转换才能判断 【易搞错,重要!】 if int(bin(int(b_list[2], 16))[2]) == 0: # 判断高八位中的最高位二进制是否为0,若为0,则小车前进,在这里进行了二进制转换 robot_vel = (float(int(b_list[2] + b_list[3][2:], 16))) / 1000 else: robot_vel = -((int("0xffff", 16) - int(b_list[2] + b_list[3][2:], 16)) / 1000) if int(bin(int(b_list[18], 16))[2]) == 0: # 判断高八位中的最高位二进制是否为0,若为0,则小车绕Z轴逆时针旋转正方向,在这里进行了二进制转换 angular_velocity_z = (float(int(b_list[18] + b_list[19][2:], 16))) / 3753 else: angular_velocity_z = -((int("0xffff", 16) - int(b_list[18] + b_list[19][2:], 16)) / 3753) # robot_vel = (float(int(b_list[3], 16))) / 1000 此为未加判断速度和角速度方向时的旧代码 # angular_velocity_z = (float(int(b_list[19], 16))) / 3753 if robot_vel != float(0): # 有编码器的速度则进行计算 if angular_velocity_z < float(0.03): # imu静止时也会有微小输出,设置一个阈值来表示小车实际运动了 angular_velocity_z = float(0) theta += angular_velocity_z * sampling_time pos_x += (robot_vel * math.cos(theta)) * sampling_time pos_y += (robot_vel * math.sin(theta)) * sampling_time else: theta += angular_velocity_z * sampling_time pos_x += (robot_vel * math.cos(theta)) * sampling_time pos_y += (robot_vel * math.sin(theta)) * sampling_time else: angular_velocity_z = 0 # 若小车速度为0,此处应赋值等于初始位姿,即位姿不发生变化 print("小车速度是:%f 航向数据是:%f x轴数据是:%f y轴的数据是:%f" % (robot_vel, theta, pos_x, pos_y))
2022年07月06日
412 阅读
0 评论
0 点赞
2022-05-10
自用小代码
ubuntu20 desktop 新增屏幕共享选项sudo apt install vino gsettings set org.gnome.Vino require-encryption false //普通用户下运行Vmware 安装虚拟机时调节窗口大小xrandr -s 1280x800
2022年05月10日
398 阅读
0 评论
0 点赞
2022-04-30
此内容被密码保护
加密文章,请前往内页查看详情
2022年04月30日
80 阅读
0 评论
0 点赞
2021-02-13
测试3神经猫
2021年02月13日
1,028 阅读
0 评论
0 点赞
1
2