【人工智能】-- 智能机器人

2a20c54b85e042bfa2440367ae4807e9.gif

https://blog.csdn.net/2302_76516899?spm=1000.2115.3001.5343

个人主页:欢迎来到 Papicatch的博客

 课设专栏 :学生成绩管理系统

专业知识专栏: 专业知识 

文章目录

🍉引言

🍉机器人介绍

🍈机器人硬件

🍍机械结构

🍍传感器

🍍控制系统 

🍍能源系统

🍍通信模块

🍈开发环境

🍍ROS(Robot Operating System)

🍍Python

🍍C++

🍍Arduino

🍍V-REP(Virtual Robot Experimentation Platform)

🍈ROS 基本操作详细介绍

🍍工作空间(Workspace)

🍍创建工作空间

🍍创建 ROS 包(Package)

🍍编译包和工作空间 

🍍运行节点(Node)

🍍查看节点信息

🍍发布(Publish)和订阅(Subscribe)话题(Topic)

🍍查看话题信息

🍍服务(Service)和客户端(Client)

🍍参数(Parameter)

🍈OpenCV 在机器人视觉开发

🍍图像采集与预处理

🍍目标检测与识别

🍍特征提取与匹配

🍍视觉跟踪

🍍深度估计

🍍图像拼接与全景图生成

🍈语言合成开发

🍍原理和方法

🍍开发流程

🍍关键技术和挑战

🍍常用工具和框架

🍍应用领域

🍈SLAM激光雷达建图

🍍激光雷达原理

🍍SLAM 流程

🍍关键技术

🍍建图算法

🍍应用场景

🍉总结


2a20c54b85e042bfa2440367ae4807e9.gif

🍉引言

        在当今科技飞速发展的时代,智能机器人正逐渐成为改变我们生活和工作方式的重要力量。

        智能机器人拥有强大的感知能力,它们能够通过传感器收集周围环境的信息,例如光线、声音、温度等。这使得它们可以迅速对环境变化做出反应。比如在家庭中,扫地机器人能够感知家具的位置,避免碰撞,高效完成清扫任务。

        在工业领域,智能机器人的精度和效率更是令人瞩目。它们可以不知疲倦地进行重复且高精度的操作,大幅提高生产效率和产品质量。例如汽车生产线上的焊接机器人,能够精准地完成复杂的焊接工作,且质量稳定。

        智能机器人还具备出色的学习和适应能力。通过不断接收数据和反馈,它们能够优化自己的行为和决策。例如客服机器人,随着与用户交流次数的增加,能够更准确地理解用户需求并提供更满意的回答。

        然而,智能机器人的发展也带来了一些挑战。比如可能导致部分传统岗位的消失,引发就业结构的调整。但从另一方面看,这也促使人们提升自身技能,去从事更具创造性和复杂的工作。

🍉机器人介绍

🍈机器人硬件

STM32硬件框架图

机器人的硬件系统是其实现各种功能的基础,主要包括以下几个关键部分:

🍍机械结构

  • 机身框架:通常由高强度的金属材料或复合材料制成,为机器人的其他部件提供支撑和安装基础。例如,工业机器人的机身框架需要具备足够的刚性和稳定性,以承受重负载和高精度的操作。
  • 关节和驱动器:用于实现机器人的运动,常见的关节类型有旋转关节和直线关节。驱动器可以是电动、液压或气动的,如电动关节中的伺服电机,能够精确控制关节的运动角度和速度。
  • 末端执行器:根据机器人的应用需求而定,如机械爪用于抓取物体,喷枪用于喷漆等。

🍍传感器

  • 位置和姿态传感器:如编码器、陀螺仪和加速度计等,用于测量机器人关节的位置、速度和姿态信息,以实现精确的运动控制。
  • 视觉传感器:包括摄像头、深度相机等,使机器人能够感知周围环境的图像和物体的形状、颜色等特征。例如,服务机器人可以通过视觉传感器识别用户的面部表情和手势。
  • 力传感器:安装在机器人的关节或末端执行器上,用于检测接触力和力矩,实现力控操作。比如在装配机器人中,力传感器可以确保零件的装配精度和避免过度用力损坏零件。

