发现搭建这个还是很麻烦,网上资料都有点散,也就汇总下
colcon 命令
Quick start — colcon documentation
1, 下载官方搭建方法
git clone   https://github.com/NVIDIA-AI-IOT/ros2_jetson
2, 源代码注释
#!/bin/bash
#
# Copyright (c) 2020, NVIDIA CORPORATION.  All rights reserved.
#
# NVIDIA Corporation and its licensors retain all intellectual property
# and proprietary rights in and to this software, related documentation
# and any modifications thereto.  Any use, reproduction, disclosure or
# distribution of this software and related documentation without an express
# license agreement from NVIDIA Corporation is strictly prohibited.
#
# Set locale
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
locale  # verify settings
# Setting up sources
sudo apt-get update && \
sudo apt-get install -y git cmake build-essential curl wget gnupg2 lsb-release
#wget --no-check-certificate https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc &&
sudo apt-key add ros.asc
sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list'
# install ROS packages
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
libbullet-dev \
libpython3-dev \
python3-colcon-common-extensions \
python3-flake8 \
python3-pip \
python3-pytest-cov \
python3-rosdep \
python3-setuptools \
python3-vcstool \
python3-rosinstall-generator \
libasio-dev \
libtinyxml2-dev \
libcunit1-dev \
&& rm -rf /var/lib/apt/lists/*
python3 -m pip install -U \
argcomplete \
flake8-blind-except \
flake8-builtins \
flake8-class-newline \
flake8-comprehensions \
flake8-deprecated \
flake8-docstrings \
flake8-import-order \
flake8-quotes \
pytest-repeat \
pytest-rerunfailures \
pytest
export ROS_PKG=ros_base   #官方这没有,需要添加
export ROS_DISTRO=foxy
export ROS_ROOT=/opt/ros/${ROS_DISTRO}
sudo apt-get update
# Minimal ROS2 Installation - ROS Answers: Open Source Q&A Forum
sudo mkdir -p ${ROS_ROOT}/src && \
cd ${ROS_ROOT} && \
rosinstall_generator --deps --rosdistro ${ROS_DISTRO} ${ROS_PKG} launch_xml launch_yaml example_interfaces > ros2.${ROS_DISTRO}.${ROS_PKG}.rosinstall && \
cat ros2.${ROS_DISTRO}.${ROS_PKG}.rosinstall && \
vcs import src < ros2.${ROS_DISTRO}.${ROS_PKG}.rosinstall
#ros2.${ROS_DISTRO}.${ROS_PKG}.rosinstall# 这个主要是github下载地址,可以把那个github .com  替换 github.com.cnpmjs.org  来实现加速
# vcs import src < ros2.${ROS_DISTRO}.${ROS_PKG}.rosinstall    # 主要是下载,有时下载不全需要重新下载,或者外部下载
# 有时有些库没有下载下来完应该还是上面命令配置问题https://github.com/ros/rosdistro/tree/master/foxy  distribution.yaml  中可#以找到没下载的,新建一个重新下载编译  例如 camera_info_manager  
#必须注意格式不能错,就是空格不能少
#
#安装必备东西
sudo apt-get update
cd ${ROS_ROOT} && rosdep init && rosdep update && \
rosdep install --from-paths src --ignore-src --rosdistro ${ROS_DISTRO} -y --skip-keys "" && \
rm -rf /var/lib/apt/lists/*
# Fix libyaml_vendor package issue
#sudo rm ${ROS_ROOT}/src/libyaml_vendor/CMakeList* && \
#sudo wget --no-check-certificate https://raw.githubusercontent.com/ros2/libyaml_vendor/master/CMakeLists.txt -P ${ROS_ROOT}/src/libyaml_vendor/
# build it!
cd ${ROS_ROOT} && colcon build --symlink-install
#colcon build --symlink-install  编译,如果没编译全,可下载后再次编译
#例如mimick_vendor 下载后,文件夹下 CMakelists 中海油下载的,也可替换 github.com.cnpmjs.org
#编译一定要注意/opt/ros/${ROS_DISTRO}  不然依赖关系不正确
echo 'source /opt/ros/foxy/install/setup.bash' >> ${HOME}/.bashrc
3,
修改完再次编译
colcon build --symlink-install     #  --symlink-install   表示编译时如果 install 中文件已经存在于 src 或者 build 文件夹中,就用超链接指向该文件,避免浪费空间,也可以实现同步更新。
4,更新 foxy
更新下载地址
https://raw.githubusercontent.com/ros2/ros2/foxy/ros2.repos
也可对比更改项,再重新编译
5, 编译完可以测试
colcon test-result --all
6,单独编译某个包
colcon build --packages-select PACKAGE_NAME
7  编译完后 一定要更新环境
echo 'source /opt/ros/foxy/install/setup.bash' >> ${HOME}/.bashrc
如果自己的路径
echo 'source /home/xjr/ros_foxy/foxy/install/setup.bash' >> ${HOME}/.bashrc
8,其他
Could not find RTI Connext - skipping
是dds 没有安装,需要安装
https://github.com/eProsima/Fast-DDS
$ mkdir fastdds_ws
$ cd fastdds_ws
$ wget https://raw.githubusercontent.com/eProsima/Fast-DDS/master/fastrtps.repos
$ mkdir src
$ vcs import src < fastrtps.repos
$ colcon build
echo 'source  /home/xjr/ros_foxy/fastdds_ws/install/setup.bash' >> ${HOME}/.bashrc
#9,由于rclcpp 版本太低 导致没有#include "rclcpp/type_adapter.hpp"
#git clone https://github.com.cnpmjs.org/ros2/rclcpp.git
#git reset  --hard 12.0.0  #转到版本  还和rcl 依赖超级麻烦
########  注意空格  添加  cameara_info_manager
- git:
local-name: image_common/camera_calibration_parsers
uri: https://github.com.cnpmjs.org/ros2-gbp/image_common-release.git
version:release/foxy/camera_calibration_parsers/2.3.0-1
- git:
local-name: image_common/camera_info_manager
uri: https://github.com.cnpmjs.org/ros2-gbp/image_common-release.git
version:release/foxy/camera_info_manager/2.3.0-1
- git:
local-name: image_common/image_common
uri: https://github.com.cnpmjs.org/ros2-gbp/image_common-release.git
version:release/foxy/image_common/2.3.0-1
- git:
local-name: image_common/image_transport
uri: https://github.com.cnpmjs.org/ros2-gbp/image_common-release.git
version:release/foxy/image_transport/2.3.0-1
#########
到ros2.foxy_fix
vcs import src < ros2.foxy_fix
colcon build --packages-select rclcpp
10  boost  older than 1.33
wget https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.gz
  或者 Boost C++ Libraries   大与1.33就可
xjr@xjr-desktop:/usr/bin$ sudo ln -s python3 python   把  python 变Python3   
#docker 官方是1.65.1 sudo find / -name libboost_random.so*
tar zxvf boost_1_64_0.tar.gz
cd boost_1_64_0
./bootstrap.sh
#./b2 -j16 --prefix=$(pwd) --libdir=$(pwd)/lib64 --layout=system link=static install
sudo ./b2 -j8 install
添加 #路径要对
-DBOOST_ROOT=/path/to/boost_1_64_0
11 ,安装torch
BASEDIR=$(dirname "$0")
echo ${BASEDIR}
cd ${HOME}
wget https://nvidia.box.com/shared/static/cs3xn3td6sfgtene6jdvsxlr366m2dhq.whl -O torch-1.7.0-cp36-cp36m-linux_aarch64.whl
sudo apt-get install -y python3-pip libopenblas-base libopenmpi-dev
pip3 install Cython
pip3 install numpy torch-1.7.0-cp36-cp36m-linux_aarch64.whl
echo "-----------------------------------"
echo "Installing torchision v0.8.1"
echo "-----------------------------------"
sudo apt-get update
sudo apt-get install -y libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
git clone --branch v0.8.1 https://github.com/pytorch/vision torchvision && cd torchvision
export BUILD_VERSION=0.8.1
python3 setup.py install --user
git  clone https://github.com.cnpmjs.org/pytorch/vision.git
git checkout v0.8.1
12 , 安装opencv
version="4.5.0"
folder="workspace"
echo "** Remove other OpenCV first"
sudo sudo apt-get purge *libopencv*
echo "** Install requirement"
sudo apt-get update
sudo apt-get install -y build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install -y python2.7-dev python3.6-dev python-dev python-numpy python3-numpy
sudo apt-get install -y libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
sudo apt-get install -y libv4l-dev v4l-utils qv4l2 v4l2ucp
sudo apt-get install -y curl
echo "** Download opencv-"${version}
mkdir $folder
cd ${folder}
#可以迅雷下载
#curl -L https://github.com/opencv/opencv/archive/${version}.zip -o opencv-${version}.zip
#curl -L https://github.com/opencv/opencv_contrib/archive/${version}.zip -o opencv_contrib-${version}.zip
curl -L  https://github.com.cnpmjs.org/opencv/opencv/archive/${version}.zip -o opencv-${version}.zip 
curl -L https://github.com.cnpmjs.org/opencv/opencv_contrib/archive/${version}.zip -o opencv_contrib-${version}.zip
unzip opencv-${version}.zip
unzip opencv_contrib-${version}.zip
cd opencv-${version}/
echo "** Building..."
mkdir release
cd release/
cmake -D WITH_CUDA=ON -D WITH_CUDNN=ON -D CUDA_ARCH_BIN="5.3,6.2,7.2" -D CUDA_ARCH_PTX="" -D OPENCV_GENERATE_PKGCONFIG=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-${version}/modules -D WITH_GSTREAMER=ON -D WITH_LIBV4L=ON -D BUILD_opencv_python2=ON -D BUILD_opencv_python3=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j$(nproc)
sudo make install
echo "** Install opencv-"${version}" successfully"
echo "** Bye :)"
#完成
注意:
openjpeg  gtk+-3.0   VTK
下面目录下载都需要更改或者手动下载
opencv_contrib-4.5.0\modules\xfeatures2d\cmake 
目录下更改
opencv4.5.0\cmake\OpenCVDownload.cmake
modules\gapi\cmake
#
如果包
CMakeFiles/Makefile2:7183: recipe for target 'modules/python3/CMakeFiles/opencv_python3.dir/all' failed
类似错误可以
python ./modules/python/src2/gen2.py ./release/modules/python_bindings_generator ./release/modules/python_bindings_generator/headers.txt
后再,编译
13 安装qt5
#sudo apt-get install qt5-default qtcreator -y
#wget Download PyQt from SourceForge.net
#wget Download PyQt from SourceForge.net
有时可以去PyPI · The Python Package Index 这下载pyqt5  5.15.4   和sip6.1.1
python3 configure.py
make  -j8
make install 
##可以看到有几个东西安装到/usr/local/bin 下面了  也就可以用这几个工具编译pyqt5
Installing sip-build script to /usr/local/bin
Installing sip-distinfo script to /usr/local/bin
Installing sip-install script to /usr/local/bin
Installing sip-module script to /usr/local/bin
Installing sip-sdist script to /usr/local/bin
Installing sip-wheel script to /usr/local/bin
######
# install pyqt
tar xzf PyQt5_gpl-5.15.4.tar.gz
cd PyQt5_gpl-5.15.4
#windows
#python ./configure.py --sip /Users/karsten/.pyenv/versions/3.6.0/Python.framework/Versions/3.6/bin/sip # <-- This #has to point to your sip install location
#endwin
#linux 
#python3  ./configure.py --sip  /usr/bin/sip
#endlinux
#make -j8
#sudo make install
/usr/local/bin/sip-install
或者
/usr/local/bin/sip-build --no-make
make -j8 
sudo make install
Installing PyQt5 — PyQt v5.15 Reference Guide
或者通过pip3 安装
#pip3 install sip -i Simple Index
#pip3 install PyQt5 -i Simple Index
#pip3 install python-qt5 -i Simple Index
#sudo apt-get purge python3-sip
##注意只有这个qt5 安装后其中包qt_gui_cpp 才能编译成功

agx上搭建ros2相关推荐

  1. 在Ubuntu 12.04 64bit上搭建Crtmpserver视频直播服务

    本篇博客继续在上篇<在Ubuntu 12.04 64bit上搭建Crtmpserver视频点播服务> http://blog.csdn.net/tao_627/article/detail ...

  2. Ubuntu 12.04 64bit或者CentOS 6.3 64bit上搭建OpenRTMFP/Cumulus服务器

    Ubuntu 12.04 64bit或者CentOS 6.3 64bit上搭建OpenRTMFP/Cumulus服务器 2013-12-25 1.从官网下载源码包 cd ~/progrom_devel ...

  3. 在CentOS 6.2上搭建vim开发环境

    在CentOS 6.2上搭建vim开发环境 最后更新日期:2013-07-05 1.首先使用Ubuntu(所在ip为192.168.16.230)翻墙登陆http://www.vim.org/,下载其 ...

  4. ubuntu14.04上搭建android开发环境

    这几天心血来潮,想在ubuntu上写写android软件.所以就上网找些资料在ubuntu上搭建android环境.结果要么时不完整的,要么就是过时的. 所以我把我搭建android环境的过程写下了, ...

  5. 在Windows上搭建Git Server

    Git在版本控制方面,相比与SVN有更多的灵活性,对于开源的项目,我们可以托管到Github上面,非常方便,但是闭源的项目就会收取昂贵的费用. 那么私有项目,如何用Git进行代码版本控制呢?我们可以自 ...

  6. 如何在您的笔记本上搭建View 演示环境 -5.配置View Connection Server

    步骤1:登录View Manager控制台 "https://您的View Connection Server的IP/admin"来访问控制台,输入域用户名和密码. 步骤2:配置V ...

  7. 使用LVS(Linux Virtual Server)在Linux上搭建负载均衡的集群服务

    使用LVS(Linux Virtual Server)在Linux上搭建负载均衡的集群服务 一.基于于NAT的LVS的安装与配置. 1. 硬件需求和网络拓扑                       ...

  8. 在archlinux上搭建twitter storm cluster

    本文详细描述如何在archlinux上搭建twitter storm cluster,转载请注明出处,谢谢. 有关archlinux基本系统安装,请参照archlinux简明安装指南一文,下面以上述为 ...

  9. 在Win7的IIS上搭建FTP服务及用户授权

    FTP服务 FTP是文件传输协议(File Transfer Protocol)的简称,该协议属于应用层协议(端口号通常为21),用于Internet上的双向文件传输(即文件的上传和下载).在网络上有 ...

最新文章

  1. Gerrit 代码审核服务器的工作流和原理
  2. 石川es6课程---5、函数-参数
  3. 《Gpu Gems》《Gpu Pro》《Gpu Zen》资源收集
  4. 论文浅尝 | Hike: A Hybrid Human-Machine Method for Entity Alignment
  5. linux .forward,linux forward的实现
  6. ES6中 Map 数据结构
  7. java html转换xml文件,使用Java在HTML中转换XML + XSL
  8. 主动訪问用户数据的背后是品牌战略
  9. Build path entry is missing: /src/test/java missing 报错问题解决
  10. 经典参考书:《编程之美——微软技术面试心得》
  11. 如何修改照片的尺寸大小
  12. 牛客高级项目课(仿牛客网)笔记
  13. 如何锻炼个人的演讲、写作与沟通能力
  14. 一文解析TCP知识体系
  15. neo4j数据可视化_我如何使用neo4j可视化来自半结构化数据的连接
  16. TCP/IP入土指南
  17. java 判断条件_Java初学者:条件判断及其语句
  18. secureCRT 设置背景色等操作
  19. 程序员的小情诗,记录我们爱的轨迹
  20. sketch清理缓存文件,sketch清理运行内存工具

热门文章

  1. 开源俄版三轴云台软硬件、调参软件调试可用,代码开源,入门说明
  2. MVP注册登录和XListView刷新加载
  3. 《世界因你不同》——大学生活:贫穷而快乐的日子
  4. 自我充实自我健全 ———— 星云法师
  5. 如何关闭FileZilla Server开机自启
  6. php上传图片到七牛云,PHP拖拽上传图片到七牛云
  7. 【多线程】送你1万朵玫瑰花
  8. C#获取汉字首字母,多音拼音
  9. 卖旧手机时恢复出厂设置就能不泄露数据?微信官方辟谣了!
  10. 免费录屏软件Captura下载安装及分享