在Raspberry Pi 3 Model B+中搭建控制Stanford Pupper的软件环境

4 篇文章 0 订阅
4 篇文章 0 订阅

由于Stanford Pupper官网所给手册中提供的系统镜像安装后,在后续搭建软件环境过程中会出现“软件源连接超时”“版本不匹配”等问题,自己实在没有办法将环境搭建好,所以采用Raspberry官网提供的系统镜像安装系统,并参照Stanford Pupper官网所给压缩包中的安装脚本(install.sh)文件内容,逐一安装所需依赖。
现将安装过程记录如下(好记性不如烂笔头),事实是在写博客的过程中,有些操作步骤已经离我而去了。所以大家在操作过程中如果遇到问题,欢迎留言,我们一起回忆并加以解决:)

操作约定

  1. 树莓派型号为 Raspberry Pi 3 Model B+,以下操作过程中简记为“树莓派3”。
  2. 树莓派3登录用户名 pi,密码 raspberry。
  3. 树莓派3主机名:raspberrypi。
  4. 操作用笔记本(以下操作过程中简记为“笔记本”)的系统版本:Windows 10 企业版(64位) LTSC
  5. ssh与sftp连接工具:MobaXterm(Home Edition)。
  6. 树莓派3接入的wifi能够连通外网,操作用的笔记本电脑wifi已经打开。

关闭 树莓派3

sudo shutdown now

重启 树莓派3

sudo reboot

下载 Raspberry Pi OS (32-bit) with desktop and recommended software

下载链接:
https://downloads.raspberrypi.org/raspios_armhf/images/raspios_armhf-2020-08-24/2020-08-20-raspios-buster-armhf.zip。
解压到2020-08-20-raspios-buster-armhf文件夹中。

下载 Win32DiskImager

下载链接:https://win32diskimager.download/Win32DiskImager-1.0.0-src.zip

第一步:

  1. 在Windows系统中利用Window2DiskImage将2020-08-20-raspios-buster-armhf文件夹中的2020-08-20-raspios-buster-armhf.img镜像文件写入sd卡,写入结束后在sd卡中识别出来的卷标为boot的分区中新建文件ssh,文件的扩展名及内容均为空。
    将sd卡插入树莓派3,上电树莓派3。通过以下操作获取树莓派3的ip地址。
    注意:树莓派3初始默认是通过dhcp动态获取ip,因此每次连接时的ip地址会存在不固定的情况。
  2. 将笔记本连接wifi,并记录wifi的ssid与passsword,确保笔记本可以连通外网。在这一步操作中,笔记本的有线连接不需要做设置。
    然后通过网线将笔记本和树莓派3连接起来,在Windows桌面,移动鼠标指针指向任务栏右侧的网络连接图标,单击右键,选择“打开’网络和Internet’设置”,打开“设置”对话框,单击“更改适配器选项”。
  3. 在打开的“网络连接”窗口中,右键单击处于连接状态的无线网络,选择“属性” ,在“属性” 对话框中单击"共享"选项卡,勾选"允许其他网络用户通过此计算机的Internet连接来连接(N)""允许其他网络用户控制或禁用共享的Internet连接(O)“,单击”确定“。
  4. 按下win+R,在”运行“对话框中输入”cmd",打开命令提示符窗口。在其中输入 arp -a,回车后注意查找mac地址开头为b8的网卡对应的ip地址。如果没有找到,就重启树莓派3,然后等待1分钟时间后再尝试。
  5. 查到树莓派3的ip地址后,将笔记本有线连接的ip地址更改为与树莓派3在同一个网段。

第二步

利用MobaXterm通过ssh连上树莓派3,在终端输入sudo raspi-config,打开树莓派3的“Raspberry Pi Software Configuration Tool(raspi-config)”,通过键盘选择“2 Netwoks Options”,接着选择“N2 wireless LAN”,然后输入SSIDpassphrase,将树莓派3连接上SSID指定的wifi。最后,通过执行以下命令ping www.baidu.com,确认树莓派3已经通过wifi连上外网。

将树莓派3中的python版本升级为3.7。

  1. 安装 python3
sudo apt install python3
  1. 卸载 python2.7
sudo apt remove python
  1. 自动清理 python2.7 的依赖
sudo apt autoremove
  1. 删除原来 python 的链接
sudo rm /usr/bin/python
  1. 创建新链接指向之前安装的 python3.7
