• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Dofbot机械臂从零部署笔记5——开发环境改造Jetson Nano升级Ubuntu20.04,支持ROS Noetic、Python3

武飞扬头像
takedachia
帮助1

我们知道默认的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的使用方法可以自行搜一下)
    学新通

  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注释掉,如下图所示。
    学新通

  11. 其次修改/etc/X11/xorg.conf,将# Driver "nvidia"的注释去掉,如下图所示。
    学新通

  12. 最后,把/etc/update-manager/release-upgrades改回去,把lts改回never,如下图所示。
    学新通

  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库可以直接操作机械臂运动!
学新通

安装Python3机器学习相关库

具体可进一步参考这个网站:https://qengineering.eu/
网站右下角提供了各种安装库的方法。
同时,网站的Github主页还提供了安装好了这些库的Jetson Nano B01用Ubuntu20.04镜像可以下载(提供的是Google云盘下载,有需要的同学留言我上传网盘)。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgaahaa
系列文章
更多 icon
同类精品
更多 icon
继续加载