🍍控制系统 

  • 控制器:通常是一个高性能的微处理器或计算机,负责处理传感器数据、生成控制指令和执行算法。
  • 驱动器控制器:将控制器发出的指令转换为驱动器所需的电信号,实现对电机、液压泵等驱动器的精确控制。

🍍能源系统

  • 电池:为移动机器人或便携式机器人提供电能,如家用扫地机器人使用锂电池。
  • 电源供应:对于固定安装的机器人,通过电源线连接到市电网络获取稳定的电源。

🍍通信模块

  • 有线通信:如以太网、USB 等,用于与外部设备进行高速数据传输和控制指令的交互。
  • 无线通信:如 Wi-Fi、蓝牙等,使机器人能够与其他设备进行灵活的通信,方便远程控制和数据传输。

        以一款常见的工业搬运机器人为例,其机械结构采用坚固的铝合金框架,配备高精度的电动关节和强大的抓取末端执行器。通过安装在关节处的编码器和力传感器,以及机身顶部的视觉摄像头,能够精确感知物体的位置和状态,并在控制器的指挥下完成准确的搬运操作。同时,通过 Wi-Fi 模块与工厂的控制系统进行通信,实现协同工作。

🍈开发环境

🍍ROS(Robot Operating System)

  • 这是一个广泛使用的开源机器人操作系统,提供了丰富的功能包和工具,支持多种编程语言(如 C++、Python)。
  • 具有强大的通信机制,便于不同组件之间的数据交换和协作。
  • 例如,通过 ROS 可以轻松集成激光雷达、摄像头等传感器,并实现机器人的导航、路径规划等功能。
  • 提供了直观的图形化编程界面,适合算法设计和仿真。
  • 有专门的机器人工具箱,可用于机器人运动学、动力学建模和控制算法开发。
  • 比如在设计机器人的轨迹跟踪控制器时,可以在 Simulink 中进行快速建模和仿真验证。

🍍Python

  • 简单易学,拥有丰富的科学计算和机器学习库(如 NumPy、SciPy、TensorFlow 等)。
  • 常用于开发机器人的感知、决策和控制算法。
  • 例如,使用 Python 中的 OpenCV 库处理摄像头采集的图像数据。

🍍C++

  • 执行效率高,适合对性能要求严格的机器人底层驱动和实时控制程序开发。
  • 例如,在编写机器人关节的运动控制代码时,C++ 可以确保实时性和准确性。

🍍Arduino

  • 对于简单的机器人项目和硬件原型开发非常方便。
  • 有大量的开源库和硬件扩展板可供选择。
  • 比如制作一个小型的移动机器人,可以使用 Arduino 控制电机和读取传感器数据。

🍍V-REP(Virtual Robot Experimentation Platform)

  • 一款强大的机器人仿真软件,支持多种机器人模型和传感器的模拟。
  • 可以在虚拟环境中进行机器人的开发和测试,减少实际实验的成本和风险。

🍍Unity

  • 主要用于开发具有良好可视化效果的机器人交互应用和虚拟现实场景。

🍈ROS 基本操作详细介绍

        ROS(Robot Operating System)是一个用于机器人开发的开源框架,以下是一些基本操作的详细介绍:

🍍工作空间(Workspace)

  • 工作空间是开发 ROS 项目的目录结构。
  • 通常包含 src(存放源代码)、build(编译生成的中间文件)和 devel(可执行文件和环境设置脚本)等文件夹。

🍍创建工作空间

  • 在终端中使用以下命令创建工作空间:
    mkdir -p ~/catkin_ws/src
    cd ~/catkin_ws
    catkin_make

🍍创建 ROS 包(Package)

  • 在工作空间的 src 目录下,使用以下命令创建包:
    cd ~/catkin_ws/src
    catkin_create_pkg <package_name> <dependencies>
  • 例如:catkin_create_pkg my_package roscpp rospy std_msgs

🍍编译包和工作空间 

  • 在工作空间的根目录下执行 catkin_make 命令进行编译。

