ROS安装官网手册:http://wiki.ros.org/kinetic/Installation/Ubuntu
根据自己需求安装,一般安装ros-kinetic-desktop版本即可,后面需要的什么包可以再单独安装。
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential一般用不到,先不安装。
下面运行一个鼠标控制海龟移动的demo来验证ROS是否成功安装好了。
第一步,打开一个终端测试roscore是否能正常启动,使用ROS必须保证roscore运行:
roscore
第二步,新开启一个终端,执行以下命令:
rosrun turtlesim turtlesim_node
第三步,再开启一个终端,执行以下命令:
rosrun turtlesim turtle_teleop_key
python3
import cv2
提示报错:
ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type
这是因为ros安装后在bashrc中添加了source /opt/ros/kinetic/setup.bash, termial里查看echo $PYTHONPATH发现变为/opt/ros/kinetic/lib/python2.7/dist-packages,
解决方法:
cd ~
gedit .bashrc
在bashrc最后添加:
export PYTHONPATH=/usr/local/lib/python3.5/dist-packages
随后,在新的termial使用echo $PYTHONPATH发现已经变为/usr/local/lib/python3.5/dist-packages,使用python3发现可以import cv2,
或者也可以在不使用ros时注释掉:
source /opt/ros/kinetic/setup.bash
安装失败,dependency错误,可能是已安装的软件冲突导致的。
源使用:http://cn.archive.ubuntu.com/ubuntu xenial/universe amd64
先安装opencv,再安装ros可以正常安装:
sudo apt-get install ros-kinetic-desktop
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
snapd-login-service
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
binfmt-support blt bzip2-doc comerr-dev curl docutils-common docutils-doc
fonts-lyx google-mock graphviz hddtemp krb5-multidev libapr1 libapr1-dev
libaprutil1 libaprutil1-dev libarmadillo6 libarpack2 libassimp-dev
libassimp3v5 libbz2-dev libcdt5 libcgraph6 libcollada-dom2.4-dp-dev
libcollada-dom2.4-dp0 libconsole-bridge-dev libconsole-bridge0.2v5
libcurl4-openssl-dev libdap-dev libdap17v5 libdapclient6v5 libdapserver7v5
libepsilon1 libfreeimage3 libfreexl1 libgdal-dev libgdal1i libgeos-3.5.0
libgeos-c1v5 libgeos-dev libgif-dev libgif7 libgl2ps-dev libgl2ps0
libglade2-0 libgssrpc4 libgtest-dev libgvc6 libgvpr2 libhdf4-0-alt
libhdf4-alt-dev libhdf5-mpi-dev libhdf5-openmpi-10 libhdf5-openmpi-dev
libinput-dev libjs-jquery-ui libjs-sphinxdoc libjs-underscore libjsoncpp-dev
libjxr0 libkadm5clnt-mit9 libkadm5srv-mit9 libkdb5-8 libkmlbase1 libkmldom1
libkmlengine1 libldap2-dev liblog4cxx-dev liblog4cxx10-dev liblog4cxx10v5
liblz4-dev libminizip1 libmysqlclient-dev libmysqlclient20 libnetcdf-c++4
libnetcdf-cxx-legacy-dev libnetcdf-dev libnetcdf11 libodbc1 libogdi3.2
libogre-1.9-dev libogre-1.9.0v5 libopenjp2-7 libpathplan4 libpoco-dev
libpococrypto9v5 libpocodata9v5 libpocofoundation9v5 libpocomysql9v5
libpoconet9v5 libpoconetssl9v5 libpocoodbc9v5 libpocosqlite9v5
libpocoutil9v5 libpocoxml9v5 libpocozip9v5 libpq-dev libpq5 libproj9
libpyside-py3-2.0 libpyside2-dev libpyside2.0 libqgsttools-p1 libqhull-dev
libqhull7 libqt5clucene5 libqt5designer5 libqt5designercomponents5
libqt5help5 libqt5multimediaquick-p5 libqt5multimediawidgets5
libqt5quickparticles5 libqt5script5 libqt5scripttools5 libqt5svg5-dev
libqt5webkit5-dev libqt5x11extras5 libqt5x11extras5-dev libqt5xmlpatterns5
libqt5xmlpatterns5-dev libqt5xmlpatterns5-private-dev libsctp-dev libsctp1
libshiboken-py3-2.0 libshiboken2-dev libshiboken2.0 libspatialite-dev
libspatialite7 libsqlite3-dev libssl-dev libssl-doc libsuperlu4
libtinyxml-dev libtinyxml2-2v5 libtinyxml2-dev libudev-dev liburdfdom-dev
liburdfdom-headers-dev liburdfdom-model-state0.4 liburdfdom-model0.4
liburdfdom-sensor0.4 liburdfdom-tools liburdfdom-world0.4 liburiparser1
libvtk6-dev libvtk6-java libvtk6-qt-dev libvtk6.2 libvtk6.2-qt libwebp-dev
libwxbase3.0-0v5 libwxgtk3.0-0v5 libxerces-c-dev libxerces-c3.1 libxss-dev
libyaml-cpp-dev libyaml-cpp0.5v5 libzzip-0-13 mysql-common odbcinst
odbcinst1debian2 proj-bin proj-data pyqt5-dev python-attr python-autobahn
python-cairo python-catkin-pkg python-catkin-pkg-modules python-cffi-backend
python-chardet python-concurrent.futures python-crypto python-cryptography
python-cycler python-dateutil python-defusedxml python-docutils python-ecdsa
python-empy python-enum34 python-glade2 python-gobject-2 python-gtk2
python-idna python-imaging python-ipaddress python-lz4 python-matplotlib
python-matplotlib-data python-mpi4py python-msgpack python-netifaces
python-nose python-numpy python-opengl python-openssl python-pam
python-paramiko python-pil python-psutil python-pyasn1 python-pyasn1-modules
python-pydot python-pygments python-pyparsing python-pyqt5
python-pyqt5.qtopengl python-pyqt5.qtsvg python-pyqt5.qtwebkit
python-pyside2 python-pyside2.qtconcurrent python-pyside2.qtcore
python-pyside2.qtgui python-pyside2.qthelp python-pyside2.qtnetwork
python-pyside2.qtprintsupport python-pyside2.qtqml python-pyside2.qtquick
python-pyside2.qtquickwidgets python-pyside2.qtscript python-pyside2.qtsql
python-pyside2.qtsvg python-pyside2.qttest python-pyside2.qtuitools
python-pyside2.qtwebkit python-pyside2.qtwebkitwidgets
python-pyside2.qtwidgets python-pyside2.qtx11extras python-pyside2.qtxml
python-roman python-rosdep python-rosdistro python-rosdistro-modules
python-rospkg python-rospkg-modules python-serial python-service-identity
python-sip python-sip-dev python-six python-snappy python-tk python-trollius
python-twisted python-twisted-bin python-twisted-core python-txaio python-tz
python-vtk6 python-wxgtk3.0 python-wxtools python-wxversion python-yaml
python-zope.interface qtbase5-private-dev qtdeclarative5-dev
qtdeclarative5-private-dev qtmultimedia5-dev qtscript5-dev
qtscript5-private-dev qttools5-dev qttools5-dev-tools qttools5-private-dev
ros-kinetic-actionlib ros-kinetic-actionlib-msgs
ros-kinetic-actionlib-tutorials ros-kinetic-angles ros-kinetic-bond
ros-kinetic-bond-core ros-kinetic-bondcpp ros-kinetic-bondpy
ros-kinetic-catkin ros-kinetic-class-loader ros-kinetic-cmake-modules
ros-kinetic-collada-parser ros-kinetic-collada-urdf ros-kinetic-common-msgs
ros-kinetic-common-tutorials ros-kinetic-control-msgs ros-kinetic-cpp-common
ros-kinetic-cv-bridge ros-kinetic-diagnostic-aggregator
ros-kinetic-diagnostic-analysis ros-kinetic-diagnostic-common-diagnostics
ros-kinetic-diagnostic-msgs ros-kinetic-diagnostic-updater
ros-kinetic-diagnostics ros-kinetic-dynamic-reconfigure
ros-kinetic-eigen-conversions ros-kinetic-eigen-stl-containers
ros-kinetic-executive-smach ros-kinetic-filters ros-kinetic-gencpp
ros-kinetic-geneus ros-kinetic-genlisp ros-kinetic-genmsg
ros-kinetic-gennodejs ros-kinetic-genpy ros-kinetic-geometric-shapes
ros-kinetic-geometry ros-kinetic-geometry-msgs
ros-kinetic-geometry-tutorials ros-kinetic-gl-dependency
ros-kinetic-image-transport ros-kinetic-interactive-marker-tutorials
ros-kinetic-interactive-markers ros-kinetic-joint-state-publisher
ros-kinetic-kdl-conversions ros-kinetic-kdl-parser
ros-kinetic-laser-geometry ros-kinetic-librviz-tutorial ros-kinetic-map-msgs
ros-kinetic-media-export ros-kinetic-message-filters
ros-kinetic-message-generation ros-kinetic-message-runtime ros-kinetic-mk
ros-kinetic-nav-msgs ros-kinetic-nodelet ros-kinetic-nodelet-core
ros-kinetic-nodelet-topic-tools ros-kinetic-nodelet-tutorial-math
ros-kinetic-octomap ros-kinetic-opencv3 ros-kinetic-orocos-kdl
ros-kinetic-pluginlib ros-kinetic-pluginlib-tutorials
ros-kinetic-python-orocos-kdl ros-kinetic-python-qt-binding
ros-kinetic-qt-dotgraph ros-kinetic-qt-gui ros-kinetic-qt-gui-cpp
ros-kinetic-qt-gui-py-common ros-kinetic-qwt-dependency
ros-kinetic-random-numbers ros-kinetic-resource-retriever ros-kinetic-robot
ros-kinetic-robot-model ros-kinetic-robot-state-publisher ros-kinetic-ros
ros-kinetic-ros-base ros-kinetic-ros-comm ros-kinetic-ros-core
ros-kinetic-ros-environment ros-kinetic-ros-tutorials ros-kinetic-rosbag
ros-kinetic-rosbag-migration-rule ros-kinetic-rosbag-storage
ros-kinetic-rosbash ros-kinetic-rosboost-cfg ros-kinetic-rosbuild
ros-kinetic-rosclean ros-kinetic-rosconsole ros-kinetic-rosconsole-bridge
ros-kinetic-roscpp ros-kinetic-roscpp-core ros-kinetic-roscpp-serialization
ros-kinetic-roscpp-traits ros-kinetic-roscpp-tutorials ros-kinetic-roscreate
ros-kinetic-rosgraph ros-kinetic-rosgraph-msgs ros-kinetic-roslang
ros-kinetic-roslaunch ros-kinetic-roslib ros-kinetic-roslint
ros-kinetic-roslisp ros-kinetic-roslz4 ros-kinetic-rosmake
ros-kinetic-rosmaster ros-kinetic-rosmsg ros-kinetic-rosnode
ros-kinetic-rosout ros-kinetic-rospack ros-kinetic-rosparam
ros-kinetic-rospy ros-kinetic-rospy-tutorials ros-kinetic-rosservice
ros-kinetic-rostest ros-kinetic-rostime ros-kinetic-rostopic
ros-kinetic-rosunit ros-kinetic-roswtf ros-kinetic-rqt-action
ros-kinetic-rqt-bag ros-kinetic-rqt-bag-plugins
ros-kinetic-rqt-common-plugins ros-kinetic-rqt-console ros-kinetic-rqt-dep
ros-kinetic-rqt-graph ros-kinetic-rqt-gui ros-kinetic-rqt-gui-cpp
ros-kinetic-rqt-gui-py ros-kinetic-rqt-image-view ros-kinetic-rqt-launch
ros-kinetic-rqt-logger-level ros-kinetic-rqt-moveit ros-kinetic-rqt-msg
ros-kinetic-rqt-nav-view ros-kinetic-rqt-plot ros-kinetic-rqt-pose-view
ros-kinetic-rqt-publisher ros-kinetic-rqt-py-common
ros-kinetic-rqt-py-console ros-kinetic-rqt-reconfigure
ros-kinetic-rqt-robot-dashboard ros-kinetic-rqt-robot-monitor
ros-kinetic-rqt-robot-plugins ros-kinetic-rqt-robot-steering
ros-kinetic-rqt-runtime-monitor ros-kinetic-rqt-rviz
ros-kinetic-rqt-service-caller ros-kinetic-rqt-shell ros-kinetic-rqt-srv
ros-kinetic-rqt-tf-tree ros-kinetic-rqt-top ros-kinetic-rqt-topic
ros-kinetic-rqt-web ros-kinetic-rviz ros-kinetic-rviz-plugin-tutorials
ros-kinetic-rviz-python-tutorial ros-kinetic-self-test
ros-kinetic-sensor-msgs ros-kinetic-shape-msgs ros-kinetic-smach
ros-kinetic-smach-msgs ros-kinetic-smach-ros ros-kinetic-smclib
ros-kinetic-std-msgs ros-kinetic-std-srvs ros-kinetic-stereo-msgs
ros-kinetic-tf ros-kinetic-tf-conversions ros-kinetic-tf2
ros-kinetic-tf2-kdl ros-kinetic-tf2-msgs ros-kinetic-tf2-py
ros-kinetic-tf2-ros ros-kinetic-topic-tools ros-kinetic-trajectory-msgs
ros-kinetic-turtle-actionlib ros-kinetic-turtle-tf ros-kinetic-turtle-tf2
ros-kinetic-turtlesim ros-kinetic-urdf ros-kinetic-urdf-parser-plugin
ros-kinetic-visualization-marker-tutorials ros-kinetic-visualization-msgs
ros-kinetic-visualization-tutorials ros-kinetic-viz
ros-kinetic-webkit-dependency ros-kinetic-xacro ros-kinetic-xmlrpcpp sbcl
shiboken2 sip-dev tango-icon-theme tcl-dev tcl-vtk6 tcl8.6-dev tk-dev
tk8.6-blt2.5 tk8.6-dev ttf-bitstream-vera unixodbc unixodbc-dev uuid-dev
vtk6 x11proto-scrnsaver-dev
Suggested packages:
blt-demo graphviz-doc ksensors krb5-doc libbullet2-dev libbullet2
libcurl4-doc libcurl3-dbg libidn11-dev libkrb5-dev librtmp-dev libgdal-doc
krb5-user libhdf4-doc hdf4-tools libnetcdf4 libhdf5-doc libjs-jquery-ui-docs
liblog4cxx-doc netcdf-bin netcdf-doc libmyodbc odbc-postgresql tdsodbc
unixodbc-bin ogdi-bin ogre-1.9-doc libogre-1.9.0v5-dbg libpoco-doc
libpococrypto9v5-dbg libpocodata9v5-dbg libpocofoundation9v5-dbg
libpocomysql9v5-dbg libpoconet9v5-dbg libpoconetssl9v5-dbg
libpocoodbc9v5-dbg libpocosqlite9v5-dbg libpocoutil9v5-dbg libpocoxml9v5-dbg
libpocozip9v5-dbg postgresql-doc-9.5 lksctp-tools sqlite3-doc libtinyxml-doc
vtk6-doc vtk6-examples java-virtual-machine libxerces-c-doc
python-crypto-dbg python-crypto-doc python-cryptography-doc
python-cryptography-vectors texlive-latex-recommended texlive-latex-base
texlive-lang-french fonts-linuxlibertine | ttf-linux-libertine
python-enum34-doc python-gtk2-doc python-gobject-2-dbg dvipng ffmpeg
inkscape ipython python-cairocffi python-configobj python-excelerator
python-gobject python-matplotlib-doc python-qt4 python-scipy python-tornado
python-traits texlive-extra-utils texlive-latex-extra ttf-staypuft
python-coverage python-nose-doc python-numpy-dbg python-numpy-doc libgle3
python-openssl-doc python-openssl-dbg python-pam-dbg python-pil-doc
python-pil-dbg python-psutil-doc python-pyqt5-dbg python-sip-doc tix
python-tk-dbg python-twisted-bin-dbg python-qt3 python-txaio-doc mayavi2
sbcl-doc sbcl-source slime gnome-icon-theme kdelibs-data tcl-doc tcl8.6-doc
tk-doc tk8.6-doc
The following NEW packages will be installed:
binfmt-support blt bzip2-doc comerr-dev curl docutils-common docutils-doc
fonts-lyx google-mock graphviz hddtemp krb5-multidev libapr1 libapr1-dev
libaprutil1 libaprutil1-dev libarmadillo6 libarpack2 libassimp-dev
libassimp3v5 libbz2-dev libcdt5 libcgraph6 libcollada-dom2.4-dp-dev
libcollada-dom2.4-dp0 libconsole-bridge-dev libconsole-bridge0.2v5
libcurl4-openssl-dev libdap-dev libdap17v5 libdapclient6v5 libdapserver7v5
libepsilon1 libfreeimage3 libfreexl1 libgdal-dev libgdal1i libgeos-3.5.0
libgeos-c1v5 libgeos-dev libgif-dev libgif7 libgl2ps-dev libgl2ps0
libglade2-0 libgssrpc4 libgtest-dev libgvc6 libgvpr2 libhdf4-0-alt
libhdf4-alt-dev libhdf5-mpi-dev libhdf5-openmpi-10 libhdf5-openmpi-dev
libinput-dev libjs-jquery-ui libjs-sphinxdoc libjs-underscore libjsoncpp-dev
libjxr0 libkadm5clnt-mit9 libkadm5srv-mit9 libkdb5-8 libkmlbase1 libkmldom1
libkmlengine1 libldap2-dev liblog4cxx-dev liblog4cxx10-dev liblog4cxx10v5
liblz4-dev libminizip1 libmysqlclient-dev libmysqlclient20 libnetcdf-c++4
libnetcdf-cxx-legacy-dev libnetcdf-dev libnetcdf11 libodbc1 libogdi3.2
libogre-1.9-dev libogre-1.9.0v5 libopenjp2-7 libpathplan4 libpoco-dev
libpococrypto9v5 libpocodata9v5 libpocofoundation9v5 libpocomysql9v5
libpoconet9v5 libpoconetssl9v5 libpocoodbc9v5 libpocosqlite9v5
libpocoutil9v5 libpocoxml9v5 libpocozip9v5 libpq-dev libpq5 libproj9
libpyside-py3-2.0 libpyside2-dev libpyside2.0 libqgsttools-p1 libqhull-dev
libqhull7 libqt5clucene5 libqt5designer5 libqt5designercomponents5
libqt5help5 libqt5multimediaquick-p5 libqt5multimediawidgets5
libqt5quickparticles5 libqt5script5 libqt5scripttools5 libqt5svg5-dev
libqt5webkit5-dev libqt5x11extras5 libqt5x11extras5-dev libqt5xmlpatterns5
libqt5xmlpatterns5-dev libqt5xmlpatterns5-private-dev libsctp-dev libsctp1
libshiboken-py3-2.0 libshiboken2-dev libshiboken2.0 libspatialite-dev
libspatialite7 libsqlite3-dev libssl-dev libssl-doc libsuperlu4
libtinyxml-dev libtinyxml2-2v5 libtinyxml2-dev libudev-dev liburdfdom-dev
liburdfdom-headers-dev liburdfdom-model-state0.4 liburdfdom-model0.4
liburdfdom-sensor0.4 liburdfdom-tools liburdfdom-world0.4 liburiparser1
libvtk6-dev libvtk6-java libvtk6-qt-dev libvtk6.2 libvtk6.2-qt libwebp-dev
libwxbase3.0-0v5 libwxgtk3.0-0v5 libxerces-c-dev libxerces-c3.1 libxss-dev
libyaml-cpp-dev libyaml-cpp0.5v5 libzzip-0-13 mysql-common odbcinst
odbcinst1debian2 proj-bin proj-data pyqt5-dev python-attr python-autobahn
python-cairo python-catkin-pkg python-catkin-pkg-modules python-cffi-backend
python-chardet python-concurrent.futures python-crypto python-cryptography
python-cycler python-dateutil python-defusedxml python-docutils python-ecdsa
python-empy python-enum34 python-glade2 python-gobject-2 python-gtk2
python-idna python-imaging python-ipaddress python-lz4 python-matplotlib
python-matplotlib-data python-mpi4py python-msgpack python-netifaces
python-nose python-numpy python-opengl python-openssl python-pam
python-paramiko python-pil python-psutil python-pyasn1 python-pyasn1-modules
python-pydot python-pygments python-pyparsing python-pyqt5
python-pyqt5.qtopengl python-pyqt5.qtsvg python-pyqt5.qtwebkit
python-pyside2 python-pyside2.qtconcurrent python-pyside2.qtcore
python-pyside2.qtgui python-pyside2.qthelp python-pyside2.qtnetwork
python-pyside2.qtprintsupport python-pyside2.qtqml python-pyside2.qtquick
python-pyside2.qtquickwidgets python-pyside2.qtscript python-pyside2.qtsql
python-pyside2.qtsvg python-pyside2.qttest python-pyside2.qtuitools
python-pyside2.qtwebkit python-pyside2.qtwebkitwidgets
python-pyside2.qtwidgets python-pyside2.qtx11extras python-pyside2.qtxml
python-roman python-rosdep python-rosdistro python-rosdistro-modules
python-rospkg python-rospkg-modules python-serial python-service-identity
python-sip python-sip-dev python-six python-snappy python-tk python-trollius
python-twisted python-twisted-bin python-twisted-core python-txaio python-tz
python-vtk6 python-wxgtk3.0 python-wxtools python-wxversion python-yaml
python-zope.interface qtbase5-private-dev qtdeclarative5-dev
qtdeclarative5-private-dev qtmultimedia5-dev qtscript5-dev
qtscript5-private-dev qttools5-dev qttools5-dev-tools qttools5-private-dev
ros-kinetic-actionlib ros-kinetic-actionlib-msgs
ros-kinetic-actionlib-tutorials ros-kinetic-angles ros-kinetic-bond
ros-kinetic-bond-core ros-kinetic-bondcpp ros-kinetic-bondpy
ros-kinetic-catkin ros-kinetic-class-loader ros-kinetic-cmake-modules
ros-kinetic-collada-parser ros-kinetic-collada-urdf ros-kinetic-common-msgs
ros-kinetic-common-tutorials ros-kinetic-control-msgs ros-kinetic-cpp-common
ros-kinetic-cv-bridge ros-kinetic-desktop ros-kinetic-diagnostic-aggregator
ros-kinetic-diagnostic-analysis ros-kinetic-diagnostic-common-diagnostics
ros-kinetic-diagnostic-msgs ros-kinetic-diagnostic-updater
ros-kinetic-diagnostics ros-kinetic-dynamic-reconfigure
ros-kinetic-eigen-conversions ros-kinetic-eigen-stl-containers
ros-kinetic-executive-smach ros-kinetic-filters ros-kinetic-gencpp
ros-kinetic-geneus ros-kinetic-genlisp ros-kinetic-genmsg
ros-kinetic-gennodejs ros-kinetic-genpy ros-kinetic-geometric-shapes
ros-kinetic-geometry ros-kinetic-geometry-msgs
ros-kinetic-geometry-tutorials ros-kinetic-gl-dependency
ros-kinetic-image-transport ros-kinetic-interactive-marker-tutorials
ros-kinetic-interactive-markers ros-kinetic-joint-state-publisher
ros-kinetic-kdl-conversions ros-kinetic-kdl-parser
ros-kinetic-laser-geometry ros-kinetic-librviz-tutorial ros-kinetic-map-msgs
ros-kinetic-media-export ros-kinetic-message-filters
ros-kinetic-message-generation ros-kinetic-message-runtime ros-kinetic-mk
ros-kinetic-nav-msgs ros-kinetic-nodelet ros-kinetic-nodelet-core
ros-kinetic-nodelet-topic-tools ros-kinetic-nodelet-tutorial-math
ros-kinetic-octomap ros-kinetic-opencv3 ros-kinetic-orocos-kdl
ros-kinetic-pluginlib ros-kinetic-pluginlib-tutorials
ros-kinetic-python-orocos-kdl ros-kinetic-python-qt-binding
ros-kinetic-qt-dotgraph ros-kinetic-qt-gui ros-kinetic-qt-gui-cpp
ros-kinetic-qt-gui-py-common ros-kinetic-qwt-dependency
ros-kinetic-random-numbers ros-kinetic-resource-retriever ros-kinetic-robot
ros-kinetic-robot-model ros-kinetic-robot-state-publisher ros-kinetic-ros
ros-kinetic-ros-base ros-kinetic-ros-comm ros-kinetic-ros-core
ros-kinetic-ros-environment ros-kinetic-ros-tutorials ros-kinetic-rosbag
ros-kinetic-rosbag-migration-rule ros-kinetic-rosbag-storage
ros-kinetic-rosbash ros-kinetic-rosboost-cfg ros-kinetic-rosbuild
ros-kinetic-rosclean ros-kinetic-rosconsole ros-kinetic-rosconsole-bridge
ros-kinetic-roscpp ros-kinetic-roscpp-core ros-kinetic-roscpp-serialization
ros-kinetic-roscpp-traits ros-kinetic-roscpp-tutorials ros-kinetic-roscreate
ros-kinetic-rosgraph ros-kinetic-rosgraph-msgs ros-kinetic-roslang
ros-kinetic-roslaunch ros-kinetic-roslib ros-kinetic-roslint
ros-kinetic-roslisp ros-kinetic-roslz4 ros-kinetic-rosmake
ros-kinetic-rosmaster ros-kinetic-rosmsg ros-kinetic-rosnode
ros-kinetic-rosout ros-kinetic-rospack ros-kinetic-rosparam
ros-kinetic-rospy ros-kinetic-rospy-tutorials ros-kinetic-rosservice
ros-kinetic-rostest ros-kinetic-rostime ros-kinetic-rostopic
ros-kinetic-rosunit ros-kinetic-roswtf ros-kinetic-rqt-action
ros-kinetic-rqt-bag ros-kinetic-rqt-bag-plugins
ros-kinetic-rqt-common-plugins ros-kinetic-rqt-console ros-kinetic-rqt-dep
ros-kinetic-rqt-graph ros-kinetic-rqt-gui ros-kinetic-rqt-gui-cpp
ros-kinetic-rqt-gui-py ros-kinetic-rqt-image-view ros-kinetic-rqt-launch
ros-kinetic-rqt-logger-level ros-kinetic-rqt-moveit ros-kinetic-rqt-msg
ros-kinetic-rqt-nav-view ros-kinetic-rqt-plot ros-kinetic-rqt-pose-view
ros-kinetic-rqt-publisher ros-kinetic-rqt-py-common
ros-kinetic-rqt-py-console ros-kinetic-rqt-reconfigure
ros-kinetic-rqt-robot-dashboard ros-kinetic-rqt-robot-monitor
ros-kinetic-rqt-robot-plugins ros-kinetic-rqt-robot-steering
ros-kinetic-rqt-runtime-monitor ros-kinetic-rqt-rviz
ros-kinetic-rqt-service-caller ros-kinetic-rqt-shell ros-kinetic-rqt-srv
ros-kinetic-rqt-tf-tree ros-kinetic-rqt-top ros-kinetic-rqt-topic
ros-kinetic-rqt-web ros-kinetic-rviz ros-kinetic-rviz-plugin-tutorials
ros-kinetic-rviz-python-tutorial ros-kinetic-self-test
ros-kinetic-sensor-msgs ros-kinetic-shape-msgs ros-kinetic-smach
ros-kinetic-smach-msgs ros-kinetic-smach-ros ros-kinetic-smclib
ros-kinetic-std-msgs ros-kinetic-std-srvs ros-kinetic-stereo-msgs
ros-kinetic-tf ros-kinetic-tf-conversions ros-kinetic-tf2
ros-kinetic-tf2-kdl ros-kinetic-tf2-msgs ros-kinetic-tf2-py
ros-kinetic-tf2-ros ros-kinetic-topic-tools ros-kinetic-trajectory-msgs
ros-kinetic-turtle-actionlib ros-kinetic-turtle-tf ros-kinetic-turtle-tf2
ros-kinetic-turtlesim ros-kinetic-urdf ros-kinetic-urdf-parser-plugin
ros-kinetic-visualization-marker-tutorials ros-kinetic-visualization-msgs
ros-kinetic-visualization-tutorials ros-kinetic-viz
ros-kinetic-webkit-dependency ros-kinetic-xacro ros-kinetic-xmlrpcpp sbcl
shiboken2 sip-dev tango-icon-theme tcl-dev tcl-vtk6 tcl8.6-dev tk-dev
tk8.6-blt2.5 tk8.6-dev ttf-bitstream-vera unixodbc unixodbc-dev uuid-dev
vtk6 x11proto-scrnsaver-dev
0 upgraded, 471 newly installed, 0 to remove and 3 not upgraded.
Need to get 186 MB of archives.
After this operation, 1,007 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Opencv好多依赖库与ros的依赖库版本冲突。先安装了opencv,则ros使用apt-get install无法安装;
如果先按照opencv,在安装ros,出现错误提示:
The following packages have unmet dependencies:
ros-kinetic-desktop-full :
Depends: ros-kinetic-desktop but it is not going to be installed
Depends: ros-kinetic-perception but it is not going to be installed
Depends: ros-kinetic-simulators but it is not going to be installed
Depends: ros-kinetic-urdf-tutorial but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
如果先安装ros,就不能安装合适的opencv版本的依赖库,主要体现在:libvorbis-dev,python3-dev , doxygen (optinal)。
Opencv安装的libvorbis-dev的依赖版本:
The following packages have unmet dependencies:
libvorbis-dev : Depends: libvorbis0a (= 1.3.5-3) but 1.3.5-3ubuntu0.2 is to be installed
Depends: libvorbisenc2 (= 1.3.5-3) but 1.3.5-3ubuntu0.2 is to be installed
Depends: libvorbisfile3 (= 1.3.5-3) but 1.3.5-3ubuntu0.2 is to be installed
如果要remove libvorbis0a, 则很多ros相关程序以及其他程序都要被移除。如果要降低版本,则所有依赖于libvorbis0a的包都要被移除,其中包括ros的包。
python3-dev : Depends: libpython3-dev (= 3.5.1-3) but it is not going to be installed
Depends: python3.5-dev (>= 3.5.1-2~) but it is not going to be installed
doxygen : Depends: libclang1-3.6 (>= 3.2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
如果忽略这些未能正常安装的,仍然编译opencv (i.e. cmake ../) :
-- General configuration for OpenCV 3.4.6 =====================================
-- Version control: unknown
--
-- Platform:
-- Timestamp: 2019-07-16T06:52:19Z
-- Host: Linux 4.15.0-54-generic x86_64
-- CMake: 3.5.1
-- CMake generator: Unix Makefiles
-- CMake build tool: /usr/bin/make
-- Configuration: Release
--
-- CPU/HW features:
-- Baseline: SSE SSE2 SSE3
-- requested: SSE3
-- Dispatched code generation: SSE4_1 SSE4_2 FP16 AVX AVX2 AVX512_SKX
-- requested: SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX
-- SSE4_1 (14 files): + SSSE3 SSE4_1
-- SSE4_2 (2 files): + SSSE3 SSE4_1 POPCNT SSE4_2
-- FP16 (1 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX
-- AVX (6 files): + SSSE3 SSE4_1 POPCNT SSE4_2 AVX
-- AVX2 (28 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2
-- AVX512_SKX (2 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2 AVX_512F AVX512_SKX
--
-- C/C++:
-- Built as dynamic libs?: YES
-- C++ Compiler: /usr/bin/c++ (ver 5.4.0)
-- C++ flags (Release): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -DNDEBUG
-- C++ flags (Debug): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -g -O0 -DDEBUG -D_DEBUG
-- C Compiler: /usr/bin/cc
-- C flags (Release): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -O3 -DNDEBUG -DNDEBUG
-- C flags (Debug): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -g -O0 -DDEBUG -D_DEBUG
-- Linker flags (Release): -Wl,--gc-sections
-- Linker flags (Debug): -Wl,--gc-sections
-- ccache: NO
-- Precompiled headers: YES
-- Extra dependencies: dl m pthread rt
-- 3rdparty dependencies:
--
-- OpenCV modules:
-- To be built: calib3d core dnn features2d flann highgui imgcodecs imgproc ml objdetect photo python2 shape stitching superres ts video videoio videostab viz
-- Disabled: world
-- Disabled by dependency: -
-- Unavailable: cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev java js python3
-- Applications: tests perf_tests apps
-- Documentation: NO
-- Non-free algorithms: NO
--
-- GUI:
-- GTK+: YES (ver 2.24.30)
-- GThread : YES (ver 2.48.2)
-- GtkGlExt: NO
-- VTK support: YES (ver 6.2.0)
--
-- Media I/O:
-- ZLib: /usr/lib/x86_64-linux-gnu/libz.so (ver 1.2.8)
-- JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so (ver 80)
-- WEBP: /usr/lib/x86_64-linux-gnu/libwebp.so (ver encoder: 0x0202)
-- PNG: /usr/lib/x86_64-linux-gnu/libpng.so (ver 1.2.54)
-- TIFF: /usr/lib/x86_64-linux-gnu/libtiff.so (ver 42 / 4.0.6)
-- JPEG 2000: /usr/lib/x86_64-linux-gnu/libjasper.so (ver 1.900.1)
-- OpenEXR: /usr/lib/x86_64-linux-gnu/libImath.so /usr/lib/x86_64-linux-gnu/libIlmImf.so /usr/lib/x86_64-linux-gnu/libIex.so /usr/lib/x86_64-linux-gnu/libHalf.so /usr/lib/x86_64-linux-gnu/libIlmThread.so (ver 2.2.0)
-- HDR: YES
-- SUNRASTER: YES
-- PXM: YES
--
-- Video I/O:
-- DC1394: YES (ver 2.2.4)
-- FFMPEG: YES
-- avcodec: YES (ver 56.60.100)
-- avformat: YES (ver 56.40.101)
-- avutil: YES (ver 54.31.100)
-- swscale: YES (ver 3.1.101)
-- avresample: NO
-- GStreamer:
-- base: YES (ver 0.10.36)
-- video: YES (ver 0.10.36)
-- app: YES (ver 0.10.36)
-- riff: YES (ver 0.10.36)
-- pbutils: YES (ver 0.10.36)
-- libv4l/libv4l2: NO
-- v4l/v4l2: linux/videodev2.h
--
-- Parallel framework: pthreads
--
-- Trace: YES (with Intel ITT)
--
-- Other third-party libraries:
-- Lapack: NO
-- Eigen: YES (ver 3.2.92)
-- Custom HAL: NO
-- Protobuf: build (3.5.1)
--
-- OpenCL: YES (no extra features)
-- Include path: /home/yly/Software/opencv-3.4.6/3rdparty/include/opencl/1.2
-- Link libraries: Dynamic load
--
-- Python 2:
-- Interpreter: /usr/bin/python2.7 (ver 2.7.12)
-- Libraries: /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.12)
-- numpy: /usr/local/lib/python2.7/dist-packages/numpy/core/include (ver 1.16.4)
-- install path: lib/python2.7/dist-packages/cv2/python-2.7
--
-- Python (for build): /usr/bin/python2.7
--
-- Java:
-- ant: NO
-- JNI: NO
-- Java wrappers: NO
-- Java tests: NO
--
-- Install to: /usr/local
-- -----------------------------------------------------------------
--
-- Configuring done
-- Generating done
-- Build files have been written to: /home/yly/Software/opencv-3.4.6/build
Unavailable: cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev java js python3
Right configure:
-- General configuration for OpenCV 3.4.6 =====================================
-- Version control: unknown
--
-- Platform:
-- Timestamp: 2019-07-16T23:43:19Z
-- Host: Linux 4.15.0-45-generic x86_64
-- CMake: 3.5.1
-- CMake generator: Unix Makefiles
-- CMake build tool: /usr/bin/make
-- Configuration: Release
--
-- CPU/HW features:
-- Baseline: SSE SSE2 SSE3
-- requested: SSE3
-- Dispatched code generation: SSE4_1 SSE4_2 FP16 AVX AVX2 AVX512_SKX
-- requested: SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX
-- SSE4_1 (14 files): + SSSE3 SSE4_1
-- SSE4_2 (2 files): + SSSE3 SSE4_1 POPCNT SSE4_2
-- FP16 (1 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX
-- AVX (6 files): + SSSE3 SSE4_1 POPCNT SSE4_2 AVX
-- AVX2 (28 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2
-- AVX512_SKX (2 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2 AVX_512F AVX512_SKX
--
-- C/C++:
-- Built as dynamic libs?: YES
-- C++ Compiler: /usr/bin/c++ (ver 5.4.0)
-- C++ flags (Release): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -DNDEBUG
-- C++ flags (Debug): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -g -O0 -DDEBUG -D_DEBUG
-- C Compiler: /usr/bin/cc
-- C flags (Release): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -O3 -DNDEBUG -DNDEBUG
-- C flags (Debug): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -g -O0 -DDEBUG -D_DEBUG
-- Linker flags (Release): -Wl,--gc-sections
-- Linker flags (Debug): -Wl,--gc-sections
-- ccache: NO
-- Precompiled headers: YES
-- Extra dependencies: dl m pthread rt
-- 3rdparty dependencies:
--
-- OpenCV modules:
-- To be built: calib3d core dnn features2d flann highgui imgcodecs imgproc ml objdetect photo python2 python3 shape stitching superres ts video videoio videostab
-- Disabled: world
-- Disabled by dependency: -
-- Unavailable: cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev java js viz
-- Applications: tests perf_tests apps
-- Documentation: NO
-- Non-free algorithms: NO
--
-- GUI:
-- GTK+: YES (ver 2.24.30)
-- GThread : YES (ver 2.48.2)
-- GtkGlExt: NO
-- VTK support: NO
--
-- Media I/O:
-- ZLib: /usr/lib/x86_64-linux-gnu/libz.so (ver 1.2.8)
-- JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so (ver 80)
-- WEBP: build (ver encoder: 0x020e)
-- PNG: /usr/lib/x86_64-linux-gnu/libpng.so (ver 1.2.54)
-- TIFF: /usr/lib/x86_64-linux-gnu/libtiff.so (ver 42 / 4.0.6)
-- JPEG 2000: /usr/lib/x86_64-linux-gnu/libjasper.so (ver 1.900.1)
-- OpenEXR: /usr/lib/x86_64-linux-gnu/libImath.so /usr/lib/x86_64-linux-gnu/libIlmImf.so /usr/lib/x86_64-linux-gnu/libIex.so /usr/lib/x86_64-linux-gnu/libHalf.so /usr/lib/x86_64-linux-gnu/libIlmThread.so (ver 2.2.0)
-- HDR: YES
-- SUNRASTER: YES
-- PXM: YES
--
-- Video I/O:
-- DC1394: YES (ver 2.2.4)
-- FFMPEG: YES
-- avcodec: YES (ver 56.60.100)
-- avformat: YES (ver 56.40.101)
-- avutil: YES (ver 54.31.100)
-- swscale: YES (ver 3.1.101)
-- avresample: NO
-- GStreamer:
-- base: YES (ver 0.10.36)
-- video: YES (ver 0.10.36)
-- app: YES (ver 0.10.36)
-- riff: YES (ver 0.10.36)
-- pbutils: YES (ver 0.10.36)
-- libv4l/libv4l2: NO
-- v4l/v4l2: linux/videodev2.h
--
-- Parallel framework: pthreads
--
-- Trace: YES (with Intel ITT)
--
-- Other third-party libraries:
-- Intel IPP: 2019.0.0 Gold [2019.0.0]
-- at: /home/yly/Software/opencv-3.4.6/build/3rdparty/ippicv/ippicv_lnx/icv
-- Intel IPP IW: sources (2019.0.0)
-- at: /home/yly/Software/opencv-3.4.6/build/3rdparty/ippicv/ippicv_lnx/iw
-- Lapack: NO
-- Eigen: YES (ver 3.2.92)
-- Custom HAL: NO
-- Protobuf: build (3.5.1)
--
-- OpenCL: YES (no extra features)
-- Include path: /home/yly/Software/opencv-3.4.6/3rdparty/include/opencl/1.2
-- Link libraries: Dynamic load
--
-- Python 2:
-- Interpreter: /usr/bin/python2.7 (ver 2.7.12)
-- Libraries: /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.12)
-- numpy: /usr/local/lib/python2.7/dist-packages/numpy/core/include (ver 1.16.4)
-- install path: lib/python2.7/dist-packages/cv2/python-2.7
--
-- Python 3:
-- Interpreter: /usr/bin/python3 (ver 3.5.2)
-- Libraries: /usr/lib/x86_64-linux-gnu/libpython3.5m.so (ver 3.5.2)
-- numpy: /usr/local/lib/python3.5/dist-packages/numpy/core/include (ver 1.16.4)
-- install path: lib/python3.5/dist-packages/cv2/python-3.5
--
-- Python (for build): /usr/bin/python2.7
--
-- Java:
-- ant: NO
-- JNI: NO
-- Java wrappers: NO
-- Java tests: NO
--
-- Install to: /usr/local
-- -----------------------------------------------------------------
--
-- Configuring done
-- Generating done
-- Build files have been written to: /home/yly/Software/opencv-3.4.6/build
sudo apt-get install ros-kinetic-PACKAGE
例如:
sudo apt-get install ros-kinetic-pcl-ros
1、卸载包
sudo apt-get purge ros-*
2、卸载依赖包
sudo apt-get autoremove
参考:https://www.cnblogs.com/linuxAndMcu/p/10564875.html