项目地址:GitHub - mike4192/spotMicro: Spot Micro Quadruped Project
3年前的spotmicro项目笔记从新整理一下,未完成项目之一
组装调试后主要问题如下:
舵机定位问题(主要还是对步进电机不了解)
3D打印的模板问题(3D打印制作还是不太懂)导致关节部分固定不稳,整机总量也是蛮重的。
对ros系统了解太少。
python学习不够,源码看的不是太懂
单片机学习不够,控制电路完全不懂
调试的运动姿态及配置完全不懂
总结就是学不会数理化,寸步难行;学会数理化走遍天下都不怕
以前排雷记录:
1、3D打印用模板腿可以用成品切片,喷嘴0.4层高0.15,支撑20% 填充30%
2、树莓派刷底层系统用balenaEtcher直接写卡,unbuntu系统 ros
3、python的pip安装故障,8.11无法直接升级20.2.2,
第一步
更新树莓派的国内源 /etc/apt/source.list
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
sudo sh-c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/`lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
第二步
安装xrdp(win系统远程linux桌面)
Apt-get install xrdp
第三步(故障一般出现pip及python的升级上)
更新软件 apt-get upgrade apt-get dist-upgradeapt-get autoremove
在安装ROS时出现了下面的问题:
解决方法:
sudo dpkg -i--force-overwrite <filename>
在我的问题中我的解决方法是:
sudo dpkg -i--force-overwrite /var/cache/apt/archives/python-rospkg-modules_1.1.7-1_all.deb
接着运行:
sudo apt-get -finstall
linux修改root密码
ubuntu@ubiquityrobot:~$sudo passwd root
New password:
Retype new password:
passwd: passwordupdated successfully
ubantu系统打开有可能会出现django莫名其妙没了又要重新安装的情况,
出现好几次了,
安装还不一定安装得上,用pipinstall命令出现
You are usingpip version 8.1.1, however version 20.0.2 is available. You should considerupgrading via the 'pip install --upgrade pip' command.
用了这两个代码就能解决
1 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
2 sudo python3 get-pip.py --force-reinstall
再配上
pip install django==1.8.2 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
第一次ssh登录:ssh ubuntu@ip地址 密码ubuntu
第一步先保证os的软件更新到最新版,这样减轻排查故障难度。
1、Apt-get update签名无效的情况不能进行upgrade,不然报错
更新国内源后apt-getupdate是提示签名无效,使用了下面的方法重置了apt cache后,故障依旧,按第二个方法添加key上去后正常。
$ sudo apt-getclean
$ cd/var/lib/apt
$ sudo mv listslists.old
$ sudo mkdir -plists/partial
$ sudo apt-getclean
$ sudoapt-get update
源太多,都是不稳定的,只能更新常用的软件。后续需要改回官方源
命令
更新树莓派的国内源 /etc/apt/source.list
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
sudo sh-c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/`lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
我在Ubuntu上的/etc/apt/sources.list加入源后执行sudo apt-get update出现下图错误:
原因
在sources.list文件中加入了非ubuntu官方源,所以认为加入源是不可信任的。
解决方法
导入该源公钥。E084DAB9为上图中公钥后八位
gpg--keyserver keyserver.ubuntu.com --recv-keys E084DAB9
gpg --export--armor E084DAB9 | sudo apt-key add -
apt-get upgrade后续报错后改回官方源。部分依赖国内源没有。只能慢慢等更新
第二步
安装xrdp(win系统远程linux桌面)
Apt-get install xrdp
第三步(故障一般出现pip及python的升级上)
更新软件 apt-get upgrade apt-get dist-upgradeapt-get autoremove
在安装ROS时出现了下面的问题:
解决方法:
sudo dpkg -i--force-overwrite <filename>
在我的问题中我的解决方法是:
sudo dpkg -i--force-overwrite /var/cache/apt/archives/python-rospkg-modules_1.1.7-1_all.deb
接着运行:
sudo apt-get -finstall
linux修改root密码
ubuntu@ubiquityrobot:~$sudo passwd root
New password:
Retype new password:
passwd: passwordupdated successfully
执行apt-getdist-upgrade更新完成后,执行自动运行脚本
curl https://gitlab.com/custom_robots/spotmicroai/basic-runtime/-/raw/master/utilities/self_install.sh| bash
如果出现python和pip版本低的报错的话按下面执行
ubantu系统打开有可能会出现django莫名其妙没了又要重新安装的情况,
出现好几次了,
安装还不一定安装得上,用pipinstall命令出现
You are usingpip version 8.1.1, however version 20.0.2 is available. You should considerupgrading via the 'pip install --upgrade pip' command.
用了这两个代码就能解决
1 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
2 sudo python3 get-pip.py --force-reinstall
再配上
pip install django==1.8.2 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
运行$ pipinstall -U rosdep rosinstall_generator wstool rosinstall six vcstools
运行完成后再重新编译
开最少3个ssh窗口
1、先运行rosruni2cpwm_board i2cpwm_board这个命令检测驱动器,
2、运行rosrunspot_micro_keyboard_command spotMicroKeyboardMove.py命令加载驱动
3、这个rosrun servo_move_keyboardservoMoveKeyboard.py命令是调驱动器
类似调参时,使用电脑命令行用ssh连接树莓派,启动IIC:
rosrun i2cpwm_boardi2cpwm_board
然后输入名利打开机器人进程:
roslaunchspot_micro_motion_cmd spot_micro_motion_cmd.launch
最后打开控制脚本:
rosrunspot_micro_keyboard_command spotMicroKeyboardMove.py
打开后即可用键盘控制狗的动作了。
基本命令有 stand、walk、idle,主要使用前两个,在图 66 中输入 stand 后回车,机器狗舵机就会运动到站立位置,输入walk,机器狗就会开始原地踏步,使用wasd四键操作即可控制前进后退左转右转,使用q、e可分别左旋转、右旋转。
该脚本运行如图54,输入单个舵机控制命令 oneServo后回车。
图 54
输入 oneServo 再输入想要操作的舵机通道号,该通道号即为图33中的那个数值+1,比如想要操作表格中中的第0通道,这里就输入1,按键g、j可对舵机值加减1,f、k可对舵机值加减10,按q退回到通道选择处。
图55 输入命令使对应通道输出对应值
该值就对应了舵机的一个位置,如果使用的数字舵机刚开始可能因为超出范围而不会有输出,当值增大到某个值(大约七八十)后舵机会猛然打向该出,为了不损坏舵机和关节,建议一开始长按k快速加大值,快速将舵机值增加到机械能够承受的值。调试舵机的方法大体上来说就是8个腿关节有0度和90度两个参考,4个肩关节有0和45度两个参考位置,校准过程就是将这些角度所对应图55中实际的值得出来,我们引用原作者的图片,以右前腿为例讲解舵机校准过程。