第 8 章 机器人平台设计之控制系统(自学二刷笔记)

重要参考:

课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ

讲义链接:Introduction · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程

8.5.1 控制系统实现_树莓派概述

概念

Raspberry Pi(中文名为“树莓派”,简写为RPi,(或者RasPi / RPI)是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,其系统基于Linux。随着Windows 10 IoT的发布,我们也将可以用上运行Windows的树莓派。

结构

它是一款基于ARM 的微型电脑主板,以SD/MicroSD卡为内存硬盘,卡片主板周围有1/2/4个USB接口和一个以太网接口(A型没有网口),可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上,具备所有PC的基本功能只需接通电视机和键盘,就能执行如电子表格、文字处理、玩游戏、播放高清视频等诸多功能,下图为树莓派4b。

配件

单独一块树莓派主板是无法运行的,必须集成一些配件才能实现一定的功能,树莓派周边配件是比较丰富的,比如:USB电源、SD卡、读卡器、HDMI连接线、显示屏、键盘、鼠标、保护壳、风扇等等,除此之外还有各式各样的传感器:声音传感器、温度传感器、土壤湿度传感器....对于我们教程而言,所需的配件比较简单,硬件清单如下:

  • 树莓派主板
  • 电源线
  • SD卡(已安装 Ubuntu 以及 ROS)
  • 显示屏或 HDMI采集卡以及配套的数据线
  • 鼠标、键盘
接线以及使用

1.树莓派连接显示屏

2.树莓派连接HDMI采集卡

使用 windows 的相机查看运行结果,打开windows相机并点击更改相机即可:

 

8.5.2 控制系统实现_分布式框架

当前分布式框架搭建时,树莓派是作为主机,而PC则作为从机,关于分布式框架的搭建流程,我们在第4章4.7节中已有详细介绍,按照流程实现即可,不过在实现此流程前,还需要做准备工作:为树莓派连接无线网络,并设置固定IP,实现如下:

1.硬件准备:使用显示屏或 HDMI采集卡连接树莓派并启动;

2.为树莓派连接无线网络;

3.为树莓派配置静态IP,具体操作如图:

固定IP配置完毕后,按照4.7节演示,配置分布式框架即可。

 

8.5.3 控制系统实现_ssh远程连接

在多处理器的分布式架构中,不同的ROS系统之间可能会频繁的涉及到文件的传输,比如:

我们在PC端编写ROS程序,而最终需要在树莓派上运行,如何将相关目录以及文件从PC上传到树莓派?

SSH 是常用手段之一。


概念

SSH(Secure Shell)是一种通用的、功能强大的、基于软件的网络安全解决方案。计算机每次向网络发送数据时,SSH都会自动对其进行加密。数据到达目的地时,SSH自动对加密数据进行解密。整个过程都是透明的,使用OpenSSH工具将会增进你的系统安全性。SSH安装容易、使用简单。

实现

SSH实现架构上分为客户端和服务器端两大部分,客户端是数据的发送方,服务端是数据的接收方,当前场景下,我们需要从PC端发送数据到树莓派,那么PC端属于客户端,而树莓派属于服务端,整个实现具体流程是:

  1. 分别安装SSH客户端与服务端
  2. 服务端启动SSH服务
  3. 客户端远程登陆服务端
  4. 实现数据传输
1.安装SSH客户端与服务端

默认情况下,Ubuntu系统已经安装了SSH客户端,因此只需要在树莓派安装服务端即可(如果树莓派安装的是服务版的Ubuntu,默认会安装SSH服务并已设置成了开机自启动):

sudo apt-get install openssh-server

如果客户端需要自行安装,那么调用如下命令:

sudo apt-get install openssh-client
2.服务端启动SSH服务

树莓派启动 ssh 服务:

sudo /etc/init.d/ssh start

启动后查看服务是否正常运行:

ps -e | grep ssh

如果启动成功,会包含 sshd 与 ssh 两个程序。

以后需要频繁的使用ssh登录树莓派,为了简化实现,可以将树莓派的ssh服务设置为开机自启动,命令如下:

sudo systemctl enable ssh
3.客户端远程登陆服务端

登陆树莓派可以调用如下命令:

ssh 账号@ip地址

然后根据提示,录入登陆密码,即可成功登陆。

如果退出登陆,可以调用exit命令:

exit
4.实现数据传输

上传文件:

scp 本地文件路径 账号@ip:树莓派路径

上传文件夹:

scp -r 本地文件夹路径 账号@ip:树莓派路径

下载文件:

scp 账号@ip:树莓派路径 本地文件夹路径

下载文件夹:

scp -r 账号@ip:树莓派路径 本地文件夹路径
使用优化

每次登陆树莓派时,都需要输入密码,使用不方便,可以借助密钥简化登陆过程,实现免密登陆,提高操作效率,实现思想是:生成一对公钥私钥,私钥存储在本地,公钥上传至服务器,每次登陆时,本地直接上传私钥到服务器,服务器有匹配的公钥就认为是合法用户,直接创建SSH连接即可。具体实现步骤只有两步:

  1. 本地生成密钥对
  2. 将公钥上传至树莓派
1.生成密钥对

本地客户端生成公私钥:(一路回车默认即可)

ssh-keygenssh-keygen

上面这个命令会在用户目录.ssh文件夹下创建公私钥:

  1. id_rsa (私钥)
  2. id_rsa.pub (公钥)
2.将公钥上传至树莓派

上传命令:

ssh-copy-id -i ~/.ssh/id_rsa.pub 账号@ip

上面这条命令是写到服务器上的ssh目录下,该目录下有文件authorized_keys保存了公钥内容。

以后再登陆树莓派就无需录入密码了。

 

 

  • 18
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值