ROS 切换Python版本,编译cv_bridge

1,129 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

切换python版本

由于Ubuntu18.04和Ubuntu16.04等默认Python版本为python2

编译cv_bridge需要先切换到python3

echo alias python=python3 >> ~/.bashrc
source ~/.bashrc

借助命令切换python3

update-alternatives --display python

update-alternatives: 错误: 无 python 的候选项

先建立python的组,并添加Python2和Python3的可选项

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 # 添加Python2可选项,优先级为1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2 # 添加Python3可选项,优先级为2

用命令切换python版本:

sudo update-alternatives --config python

编译cv_bridge

环境:x64+ubuntu18.04+ros melodic版本 其他环境需要针对不同的架构、不同的环境,找到对应的路径进行修改

首先修改cv.so文件(不改会因为ros中有个cv2.so系统环境一个cv2.so导致报错导入cv2错误)下面把ros环境中的cv2.so换个名字就行了:

cd /opt/ros/melodiclib/python2.7/dist-packages/
sudo mv cv2.so cv2_ros.so

安装一些库:

sudo apt-get install python-catkin-tools python3-dev python3-catkin-pkg-modules python3-numpy python3-yaml ros-melodic-cv-bridge

创建工作区间:

mkdir catkin_workspace
cd catkin_workspace
catkin init

配置:

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

安装配置:

catkin config --install

下载cv_bridge:

git clone https://github.com/ros-perception/vision_opencv.git src/vision_opencv

查看版本:

apt-cache show ros-kinetic-cv-bridge | grep Version

确认git谷仓的版本正确:

git checkout 1.12.8

编译:

cd catkin_workspace
catkin build cv_bridge
source install/setup.bash --extend

ROS 常用消息类型

nav_msgs

nav_msgs/Path

在这里插入图片描述

nav_msgs/OccupancyGrid

在这里插入图片描述

nav_msgs/Odometry

在这里插入图片描述

geometry_msgs

geometry_msgs/PointStamped

在这里插入图片描述