Dofbot机械臂学习笔记|Dofbot机械臂从零部署笔记(5)——开发环境改造(Jetson Nano升级Ubuntu20.04,支持ROS Noetic、Python3)
文章目录
-
- Jeston Nano安装Ubuntu20.04
- 安装完Ubuntu20.04后配置一下
-
- 查看SSH
- 查看 I2C 工具
- 安装JupyterLab
- 安装OLED驱动
- 安装pip
- 安装Arm_Lib库
- 安装ROS Noetic
- 安装集成开发环境 VS Code
-
- 虚拟机上配置集成开发环境 VS Code
- 安装Python3机器学习相关库
我们知道默认的Ubuntu18.04系统 + ROS Melodic系统对Python3的支持很不友好,基本还是个Python2的内核,很多Python2的库不能拿到Python3上使用(比如moveit的库),Python3的一些机器学习的库也不能很好地利用。笔者早就忍不了了。
我查了很多资料,踩了很多坑,终于实现了Jetson Nano B01使用Ubuntu20.04 + Noetic对机械臂进行开发,完美支持Python3。
(Jetson Nano Emmc版本也就是现在网上常见的国产板子,也可以用这个方法升20.04,之前把系统刷成从tf卡启动即可。)
Jeston Nano安装Ubuntu20.04 我们知道英伟达Jetson Nano只支持Ubuntu18.04系统,但是我们还是可以使用自己的方法把系统升级到20.04
建议自购一张64gTF卡,重新烧录一遍出厂镜像(dofbot_jetson_20210127.img),插入这张卡的镜像进行系统更新。这一步骤很耗时,建议预留3小时。
我主要参考了这一篇文章:
https://www.guyuehome.com/36629
下面是我的步骤:
安装完Ubuntu20.04后配置一下 查看SSH
- 首先烧写系统。重新烧录一遍出厂镜像(dofbot_jetson_20210127.img)
推荐使用 balenaEtcher 软件
- 进入系统。卸载chromium:
sudo apt purge chromium-*
- 删除ROS:
sudo apt remove ros-*
- 更新所有软件:
sudo apt update
sudo apt upgrade
sudo apt autoremove
- 重启系统
- 修改更新通道,允许查找长期支持版更新。
修改/etc/update-manager/release-upgrades,将Prompt=never改为Prompt=lts。
(这里要使用vim修改:sudo vim /etc/update-manager/release-upgrades,vim的使用方法可以自行搜一下)
文章图片
- 再次更新软件,并重启
sudo apt update
sudo apt dist-upgrade
sudo reboot
- 现在可以使用
sudo do-release-upgrade -c
指令来确认是否有新的发行版。
可看到提示可升级到Ubuntu 20.04了。
- 升级:
sudo do-release-upgrade
之后遇到的所有选项都选默认。
注意:①最后一步会让你重启,千万不要重启!!!要修改一些文件再重启才可以!!!
②:选择N不重启后,这个终端窗口不要关掉,继续下面的修改操作。
- 首先修改/etc/gdm3/custom.conf,将WaylandEnable=false注释掉,如下图所示。
文章图片
- 其次修改/etc/X11/xorg.conf,将# Driver "nvidia"的注释去掉,如下图所示。
文章图片
- 最后,把/etc/update-manager/release-upgrades改回去,把lts改回never,如下图所示。
文章图片
- 重启系统,大功告成。
原文提到了Logo比较丑的问题,我自己为了与原来的系统进行区分,就不改了。
systemctl status ssh
可以看到SSH正常启动中。
查看 I2C 工具
安装 I2C 工具:
sudo apt install i2c-tools
安装 I2C-Python 环境:
sudo apt install python3-pip
sudo apt install python3-smbus
sudo apt install build-essential python3-dev
测试 I2C 功能,扫描当前连接的 I2C 设备地址:
i2cdetect -y -r 1
可看到连接的I2C 设备,其中 0x15 就是机械臂扩展板的 I2C 设备地址
安装JupyterLab
注意先安装:
pip3 install pygments==2.4.1
剩余安装步骤可以参考官方文档(5.系统设置课程\4.安装JupyterLab),正常装上就行了,我也不使用它,插件什么的不用装。
安装OLED驱动
安装 OLED 驱动:
sudo pip3 install Adafruit-SSD1306
查看 oled 服务的状态:
systemctl status dofbot_oled.service
应该是关闭的。
重启和恢复开机自启动:
sudo systemctl enable dofbot_oled.service
sudo systemctl restart dofbot_oled.service
这样,板子上的OLED屏能正常显示了,可以看到IP地址等信息。
安装pip
如果pip不能用的话,安装一下pip
sudo apt-get install python3-pip
安装Arm_Lib库 打开 Home/0.py_install/,打开终端:
sudo python3 setup.py install
安装ROS Noetic 具体步骤参考我的这篇文章,这里就不细述了:
https://blog.csdn.net/takedachia/article/details/122413326
注意:安装完毕后,需要修改用户根目录下的.bashrc文件
删掉:
source /opt/ros/melodic/setup.bash
同时,把下面source dofbot_ws和catkin_ws下的 devel/setup.bash两句都删了。
添加:
source /opt/ros/noetic/setup.bash
这样安装成功,可以试一下海龟小程序:
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
安装集成开发环境 VS Code 推荐使用VS Code进行开发,安装步骤:
打开:code.visualstudio.com/download
选择 .deb ARM64 版本
下载,直接安装
打开VS Code后,安装以下几个插件:
- C/C++
- Chinese (Simplified) Language Pack for Visual Studio Code
- CMake Tools
- Python
- ROS
上一个系列教程已经虚拟机上配置好了Ubuntu20.04+Noetic
我们只需要配置VS Code环境即可
注意,code.visualstudio.com/download 选择 .deb AMD 版本下载
之后安装插件和前面一样
以后就可以使用VS Code来开发了,还会有ros相关库的代码提示,十分方便!
在实机上调用Arm_Lib库可以直接操作机械臂运动!
文章图片
安装Python3机器学习相关库 【Dofbot机械臂学习笔记|Dofbot机械臂从零部署笔记(5)——开发环境改造(Jetson Nano升级Ubuntu20.04,支持ROS Noetic、Python3)】具体可进一步参考这个网站:https://qengineering.eu/
网站右下角提供了各种安装库的方法。
同时,网站的Github主页还提供了安装好了这些库的Jetson Nano B01用Ubuntu20.04镜像可以下载(提供的是Google云盘下载,有需要的同学留言我上传网盘)。
推荐阅读
- Pytorch学习笔记|【Pytorch学习笔记】1.Python的yield和next是什么(为什么常用来读取数据(DataLoader)?)
- Pytorch学习笔记|【Pytorch学习笔记】4.细讲Pytorch的gather函数是什么——从Softmax回归中交叉熵损失函数定义的角度讲述
- Pytorch学习|深入理解PyTorch中的gather函数
- 用python做一个文本翻译器,自动将中文翻译成英文,超方便的
- 蓝桥杯|2021年第十二届蓝桥杯省赛第二场Python组(真题+解析+代码)(城邦)
- 蓝桥杯|2021年第十二届蓝桥杯省赛第二场Python组(真题+解析+代码)(格点)
- python 包之 httpx 请求操作教程
- Python中的七个小技巧
- python|python数据分析基础007 -利用pandas带你玩转excel表格(中上篇)