软件安装

设置你的树莓派

  • 树莓派4

  • SD卡(推荐32GB)

  • 树莓派4电源(USB-C接口,5V,≥3A)

  • 以太网线缆

准备树莓派的SD卡

在你的台式机/笔记本电脑上操作:

2. 下载此版本的Raspbian系统

使用 此版本 ,以便大家使用相同版本。解压该文件。

3. 使用 etcher 来烧录SD卡。

  • 如果你使用推荐的etcher,这是启动菜单。选择2019 - 09 - 26 - raspbian - buster - lite.img(解压文件内的文件)以及SD卡。

  • SD卡正在烧录的图片。

  • 完成!

4. 打开SD卡文件系统。

有时你的电脑需要一些时间来读取SD卡并显示启动文件夹。如果问题仍然存在,可以尝试取出SD卡再重新插入。

5. 下载 RPI - Setup仓库 的最新版本。

  • 解压所有文件。

6. 将下载的仓库中的所有文件移动到SD卡中。

  • 替换任何冲突的文件,使仓库版本覆盖原始版本。现在你可以删除压缩文件和已为空的文件夹。

启用基本功能

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

3. 进入读写模式

在机器人的命令行中运行 rw 。 确认终端提示符以(rw)结尾,而不是(ro)。

4. 获取网络连接

获取网络连接有两种方法:在树莓派上使用raspi-config工具,或者在将SD卡插入树莓派之前修改SD卡上的wpa_supplicant文件。如果您在斯坦福大学校园,请遵循下一节的说明,因为存在特殊要求。 如果您不在斯坦福大学校园,对于初学者来说,使用raspi-config工具更简单,也更推荐。然而,修改wpa_supplicant文件的好处是,您无需通过SSH登录到树莓派就可以设置正确的网络设置。

  1. 使用raspi-config工具的方法

通过SSH登录到树莓派后,运行:

sudo raspi-config

这将出现一个菜单。进入“网络选项”,然后选择“Wi-Fi”,并输入您的SSID(Wi-Fi名称,例如Netgear、Linksys)和密码。

  1. 修改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

输出应该如下所示:

如果无法ping通,执行:

ifconfig

并检查wlan0部分,查看是否有IP地址和其他调试信息。

3. 克隆此仓库(在树莓派上)

git clone https://github.com/stanfordroboticsclub/StanfordQuadruped.git

4. 安装依赖(在树莓派上)

cd StanfordQuadruped
sudo bash install.sh

5. 对机器人进行断电重启

拔掉电池,等待约30秒,然后再插回去。

6. 验证一切是否正常工作

  1. 如果您刚刚启动树莓派,等待约30秒,直到绿色指示灯停止闪烁。

  2. 通过SSH登录到机器人

    • 运行 ssh pi@10.0.0.xx (其中xx是您为机器人选择的IP地址)

  3. 检查操纵杆服务的状态

    • 运行 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
      
  4. 通过将PS4控制器置于配对模式,将其连接到树莓派。

    • 要将其置于配对模式,同时按住分享按钮和圆形的Playstation按钮,直到它开始快速闪烁两次。

    • 如果它开始缓慢闪烁一次,按住Playstation按钮,直到它停止闪烁,然后再试一次。

  5. 控制器连接后,再次检查状态

    • 运行 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 打开无线电。然后重启树莓派。

  6. 检查机器人服务的状态

    • 运行 sudo systemctl status robot

    • 输出会根据您运行各种程序的顺序而有所不同,但只需检查它是否没有任何红色文本显示失败。

    • 如果它确实失败了,通常可以通过以下操作修复: sudo systemctl restart robot

7. 完成!

继续进行校准。