===================== 软件安装 ===================== .. contents:: :depth: 4 设置你的树莓派 ------------------------------ * 树莓派4 * SD卡(推荐32GB) * 树莓派4电源(USB-C接口,5V,≥3A) * 以太网线缆 准备树莓派的SD卡 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 在你的台式机/笔记本电脑上操作: 1. 将SD卡插入你的台式机/笔记本电脑。 ############################################### 2. 下载此版本的Raspbian系统 ################################################################# 使用 `此版本 `_ ,以便大家使用相同版本。解压该文件。 3. 使用 `etcher `_ 来烧录SD卡。 ########################################################################################## * 如果你使用推荐的etcher,这是启动菜单。选择2019 - 09 - 26 - raspbian - buster - lite.img(解压文件内的文件)以及SD卡。 .. image::../_static/flash1.JPG :align: center * SD卡正在烧录的图片。 .. image::../_static/flash2.JPG :align: center * 完成! .. image::../_static/flash3.JPG :align: center 4. 打开SD卡文件系统。 ################################################################### 有时你的电脑需要一些时间来读取SD卡并显示启动文件夹。如果问题仍然存在,可以尝试取出SD卡再重新插入。 .. image::../_static/sdboot.JPG :align: center 5. 下载 `RPI - Setup仓库 `_ 的最新版本。 ##################################################################################################################### * 解压所有文件。 .. image::../_static/downloadrpi.jpg :align: center 6. 将下载的仓库中的所有文件移动到SD卡中。 ##################################################################### * 替换任何冲突的文件,使仓库版本覆盖原始版本。现在你可以删除压缩文件和已为空的文件夹。 .. image::../_static/replaceboot.JPG :align: center 启用基本功能 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1. 开启你的树莓派。 ################################################################################################### 从电脑中取出SD卡,插入你的树莓派。同时给树莓派接上电源。 如果你的树莓派无法启动,请尝试回到步骤3“使用etcher烧录SD卡”,并使用此版本的Rasbian系统代替:https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite - 2020 - 02 - 14/2020 - 02 - 13 - raspbian - buster - lite.zip 2. 配置你的电脑以通过SSH连接到机器人 ######################################################## * 若要使用以太网进行设置(推荐),将以太网线缆连接到你的电脑和树莓派。 * 进入你希望使用的网络接口(以太网/无线网络)的网络设置 * 将“配置IPv4”改为:手动 * 将你的IP地址改为10.0.0.X范围内的某个地址(如果你是斯坦福学生机器人团队的一员,请从这个 `文档 `_ 中选择一个不会与其他系统冲突的地址) * 将子网掩码改为:255.255.255.0 * 路由器留空 * 与机器人网络断开连接后,记得将这些设置改回原来的状态,否则该接口的网络将无法使用 2. 从你的电脑通过SSH连接到树莓派。 ###################################### 运行 ``ssh pi@10.0.0.10`` (默认密码是 ``raspberry`` ) .. image::../_static/sshimage.jpg :align: center 3. 进入读写模式 #################################################################################################### 在机器人的命令行中运行 ``rw`` 。 确认终端提示符以(rw)结尾,而不是(ro)。 .. image::../_static/readwrite.JPG :align: center 4. 获取网络连接 ######################### 获取网络连接有两种方法:在树莓派上使用raspi-config工具,或者在将SD卡插入树莓派之前修改SD卡上的wpa_supplicant文件。如果您在斯坦福大学校园,请遵循下一节的说明,因为存在特殊要求。 如果您不在斯坦福大学校园,对于初学者来说,使用raspi-config工具更简单,也更推荐。然而,修改wpa_supplicant文件的好处是,您无需通过SSH登录到树莓派就可以设置正确的网络设置。 a. 使用raspi-config工具的方法 通过SSH登录到树莓派后,运行: :: sudo raspi-config 这将出现一个菜单。进入“网络选项”,然后选择“Wi-Fi”,并输入您的SSID(Wi-Fi名称,例如Netgear、Linksys)和密码。 .. image::../_static/raspconfig1.JPG :align: center .. image::../_static/raspconfig2.JPG :align: center b. 修改wpa_supplicant文件的方法 按照 `此链接 `_ 中的文档说明编辑 **/etc/wpa_supplicant/wpa_supplicant.conf**,查看“将网络详细信息添加到树莓派”部分。您也可以查看这个 `链接 `_ 。由于pi-init2的神奇功能,在树莓派开机之前,就可以从 **/boot/appliance/etc/wpa_supplicant/wpa_supplicant.conf** 编辑该文件。 4. [斯坦福学生专用] 在斯坦福获取网络连接 ############################################################################### * 将树莓派接上电源(通过板载的微型USB接口)。通过SSH登录到树莓派。在登录行之后出现的欢迎消息中,查找树莓派的MAC地址,它会出现在“无线硬件MAC地址”这一行下面。记下该地址。 * 使用另一台计算机访问iprequest.stanford.edu。 * 使用您的斯坦福账号登录。 * 按照屏幕上的说明添加另一台设备: * **第一页**:设备类型:其他,操作系统:Linux,硬件地址:输入树莓派的MAC地址 * **第二页**:品牌和型号:其他PC,有线硬件地址:删除已有的内容,无线硬件地址:输入树莓派的MAC地址 * 确认树莓派已连接到网络: * 等待一封电子邮件(发送到您的斯坦福邮箱),通知设备已被接受 * 在树莓派上执行 **sudo reboot** * 重启完成后,输入ping www.google.com并确保您能通过网络接收数据包 5. 安装必备组件 ############################## * 运行 ``sudo./install_packages.sh`` * 如果IP地址仍然是10.0.0.10,系统会提示您更改它。树莓派的IP地址不应与您计算机的IP地址10.0.0.Y相同。 * 如果主机名仍然是raspberry,系统会提示您更改它。 * 系统会要求您输入当前时间和日期。如果您想自动设置时间和日期,可以跳到下一步。 * 运行 ``sudo./time_sync.sh`` 自动设置时间和日期。 RPI-Setup仓库的作用 ############################# * 启用ssh。由于密码保持不变(raspberry),ssh仅在以太网接口上启用。要在所有接口上启用它,请注释掉/boot/appliance/etc/ssh/sshd_config中的ListenAddress行。 * 将树莓派设置为通过以太网连接到机器人网络(10.0.0.X) * 扩展SD卡文件系统 * 将文件系统设置为只读 * 准备连接到斯坦福的WiFi(详细信息见上文) * 提供安装开发所需工具和仓库的脚本 在树莓派上安装斯坦福四足机器人软件 ------------------------------------------------------------- 步骤 ^^^^^^^ 1. 通过SSH连接到树莓派 ############################## 检查树莓派是否可以访问互联网。如果您在通过SSH连接到树莓派时遇到问题,请查看上一步中链接的设置树莓派以太网设置的说明。 :: ssh pi@10.0.0.Y 这里,“Y”是您在运行install_packages.sh脚本时为树莓派选择的IP地址。系统提示输入密码时,输入默认密码“raspberry”或您在install_packages.sh脚本中设置的密码。 如果您忘记了树莓派的IP地址,关闭树莓派,取出SD卡并插入您的计算机。 然后打开SD卡文件夹,进入以下文件夹:boot/appliance/etc/network/。 在文本编辑器中打开名为“interfaces”的文件。 在第19行,它应该显示IP地址为“address 10.0.0.x”。 2. 测试网络连接。 ###################################### :: ping www.google.com 输出应该如下所示: .. image::../_static/pingresults.JPG :align: center 如果无法ping通,执行: :: ifconfig 并检查wlan0部分,查看是否有IP地址和其他调试信息。 3. 克隆此仓库(在树莓派上) ################################ :: git clone https://github.com/stanfordroboticsclub/StanfordQuadruped.git 4. 安装依赖(在树莓派上) ##################################### :: cd StanfordQuadruped sudo bash install.sh 5. 对机器人进行断电重启 ############################# 拔掉电池,等待约30秒,然后再插回去。 6. 验证一切是否正常工作 ############################### #. 如果您刚刚启动树莓派,等待约30秒,直到绿色指示灯停止闪烁。 #. 通过SSH登录到机器人 * 运行 ``ssh pi@10.0.0.xx (其中xx是您为机器人选择的IP地址)`` #. 检查操纵杆服务的状态 * 运行 ``sudo systemctl status joystick`` * 如果您尚未连接PS4控制器,它应该显示类似如下内容 :: pi@pupper(rw):~/StanfordQuadruped$ sudo systemctl status joystick ● joystick.service - Pupper Joystick service Loaded: loaded (/home/pi/PupperCommand/joystick.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2020-03-01 06:57:20 GMT; 1s ago Main PID: 5692 (python3) Tasks: 3 (limit: 4035) Memory: 7.1M CGroup: /system.slice/joystick.service ├─5692 /usr/bin/python3 /home/pi/PupperCommand/joystick.py └─5708 hcitool scan --flush Mar 01 06:57:20 pupper systemd[1]: Started Pupper Joystick service. Mar 01 06:57:21 pupper python3[5692]: [info][controller 1] Created devices /dev/input/js0 (joystick) /dev/input/event0 (evdev) Mar 01 06:57:21 pupper python3[5692]: [info][bluetooth] Scanning for devices #. 通过将PS4控制器置于配对模式,将其连接到树莓派。 * 要将其置于配对模式,同时按住分享按钮和圆形的Playstation按钮,直到它开始快速闪烁两次。 * 如果它开始缓慢闪烁一次,按住Playstation按钮,直到它停止闪烁,然后再试一次。 #. 控制器连接后,再次检查状态 * 运行 ``sudo systemctl status joystick`` * 现在它应该看起来像这样:: pi@pupper(rw):~/StanfordQuadruped$ sudo systemctl status joystick ● joystick.service - Pupper Joystick service Loaded: loaded (/home/pi/PupperCommand/joystick.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2020-03-01 06:57:20 GMT; 55s ago Main PID: 5692 (python3) Tasks: 2 (limit: 4035) Memory: 7.3M CGroup: /system.slice/joystick.service └─5692 /usr/bin/python3 /home/pi/PupperCommand/joystick.py Mar 01 06:57:20 pupper systemd[1]: Started Pupper Joystick service. Mar 01 06:57:21 pupper python3[5692]: [info][controller 1] Created devices /dev/input/js0 (joystick) /dev/input/event0 (evdev) Mar 01 06:57:21 pupper python3[5692]: [info][bluetooth] Scanning for devices Mar 01 06:58:12 pupper python3[5692]: [info][bluetooth] Found device A0:AB:51:33:B5:A0 Mar 01 06:58:13 pupper python3[5692]: [info][controller 1] Connected to Bluetooth Controller (A0:AB:51:33:B5:A0) Mar 01 06:58:14 pupper python3[5692]: running Mar 01 06:58:14 pupper python3[5692]: [info][controller 1] Battery: 50% * 如果树莓派在一两分钟后仍找不到操纵杆,可能是树莓派的蓝牙控制器从未打开。运行 ``sudo hciconfig hci0 up`` 打开无线电。然后重启树莓派。 #. 检查机器人服务的状态 * 运行 ``sudo systemctl status robot`` * 输出会根据您运行各种程序的顺序而有所不同,但只需检查它是否没有任何红色文本显示失败。 * 如果它确实失败了,通常可以通过以下操作修复: ``sudo systemctl restart robot`` 7. 完成! ######### 继续进行校准。