(ros//EnvironmentVariables)ros环境变量
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了(ros//EnvironmentVariables)ros环境变量,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4209字,纯文字阅读大概需要7分钟。
内容图文
![(ros//EnvironmentVariables)ros环境变量](/upload/InfoBanner/zyjiaocheng/1298/7f444733ec5d4eb3812819ec7a0d82e8.jpg)
http://wiki.ros.org/ROS/EnvironmentVariables
ROS/ EnvironmentVariables
在ROS中,可以设置很多环境变量。最需要理解的是ROS_MASTER_URI,ROS_ROOT和ROS_PACKAGE_PATH,因为他们频繁的在系统和文件中被用到。
环境变量在ROS中有多重角色:
1 寻找packages(Finding packages ) :
首先, ROS_ROOT 和 ROS_PACKAGE_PATH 使 ROS 在系统文件 (filesystem) 中能够定位 packages 和 stacks 。同样必须设置 PYTHONPATH ,这样 python 解释器才能找到 ROS 库。
2 影响一个节点运行时间 (Effecting a Node runtime ):
有几个环境变量会影响节点的运行。 ROS_MASTER_URI 是一个重要的环境变量来告诉节点 Master (主机)在哪里。 ROS_IP 和 ROS_HOSTNAME 影响一个节点的网络地址, ROS_NAMESPACE 能够让你改变命名空间。 ROS_LOG_DIR 可以让你设置日志文件写入的目录。这些也可以被映射参数覆盖,映射参数优先于环境变量。
3 修改构建系统 (Modifying the build system):
ROS_BINDEPS_PATH,ROS_BOOST_ROOT , ROS_PARALLEL_JOBS 和 ROS_LANG_DISABLE 影响在哪里寻找库,怎样构建他们,构建哪一个。
这些环境变量在下面将会有更详细的描述。
必需的ROS环境变量
大部分系统都要设置ROS_PACKGE_PATH,ROS只需要环境变量ROS_ROOT,ROS_MASTER_URI和PYTHONPATH。默认通过sourcing /opt/ros/fuerte/setup.bash来自动设置他们。
1. ROS_ROOT
ROS_ROOT设置ROS core包安装的位置。
export ROS_ROOT=/home/user/ros/ros export PATH=$ROS_ROOT/bin:$PATH
2. ROS_MASTER_URI
ROS_MASTER_URI是一个必需的设置来告诉节点在哪里定位master。应该设置master的XML-RPC URI。使用localhost时需要格外小心,因为远程启动节点可能会导致意想不到的结果。
export ROS_MASTER_URI=http://mia:11311/
3. PYTHONPATH
ROS需要PYTHONPATH更新,尽管你可能不用Python编程!很多ROS基础工具都依靠Python,需要连接到roslib包来bootstrapping。
export PYTHONPATH=$PYTHONPATH:$ROS_ROOT/core/roslib/src
其他的PATH环境变量
1. ROS_PACKAGE_PATH
ROS_PACKAGE_PATH是一个可选,但很常用的环境变量,能够让你从源添加更多的ROS包到当前环境。ROS_PACKAGE_PATH可以由一个或多个路径组成,路径之间由标准操作系统路径间隔符(在Unix类的系统中,用’:’)分隔。这些有序的路径告诉ROS系统到哪里搜索更多的ROS包。如果多个包有相同的名字,ROS会首先选择出现在ROS_PACKAGE_PATH的那个。
export ROS_PACKAGE_PATH=/home/user/ros/ros-pkg:/another/path
注意ROS_PACKAGE_PATH的每个条目都被重复查找-路径中提到的包都会被找到。
引入catkin后,ROS_PACKAGE_PATH过时了,只是用来与rosbuild包保持向后兼容。
系统数据环境变量
1. ROS_HOME
默认,ROS写数据到~/.ros。可以通过设置ROS_HOME来改变这个位置。也可以在~/.ros中更改某个目录的位置(例如,ROS_TEST_RESULTS_DIR,ROS_LOG_DIR)。
2. ROS_LOG_DIR
默认,ROS写内部日志文件到ROS_HOME/log。如果这个位置对ROS不可写,或者希望日志文件写到别的地方,设置ROS_LOG_DIR到其他路径。
3. ROS_TEST_RESULTS_DIR
测试结果要写到的目录。
其他的Bash环境变量
1. ROS_LOCATIONS
ROS_LOCATIONS是一个可选的环境变量,为有用的位置提供键名。它是key-location对的分隔列表。每个key-location对用一个=分隔。例如:
export ROS_LOCATIONS="rospkg=/path/to/rospkg:stairpkg=/path/to/stairpkg"
然后这些键就可以用一些工具了,如roscd。
2. ROS_WORKSPACE
ROS_WORKSPACE由工具rosinstall/rosws引进的,当创建一个workspace时,通过这些工具生成的setup.sh设置。它指向workspace的文件夹,通过使用rosws命令使用,作为命令的默认目标。
不带参数的调用时,fuerte中的roscd工具也改用这个变量。此前,它默认改变ROS_ROOT.
节点环境变量
1. ROS_IP/ROS_HOSTNAME
ROS_IP和ROS_HOSTNAME是可选的环境变量,用来设置ROS节点或工具的公开网地址。这两个选项是互斥的,如果两者都设置优先使用ROS_HOSTNAME。如果你指定一个IP地址,使用ROS_IP;如果制定一个主机名(a host name),使用ROS_HOSTNAME。当一个ROS成员报告URI给master或者其他成员,这个值就会被用到。这个设置只用在一台计算机有多个地址,需要强制ROS到特定的一个的情况。
除了’localhost’(本地主机),ROS成员绑定到所有可用的网络接口,他不影响实际绑定地址。如果这个值设定为本地主机,ROS成员只绑定在环回接口。这将会阻止远程成员与本地成员交流。
2. ROS_NAMESPACE
ROS_NAMESPACE可以让你推一个节点到一个命名空间。节点中的所有名字都会相对于这个值解析,包括映射名称。
3. ROSCONSOLE_CONFIG_FIE
这是一个roscpp指定环境变量。Rosconsole让你定义用在log4cxx的配置文件,通过环境变量ROSCONSOLE_CONFIG_FILE定义。在这个配置文件中有任何定义都会覆盖默认的配置文件。
4. Console Output Formatting 控制台输出格式
Rosconsole允许指定怎样通过环境变量ROSCONSOLE_FORMAT在控制台输出。默认等效于:
export ROSCONSOLE_FORMAT='[${severity}] [${time}]: ${message}'
5. ROS_PYTHON_LOG_CONFIG_FILE
特定 rospy, rosmaster, roslaunch, and rostest.对于这些工具,可以指定使用自己的Python logging配置文件来代替默认配置文件,它保存在$ROS_ROOT/config/python_logging.conf.
构建系统环境变量
为了更好的了解这些环境变量,请看ROS Build System部分。
1. ROS_BOOST_ROOT
ROS_BOOST_ROOT是一个可选的环境变量,能让你覆盖哪里去寻找激励。如果ROS_BOOST_ROOT不设置,默认使用ROS_BINDEPS_PATH。
2. ROS_PARALLEL_JOBS
这个变量的值,如果设置,构建包的时候会传递给make。目的是充分使用多处理器机器。例如,如果有8处理器/核,想尽可能多的运行并行任务,只要系统负荷小于8,通过限制任务为8,可以在启动时阻止过冲:
export ROS_PARALLEL_JOBS='-j8 -l8'
或者,可以使用-j标识带一个参数来并行运行最多8个任务,系统负载独立:
export ROS_PARALLEL_JOBS=-j8
强烈建议使用-l标识来设置并行系统相关限制。在一个大的构建中并行过多可能会耗尽系统内存。
可以接受多少系统负载取决于有多少内核。
3. ROS_LANG_DISABLE
消息生成器/客户端库包名称应禁用一个冒号分隔的列表。Message-generation will not happen for languages in this list.
用catkin构建的包需要需要列出应当被忽视的消息生成器的名字,例如:
export ROS_LANG_DISABLE=genlisp
用rosbuild构建的包需要列出应当被忽视的消息生成器及客户端库的名字,例如:
export ROS_LANG_DISABLE=genlisp:roslisp
当忽视掉消息生成器的rosbuild和CMake配置步骤,将会显示一个警告,客户端库(例如,roslisp)不是一个已知的消息生成器。这个警告可以安全的忽略掉。
注意,禁用语言之前,首先必须确定你使用的代码没有与这个语言绑定。
4. ROS_OS_OVERRIDE
格式:"OS_NAME:OS_VERSION_STRING",这将会强制检测Ubuntu Lucid:
export ROS_OS_OVERRIDE=ubuntu:10.04
如果定义,这将覆盖系统的自动检测。在外来平台上调试rosdep依赖性时,当平台很相似可能需要强制,或自动检测失败时,很有用。
email: tongzhuodenilove@163.com
原文:http://blog.csdn.net/w383117613/article/details/46860417
内容总结
以上是互联网集市为您收集整理的(ros//EnvironmentVariables)ros环境变量全部内容,希望文章能够帮你解决(ros//EnvironmentVariables)ros环境变量所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。