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
下面是我的步骤:
  1. 首先烧写系统。重新烧录一遍出厂镜像(dofbot_jetson_20210127.img)
    推荐使用 balenaEtcher 软件
  2. 进入系统。卸载chromium:
    sudo apt purge chromium-*
  3. 删除ROS:
    sudo apt remove ros-*
  4. 更新所有软件:
    sudo apt update
    sudo apt upgrade
    sudo apt autoremove
  5. 重启系统
  6. 修改更新通道,允许查找长期支持版更新。
    修改/etc/update-manager/release-upgrades,将Prompt=never改为Prompt=lts。
    (这里要使用vim修改:sudo vim /etc/update-manager/release-upgrades,vim的使用方法可以自行搜一下)
    Dofbot机械臂学习笔记|Dofbot机械臂从零部署笔记(5)——开发环境改造(Jetson Nano升级Ubuntu20.04,支持ROS Noetic、Python3)
    文章图片

  7. 再次更新软件,并重启
    sudo apt update
    sudo apt dist-upgrade
    sudo reboot
  8. 现在可以使用 sudo do-release-upgrade -c 指令来确认是否有新的发行版。
    可看到提示可升级到Ubuntu 20.04了。
  9. 升级:sudo do-release-upgrade
    之后遇到的所有选项都选默认。
    注意:①最后一步会让你重启,千万不要重启!!!要修改一些文件再重启才可以!!!
    ②:选择N不重启后,这个终端窗口不要关掉,继续下面的修改操作。
  10. 首先修改/etc/gdm3/custom.conf,将WaylandEnable=false注释掉,如下图所示。
    Dofbot机械臂学习笔记|Dofbot机械臂从零部署笔记(5)——开发环境改造(Jetson Nano升级Ubuntu20.04,支持ROS Noetic、Python3)
    文章图片

  11. 其次修改/etc/X11/xorg.conf,将# Driver "nvidia"的注释去掉,如下图所示。
    Dofbot机械臂学习笔记|Dofbot机械臂从零部署笔记(5)——开发环境改造(Jetson Nano升级Ubuntu20.04,支持ROS Noetic、Python3)
    文章图片

  12. 最后,把/etc/update-manager/release-upgrades改回去,把lts改回never,如下图所示。
    Dofbot机械臂学习笔记|Dofbot机械臂从零部署笔记(5)——开发环境改造(Jetson Nano升级Ubuntu20.04,支持ROS Noetic、Python3)
    文章图片

  13. 重启系统,大功告成。
    原文提到了Logo比较丑的问题,我自己为了与原来的系统进行区分,就不改了。
安装完Ubuntu20.04后配置一下 查看SSH
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
虚拟机上配置集成开发环境 VS Code
上一个系列教程已经虚拟机上配置好了Ubuntu20.04+Noetic
我们只需要配置VS Code环境即可
注意,code.visualstudio.com/download 选择 .deb AMD 版本下载
之后安装插件和前面一样
以后就可以使用VS Code来开发了,还会有ros相关库的代码提示,十分方便!
在实机上调用Arm_Lib库可以直接操作机械臂运动!
Dofbot机械臂学习笔记|Dofbot机械臂从零部署笔记(5)——开发环境改造(Jetson Nano升级Ubuntu20.04,支持ROS Noetic、Python3)
文章图片

安装Python3机器学习相关库 【Dofbot机械臂学习笔记|Dofbot机械臂从零部署笔记(5)——开发环境改造(Jetson Nano升级Ubuntu20.04,支持ROS Noetic、Python3)】具体可进一步参考这个网站:https://qengineering.eu/
网站右下角提供了各种安装库的方法。
同时,网站的Github主页还提供了安装好了这些库的Jetson Nano B01用Ubuntu20.04镜像可以下载(提供的是Google云盘下载,有需要的同学留言我上传网盘)。

    推荐阅读