E-puck机器人-小白学习笔记(一)准备工作

 

目录

E-puck机器人

一、技术参数

dsPIC 30F6014A

二、软件

e-puck-library-master文件夹

BasicDemos.zip

三、编译

MPLAB是什么?

pic单片机是什么?

四、PC人机交互界面

五、标准固件


E-puck机器人

一、技术参数

    电 池: 5Wh 可充电/拆卸式锂电池持续运转约三小时

    处 理 器: dsPIC 30F6014A @ 60MHz ( ~15MIPS )DSP 核心16 位微控 制 器

    内存 RAM:8KB;FLASH:144KB

    马 达: 二个步进马达与一个50:1 减速齿轮准确度0.13mm

    速 度: 最大速度15 cm/s

    传 感 器: 8 个红外线传感器,感测周遭光线与近端物体的最大距离为6 cm

    镜 头: VGA 彩色镜头,分辨率640x480 (一般使用:52x39 或640x1)

    麦 克 风: 3 个全向麦克风,做为声源判别

    加 速 计:三维加速计

    L E D: 环型排列8 个LED、主体含1 个绿色LED、前端含1 个红色LED

    扬 声器: 板内建扬声器,能够拨放WAV 或音调

    开 关: 16 个位置旋转开关

    传输接口: 基本串行端口 (最高115kbps)无线:蓝牙

    蓝 牙: 用于计算机-机器人与机器人之间沟通

    远程控制: 红外线接收器,用于远程控制指令

    扩充总线 :多个扩充总线,可自由增添新的功能至机器人

    程序编译: C 程序语言、GNU GCC 编译系统、自由编译器与整合开发环境(IDE,模拟)

    Webots 提供e-puck 方便的程序编译,远程控制与交叉编译系统( Cross-Compilation System)

dsPIC 30F6014A

E-puck机器人-小白学习笔记(一)准备工作_第1张图片

有两个串口39(U2RX),40(U2TX);41(U1TX),42(U1RX)

 

、软件

在e-puck上运行的嵌入式软件在git repo https://github.com/gctronic/e-puck-library中不断扩展和管理。包括一个完整的库,可与安装在e-puck上的所有传感器配合使用,是许多演示例程的基础

可以从以下链接e-puck-library.pdf下载库文档

e-puck-library-master文件夹

library:这是e-puck的低级库

program

  • Bluetooth mirror:通过串口线与蓝牙芯片互动
  • BTCom:基本上它是“asercom”实现,参考高级sercom协议
  • EPFL demo project:在一个项目中捆绑了一些不错的演示,例如声源位置,避障和彩色斑点检测(红色和绿色)。其中一些演示包含在GCtronic标准固件中。
  • GCtronic标准固件项目,请参阅标准固件

tool

  • 计算机端和e-puck引导程序
  • 用于e-puck的matlab接口/监视器
  • 用于e-puck的C ++接口/监视器

BasicDemos.zip

  • demo0:非常简单的LED闪烁
  • demo1:LED闪烁(用计时器暂停)
  • demo2:选择器读数+ LED
  • demo3:通过蓝牙发送选择器位置(简化方法)
  • demo4:接收读数与中断+ LED
  • demo5:接收读取中断+ LED +通过BT发送值(带中断和缓冲区的汇编程序版本)
  • demo6:根据前接近传感器值控制电机速度

    项目文件demoGCtronic.mcp

三、编译

可以使用MPLAB IDE(windows)编辑和编译演示,直接单击项目文件。应在所有操作系统上使用MPLAB-C30编译器演示。将已编译的.hex文件通过蓝牙使用例如tinyBootloader下载到e-puck机器人。

MPLAB是什么?

MPLAB IDE是一款功能强大的PIC单片机编程软件,通过它可快速建立工程、配置工程、烧写程序。需要根据你所选择的PIC单片机型号来选择驱动芯片,创建工程时路径中不能出现中文。

下载安装教程:

https://blog.csdn.net/JYUNefe/article/details/80644177PIC单片机入门教程(二)—— 安装集成开发环境(MPLAB X IDE)

https://blog.csdn.net/JYUNefe/article/details/80644868 PIC单片机入门教程(三)—— 安装编译器(MPLAB XC Compilers)

https://blog.csdn.net/JYUNefe/article/details/80657918PIC单片机入门教程(四)—— 第一个工程