🍍运行节点(Node)

  • 节点是 ROS 中的基本执行单元。
  • 例如,运行一个名为 my_node 的节点:
    rosrun <package_name> <node_name>

🍍查看节点信息

  • 使用 rosnode list 命令查看当前运行的节点列表。
  • rosnode info <node_name> 查看指定节点的详细信息。

🍍发布(Publish)和订阅(Subscribe)话题(Topic)

  • 节点通过发布和订阅话题进行通信。
  • 发布数据:
    import rospy
    from std_msgs.msg import String

    def publisher():
        rospy.init_node('publisher_node', anonymous=True)
        pub = rospy.Publisher('my_topic', String, queue_size=10)
        rate = rospy.Rate(10)  # 10Hz

        while not rospy.is_shutdown():
            message = "Hello, ROS!"
            pub.publish(message)
            rate.sleep()

    if __name__ == '__main__':
        try:
            publisher()
        except rospy.ROSInterruptException:
            pass
  • 订阅数据:
    import rospy
    from std_msgs.msg import String

    def callback(data):
        rospy.loginfo(rospy.get_caller_id() + "I heard %s", data.data)

    def subscriber():
        rospy.init_node('subscriber_node', anonymous=True)
        rospy.Subscriber("my_topic", String, callback)
        rospy.spin()

    if __name__ == '__main__':
        subscriber()

🍍查看话题信息

  • rostopic list 查看当前活跃的话题列表。
  • rostopic info <topic_name> 查看指定话题的详细信息。
  • rostopic echo <topic_name> 打印话题上发布的数据。

🍍服务(Service)和客户端(Client)

  • 服务用于节点之间的请求-响应通信。
  • 定义服务:
    from my_package.srv import AddTwoInts, AddTwoIntsResponse

    def add_two_ints(req):
        return AddTwoIntsResponse(req.a + req.b)
  • 服务端代码:
    import rospy
    from my_package.srv import AddTwoInts

    rospy.init_node('add_two_ints_server')
    s = rospy.Service('add_two_ints', AddTwoInts, add_two_ints)
    rospy.spin()
  • 客户端代码:
    import rospy
    from my_package.srv import AddTwoInts

    def call_add_two_ints():
        rospy.wait_for_service('add_two_ints')
        try:
            add_two_ints = rospy.ServiceProxy('add_two_ints', AddTwoInts)
            resp1 = add_two_ints(1, 2)
            return resp1.sum
        except rospy.ServiceException as e:
            print("Service call failed: %s" % e)

    if __name__ == "__main__":
        print("Result: %s" % call_add_two_ints())

🍍参数(Parameter)

  • 节点可以使用参数来配置。
  • 设置参数:rosparam set <parameter_name> <value>
  • 获取参数:rosparam get <parameter_name>

🍈OpenCV 在机器人视觉开发

        OpenCV(Open Source Computer Vision Library)是一个广泛应用于计算机视觉领域的开源库,在机器人视觉开发中发挥着重要作用。

🍍图像采集与预处理

  • 机器人可以通过摄像头采集图像。使用 OpenCV 可以对采集到的图像进行去噪、灰度化、二值化等预处理操作,以提高后续图像处理的效率和准确性。
  • 例如,通过高斯滤波去除图像中的噪声,增强图像的质量。

🍍目标检测与识别

  • 利用 OpenCV 的各种算法和函数,实现对特定目标的检测和识别。
  • 如使用 Haar 特征和级联分类器进行人脸检测,或者基于形状、颜色等特征识别特定的物体。

🍍特征提取与匹配

  • 提取图像中的特征点,如 SIFT(Scale-Invariant Feature Transform)、SURF(Speeded Up Robust Features)等,并进行特征匹配,用于机器人的定位、地图构建等任务。
  • 例如,在机器人同时定位与地图构建(SLAM)中,通过特征匹配来确定机器人在环境中的位置。

🍍视觉跟踪

  • 实现对运动目标的跟踪。
  • 可以使用基于颜色、形状或特征的跟踪算法,让机器人能够持续跟踪感兴趣的目标。

