LabVIEW开发基于直流电机的高精度定位火星车

LabVIEW开发基于直流电机的高精度定位火星车

火星探测器一直用于火星探测的自动无人驾驶车辆。这些机器人远程车辆用于避免对人类不公平的条件,并减少与之相关的危险。这一研究领域引起了许多科学家和研究人员的注意,这导致了这一技术领域的显着进步。已经设计了许多不同的数字和模拟电路来控制火星探测器的移动系统。控制系统的设计主要取决于车辆的结构。当车辆结构具有更大的灵活性来自行通过不同的环境条件时,系统变得更加复杂。系统使用LabVIEW和紧凑型RIO作为控制器减少硬件来控制直流电机。

火星探测器的底盘采用摇杆转向架配置设计。这种车辆设计由六个轮子组成,如果漫游车移动,在不规则的表面上,车辆的整个重量不会放在任何一个轮子上。每个车轮都接触地面,分配重量,以保持车辆处于稳定位置。

控制器和车辆之间的无线传输不是这项工作的主要重点,因此为了使系统在现实生活中使用FM传输作为无线连接。但是,由于可能会延迟和丢失,因此可能不建议将此FM传输用于如此长距离的传输。六通道无线电飞行控制器已用于控制电机的速度和方向。其他组件包括FM接收器,电子速度控制器,齿轮直流电机,增量式旋转编码器和紧凑型RIO。车轮直接通过直流电机驱动,其速度由遥控器控制。火星探测器的方向通过改变电机的速度来改变。如果漫游车必须向右侧转动,则右侧两个轮子的速度会降低,从而导致漫游车在右侧转动,反之亦然。旋转编码器已用于测量每侧车轮的速度。其向PID控制器提供反馈,并根据所需速度调整速度。

该系统由六个轮子组成。六个车轮中有四个配有直流减速电机。一个电机解码器用于控制两个直流电机。因此,左侧和右侧电机的速度可以单独控制,火星探测器被认为是一种飞行器。因此,无线电发射器和接收器被用来控制火星探测器的速度和方向。遥控器传输两个信号,一个用于速度控制,另一个用于脉宽调制的方向控制。相比之下,火星探测器有两个ESC来分别控制两组电机。为此,信号需要分成两个独立的信号。此过程已在扫描界面模式下使用NI紧凑型RIO完成。每个信号的脉冲宽度可以通过信号来改变方向控制,也分为两个用于两组电机的速度控制。系统的这种划分基于传输信号的脉冲宽度。由于火星表面不规则,驱动火星车车轮的直流电机与所需速度相比,速度会降低。因此,为了避免这些情况,已配置PID控制器来控制直流电机的稳定性。对于该控制系统,使用两个电机增量式旋转编码器向PID控制器提供反馈,并持续监控电机旋转的速度。

无线电接收器的输出是通过示波器测量的,将遥控器的副翼/升降舵控制杆移动到极端位置。信号脉冲宽度的变化定义了电机速度的变化。根据信号的占空比,对火星探测器的运动进行编程。电机编码器是手动编程的,以定义正向和反向运动的脉冲宽度。速度信号的脉冲宽度可以通过方向信号脉冲宽度的变化来减小。信号的脉冲宽度为1200μ秒自2100μ秒和1700μ秒作为中心频率。电机控制器被编程为在信号脉冲宽度之间向前移动火星探测器2100μs从1500μs,虽然它们被编程为在脉冲宽度范围内以相反的方向移动漫游车,但脉冲宽度范围从小于1500μs为止1200μs.方向控制的信号根据信号脉冲宽度分别影响两组电机的速度。

该项目中用于控制方向的技术是降低火星探测器需要转动的一侧的车轮速度。降低的速度量是通过方向控制杆向左或向右移动的量计算的。方向控制信号的脉冲宽度范围为1700μs自2200μs对于右侧,它来自1700μs自1200μs为左侧。

对于控制系统工具的应用,已经进行了许多研究,以控制模拟设备,例如电机控制。PID控制器是此类应用中最受欢迎的工业控制工具之一。PID控制器的传递函数需要三个参数来选择,以创建输出响应。

在项目中,PID控制器在直流电机控制中的数字应用需要最小的过冲和快速的系统响应。PID控制器的输入以电机速度(RPM)为单位,通过改变数字信号的脉冲宽度来控制。由于系统具有连续输入遥控器来驱动系统,因此在此应用中需要控制器的快速响应。在这个火星探测器项目中,每个侧面,左侧和右侧车轮都使用了两个PID控制器。LabVIEW工具套件已用于实现控制器,并使用电机模型调整系数。