pic单片机是什么?

  1、具有低工作电压、低功耗、驱动能力强等特点。PIC系列单片机的I/O口是双向的,其输出电路为CMOS互补推挽输出电路。I/O脚增加了用于设置输入或输出状态的方向寄存器,从而解决了51系列I/O脚为高电平时同为输入和输出的状态。

  2、当置位1时为输入状态,且不管该脚呈高电平或低电平,对外均呈高阻状态;置位0时为输出状态,不管该脚为何种电平,均呈低阻状态,有相当的驱动能力,低电平吸入电流达25mA,高电平输出电流可达20mA。相对于51系列而言,这是一个很大的优点

  3、它可以直接驱动数码管显示且外电路简单。它的A/D为10位,能满足精度要求。具有在线调试及编程(ISP)功能。

缺点:在使用C语言编程方面,pic的体系结构是最不适合的,且编译软件无法与GCC,keilc相比。

 

四、PC人机交互界面

一个在计算机上运行并通过蓝牙连接到e-puck的接口,该接口基于先进的sercom协议(选择器3); 通过该界面,可以获得有关所有传感器的信息,接收摄像机图像并控制LED和电机。

该人机交互界面的源代码:

多平台版本3.0(Monitor3.0源代码); 该应用程序是一个Qt项目,因此可以使用Qt Creator轻松处理编译; 或者可以使用qmake。 以下可执行文件是动态编译的,因此必须在系统中安装Qt库(4.5.0或更高版本)才能运行它们:

  • Linux可执行文件:在运行可执行文件之前,输入“chmod + x file” 给文件增加可执行权限
  • MacOS可执行文件
  • Windows可执行文件(+ dlls); 在Windows XP,Windows Vista,Windows 7,Windows 10上测试过

具体链接:https://www.cnblogs.com/kay2018/p/9537201.html

五、标准固件

机器人出厂自带了演示例程,通过该例程可以完成对机器人的基本检测,通过旋转机器人上方的选择器的位置来切换不同的例程。这些例程写入了固件中。

机器人附带标准固件,可让您立即与机器人交互,需要按照下列步骤操作:
1)将机器人选择器置于位置3
2)打开机器人并将其与计算机配对:

如果您正在运行Linux,请使用系统蓝牙管理器将机器人与计算机配对,然后发出命令

1

sudo rfcomm bind / dev / rfcomm0 10:00:E8:C5:61:C9

  其中10:00:E8:C5 :61:C9是机器人的BT mac地址

3)执行终端程序(例如minicom)并配置与115200-8N1的连接。串行设备路径通常应该类似于“/ dev / rfcomm0”。确保称为“硬件”的minicom的流量控制参数设置为“否”
4)键入h + ENTER,系统将提示您包含可以向机器人发出的所有命令的菜单,例如,您可以检索传感器值或打开LED指示灯

下面列出标准固件中可用的所有演示和相关选择器位置

  1. 选择器位置0:冲击检测。有关更多信息,请查看runaccelerometer.h
  2. 选择器位置1:检测声源。查看rundetectsound.h以获取更多信息。
  3. 选择器位置2:跟随墙壁。查看runwallfollow.h以获取更多信息。
  4. 选择器位置3:高级sercom协议。
  5. 选择器位置4:让机器人沿方形路径移动(使用里程计或陀螺仪)。
  6. 选择器位置5:传感器“反馈显示”。
  7. 选择器位置6:相机指向灯。
  8. 选择器位置7:像ASL RS232 - I2C转换器一样工作。
  9. 选择器位置8:显示地面方向。有关更多信息,请查看rungrounddirection.h
  10. 选择器位置9:显示陀螺仪轴的旋转速率。有关更多信息,请查看rungyroscope.h
  11. 选择器位置10:此位置用于使用gumstix扩展。
  12. 选择器位置11:蓝牙配置(串行通信)。
  13. 选择器位置12:全局测试(串行通信)。
  14. 选择器位置13:Uart1到uart2发送信息测试。
  15. 选择器位置14:遵循两个前邻接检测器检测到的内容。有关更多信息,请查看runbreitenberg_adv.h
  16. 选择器位置15:简单的除尘器行为。

具体链接:https://www.cnblogs.com/kay2018/p/9534788.html

 

 

 

你可能感兴趣的:(E-puck机器人-小白学习笔记(一)准备工作)