设为首页 加入收藏

TOP

玩转X-CTR100 l STM32F4 l X-CTR100与树莓派搭建机器人平台(二)
2019-09-01 23:09:37 】 浏览:76
Tags:玩转 X-CTR100 STM32F4 树莓 搭建 机器人 平台
RT3);

 

        //USB串口显示接收到的字符

        printf("%c", Res);

 

        //接收到换行符,反转绿色LED

        if (Res == '\n')

            AX_LEDG_Toggle();

 

        USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);

    }

}

X-CTR100控制器下载代码后,打开串口调试助手。在树莓派使用默认IDE运行python代码。运行结果下图所示。

树莓派X-CTR100机器人平台搭建

目前的测试平台,只实现了树莓派与X-CTR100控制器上下位机串口通信功能。树莓派需要连接键盘鼠标和显示器,并且需要USB单独供电,不方便搭建机器人平台。

要构建机器人平台还需要解决供电和远程操作两个问题。

供电

X-CTR100使用VIN输入时,其内置DCDC具有5V@2A供电输出能力,可以向树莓派提供稳定5V电源,解决电源输入问题。

远程控制

供电解决了,鼠标键盘显示器还依然存在,如果需要摆脱,就需要通过网络进行远程控制。

本文介绍两种远程操作方式,一种文字方式SSH,一种图像方式VNC。

SSH方式,这也是Linux常用操作方式,适合高手,需要记录大量命令,操作高效便捷,但是难度大。对于小白,操作起来可能会比较困难。另一种VNC远程控制方式,在PC机上使用远程控制操作树莓派桌面。下面分别介绍。

SSH方式

SSH为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。系统框图如下。

Windows系统运行SSH有两个常用软件,putty和SSH Secure Shell Client。本文已putty为例说明。

PC机下载安装puttyPC机和树莓派在一个网段内,如下方式连接树莓派。

连接后即可通过命令方式控制树莓派,一般Linux操作大多通过命令方式进行,界面如下。

在SSH模式下,也可以使用minicom软件,进行远程串口调试,非常方便。

VNC方式

对于小白用户SSH方式可能有些困难,使用VNC方式,可以通过远程桌面,就像操作自己电脑一样操作树莓派图像桌面,使用非常方便。借助WIFI无线网络,更可实现无线控制,对于机器人操作调试非常方便。

VNC (Virtual Network Console)是虚拟网络控制台的缩写。它是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的。VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美。

树莓派自带VNC软件,默认关闭,需要通过配置选项开启。

如果使用PC机,需要安装VNC Viewer软件。添加树莓派IP地址,账号密码,即可使用,非常简单。

注意,树莓派默认分辨率设置为根据显示设备自适应,如果不插显示设备,分辨率会比较低。为了达到较好效果,建议将树莓派分辨率调节至1080P,如下设置。

硬件平台

X-CTR100控制器可以方便与树莓派组装在一起,组成性能强大的Linux机器人开发平台。组装后,X-CTR100和树莓派接口均可以正常使用,例如下图所示电机驱动也可以正常使用,最多可驱动四路直流电机。只需要为平台供电即可开发,连接非常简单,适合ROS机器人系统开发。

ROS机器人系统

有了机器人硬件平台,实现机器人还需要软件平台,下面介绍机器人常用软件。

ROS(Robot Operating System,下文简称"ROS")是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。

ROS 的主要目标是为机器人研究和开发提供代码复用的支持。ROS是一个分布式的进程(也就是"节点")框架,这些进程被封装在易于被分享和发布的程序包和功能包中。ROS也支持一种类似于代码储存库的联合系统,这个系统也可以实现工程的协作及发布。这个设计可以使一个工程的开发和实现从文件系统到用户接口完全独立决策(不受ROS限制)。同时,所有的工程都可以被ROS的基础工具整合在一起。

使用ROS,可以方便开发现在较为流行的SLAM机器人。

具体树莓派ROS系统的安装和使用,网络上有大量文章,请搜索参考,本文不做详见介绍。

OpenCV机器视觉

OpenCV于1999年由Intel建立,如今由Willow Garage提供支持。OpenCV是一个基于BSD许可发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

OpenCV是开发机器人视觉不可缺少的工具,可以方便进行图像处理操作,例如机器人常用的物体检测,人脸跟踪等功能。这里不做过多描述,感兴趣可以搜索安装。

TensorFlow人工智能

TensorFlow 是谷歌研发的第二代人工智能学习系统,可被用于语音识别或图像识别等多项机器学习和深度学习领域。今天,TensorFlow 官方宣称开始支持树莓派平台,这意味着树莓派设备在人工智能方向的应用和学习上变得更加容易。

TensorFlow 在 2015 年首次发布之时,我们希望它成为一个任何人都可以使用的开源的机器学习框架。为此,我们将它扩展到了 Linux、MacOS、Windows、iOS 以及 Android 平台。而今,在树莓派基金会的协力下,我们宣布最新的 TensorFlow 1.9 版本将可以通过树莓派预装的 Python pip 包系统安装!如果你使用的是 Raspbian 9 (stretc

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Linux内存描述之概述--Linux内存.. 下一篇基于STM32的简易数码相册

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目