🍍深度估计

  • 结合立体视觉或结构光等技术,使用 OpenCV 估计场景的深度信息,帮助机器人理解环境的三维结构。

🍍图像拼接与全景图生成

  • 当机器人需要获取更广阔的视野时,可以将多个图像拼接成全景图。

以下是一个简单的示例,展示如何使用 OpenCV 进行图像中的圆形物体检测:

import cv2
import numpy as np

def detect_circles(image_path):
    # 读取图像
    image = cv2.imread(image_path)
    # 转换为灰度图像
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    # 进行高斯模糊
    blurred = cv2.GaussianBlur(gray, (9, 9), 2)
    # 霍夫圆检测
    circles = cv2.HoughCircles(blurred, cv2.HOUGH_GRADIENT, 1, 20,
                               param1=50, param2=30, minRadius=0, maxRadius=0)

    if circles is not None:
        circles = np.uint16(np.around(circles))
        for i in circles[0, :]:
            # 绘制圆形
            cv2.circle(image, (i[0], i[1]), i[2], (0, 255, 0), 2)
            cv2.circle(image, (i[0], i[1]), 2, (0, 0, 255), 3)

    cv2.imshow('Circles Detected', image)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

detect_circles('image.jpg')

        在实际的机器人视觉开发中,通常会结合机器人的运动控制、传感器数据融合等方面,充分发挥 OpenCV 的图像处理能力,为机器人提供准确的环境感知和决策依据。

🍈语言合成开发

        语言合成,也称为文本到语音(Text-to-Speech,TTS)转换,是将输入的文本转换为可听的语音输出的技术。以下是对语言合成开发的详细介绍:

🍍原理和方法

  • 基于规则的方法:使用预定义的语音规则和模式将文本转换为语音。但这种方法灵活性较差,语音质量有限。
  • 拼接合成:将预先录制的语音片段拼接起来生成语音。语音的自然度相对较高,但需要大量的录音数据和复杂的拼接算法。
  • 参数合成:通过对语音参数(如基频、时长、幅度等)进行建模来生成语音。具有较高的灵活性,但可能在自然度上稍逊一筹。
  • 深度学习方法:特别是基于神经网络的模型,如循环神经网络(RNN)、长短时记忆网络(LSTM)和 Transformer 架构,已经成为当前语言合成的主流方法。这些模型能够学习从文本到语音特征的复杂映射,生成更加自然和流畅的语音。

🍍开发流程

  • 数据收集:收集大量的文本和对应的语音数据,用于模型的训练。
  • 文本预处理:对输入的文本进行清洗、分词、词性标注等处理,以便模型更好地理解。
  • 特征提取:从语音数据中提取声学特征,如梅尔频率倒谱系数(MFCC)等。
  • 模型训练:使用选择的方法和架构训练模型,优化模型的参数以最小化预测语音与真实语音之间的差异。
  • 模型评估:使用各种指标,如主观听觉测试(MOS)、客观指标(如相似度、失真度等)来评估模型的性能。
  • 优化和调整:根据评估结果对模型进行优化,调整超参数、增加数据、改进模型结构等。
  • 部署和集成:将训练好的模型部署到实际应用中,与其他系统进行集成,如语音助手、有声读物生成等。

🍍关键技术和挑战

  • 韵律和情感表达:使合成的语音具有正确的语调、重音和情感色彩,以提高自然度和表现力。
  • 多语言支持:能够处理多种语言的文本,并生成相应语言的自然语音。
  • 个性化:根据特定的说话人特征生成个性化的语音。
  • 实时性:在一些应用场景中,如实时交互系统,需要快速生成语音。
  • 模型压缩和优化:以便在资源受限的设备上运行。

🍍常用工具和框架

  • TensorFlow:广泛使用的深度学习框架,可用于构建和训练语言合成模型。
  • PyTorch:另一个流行的深度学习框架,提供了灵活的开发环境。
  • Mozilla TTS:一个基于 Python 的开源 TTS 工具包。
  • Microsoft Azure Cognitive Services - Speech:提供了强大的语音合成服务,可通过 API 调用。

