Ubuntu18.04 jetson tx2 ros-melodic安装cv_bridge

背景

需要在VMWare的x86架构和Jetson TX2的arm架构中安装cv_bridge以进行画面编解码并通过ros话题传输
参考:在Python3环境中使用ROS的cv_bridge

环境

Ubuntu18.04
ROS melodic
jetson tx2

安装步骤(在系统空间里完成, 而非conda)

  1. 建立工作空间

    mkdir cv_bridge && cd cv_bridge
    cd src && catkin_init_workspace
    
  2. 克隆源码
    注意版本与ros系统对应

    git clone -b melocid https://github.com/ros-perception/vision_opencv
    
  3. catkin config

    cd ../
    catkin config -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so
    

    这里注意由于jetson是arm架构, 故-DPYTHON_LIBRARY路径的x86_64-linux-gnu要修改为本机对应的路径, 比如jetson的话架构是/usr/lib/aarch64-linux-gnu, 路径不同, 找不到的话用findlocate语句找到对应的路径

  4. catkin build cv_bridge

  5. source /install/setup.bash --extend
    可以将路径放入.bashrc
    网上很多说用–extend确保不被覆盖, 但不知道为什么有时候没有用, 所以我常常需要手动source一下, 有懂得老哥可以说一下

  6. 测试:

    $ usr@cgy: python3
    >>> from cv_bridge.boost.cv_bridge_boost import getCvType
    >>> 
    

    成功~

你可能感兴趣的:(arm,ubuntu)