ROS Melodic Arbotix报错

简介: ROS Melodic Arbotix报错

ImportError: dynamic module does not define module export function (PyInit__tf2)

这是我做的内容:

1、创建一个四轮小车URDF模型,后轮驱动,前轮转向。

2、在小车顶部添加摄像头。

3、基于ArbotiX和rviz控制小车。

4、Gazebo仿真小车运动

 到第3步的时候,虽然启动launch文件可以进入rviz,但用rosnode list查看节点信息,发现节点列表里面并没有与arbotix相关的节点。查看报错信息,显示为:

 ImportError: dynamic module does not define module export function (PyInit__tf2)

然后他下面就是红色的:arbotix has died…


 我的系统是ubuntu18.04,ros版本是melodic,之前安装过python3.6,系统自带python2.7。错误原因可能是由于Ros目前只支持Python2,一些主要的功能包如tf2等都是在Python2的环境下报错运行的,在Python2中导入相关包不会出现问题,但在Python3中会出错。而目前大部分用户Ubuntu习惯配置和优先使用Python3,所以会导致这类问题出现。


我的解决步骤:

1.更新源,不更新也没问题,不过下载新东西的时候最好更新一下

sudo apt update

2.安装ROS python3 依赖

sudo apt install python3-catkin-pkg-modules python3-rospkg-modules python3-empy

3.进入你的工作空间删除原来编译生成的devel和build等文件夹,只留下src文件夹就好了,如果你之前用了其他方式解决,可能还残留有其他文件之类的,有的是用.开头的隐藏文件,用ctrl H可以看到他们。反正我是重新建了一个workspace,只把我的package拿过来了

catkin_make
source devel/setup.bash
wstool init
wstool set -y src/geometry2 --git https://github.com/ros/geometry2 -v 0.6.5
wstool up
rosdep install --from-paths src --ignore-src -y -r

wstool相关知识

4.完成python3配置

catkin_make --cmake-args -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so


5.source .bashrc刷新环境

现在启动launch文件:

没有报错!

010a555eb1f6d9b7f4a2de789a220814_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzc2NDk3NA==,size_16,color_FFFFFF,t_70#pic_center.png

arbotix节点跑起来了!

83678fc845a7c62cfc3d3631f717ba6c_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzc2NDk3NA==,size_16,color_FFFFFF,t_70#pic_center.png

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
ROS入门实践
本课程将基于基础设施即代码 IaC 的理念,介绍阿里云自动化编排服务ROS的概念、功能和使用方式,并通过实际应用场景介绍如何借助ROS实现云资源的自动化部署,使得云上资源部署和运维工作更为高效。
相关文章
|
Python
Ubuntu18.04 ROS Melodic安装和卸载
Ubuntu18.04 ROS Melodic安装和卸载简单过程
493 0
|
存储 IDE Ubuntu
【基于ROS Melodic环境安装rosserial arduino】
【基于ROS Melodic环境安装rosserial arduino】
411 0
|
机器学习/深度学习 机器人 中间件
ubuntu16.04下ROS操作系统学习笔记(五)gazebo物理仿真环境搭建、加载服务端模型数据减少报错
ubuntu16.04下ROS操作系统学习笔记(五)gazebo物理仿真环境搭建、加载服务端模型数据减少报错
373 0
ubuntu16.04中ROS-Kinetic报错: not find a package configuration file provided by “gazebo_ros_control“
ubuntu16.04中ROS-Kinetic报错: not find a package configuration file provided by “gazebo_ros_control“
509 0
|
开发工具 git
ROS 环境下 安装 turtlebot3 功能包及其仿真包 并测试 —— 全流程(报错及解决)
ROS 环境下 安装 turtlebot3 功能包及其仿真包 并测试 —— 全流程(报错及解决)
ROS 环境下 安装 turtlebot3 功能包及其仿真包 并测试   —— 全流程(报错及解决)
|
IDE Ubuntu 机器人
Ubuntu 18.04 配置Ros melodic
Ubuntu 18.04 配置Ros melodic
|
Ubuntu Linux
Ubuntu 18.04.05 LTS配置ROS Melodic各种问题详细解决(填坑)
Ubuntu 18.04.05 LTS配置ROS Melodic各种问题详细解决(填坑)
472 0
Ubuntu 18.04.05 LTS配置ROS Melodic各种问题详细解决(填坑)
ros/melodic/include/sensor_msgs中激光雷达的数据结构
ros/melodic/include/sensor_msgs中激光雷达的数据结构
234 0
|
Linux Python Windows
如何 python import h5py 报错 :/defs.cpython-37m-x86_64-linux-gnu.so: undefined symbol: H5Pset_fapl_ros3
如何 python import h5py 报错 :/defs.cpython-37m-x86_64-linux-gnu.so: undefined symbol: H5Pset_fapl_ros3
如何 python import h5py 报错 :/defs.cpython-37m-x86_64-linux-gnu.so: undefined symbol: H5Pset_fapl_ros3

推荐镜像

更多
  • ros