• ros下配置机器人系统V1


    jtop

    sudo apt install python3-pip
    sudo pip3 install -U jetson-stats
    sudo systemctl restart jtop.service

    步骤二 ros melodic安装及环境配置

    ROS是系统的核心,它的优点是把需要的功能进行节点化管理,其每个节点通讯都可以通过内部定义的话题,通过ROS实现机器人的核心功能:
    1.接收并处理下位机返回的传感器参数:
    RFID序号,行进速度,平台高度,平台前深长度,里程值
    2.调用基于yolov5的死鸡识别
    3.创建数据发送到MQTT远程服务器节点
    4.创建死鸡数据保存到本地SQLite数据库
    5.Qt显示界面的开发
    ROS的发行版本,其与Linux的发行版本(如Ubuntu)的概念类似,ROS开发者通常仅对这一版本的bug进行修复,同时提供少量针对核心软件包的改进。ROS的主要发行版本的版本名称、发布时间与版本如下图,由于jetson板的操作系统jetson os 是基于ubuntu 18.04建立的,因此同样的像在ubuntu18.04上一样在jetson开发板上安装ROS18.04。

    ROS的安装步骤:
    1、配置Ubuntu系统的安装软件源
    2、使用apt-get安装在终端安装ROS功能包
    3、设置ROS环境变量
    4、验证ROS安装
    Jetson os系统的apt-get安装工具默认是访问美国的服务器来进行安装的,经常出现下载速度慢甚至断线,因此需要把下载的地址设置为国内的镜像源,而英伟达开发板的下载镜像最好设置为下面的清华指定arm架构的下载地址,避免安装软件失败,已经测试过可以下载安装本次配置所需的软件。
    安装ROS
    ROS的安装如同其他软件在Ubuntu上安装类似,同样用命令行安装,桌面打开终端输入如下命令:

    换源

    在终端中输入以下命令:
    (1)设置中科大源:sudo sh -c ‘. /etc/lsb-release && echo “deb http://mirrors.ustc.edu.cn/ros/ubuntu/ lsb_release -cs main” > /etc/apt/sources.list.d/ros-latest.list’
    (2)设置公钥:sudo apt-key adv --keyserver ‘hkp://keyserver.ubuntu.com:80’ --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
    (3)更新最新可用软件包列表:sudo apt update

    1.换源

    sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

    2.输入密匙

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
    sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

    3.更新下载源

    sudo apt-get update
    sudo apt-get upgrade

    4.安装ros-melodic

    sudo apt-get install ros-melodic-desktop-full
    sudo apt-get install ros-melodic-rqt*

    5.安装ros-dep

    sudo apt-get install python-rosdep

    6.初始化

    sudo rosdep init
    rosdep update
    初始化ROSdep: Ros安装到本地再启动之前需要在ROS的官网获取初始化的信息,以确保ROS安装的完整性,这个操作在国内的ip发起的时候经常出现断线而不能初始化成功,但是在github网站上,有专业人员上传了一个可以不访问ROS官网的服务器的初始化工具,在多次执行默认初始化(sudo rosdep init)命令失败的时候最好采用github初始化。

    6.1 解决初始化方法(一)

    lee@lee-TM1801:~$ sudo rosdep init
    ERROR: cannot download default sources list from:
    https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
    Website may be down.
    
    • 1
    • 2
    • 3
    • 4

    修改初始化资源网址
    通过更改ros的配置文件,来成功初始化。首先到/anaconda3/lib/python3.7/site-packages里寻找

    ./rosdistro/__init__.py
    ./rosdep2/gbpdistro_support.py
    ./rosdep2/sources_list.py
    ./rosdep2/rep3.py
    
    • 1
    • 2
    • 3
    • 4

    上面的每个文件中搜索
    raw.githubusercontent.com/ros/rosdistro/master将其替换成gitee.com/zhao-xuzuo/rosdistro/raw/master每个文件都只有一个URL需要替换。之后在进行初、始化rosdep命令。

    6.2 解决初始化方法(二)

    sudo apt-get install python3-pip #pip可以改成pip3
    sudo apt-get install python-pip #pip可以改成pip3
    sudo pip install rosdepc #安装rosdepc
    sudo rosdepc init #进行初始化
    rosdepc update

    7.安装rosinstall

    sudo apt-get install python-rosinstall

    8.安装catkin编译器

    sudo apt-get install ros-melodic-catkin python-catkin-tools

    9.配置环境变量

    echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
    source ~/.bashrc

    10.安装导航数据类型包

    sudo apt-get install ros-melodic-navigation

    11.创建并初始化工作目录

    ROS使用一个名为catkin的ROS专用构建系统。为了使用它,需要创建并初始化catkin工作目录,如下所示,建立一个新的构建文件夹。

    mkdir -p ~/catkin_ws/src
    cd ~/catkin_ws/src
    catkin_init_workspace
    
    • 1
    • 2
    • 3

    12.设置环境变量

    #打开终端进入编辑
    sudo apt install net-tools
    sudo apt-get install vim

    13.测试ros安装是否正常

    终端运行
    roscore
    出现小乌龟界面则代表ROS 18.04 安装成功,此时可以运行ROS相关的系统文件了。

    问题(1)
    注意,如果你的开发板的某些软件库缺失的话可能出现安装失败的情况,比较多的如果出如下报错使用 apt --fix-broken install 修复安装工具,再继续安装。
    问题(2)
    如果roscore后没有此命令的报错可以重新初始化一遍ros
    sudo apt-get install python3-pip    #pip可以改成pip3
    sudo pip install rosdepc       #安装rosdepc
    sudo rosdepc init   #进行初始化
    rosdepc update
    sudo apt-get install python-rosinstall
    sudo apt-get install ros-melodic-catkin python-catkin-tools
    echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
    source ~/.bashrc
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    14.修改python环境

    Ros安装完毕以后,需要把终端的python3.6为默认。修改环境以后需要重新安装ros内的编译工具。
    修改python3.6环境为更高的优先级:

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
    sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
    sudo update-alternatives --config python  #查看环境是否为python3,6
    
    • 1
    • 2
    • 3

    linux下将Python路径更改为Python3.6
    1、删除原来指向python2的软链接
    sudo rm -rf /usr/bin/python
    2、创建新的软链接
    sudo ln -s /usr/bin/python3.6 /usr/bin/python
    3、查看是否更改成功
    python -V //若显示版本信息为python3.6,则更改成功 pip3 install defusedxml pip3 install rospkg sudo chmod 777 -R ~/.ros/ pip3 install netifaces
    再次安装ros的编译工具:
    1、安装pip或pip3
    sudo apt-get install python3-pip #pip可以改成pip3
    2、安装rosdepc
    sudo pip install rosdepc
    3、 进行初始化
    sudo rosdepc init
    rosdepc update
    5、 安装Rosinstall
    sudo apt-get install python-rosinstall
    6、 安装catkin编译器
    sudo apt-get install ros-melodic-catkin python-catkin-tools
    7、 配置环境变量
    source ~/.bashrc

    步骤三 开发板所需的软件及配置安装

    现在已经完成了ROS-melodic的安装和jetsonNX的cuda,cudnn工具安装。此步骤接下来将配置好:
    python3.6环境下的YOLOv5配置
    python3.6环境下的torch和torchvision
    Python3.6环境是在jetson os 系统中的python编译器,因为本次的死鸡识别的算法的工具是在python3.6环境下创建的,且功能包torch和torchvision的ARM版本在python3.6的环境中才能正常安装,因此python3.6环境是必备的。
    1、修改pip安装源
    首先需要把本机的配置写入机器的环境变量中。
    sudo vim ~/.bashrc
    添加以下内容

    export PATH=/usr/local/cuda-10.2/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH
    #core type is mac
    export OPENBLAS_CORETYPE=ARMV8
    
    • 1
    • 2
    • 3
    • 4

    更新
    source ~/.bashrc
    在home目录下新建文件名为.pip的文件夹,在.pip文件夹下打开终端:通过编辑pip的配置文件进行设置,方法如下:
    修改 ~/.pip/pip.config:
    mkdir ~/.pip
    vim ~/.pip/pip.conf
    添加内容如下:

    [global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    [install]
    trusted-host = https://pypi.tuna.tsinghua.edu.cn
    
    • 1
    • 2
    • 3
    • 4

    3、安装yolov5依赖包

    目前我们已经配置好了ROS环境和python3.6环境了,已经可以运行和编写ROS和py文件的代码,但是巡检系统的部分功能:界面显示、mqtt客户端、YOLOv5的数学依赖包,这三个部分还没有安装,其中显示界面编写工具qt需要ubuntu内的apt安装工具安装.
    安装yolov5依赖包
    Matplotlib下载

    链接:https://pan.baidu.com/s/1xeRUblVcpA9ceUgjc0SPpA?pwd=1111 
    提取码:1111 
    
    • 1
    • 2

    桌面打开终端(把matplotlib的whl文件放在桌面)
    cd /home/yong/Desktop
    pip install matplotlib-3.3.4-cp36-cp36m-linux_aarch64.whl
    pip3 install pillow pyyaml tensorboard tqdm scipy opencv_python

    4、torch环境配置

    需要手动安装的两个包
    需要先把下面命令的中的yong修改成你的主文件名称
    Pytorch和torchvison工具在镜像下载源中无法下载,且在nvdia的官网中这两个文件无法下载,因此需要前期准备中的百度云进行下载,并拷贝到桌面。
    桌面打开终端(注意检查桌面上的torch和torchvision)
    cd /home/yong/Desktop
    pip install torch-1.8.0-cp36-cp36m-linux_aarch64.whl
    pip install torchvision-0.9.0a0+01dfa8e-cp36-cp36m-linux_aarch64.whl
    sudo apt-get install libopenblas-dev
    pip3 install seaborn
    测试yolov5环境
    新建终端依次输入并回车下面的命令
    python
    Import torch

    4.5.1 问题及解决办法
    Rqt报错

    1. cd 到virtual_joy 目录
      cd /opt/ros/melodic/share/rqt_virtual_joy
      2.一个plugin.xml文件
      touch plugin.xml # 执行这个命令后,提示错误没有权限。
      采用下面一行命令赋予管理员权限:
      sudo touch plugin.xml
      3 采用gedit编辑或者vim编辑plugin.xml
      sudo gedit plugin.xml
      4 将下列代码拷贝到plugin.xml文件
      复制代码



      An example Python GUI plugin to create a great user interface.







      resource/input-gaming.png
      Great user interface to provide real value.


    5、qtcreator安装

    sudo apt-get install qtcreator #可跳过
    sudo apt-get install ros-melodic-qt-create ros-melodic-qt-build
    修改make文件中的opencv版本
    在codeide中找到cv_bridgeconfig.cmke文件,将100行附近的两个opencv改成opencv4即可(注意,只需要改动单独一个的opencv,前面有连字符的opencv不需要改动)

    问题(3)
    安装yolov5库失败报错可以使用下面的命令更新安装
    sudo apt install -y python3-pip python3-venv python3-dev libpython3-dev 
    sudo apt install -y libopenblas-base
    pip3 install Cython
    pip3 install --upgrade pip
    pip3 install --upgrade protobuf
    pip3 install --upgrade numpy
    pip3 install --upgrade pandas
    pip3 install matplotlib pillow pyyaml tensorboard tqdm scipy opencv_python
    sudo apt-get install python3-matplotlib
    问题(4)
            import skbuild
        ModuleNotFoundError: No module named 'skbuild'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    步骤五 工作空间创建及代码编译

    确保桌面的robot文件夹复制完成且前面的配置完成
    robot是需要拷贝到ROS的编译空间catkin_ws中的源代码文件夹src中才能正常运行的,首先保证其正常编译成功条件:
    ROS-melodic 安装完成
    依赖包安装完成
    四个源代码文件和一的Downloads已经拷贝到jetson的桌面

    1、新建工作空间

    cd /home
    sudo mkdir -p robot/catkin_ws/src

    2、代码复制到工作空间并编译(XXXX的部分需要改成自己的用户主文件夹的名称)

    sudo chmod -R 777 .
    cd robot/catkin_ws/src
    catkin_init_workspace
    cd /home/robot/catkin_ws
    sudo cp -r /home/XXXX/Desktop/robot /home/robot/catkin_ws/src
    sudo cp -r /home/XXXX/Desktop/look /home/robot/catkin_ws/src
    sudo cp -r /home/XXXX/Desktop/navigation_msgs /home/robot/catkin_ws/src
    cd /home/robot/catkin_ws
    catkin_make
    echo "source /home/robot/catkin_ws/devel/setup.bash">>~/.bashrc
    source ~/.bashrc
    source devel/setup.bash
    sudo cp -r /home/XXXX/Desktop/Downloads /home/robot/catkin_ws/src
    sudo cp -r /home/XXXX/Desktop/robot_hmi /home/robot
    sudo chmod -R 777 .
    catkin_make install
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    bashrc:

    export PATH=/usr/local/cuda-10.2/bin: P A T H e x p o r t L D L I B R A R Y P A T H = / u s r / l o c a l / c u d a − 10.2 / l i b 64 : PATH export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64: PATHexportLDLIBRARYPATH=/usr/local/cuda10.2/lib64:LD_LIBRARY_PATH
    source /opt/ros/melodic/setup.bash
    source /home/cooneo/catkin_ws/devel/setup.bash
    export OPENBLAS_CORETYPE=ARMV8
    source /home/cooneo/camera_ws/devel/setup.bash
    sudo service ntpd stop
    sudo service ntpd start
    sudo ntpdate date 192.168.31.71
    cd /home/cooneo/camera_ws/src/mqtt_image/face/vip
    rm -r *
    cd /home/cooneo/camera_ws/src/mqtt_image/face/write
    rm -r *
    cd /home/cooneo/camera_ws/devel/lib/face
    ./face
    OPENCV4
    sudo :
    cd /etc/
    pkexec visudo
    jiaru:
    yourname ALL=(ALL)NOPASSWD:ALL

    linux上pip换源
    对于ubuntu系统,apt换源的方法在【环境搭建】 docker的使用和管理中进行了说明。
    pip换源步骤
    mkdir ~/.pip
    vim ~/.pip/pip.conf
    1
    2
    注意不管是pip还是pip3,都是创建文件夹~/.pip和文件pip.conf
    在文件中添加如下内容并保存:

    [global]
    timeout = 6000
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
    ————————————————
    版权声明:本文为CSDN博主「Zhang_Chen_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/Zhang_Chen_/article/details/102836570

    pip3 install pillow
    pip3 install flask

  • 相关阅读:
    IOI 2022国际信息学竞赛那些事儿(附Day1原题)
    win10删除的文件怎么恢复?恢复靠它
    CEPH-5:ceph集群基本概念与管理
    【k8s】vmware中模拟kubeadm安装k8s1.23.5集群
    如何高效且优雅地使用Redis
    HTTP、HTTPS协议以及抓包工具
    MongoDB 简介和安装
    差异性分析该如何选择?
    vue flvjs 播放视频
    安装clang
  • 原文地址:https://blog.csdn.net/huashuideyu/article/details/126761293