🍍应用领域

  • 智能语音助手:如手机中的语音助手、智能音箱等。
  • 有声读物和电子书籍:将文字内容转换为语音,方便阅读。
  • 导航系统和语音提示:为驾驶、出行等提供语音导航。
  • 辅助教学和学习:为教育软件生成语音讲解。
  • 客服机器人:通过语音回答用户的问题。

        例如,使用 TensorFlow 开发一个基于 Transformer 的语言合成模型,首先需要定义模型的架构,包括编码器和解码器部分,然后使用准备好的数据集进行训练。在训练过程中,通过不断调整学习率、层数等参数来优化模型性能。训练完成后,可以将模型部署到服务器上,通过网络接口接收文本输入,并返回合成的语音数据。

🍈SLAM激光雷达建图

        SLAM(Simultaneous Localization and Mapping,即时定位与地图构建)技术结合激光雷达在机器人和自动驾驶等领域中具有重要应用,以下是对 SLAM 激光雷达建图的详细分析:

🍍激光雷达原理

        激光雷达通过发射激光束并测量反射光的时间和强度来获取周围环境的距离信息。它能够快速、精确地扫描周围物体,提供大量的点云数据。

🍍SLAM 流程

  • 传感器数据采集:激光雷达不断扫描环境,获取点云数据。
  • 前端处理:
    • 特征提取:从点云中提取有代表性的特征,如直线、平面等。
    • 数据关联:将当前帧的特征与之前的帧进行匹配和关联。
  • 位姿估计:根据数据关联结果,估计机器人的位姿(位置和姿态)。
  • 后端优化:
    • 构建优化问题:将位姿估计的误差作为优化目标。
    • 求解优化:使用非线性优化算法(如高斯牛顿法、列文伯格-马夸尔特法等)来优化位姿和地图。
  • 地图构建:
    • 点云融合:将不同时刻获取的点云整合到一个统一的地图中。
    • 地图表示:可以采用栅格地图、八叉树地图等形式来表示环境。

🍍关键技术

  • 特征提取与匹配:高效准确地提取和匹配特征对于数据关联和位姿估计至关重要。
  • 回环检测:检测机器人是否回到之前访问过的位置,以消除累积误差。
  • 鲁棒性:应对环境中的动态物体、噪声和传感器误差等干扰。
  • 实时性:在保证精度的前提下,能够快速处理数据并实时更新地图。

🍍建图算法

  • GMapping:基于粒子滤波的算法,适用于较小规模的环境。
  • Cartographer:使用图优化的方法,能够构建高质量的二维地图。
  • LOAM(LiDAR Odometry and Mapping):针对激光雷达数据特点设计的算法,在速度和精度上有较好的平衡。

🍍应用场景

  • 室内机器人导航:如仓储机器人、清洁机器人等。
  • 自动驾驶:为车辆提供环境感知和定位信息。
  • 虚拟现实和增强现实:构建虚拟环境的地图。

        例如,在一个仓储环境中,使用安装有激光雷达的移动机器人进行 SLAM 建图。激光雷达扫描到的点云数据经过前端处理提取特征,通过位姿估计确定机器人的位置,后端优化消除累积误差,最终构建出仓库的二维栅格地图。机器人可以根据这个地图进行自主导航和货物搬运。

🍉总结

        智能机器人作为现代科技的杰出成果,正以前所未有的速度改变着我们的生活和工作方式。

        智能机器人融合了众多先进技术,如人工智能、机器学习、传感器技术、计算机视觉和自然语言处理等。它们具备强大的感知能力,能够精准地获取和理解周围环境的信息,通过复杂的算法和模型进行分析和决策。

        在工业领域,智能机器人不知疲倦地执行着高精度、高重复性的任务,大幅提升了生产效率和产品质量,降低了生产成本和人为错误。从汽车制造到电子产品组装,它们的身影无处不在。

        在服务行业,智能机器人为人们提供了便捷和高效的服务。例如,在医疗领域,它们可以协助医生进行手术、照顾患者;在物流行业,它们能够实现货物的分拣和搬运;在家庭中,它们可以承担清洁、安防等任务。

        智能机器人还在不断拓展其应用领域,如教育、科研、娱乐等。它们可以作为个性化的学习伙伴,激发学生的学习兴趣;在科研中,协助科学家进行复杂的实验和数据采集;在娱乐方面,为人们带来全新的互动体验。

        然而,智能机器人的发展也带来了一些挑战。例如,可能导致部分传统岗位的消失,引发就业结构的调整;在安全和伦理方面,也需要制定相关的法规和准则,以确保其合理、安全地应用。

        尽管存在挑战,但智能机器人的发展前景依然广阔。随着技术的不断进步,它们将变得更加智能、灵活和人性化,为人类创造更多的价值,成为推动社会进步和发展的重要力量。