​‍

三个NI模块已用于cRIO的输入和输出。NI-9472已用于两组直流电机的PWM输出。而用于速度和方向控制的无线电信号的输入以及编码器输出的测量则使用了NI-9401。数字输出模块NI-9472还用于为车辆提供任何数字输出,例如打开或关闭车灯。拟议的设计仅用于漫游车的移动性。可更换模块可以增加或更改,以在车辆中引入机械臂或其他机械功能。cRIO在火星探测器转向/定位中的应用是,它可以带来灵活性,在不改变电子电路的情况下升级车辆的功能。LabVIEW和cRIO的结合使其能够消除电路的复杂性,从而能够更快速、有效地运行。

电机旋转的反馈可以通过多种方式获得。用于数字电机控制系统的最常见传感器是旋转编码器。这些传感器可分为绝对式和增量式编码器。在需要非常高精度的更复杂的系统中,使用高分辨率光学数字传感器。用于火星车应用的传感器是差分输出编码器。它在输出端提供三个脉冲序列。

通过比较编码器输出A和B的上升沿来测量运动方向。如果端子A的输出在B处出现上升沿时为高电平,则运动方向为顺时针。如果端子A的输出在端子B信号上升沿时为低电平,则运动方向将逆时针方向。此外,只需将车轮的周长乘以旋转次数即可估计所覆盖的距离。在此设计中,测量的距离可能不准确,因为它只是通过车轮的旋转来估计的。但是,这种设计没有提供任何距离传感器。因此,车轮旋转中的任何滑移也可以计算为覆盖的距离。

通过基于硬件的直流电机转矩控制技术,控制火星车来实现。在本项目中,对编码器在直流电机反馈领域的PID控制和应用有了更微观的理解。在没有任何物理转向装置的情况下,火星探测器的方向控制任务已经完成。该项目背后的想法是如何非常精确地控制直流电机,以及PID控制器如何为稳定的电机输出工作。

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

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

相关文章

Quartz任务调度笔记

一、概念 1.1简介 Quzrtz是OpenSymphony开源组织在Job scheduling领域的开源项目 特点:Quartz具有丰富特性的"任务调度库",能够集成于任何的Java应用,小到独立的应用,大到电子商业系统。quartz能够创建亦简单亦复杂的调…

如何建立一个企业网站

建立一个企业网站的方法 1、好。如果你的网站将专注于你已经有了一个不错的主意,请跳过此步骤。如果不是,这里有一些事情来帮助你找出答案。首先,要明白,有几十亿人在互联网上,一个健康的比例有自己的网站。如果你限制…

ResizeKit.NET 自动更改所有控件和字体大小 -Crack Version

ResizeKit2.NET ---Added support for Microsoft .NET 7.0. 使您的应用程序大小和分辨率独立。 ResizeKit.NET 自动更改所有控件和字体的大小,以便它们可以显示在任何大小的表单上。提供完全控制来自定义调整大小过程。即使用户在运行应用程序时切换表单的大小&…

探索 Spring Boot 项目全过程

文章目录 🎇前言1.Spring Boot 所需环境2.Spring Boot 项目创建2.1 安装插件2.2 创建新项目2.3 项目属性配置2.4添加依赖2.4 修改项目名称2.5 添加框架支持2.6 目录介绍 3.判断Spring Boot 创建项目是否成功🎆总结 🎇前言 在 Java 这个圈子&…

Qt在Ubuntu下如何进行桌面软件开发?

文章目录 0.引言1.新建项目2.编写第一个程序3.在Qt外部启动程序 0.引言 笔者研究的方向涉及在ubuntu中运行代码,早先是直接利用控制台运行代码文件,在控制台中虽然设法将代码精简到一个三个文件中,只需要在控制台运行这三个文件即可&#xff…

使用itextpdf填充表单域并生成pdf

文章目录 前言一、准备工作1.1 安装软件1.2 准备pdf1.3 设置表单域 二、创建项目三、编写代码3.1 编写工具类3.2 测试 四、测试结果 前言 最近手上有个任务,就是需要做一个pdf导出的功能。 可选择的技术点比较多,我这边综合考虑之后,使用的…

第五课—大学英语四六级备考—听力专项