sudo ln -s /usr/bin/python3.7 /usr/bin/python
  1. 查看 python 版本
python

安装后续过程需要的依赖

  1. 准备工作
sudo dpkg-reconfigure tzdata
sudo apt-get install python3-distutils
  1. 安装setuptools
sudo wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz
sudo tar -zxvf setuptools-19.6.tar.gz
cd setuptools-19.6/
sudo python3 setup.py build
sudo python3 setup.py install
  1. 安装pip3
sudo wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz
sudo tar -zxvf pip-8.0.2.tar.gz
cd pip-8.0.2/
sudo python3 setup.py build
sudo python3 setup.py install
  1. 升级pip3版本
sudo pip3 install --upgrade pip -i http://pypi.douban.com/simple  --trusted-host pypi.douban.com
  1. 查看当前pip3版本
pip3 --version
  1. 安装libatlas-base-dev
sudo apt-get install libatlas-base-dev
  1. 安装numpy transforms3d pigpio pyserial
sudo pip install numpy transforms3d pigpio pyserial
  1. 如果安装过程报错,可以尝试分别安装numpy、transforms3d
sudo apt install python3-numpy
sudo pip3 install transforms3d

第三步

1. 下载stanfordroboticsclub/UDPComms

下载地址:https://github.com/stanfordroboticsclub/UDPComms/archive/master.zip。
下载完毕后,解压到UDPComms文件夹中(注意文件夹名最好设置为UDPComms,以便匹配安装时的脚本文件,后续的压缩包也需注意同样的问题。)

2. 下载stanfordroboticsclub/uDHCPd

下载地址:https://github.com/stanfordroboticsclub/uDHCPd/archive/master.zip。
下载完毕后,解压到uDHCPd文件夹中。

3. 下载stanfordroboticsclub/PupperCommand

下载地址:https://github.com/stanfordroboticsclub/PupperCommand/archive/master.zip。
下载完毕后,解压到PupperCommand文件夹中。

4. 下载stanfordroboticsclub/PS4

下载地址:Joystickhttps://github.com/stanfordroboticsclub/PS4Joystick/archive/master.zip。
下载完毕后,解压到PS4Joystick文件夹中。

5.下载joan2937/pigpio

下载地址:https://github.com/joan2937/pigpio/archive/v74.zip。
下载完毕后,解压到pigpio-74文件夹中。

6.上传解压后的文件夹到树莓派3

利用MobaXterm通过sftp将文件夹“UDPComms”“uDHCPd”“PupperCommand”“pigpio-74”上传到树莓派3的/pi/home/文件夹下。

第四步

  1. 安装UDPComms
cd ~
sudo bash UDPComms/install.sh
  1. 安装uDHCPd
cd ~
sudo bash uDHCPd/install.sh
  1. 安装PupperCommand
cd ~
cd PupperCommand
sudo bash install.sh
  1. 安装PS4Joystick
cd ~
cd PS4Joystick
sudo bash install.sh
cd ~
sudo systemctl enable joystick
  1. 安装pigpio-74
cd ~
cd pigpio-74
make
sudo make install
  1. 创建新链接指向之前安装的robot.service
cd ~
cd StanfordQuadruped
sudo ln -s ./robot.service /etc/systemd/system/
  1. 加载监视进程,启动robot服务
sudo systemctl daemon-reload
sudo systemctl enable robot
sudo systemctl start robot
  1. 重启树莓派3
sudo reboot
  1. 等待约1分钟时间,然后查看PS4手柄及robot服务加载情况
sudo systemctl status joystick
sudo systemctl status robot
  1. 如果PS4手柄开启并尝试配对后,树莓派3长时间扫描不到,执行以下命令打开蓝牙
sudo hciconfig hci0 up
  1. 如果joystaick和robot服务不正常,通过以下命令重启其服务
sudo systemctl restart joystick
sudo systemctl restart robot

结尾

树莓派3与笔记本之间的连接方式及关系:

  1. 在未获取树莓派3所获取ip前,笔记本通过共享wifi的方式等待树莓派3通过wifi接入,然后利用arp命令获取树莓派3的ip。
  2. 在获取了树莓派3的ip后,笔记本通过网线利用ssh(也可以采用vnc方式)与树莓派3通信;树莓派3通过笔记本共享的wifi接入Internet。

参考博客:

  1. 将树莓派内置的 Python2.7 升级成Python3
  2. 树莓派获取IP 地址最简单的办法(windows 平台)
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值