2a20c54b85e042bfa2440367ae4807e9.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/779266.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于Android Studio电影购票系统

目录 项目介绍 图片展示 运行环境 获取方式 项目介绍 主要实为了方便用户随时随地进行电影购票。在配色方面选择了一些富有电影元素的颜色。主要能够实现的功能与流程为&#xff1a; 1.用户首先需要注册用户名填写密码。 2.用户可以用之前注册的用户名和密码进行登录。 3.登…

键盘异常的检测与解决方案

今天对象用Word写文档&#xff0c;按下Ctrl的时候&#xff0c;页面不停地上下滑动&#xff0c;导致无法正常编辑文本。 重启之后&#xff0c;仍然无法解决&#xff0c;推断是键盘坏了。 但是当按下Fn或其他功能键&#xff0c;焦点移除&#xff0c;页面就不会再抖动了。 现在…

[CP_AUTOSAR]_分层软件架构_内容详解

目录 1、软件分层内容1.1、Microcontroller Abstraction Layer1.2、ECU Abstraction Layer1.2.1、I/O HW Abstraction1.2.2、Communication Hardware Abstraction1.2.3、Memory Hardware Abstraction1.2.4、Onboard Device Abstraction1.2.5、Crypto Hardware Abstraction 1.3、…

Docker安装遇到问题:curl: (7) Failed to connect to download.docker.com port 443: 拒绝连接

问题描述 首先&#xff0c;完全按照Docker官方文档进行安装&#xff1a; Install Docker Engine on Ubuntu | Docker Docs 在第1步&#xff1a;Set up Dockers apt repository&#xff0c;执行如下指令&#xff1a; sudo curl -fsSL https://download.docker.com/linux/ubu…

超赞的8款生活APP推荐!

AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频https://aitools.jurilu.com/每天都会有几十个应用程序发布&#xff0c;一款用得好的应用程序可以极大地丰富您的生活。对于那些不知道哪个应用程序适合您以及您需要哪个应用程…

将excel表格转换为element table(下)

在‘将excel表格转换为element table(上)’我们把excel 转换后通过数据重构绑定到了element table上&#xff0c;现在要做的就是根据源文件进行行列进行合并操作 先看看最终处理的结果 这里在一步步分析实现步骤。 先分析一下合并的逻辑 大致思路理理如上。 思路有了接下来…

微信小程序的农产品商城-计算机毕业设计源码46732

摘 要 随着社会经济的发展和人们消费观念的升级&#xff0c;农产品电商行业逐渐壮大。但传统的农产品销售模式存在信息不透明、中间环节复杂等问题&#xff0c;而微信小程序作为一种便捷的移动应用平台&#xff0c;为农产品商城的建设提供了新的可能性。通过微信小程序的设计与…

上位机图像处理和嵌入式模块部署(mcu项目1:用户手册)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 一个完整的产品&#xff0c;除了上位机软件、固件、硬件、包装之外&#xff0c;一般还需要一个用户手册。好的用户手册应该能够兼顾到大多数人的认…

开发个人Go-ChatGPT--1 项目介绍

开发个人Go-ChatGPT--1 项目介绍 开发个人Go-ChatGPT--1 项目介绍知识点大纲文章目录项目地址 开发个人Go-ChatGPT–1 项目介绍 本文将以一个使用Ollama部署的ChatGPT为背景&#xff0c;主要还是介绍和学习使用 go-zero 框架&#xff0c;开发个人Go-ChatGPT的服务器后端&#x…

