使用ROS 32位和64位并行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ROS 32位和64位并行相关的知识,希望对你有一定的参考价值。

编辑1:好的我现在已经安装了一个32位的Ubuntu 14来编译我的32位ROS节点。操作系统是ubuntu 14 64位,我安装chroot,以便我可以启动我的32位节点工作正常。现在是否可以使用chroot运行我的节点,并且所有其他节点都在正常的64位系统上运行?!


我有以下问题。我必须将新的ROS节点集成到运行在带有ROS Indigo的Ubuntu 14.04 64Bit上的现有ROS环境中。我必须在32Bit中构建我的ROS节点,因为我必须使用仅存在于32位的共享库。

1)首先,我尝试使用我的Ubuntu 16.04工作站,并在64位上安装了ROS Kinetic,并为32位节点手动构建了32位。这工作正常,我能够编译自己的节点。然后我尝试在Ubuntu 16.04上安装Indigo,但它失败了,因为Indigo不支持16.04。因此我自己编译了Indigo,但它失败并出现以下错误消息:

<== Failed to process package 'rviz': 
Command '['/home/test/Downloads/ros_catkin_ws/install_isolated/env.sh', 
'make', '-j2', '-l2']' returned non-zero exit status 2

2)其次,我尝试安装Ubuntu 14.04 64位和ROS Indigo工作正常但是当我尝试编译32位的ROS框架时,它失败了,因为旧的libboost版本1.55不支持multiarch。

由于其他事实,我无法在我的工作站上安装32Bit Ubuntu。所以我的问题是,如果有人知道问题1或者可以给我建议什么是正确的方法?!

谢谢

答案

首先,你不能在ubuntu 16.04上安装ROS Indigo,因为ubuntu 14.04正式发布Indigo Is Meant(有很多方法可以安装Indigo On 16.04但不推荐和不稳定)

而且我认为你不需要ROS 32Bit来编译你的代码(我从未在非ARM Archs上遇到过这个问题)。

如果您可以在动力学上编译它并与ROS Indigo通过网络进行通信您可以使其工作(可能!)

以上是关于使用ROS 32位和64位并行的主要内容,如果未能解决你的问题,请参考以下文章

如何使代码兼容 32 位和 64 位

为 32 位、64 位和 128 位生成交错位模式(morton 密钥)

如何在我的应用程序中包含 64 位和 32 位本机代码

有没有办法让 Windows 64 位上的应用程序在 64 位和 32 位仿真层下执行代码?

32位和64位有啥区别 32位和64位区别都有哪些

如何同时支持32位和64位组件自动安装