精华内容
下载资源
问答
  • 移动机器人嵌入式系统详细篇

    千次阅读 2019-11-22 14:26:37
    目前我还是觉得自己刚入门,有时候总想的太多,不如实践来的更直接,下面总结之前的实践经验,来系统的梳理一下什么是移动机器人软硬件系统问题。文中涉及到的开源项目网站地址如下: 开源项目网站Handsfree...

    接触了移动机器人这么久,我觉得应该写点什么东西,分享一下最基础的自己关于移动机器人的理解,也作为笔记总结,留到以后查阅。目前我还是觉得自己刚入门,有时候总想的太多,不如实践来的更直接,下面总结之前的实践经验,来系统的梳理一下什么是移动机器人软硬件系统问题。文中涉及到的开源项目网站地址如下:

    开源项目网站Handsfree(https://github.com/HANDS-FREE/OpenRE);

    项目网站和教程: http://wiki.hfreetech.org/

    开源代码 : https://github.com/hands-free

     

    图 1 移动机器人的物理样机

    图1所示的是实验中常用的移动智能小车的架构,其中设备和接口是嵌入式软硬件系统最底层的一部分,CPU 需要对其它设备或者传感器进行通信,控制,操作则是通过这里的接口实现的。

    这里借用github 上的开源项目Handsfree(https://github.com/HANDS-FREE/OpenRE),对 移动智能车的底层嵌入式系统做个简单的介绍,完成整个小车的搭建。

    本课题专门为机器人系统所设计的嵌入式系统架构,主要包含设备和 IO 接口,操作系统组件和应用软件

    1. 其中硬件设备和 IO 接口总是紧密相连的,设备一般都需要 IO 接口和处理器进行通信,其中设备又可以细化为传感器设备和普通 IO 设备。传感器设备主要包含了加速计,陀螺仪,磁力计,气压计,编码器等,IO 设备主要有存储器,驱动器,还有遥控器,液晶显示等。
    2. 操作系统组件则包含系统内核,图形库,文件系统等。移植一个实时操作系统不仅仅增加了软件系统功能,还增加了系统的鲁棒性,多任务编程也便于整个系统代码的维护管理。
    3. 应用软件则是建立在前两者基础上的功能软件或者独立于嵌入式的代码库,比如电机控制库,机器人控制库,或者数学运算库等。由于软件的最终功能,基本都是这一部分来决定的。

    1 最底层之设备与接口

     

    图3 HANDS FREE硬件设备与接口

    如图 3,则是 HANDS FREE 为了上层应用跨平台建立的底层软件框架,其隔离了不同CPU环境下的设备和接口代码 。接口方面封装了USRT,IIC,SPI,CAN 等常用通信接口,以及 pwm 电机控制输出,encoder 编接口等。设备方面封装了常用的陀螺仪,加速计,磁力计等传感器,以及直流电机,伺服舵机,遥控器等设备。

    1.1 惯性测量传感器与 IIC 接口(具体的模块使用,请看前面的博客)

    IIC 即 Inter-Integrated Circuit(集成电路总线),IIC 是一种多向控制总线,半双工通信方式,也就是说多个芯片可以连接到同一总线结构下,同时控制每个芯片的实时数据传输。

    IIC 是串行总线的一种,一般是有两根信号线构成,一根是可以双向通信的数据线并连接着每个设备的 SDA,另一根是所有设备的时钟线SCL。每个 IIC 设备有一个属于自己的地址,通信是 IIC 通信协议会先进行地址匹配,从而有条不紊的分别操作 IIC 总线上不同的设备。

    图1的系统中,使用 IIC 接口的设备非常多,有保存数据用的可擦写存储器 AT24C0X,512KB 的 EEPROM,也有测量角速度,重力加速计的传感器MPU6050,测量磁场的磁力计 HMC5883L,测量气压的气压计 MS5611。

    1.2 射频模块与 SPI 接口(具体的模块使用,请看前面的博客)

    SPI 是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速度,全双工,同步通信的总线结构,一般占用 4 根线,分别是主设备的输出、从设备输入的 MOSI,主设备输入、从设备输出的 MISO,和公用时钟线 SCLK,以及每个设备都有一个属于自己的使能信号,又叫片选限号 CS

    SPI 的通信速度是以自己的时钟为依据的,比如使用的 STM32F407 最高可达 42Mbits/s,比起 400K 的 IIC 快了不少,所以现在很多系统都尽量选择 SPI 的设备,包括之前所说的 IIC 的传感器,也有支持 SPI 的同类型替代品。

    使用的 SPI 通信的射频模块 NRF24L01,一对该模块即可构成双向无线通信,通信速度理论可达 2Mbits/s,使用它可以方便的构成机器人的无线通信网络,方便开发测试。(具体的模块使用,请看前面的博客)

    1.3串口与 PC 端通信(具体的模块使用,请看前面的博客)

    这里的串口主要指异步串行通信方式,异步串行是指 UART(Universal Asynchronous Receiver/Transmitter),通用异步接收/发送,UART 包含 TTL 电平的串口和 RS232 电平的串口。

     TTL 电平是 3.3V 的,也是单片机端的电平,而RS232 是负逻辑电平,它定义+5~+12V 为低电平,而-12~-5V 为高电平,PC 端则是这种逻辑。

    所以单片机的串口和 PC 的串口不能直接通信,需要进行电平转换。由于现在 PC 端 USB 接口非常的方便实用,所以有很多串口转 USB 的转换芯片,比如 FT232RL,CP2102 等。单片机连接模块通过 USB 数据线和 PC 进行通信。

    2 中间层之运动控制

    整个嵌入式系统通过控制电机驱动和读取电机编码器的数据实现电机的PID速度环控制,通过运动学解算实现机器人运动控制和坐标计算,通过各种 IO 扩展接口实现多超声波、IMU 等传感器数据的采集和处理,通过RoboLink 协议实现和上层软件系统的数据和命令通信。

     

    2.1电机速度环控制(具体代码参考前面的电机控制博客)

    电机控制是指对电机的启动、加速、运转、减速及停止进行的控制。又可以划分为开环控制和闭环控制。

    闭环控制,是指通过对编码器反馈的数据和希望值进行比较得到误差,并将误差进行分析和运算,不断调节控制力度的的控制方式。开环控制,是指没有反馈调节的控制方式,通过提前预估系统的特性,并在控制时根据该特性和希望值做出相应的控制力度。

     

    图 5  HANDS FREE 电机 PID 控制流程

    如图 5, HANDS FREE 电机 PID 控制的流程,通过目标速度和编码器测量的速度作比较形成误差,并通过 PID 控制的输出控制电机以消减误差,从而达到目标速度,这是电机控制中最普遍的方式,即速度环控制。

    2.2 底盘运动控制(参见之前的编队博客)

    底盘控制是首要任务,主要可以分为运动学控制和坐标解算两部分。

    坐标解算其实是一个逆运动学解算的过程,关于运动学控制模型和之间的数学关系会略去,后续补,此处只介绍软件的实现过程。

    运动学控制负责控制三个电机机体或者使底盘达到期望的速度向量,由于该机器人是在平面上运动,所以这是一个三维向量 x、y、w,分别代表前后、左右、和旋转。在课题试验中,机体速度的更新频率不需要太高,上位机以 10HZ 左右要求底盘更新自己的机器人坐标速度,当软件每次更新速度时则会重新分配三个电机的旋转速度,从而不断使机体的运动保持自己想要的速度向量。同时电机控制则是一个简单的速度环控制,通过 50~200HZ 的 PID 控制使电机的速度一直保持希望值。

    坐标解算,则和运动学控制相反,它的主要任务是采集分析编码器的数据,解算出当前机器人的速度、坐标等信息,通过这一步可以让软件确认当前的运动是否正确实施,并且是否到达自己想要的位置。编码器以 50~200HZ 的频率进行采样,同时坐标解算任务以 20~50HZ 的频率计算当前的坐标偏移,并通过不断积分得到总的坐标偏移从而得到基于起始点坐标系的位置,并将这些信息反馈给上位机方便其进行路径规划,避障导航等任务的实施。

    展开全文
  • 智能移动机器人嵌入式控制系统开发与设计
  • 且硬件电路庞大,系统稳定性弱,DSP的设计初衷是为了数字信号处理,相比而言,嵌入式微处理器ARM具有几乎相同的内部资源和运算速度,但在控制方面性能优于DSP,而且许多ARM器件支持TCP/IP协议,有利于将来机器人的...
  • 智能轮式移动机器人嵌入式控制系统设计
  • 工业机器人嵌入式远程控制系统的设计与实现
  • 本文提出了一种基于ARM和复杂可编程逻辑器件(CPLD)的智能轮式移动机器人控制系统,实现移动机器人的底层控制。
  • 双足步行机器人嵌入式控制系统设计,查华臣,罗翔,机器人想要实现预期的行为目标,需要有良好的控制系统。本文基于实验室自主设计的23自由度双足步行机器人样机,首先分析了双足步�
  • 水下机器人运动控制的是嵌入式计算机系统,它需具有运动控制算法的实现、数据采集、与外设的通讯等功能[4][5][6]。本文以潜艇式有缆遥控水下机器人(ROV,Remotely Operated Vehicle)为对象设计了基于ARM9处理器的...
  • 随着机器人技术的发展,工业...我们以码垛机器人为对象,引入嵌入式系统使其他智能模块都以设备的形式存在,从而使数据融合更方便,运行多任务也更稳定,大量地减轻研发任务量,提高研发速度。 码垛机器人嵌入式控...

    随着机器人技术的发展,工业机器人技术在解决劳动力不足、提高劳动生产效率、降低工人劳动强度等方面具有很大潜力。传统机器人多采用PLC和工控机控制,这种控制器存在着体积庞大、功耗高等缺点。

    我们以码垛机器人为对象,引入嵌入式系统使其他智能模块都以设备的形式存在,从而使数据融合更方便,运行多任务也更稳定,大量地减轻研发任务量,提高研发速度。

    码垛机器人嵌入式控制系统,主要以嵌入式计算机作为主控制器,可选择是否搭载操作系统支持。采用一定的通信协议连接运动控制模块以运动控制模块来完成驱动伺服电机等功能。

    采用ARM作为主控制器,搭载Linux操作系统,并采用结构化设计完成了基于嵌入式的码垛机器人控制系统,达到了毫米级的定位精度。

    基于ARM+Qt+Linux设计和实现了码垛机器人控制系统,并提供了良好的系统交互界面,整体取得了良好的效果。基于码垛机器人的自身特点和在工业实际环境中的作业需求,采用基于ARM9与嵌入式Linux操作系统结合舵机控制器的控制系统,在此基础上开展相关软硬件设计,基于码垛机器人的结构特征,进行机构与动力学分析,确定适合码垛机器人的最优轨迹运行方式。

    根据码垛机器人机器人嵌入式控制系统设计要求,采用ARM9系列的嵌入式处理器作为主控芯片,MCX314AL为运动控制芯片,嵌入式Linux为操作系统,在此基础上将主控器与运动控制芯片实现ISA总线连接,实现机器人的运动控制。

    针对相应的硬件,编写相应的函数代码,移植相应的程序。根据设计需求搭建机器人运行环境,设计相应的底层驱动、上层应用程序与码垛机器人的操作界面。结合具体需求,对机器人进行仿真测试,分析、总结获得的数据。

    嵌入式方案服务商朗锐智科认为,此方式的好处在于嵌入式工业PC具有通用性可以选择搭载任意的操作系统,因为操作系统可以提供系统接口和支持功能,较裸机开发降低了软件开发难度;且其体积小巧和功耗低等特点,可以集成于不同的机箱当中,降低了整体的设计成本和电气设计的布线成本。

    展开全文
  • 基于STM32的服务机器人嵌入式安全监控系统设计.pdf
  • 本文介绍了开架式水下探测机器人的结构、传感器系统,基于AT91RM9200处理器设计了ROV嵌入式控制器。
  • 管道机器人能够在复杂的地下环境解决电缆管道排管作业及电缆巡检等实际问题.
  • 这本书详细的介绍了水下机器人的构成及控制系统的设计与实现,让你能够充分地了解到水中的机器人是如何运动和如何实现的。
  • 多智能体机器人嵌入式控制平台设计与实现,赵曦,,为异构式多智能体机器人协作研究,设计并实现了一种基于32位嵌入式系统的分布式控制系统。针对传统封闭式控制系统的弊端,采用了�
  • 模块化机器人嵌入式多核主控制器设计,曾祥宇,孙汉旭,针对模块化机器人控制,提出一种基于FPGA的片上多核主控制器设计方案,适用于采用分布式控制方式的模块化机器人控制系统。利用SOPC�
  • 相关知识 机器人 Python 仿真软件介绍 软件安装 ... 在v = 0和设置为固定值的情况下,机器人应该在原地旋转,如果v和both都获得非零值,则机器人将驱动某种曲线。 让我们尝试一下! 最简单的开始是使

    相关知识

    仿真软件介绍

    软件安装

    使用Python的第一步

    现在,我们将尝试使该机器人移动。 有关的RoBIOS命令是

    int VWSetSpeed(int linSpeed, int angSpeed)
    

    我们将其称为v-(v-omega)驱动界面,因为我们可以为机器人指定速度v和角速度。 如果给定v且= 0,则机器人应该一直行驶。 在v = 0和设置为固定值的情况下,机器人应该在原地旋转,如果v和both都获得非零值,则机器人将驱动某种曲线。 让我们尝试一下!

    最简单的开始是使用Python,但我们也会在C中重复此示例。 启动EyeSim并准备好机器人(如下图所示)后,使用命令窗口并键入:

    python 3
    

    或启动Thonny或PyCharm之类的编程环境。 在Python命令提示符后,输入您的机器人程序:

    from eye import *
    

    这将使前面提到的所有RoBIOS API命令可用。 然后输入您的第一个驾驶命令,例如

    VWSetSpeed(100,0)
    

    它将以零转速将机器人设置在100mm / s的直线路径上。 在命令窗口中,您将看到下面的系统对话框。

    同时,在EyeSim窗口中,您可以看到机器人向前行驶。 实际上,如果我们不够快地使用VWSetSpeed(0,0) 阻止它。

    它会碰到后壁(下图)。 没问题,它只是一个模拟机器人,因此没有造成任何损坏。 您可以单击它,然后将其移回字段的中间。 使用+和–键,您还可以将机器人旋转到任意角度。

    使用C的第一步

    在C中直接行驶是由下述程序中的等效程序完成的。 但是,如果我们想避免墙体碰撞,就需要迅速停止它。

    #include "eyebot.h"
    int main ()
     { VWSetSpeed(100, 0);
     }
    

    include语句使RoBIOS API可用,并且所有C程序在程序启动时都需要一个主要的函数定义。 该程序中唯一的语句是VWSetSpeed命令。 请注意语句后的分号和封装函数定义的大括号。 在C中,您将需要很多这些。

    由于C是经过编译的,并且不像Python那样被解释,因此我们必须先执行源程序的编译步骤,然后才能运行它。 尽管这似乎是不必要的额外工作,但它实际上是非常有益的,因为它会检查源代码中的错误并报告错误-而Python将开始执行程序,然后在遇到错误时可能在执行中间停止 。

    使用我们放在一起的gccsim脚本,用C进行编译很简单(请参阅下面程序)。 第一个参数是C源文件,“-o”选项使您可以指定二进制输出文件的名称:gccsim straight.c -o straight.x

    对于所有EyeSim示例目录,我们提供了所谓的Makefile,这些文件大大简化了C和C ++程序的编译。 有了正确的Makefile之后,您只需键入一个单词即可进行编译:make

    假设我们已经启动了EyeSim模拟器,并且有一个机器人在等待命令,那么我们现在可以运行程序:./straight.x

    Linux始终要求我们在执行命令时指定目录,因此,如果可执行程序Straight.x在当前目录中,则必须在其前面加上“ ./”。

    用Python运动一个方形

    让我们尝试将机器人绕正方形移动。 为此,我们使用了另外两个API命令,它们将直接驱动或原地旋转,但分别在所需的距离或角度之后停止。 这些命令是

    int VWStraight(int dist, int lin_speed)
    int VWTurn(int angle, int ang_speed)
    

    对于VWStraight,它们的参数以[mm]和[mm / s]为单位,对于VWTurn,其参数为[degrees]和[degrees/ s]。 下面程序是驱动一个正方形的完整Python程序。

    from eye import *
    
    for x in range (0,4):
        VWStraight(300,500)
        VWWait()
        VWTurn(90, 100)
        VWWait()
    

    我们重复四次直行然后转弯的顺序。 for循环正在为我们做这件事。 其参数(0,4)表示计数器x将从0开始并在小于4时运行,因此它将执行迭代0、1、2、3,总共进行了四次运行,这正是我们所要做的。

    在每个驱动命令之后都需要对VWWait进行调用,因为命令VWStraight和VWTurn将立即将控制权交还给程序,任何后续的驱动命令都将覆盖前一个命令。 因此,如果您忘记将VWWait放入程序中,则该程序将非常快地冲破所有命令,仅执行最后一条VWTurn命令。 它将仅旋转90°,并且不会从其起始位置移动。

    模拟器的菜单命令“ File / Settings / Visualization”使我们可以打开机器人路径的可视化(下图2.7),

    这将使我们更容易解释机器人的运动。 设置好此程序后,正方形程序将在地板上标记机器人的运动(见下图)。

    最后,我们可以直接将驱动命令放入文件中,而不是直接在Python3解释器中键入驱动命令。 正方形 然后我们可以使用以下命令调用程序

    python3 square.py
    

    或者,更进一步,我们使源文件成为square.py可执行文件(通过更改其文件许可权),然后在第一行添加Python3解释器的名称:

    #!/usr/bin/env python3
    

    现在,我们可以直接从命令行更轻松地启动Python程序:

    ./square.py
    

    用C/C++运动一个方形

    如下面程序所示,将C或C ++用于相同的驾驶任务并不难。 这些命令是相同的,但是C具有包括EyeBot / RoBIOS库的自己的语法,并且需要一个主要函数,该函数可以告诉系统程序在哪里启动。

    #include "eyebot.h"
     int main()
     { 
       for (int i=0; i<4; i++) // run 4 sides
         { 
           VWStraight(400, 300); // drive straight 400mm
           VWWait(); // wait until finished
           VWTurn(90, 90); // turn 90 degrees
           VWWait(); // wait until finished
         }
     }
    

    for循环有点冗长,但是和Python中的一样。 它仅在内部大括号“ {”和“}”之间运行语句块四次。 和以前一样,在继续执行下一个驱动命令之前,VWStraight和VWTurn后面必须跟随VWWait语句,以确保它们完全执行。

    SIM脚本和环境文件

    显示和输入按钮

    位置传感器

    相机

    机器人通讯

    多任务

    使用IDE

    逼真机器人平台细节

    逼真机器人仿真细节

    逼真机器人详述

    软件

    算法

    激光雷达

    机器人群

    行走

    迷宫

    视觉

    转向

    自主

    详情参阅http://viadean.com/robot_python_c.html

    展开全文
  • 人们可以想象到的最简单的机械驱动系统称为差速驱动,它是一个机器人平台,上面装有两个单独控制的轮式电动机(见下图)。 如果两个电动机均以相同的速度向前驱动,则机器人沿直线向前驱动。 同样,用于向后行驶。 ...

    本文内容是基于已创作出的逼真机器平台,仿真等扩展开来。

    相关知识

    执行器

    驱动机器人的运动能力来自多个执行器-在大多数情况下为两个电动机。 人们可以想象到的最简单的机械驱动系统称为差速驱动,它是一个机器人平台,上面装有两个单独控制的轮式电动机(见下图)。 如果两个电动机均以相同的速度向前驱动,则机器人沿直线向前驱动。 同样,用于向后行驶。 如果一台电动机的运行速度比另一台电动机快,例如,左马达的运行速度比右马达快,则机器人将以曲线形式行驶-在这种情况下为右(或顺时针)曲线。 最后,如果一个电动机向前行驶(例如,向左),而另一个电动机向后行驶,则机器人将在现场打开(此处:顺时针)。

    传感器

    运动功能仅是移动机器人的一半。 另一半正在感应。 即使对于最简单的机器人,我们也使用三种类型的传感器。 从复杂性的角度来看,它们是轴编码器,红外距离传感器和数码相机。

    轴编码器

    轴编码器是简单的传感器,可提供反馈以控制机器人的电机速度(速度控制)以及测量机器人行进的距离(位置控制)。 他们计算每一个微小的电机轴旋转,并通过机器人的运动学公式将其转化为平移和旋转位置(姿势)的变化。 当然,这仅在机器人牢固地放在地面上且没有车轮打滑的情况下才有效。 但是即使那样,每个编码器的“滴答”也总是存在很小的误差,因此在较大的距离上行驶时,仅从编码器值得出的位置和方向将变得非常不准确且不可靠。

    通常使用带槽的盘(下图),该盘交替使红外LED光束通过并阻挡它。

    车轮旋转时,这会产生一个矩形信号(下图)。

    此原理的一种变化形式是使用交替交替的白色和黑色扇区的反射盘(Siemens Star)以及同一侧上的LED和检测器。

    红外距离传感器

    红外距离传感器也称为位置敏感设备(PSD)。 它们发出人眼看不见的光束,并使用来自物体的反射来计算距离值。 根据反射光束在检测器阵列上的位置,物体离物体的距离更近或更远(下图)。

    我们的机器人至少使用这些传感器中的三个,分别指向前方,左侧和右侧,以计算在这些方向上与墙壁或障碍物的距离。

    PSD具有各种不同的形状和形式(如下图)。 它们还具有不同的接口,即模拟或数字输出值。

    数码相机

    数码相机比以前提到的传感器复杂得多,功能也更强大。 每个图像帧可提供数百万个像素,每秒可传输数次。 在非常中等的VGA分辨率下,像素为640×480,每个像素分别为25赫兹(PAL3)或30赫兹(NTSC4)的3个字节,因此PAL超过23 MB / s,NTSC接近28 MB / s。 下图在Raspberry Pi摄像头模块(右)旁边显示了我们自己的机器人相机系统(左)。 标准的Raspberry Pi相机具有固定的不可更换镜头。 如果视场(或其他相机参数)不适合您的机器人应用,则可以使用带有可更换板载镜头的第三方相机。 各种各样的板载镜头可用于大多数应用。

    由于庞大的数据量需要强大的控制器进行处理,因此我们通常以较低的图像分辨率工作,以保持10 fps(每秒帧)或更高的整体处理速度。 下图的图像是以80×60像素的分辨率拍摄的-可能像人们想要的那样低,但是正如您所看到的,仍然可以看到很多细节。

    用户界面

    尽管从技术上讲并不是真正必要,但我们所有的机器人都带有触摸屏形式的用户界面(下图)。 这样,机器人可以显示传感器和测量结果,并且用户可以使用软按钮输入选择参数的命令。 该界面可与真实机器人“背面”上的物理LCD配合使用,可在笔记本电脑窗口中通过PC上的WiFi远程桌面甚至在仿真中使用。

    处理器

    执行器和传感器必须连接到嵌入式控制器。 我们的选择是将Raspberry Pi与我们自己的用于I / O和电机驱动器的机器人板结合使用(下图)。

    它基于类似于Arduino的Atmel XMEGA A1U处理器,并通过USB线链接到主控制器。机器人机械手I / O板提供了许多Raspberry Pi(下图)不具备的接口:

    • 4个带编码器的H桥电机驱动器
    • 14个伺服输出
    • 16个数字I / O线路
    • 8个模拟输入线路

    整合

    整合在一起,我们就可以构建一个完整的机器人。 差动驱动系统可以在机器人底盘的中间或背面,带有一个或两个被动脚轮,以防止机器人跌落。 我们添加了面向前,左和右的PSD传感器,以及朝前看的摄像头。 Raspberry Pi控制器夹在顶部的触摸屏和下面的机器人I / O板之间。 下图中的照片显示了我们的紧凑型SoccerBot S4,

    而下图显示了机械上更简单但略宽的机器人框。

    下图中的图显示了主要的硬件设置。 显示器,摄像头和高级传感器(例如具有USB或LAN连接的GPS,IMU,Lidar等)直接链接到Raspberry Pi控制器。 机器人 I / O板为驱动马达,伺服器和低电平传感器搭建了桥梁。 它通过USB与Raspberry Pi通信。

    没有专用I / O板的一种甚至更简单的方法如下图所示。 当使用带有内置转向伺服系统和数字电动机控制器的模型车平台时,为了行驶,我们只需要两条PWM(脉宽调制)输出线,就可以在Raspberry Pi控制器上直接访问它们。 但是,在Raspberry Pi控制器上,这些是通过软件实现的,而机器人I / O板具有专用的PWM硬件。 由于我们不在Raspberry Pi上使用实时操作系统,因此可能存在由于在控制器上执行不同任务时的时序变化,导致转向伺服系统出现一些明显的抖动。 尽管驱动电机控制会有类似的变化,但这些变化的影响较小,几乎没有引起注意。

    通讯

    现在,每个机器人都是独立的自主车辆。 然而,甚至对于单个机器人来说,也非常希望具有到膝上型计算机或台式PC的无线通信链路,以便将程序传输到机器人或从机器人传回数据。 当使用多个机器人时,我们希望拥有一个通信网络,使机器人彼此通信

    我们的网络基于Raspberry Pi的内置WiFi模块。 默认情况下,每个机器人都有自己的WiFi热点,因此我们可以轻松地通过笔记本电脑,平板电脑或智能手机连接到它。

    默认的WiFi热点网络名称和密码为 PI_12345678 和 raspberry。

    其中的数字是从Pi的MAC地址自动得出的,从而允许在同一房间中操作多个独立的机器人。

    WiFi的默认IP地址很容易记住:10.1.1.1

    机器人-Raspian发行版的默认用户名和密码为pi 和 rasp。

    使用LAN电缆进行连接时,它是相同的用户名和密码,并且具有相同的默认IP地址:10.1.1.1

    当将多个机械手作为一个组使用时,它们的网络设置可以更改为“从属”,将它们链接到通用的DHCP6 WiFi路由器。 这样,所有机器人都可以直接相互通信,也可以与非机器人基站进行通信。 操作员的便携式计算机。

    详情参阅http://viadean.com/realistic_robot.html

    展开全文
  • 机器人嵌入式机器人 机器人嵌入式机器人机器人嵌入式机器人机器人嵌入式机器人
  • 嵌入式机器人学基于嵌入式系统的移动机器人设计与应用 [(德)托马斯·布劳恩(ThomasBraunl) 著] 2012年版
  • 基于ARM的嵌入式系统机器人控制系统中应用 基于ARM的嵌入式系统机器人控制系统中应用
  • ORB-SLAM(基于ORB特征识别的同时定位与地图构建系统)的源代码无法在嵌入式开发板运行,其构建的点云图太稀疏无法满足移动机器人路径规划要求。针对这个问题,文章提出将ORBSLAM进行改进与优化,移植到嵌入式开发...
  • 现以ARM7处理器为控制核心,采用无线通信技术,并移植嵌入式实时操作系统μC/0S一Ⅱ设计了一套智能机器人控制系统。  2 硬件设计  根据竞技机器人的功能要求进行总体设计,将各个功能进行模块化,其控制系统硬件...
  • 为此,提出了以嵌入式处理器S3C2440为核心的多任务机器人控制系统。  1 控制系统硬件设计  控制系统选用两轮独立驱动小车为移动式机器人平台,后轮为一个尼龙万向轮。处理器为三星公司的S3C2440,系统主频最高可...
  • 嵌入式系统与嵌入式操作系统的关系: 我们可以简单的理解为:嵌入式操作系统是嵌入式系统的一个子集。 嵌入式系统嵌入式系统一般指非PC系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软...
  • 叶芸,姚剑敏,郭太良(福州大学 物理与信息工程学院, 福建 福州 350002)摘要:ORB-SLAM(基于ORB特征识别的同时定位与地图构建系统)的源代码无法在嵌入式开发板运行,其构建的点云图太稀疏无法满足移动机器人路径规划...
  • ARM7处理器是英国ARM公司设计的主流嵌入式处理器 ARM7内核是0.9MIPS/MHz的三级流水线和冯·诺伊曼...采用嵌入式系统设计,能够自动运行、处理数据,通过RS485总线管理和控制机器人监视模块。并且控制器通过GPRS模块,
  • 各类嵌入式Linux操作系统在全球数以百万计爱好者的合力开发下迅速发展,由于具有源代码开放、系统内核小、执行效率高、网络功能强,多媒体人机交互界面友好等特点,很适合信息家电等嵌入式系统的需要。 一 嵌入式...
  • 本文首先对DF-1机器人系统进行了介绍,然后根据DF-1机器人需要实现的功能,设计DF-1机器人的传感器系统,然后实现传感器系统的具体工作电路,利用ARM9实现了传感器系统信息的采集,最后对传感器系统的效果进行了...
  • 以差动驱动移动机器人为研究对象,将非完整约束及传动系统误差作为外部干扰设计了具有前馈功能的Kalman改进无模型自适应控制(MFAC)运动控制器,证明了新控制方法的全局稳定性.FreeMAT仿真及ARM7系统控制实验证实了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,194
精华内容 5,277
关键字:

机器人嵌入式系统