Key words 1.implement vt.实施 "Implement" 在中文中的意思是「实施」或「执行」。以下是一些示例用法和搭配: 中文意思:实施、执行 形近字:implicate(牵连) 1. 用英文造句:The government …

微信小程序浏览docx,pdf等文件在线预览使用wx.openDocument

wx.downloadFile({ url: fileUrl,//pdf链接success(res) {wx.openDocument({ //打开文档filePath: res.tempFilePath,fileType: "pdf",//文档类型showMenu: true,success: function (res) {wx.showToast({title: 打开文档成功,})},fail: function (res) {wx.showToas…

vue封装svg组件来修改svg图片颜色

文章目录 1、引入依赖2、根目录的vue.config.js配置3、在组件文件夹(compontents)中创建svgIcon.vue4、在src目录下创建icons文件5、处理svg格式的图片6、在main.js文件中引入icons文件中的index.js文件7、使用8、效果图1、项目成功运行后的样子2、直接在html上添加样式&#x…

LangChain:LLM应用程序开发(中)——文档问答、评估、Agents(代理)

文章目录 四、文档问答4.1 快速入门4.2 逐步实现4.3 其它方法 五、评估5.1 创建QA app5.2 生成测试数据点5.2.1 Hard-coded examples5.2.2 LLM-Generated examples 5.3 link chain debug手动评估5.4 LLM assisted evaluation5.5 LangChain Evaluation platform 六、Agents&…

论文笔记 CPU Accounting for Multicore Processors

Abstract 确定了对CPU utilization的不准确测量是如何影响OS的几个关键方面的这篇文章提出来了一个比CPU utilization更准确的性能评估指标 In this paper, we identify how an inaccurate measurement of the CPU utilization affects several key aspects of the system suc…

Python 基本数据类型(三)

文章目录 每日一句正能量数值运算数值类型实例String(字符串) 每日一句正能量 人的相处,靠的是真心,不是套路。合得来的人,坦诚相待,合不来的人,客气寒暄;谁也别给谁冷脸看&#xff…

期末复习【计算机网络】

期末复习【计算机网络】 前言推荐期末复习如何快速阅读电子书重点第1章 概述1.6 计算机网络的性能1.6.2 计算机网络的性能指标√ 1.7 计算机网络体系结构1.7.3 具有五层协议的体系结构√ 第2章 物理层2.3 物理层下面的传输媒体 *2.4 信道复用技术2.4.1 频分复用、时分复用和统计…

LeetCode 剑指 Offer 13. 机器人的运动范围(深度遍历)

LeetCode 剑指 Offer 13. 机器人的运动范围 原题思路代码运行截图收获 原题 LeetCode 剑指 Offer 13. 机器人的运动范围 思路 通过深度遍历来找出所有可达的格子通过0、1、2来区分未遍历、可到达、不可到达三种状态 代码 class Solution { public:int visited[109][109];i…

【计算机网络】数据链路层--点对点协议PPP

1.概念 2.构成 3.封装成帧 - 帧格式 4.透明传输 4.1字节填充法(面向字节的异步链路) 4.2.比特填充法(面向比特的同步链路) 5.差错检测 6.工作状态 7.小结

Webpack和Vite简单使用

目录 WebPack 介绍 基础使用 初始化使用 webpack.config.js文件 webpack开发服务器 vite 介绍 使用 使用vite创建vue框架项目 WebPack 介绍 当我们习惯了在node中编写代码的方式后,在回到前端编写html、css、js这些东西会感觉到各种的不便。比如: 不能放心…

【Linux】硬链接 和 软链接

为了方便用户访问文件,Linux提供了一种称为连接(link)的机制,可以将一个文件或目录与另一个文件或目录建立关联,从而实现多个路径指向同一个文件或目录的效果。 一、概述二、硬链接和软链接详解2.1 硬链接2.11 硬链接的…

C++ 模板

模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。 模板是创建泛型类或函数的蓝图或公式。库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念。 每个容器都有一个单一的定义&#xf…

微信小程序的跨页面传参以及data-方法的相关细节

🙂博主:小猫娃来啦 🙂文章核心:微信小程序的跨页面传参以及data-方法的相关细节 目录 前言wx.navigateTo()方法微信小程序传参的几种方式通过data-属性传参关于data-方法配合点击事件传参的细节 前言 其实在学习新东西的过程中&a…
最新文章