ROS 环境变量配置

unbantu16.04 linux 版本,  ros系统 kinetic版本

1. ros系统可以通过rospack find  package_name  /   rosrun package_name node_name  / rospack depends1  package_name 等ros命令执行相应功能。

当前终端在执行了命令 source /opt/ros/kinetic/setup.bash后,就可以使用rosls /roscd/rospack等命令。

这里会有一个问题,这些ros命令只在当前终端有效,在另一个终端如果没有执行source 命令,将无法使用tab补全的功能。

该怎么解决呢?

  1) echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc 或者编辑  .bashrc文件在末尾添加source /opt/ros/kinetic/setup.bash 

  2) source ~/.bashrc  //重新执行刚修改过的初始化文件,使之立即生效,不用重新登录。如果退出当前终端,或者重启一个新终端,该命令可以不用。

  3) 用export | grep ROS 查看是否配置成功,成功后显示结果如下:

         

2. 执行了上述操作后,我们可以使用ros命令了,但是我们自己创建的ros工作空间内的包无法找到?

问题原因:在创建ROS工作空间时不是严格按照   $ mkdir -p ~/catkin_ws/src来创建

解决方法

  1) 只在当前终端生效,只需要在创建的工作空间里执行 source devel/setup.bash  就可以了。

  2) 如果想在所有终端都生效,编辑  .bashrc文件在末尾添加source  /home/"yourself"/catkin_ws/devel/setup.bash, 然后source  ~/.bashrc

  3) 检查是否生效:  echo $ROS_PACKAGE_PATH   或者 export | grep ROS ,查看是否把有/home/"yourself"/catkin_ws/src

原文地址:https://www.cnblogs.com/blackandwhite/p/11630908.html