前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >来自斯坦福的廉价机器狗.上

来自斯坦福的廉价机器狗.上

作者头像
云深无际
发布2021-06-25 15:46:43
4520
发布2021-06-25 15:46:43
举报
文章被收录于专栏:云深之无迹

一个廉价的机械狗:

狗机器人的大脑是一台 Raspberry Pi 4 计算机,它接收来自无线 PS4 控制器的命令并控制伺服电机,每条腿三个,将脚和身体移动到正确的位置。

代码语言:javascript
复制
https://github.com/stanfordroboticsclub/StanfordQuadruped
代码语言:javascript
复制
git@github.com:stanfordroboticsclub/StanfordQuadruped.git
代码语言:javascript
复制
https://stanfordstudentrobotics.org/pupper
代码语言:javascript
复制
https://pupper.readthedocs.io/en/latest/

L同学说,写文章把参考链接放到尾部可以增加一定程度的专业性,不过我是习惯文章写到哪里就将参考的来源附上,不过接下来可以考虑放尾部。

先对文章的主角先睹为快

3D打印的痕迹很明显

主要的动力源是舵机

金属舵机力量大

要安装的机械腿

装配图

4个舵机安装好的样子

控制的核心是pi 4

放置好的样子

因为要控制引脚,所以焊接一个引出使用的插脚


我们对这个东西的硬件构建,至少对我来说是不感兴趣的,我就看如阿健实现

这个是项目的所有源码,看见外面的run_robot没有,这个文件会赋予机器人活力,一会儿精力多放于此

可以看下下里面包含的函数

当你烧录好一个树莓派的系统,把刚刚克隆的文件全复制进去

就是这些东西,替换

用ssh链接树莓派:

代码语言:javascript
复制
ssh pi@10.0.0.10


raspberry

账号和密码,记得IPV4改成手动模式,IP地址是自己写的

然后你要确认一下自己的读写模式是什么

代码语言:javascript
复制
https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md
代码语言:javascript
复制
https://linux.die.net/man/5/wpa_supplicant.conf

ssh链接时一回事,我们需要安排pi在开机的时候就链接我们的wifi,以上的链接时参考的地址。

代码语言:javascript
复制
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
代码语言:javascript
复制
network={
    ssid="testing"
    psk="testingPassword"
}

最新的系统需要在文件的最上面加一些文件才可以:

代码语言:javascript
复制
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=<Insert 2 letter ISO 3166-1 country code here>

如果你有很多的WiFi,可以这样写:

代码语言:javascript
复制
etwork={
    ssid="SchoolNetworkSSID"
    psk="passwordSchool"
    id_str="school"
}

network={
    ssid="HomeNetworkSSID"
    psk="passwordHome"
    id_str="home"
}

当然也不排除,同时有WiFi的情况,可以指定一下优先级:

代码语言:javascript
复制
network={
    ssid="HomeOneSSID"
    psk="passwordOne"
    priority=1
    id_str="homeOne"
}

network={
    ssid="HomeTwoSSID"
    psk="passwordTwo"
    priority=2
    id_str="homeTwo"
}

关于这个应用软件的更多信息可以看这里

代码语言:javascript
复制
sudo ./install_packages.sh
代码语言:javascript
复制
http://math-atlas.sourceforge.net/

好像是个线性代数的库

代码语言:javascript
复制
https://pypi.org/project/transforms3d/
代码语言:javascript
复制
http://abyz.me.uk/rpi/pigpio/

pi的gpio库,c实现,被包装了py的接口

可以这样安装:

代码语言:javascript
复制
rm master.zip
sudo rm -rf pigpio-master
wget https://github.com/joan2937/pigpio/archive/master.zip
unzip master.zip
cd pigpio-master
make
sudo make install

测试一下:

代码语言:javascript
复制
sudo ./x_pigpio # check C I/F
sudo pigpiod    # 开启守护进程
./x_pigpiod_if2 # check C      I/F to daemon
./x_pigpio.py   # check Python I/F to daemon
./x_pigs        # check pigs   I/F to daemon
./x_pipe        # check pipe   I/F to daemon
代码语言:javascript
复制
https://github.com/fivdi/pigpio

具体的GitHub的库在这里,我们后面使用的时候再看

在安装的脚本里面看到了这个,我们去看看

代码语言:javascript
复制
https://github.com/stanfordroboticsclub/PupperCommand

在这里

一段shell的安装脚本

安装了一个字体

然后就是安装了py的库,用ps的手柄控制,后面是加了一个守护线程???不是线程,是自动启动。中间看不懂了,一会儿看shell。

代码语言:javascript
复制
https://pypi.org/project/ds4drv/

这个是手柄的库

这个是封装的命令

主要的脚本就是这些

大致就是安装软件,向系统注册一些服务


电脑没电了,下篇文章见

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档