电脑为什么会提示丢失msvcp140.dll?怎么修复msvcp140.dll文件会靠谱点

电脑为什么会提示丢失msvcp140.dll&#xff1f;其实只要你的msvcp140.dll文件一损坏&#xff0c;然而你的电脑程序需要运用到这个msvcp140.dll文件的时候&#xff0c;就回提示你丢失了msvcp140.dll文件&#xff01;因为没有这个文件&#xff0c;你的很多程序都用不了的。今天我…

Redis基础教程(十三):Redis lua脚本

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

[240706] 史蒂夫·乔布斯近40年前就预言了苹果智能 | Globalping 用于网络诊断和性能测试的命令行工具

目录 史蒂夫.乔布斯近40年前就预言了苹果智能Globalping 用于网络诊断和性能测试的命令行工具功能1. Ping2. Traceroute3. DNS 查询4. HTTP 请求 使用场景1. 网络性能监测2. 故障排除3. 网站性能优化4. 服务可用性监控 优势1. [全球覆盖](https://www.jsdelivr.com/network)2. …

[Vite]Vite插件生命周期了解

[Vite]Vite插件生命周期了解 Chunk和Bundle的概念 Chunk&#xff1a; 在 Vite 中&#xff0c;chunk 通常指的是应用程序中的一个代码片段&#xff0c;它是通过 Rollup 或其他打包工具在构建过程中生成的。每个 chunk 通常包含应用程序的一部分逻辑&#xff0c;可能是一个路由视…

5个实用的文章生成器,高效输出优质文章

在自媒体时代&#xff0c;优质内容的持续输出是吸引读者、提升影响力的关键。然而&#xff0c;对于许多自媒体创作者来说&#xff0c;频繁的创作难免会遭遇灵感枯竭、创作不出文章的困扰。此时&#xff0c;文章生成器便成为了得力的助手。文章生成器的优势能够快速自动生成高质…

C++怎么解决不支持字符串枚举?

首先&#xff0c;有两种方法&#xff1a;使用命名空间和字符串常量与使用 enum class 和辅助函数。 表格直观展示 特性使用命名空间和字符串常量使用 enum class 和辅助函数类型安全性低 - 编译器无法检查字符串有效性&#xff0c;运行时发现错误高 - 编译期类型检查&#xf…

SCI论文发表:构建清晰论文框架的10个原则 (附思维导图,建议收藏)

我是娜姐 迪娜学姐 &#xff0c;一个SCI医学期刊编辑&#xff0c;探索用AI工具提效论文写作和发表。 论文框架是什么&#xff1f;对我们完成一篇论文有哪些作用&#xff1f; 之前娜姐分享过一篇深圳湾实验室周耀旗教授关于论文写作的文章&#xff0c;他提出的第一个重要原则就…

Linux笔记之二

Linux笔记之二 一、文件属性学习二、软链接和硬链接1.软链接2.硬链接 三、Vim编辑器四、账号管理总结 一、文件属性学习 Linux 系统是一种典型的多用户系统&#xff0c;不同的用户处于不同的地位&#xff0c;拥有不同的权限。为了保护系统的安全性&#xff0c;Linux系统对不同…

前后端分离系统

前后端分离是一种现代软件架构模式&#xff0c;特别适用于Web应用开发&#xff0c;它强调将用户界面&#xff08;前端&#xff09;与服务器端应用逻辑&#xff08;后端&#xff09;相分离。两者通过API接口进行数据交互。这种架构模式的主要优势在于提高开发效率、维护性和可扩…

【LInux】从动态库的加载深入理解页表机制

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

Xilinx FPGA:vivado关于同步fifo的两个小实验

一、实验一&#xff1a;在同步fifo里写一个读一个&#xff08;写入是8个位宽&#xff0c;读出是16个位宽&#xff09; 程序&#xff1a; timescale 1ns / 1ps //要求写一个读一个 //读写时钟一致&#xff0c;写是8个位宽&#xff0c;读是16个位宽 module sync_fifo_test(inpu…