树莓派从零开始快速入门第14讲——摄像头

vue中replace()和push()的区别

  返回  

创建工作空间 Create your workspace

2021/8/21 21:35:06 浏览:

因为常用操作是创建功能包,今天要做一个simulator突然不太明确工作空间创建的完整操作,记录以下。

注:翻译自ROSWIKI

原文链接:http://wiki.ros.org/catkin/Tutorials/create_a_workspace

因为ros安装的时候会自动安装catkin,这里就不讲catkin安装了,没改写.bashrc的同学记得source一下:

source /opt/ros/noetic/setup.bash

在你想要创建工作空间的目录下输入运行下面的命令,一般工作空间创建在home目录下

mkdir -p ~/catkin_ws/src

catkin_ws代表你的工作空间名,可由自己修改,-p代表按照后面的代码按要求创建父文件夹

~代表省略的catkin_ws再往前的父目录,如果你只是想在你打开的终端 所在的目录下创建,不需要~

如果直接输入mkdir  ~/catkin_ws/src会提示

mkdir: 无法创建目录"catkin_ws/src": 没有那个文件或目录

因为找不到catkin_ws这个目录,这个目录还没有创建,而有-p在,没有相应的父目录,会自动创建。

cd ~/catkin_ws
catkin_make

运行完代码后会有devel 和 build文件夹出现在工作空间目录下,而src文件夹下则会有Cmakelist.txt文档

到这里正好回答今天学习遇到的一个问题

In which directory would you run catkin_make

你将在哪个目录下运行 catkin_make?

答案是你创建的工作空间这个目录

然后source一下环境变量

source devel/setup.bash

检验是否设置成功:

echo $ROS_PACKAGE_PATH

会看到出现下面的消息:

/home/user/catkin_ws/src:/opt/ros/distro/share

user是用户名

catkin_ws是工作空间名

distro是你的ros版本名。

到这里就结束了,贴一下完整的指令:

source /opt/ros/noetic/setup.bash

mkdir -p ~/catkin_ws/src

cd ~/catkin_ws

catkin_make

source devel/setup.bash

echo $ROS_PACKAGE_PATH

得到/home/user/catkin_ws/src:/opt/ros/distro/share结束。

今天学习遇到的问题:

The following commands were used in the tutorial
$ source  /opt/ros/kinetic (melodic)/setup. bash
$ source devel/setup. bash
Why do we need to source setup. bash? What does it do? Why do we have to different
setup. bash files here and what is there difference?

个人作答:

our computer needs to know where to find the programs to run and where ROS is.

setting up our terminal’s environment is to let our terminal  know where to find the ROS commands and our software packages in the workspace.

we need different setup bash in charge of different task.

First setup.bash is to make terminal understand catkin order.

Second setup.bash is to add our workspace to path.

ps一下环境变量的定义:环境变量是一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。通过使用环境变量,你可以很容易的修改一个牵涉到一个或多个应用程序的配置信息。

例如PATH变量,ROOTPATH变量,LDPATH变量

PATH这个变量包含了一系列由冒号分隔开的目录,系统就从这些目录里寻找可执行文件。如果你输入的可执行文件(例如 ls, rc-update或者 emerge)不在这些目录中,系统就无法执行它(除非你输入这个命令的完整路径,如/bin/ls)。
ROOTPATH这个变量的功能和 PATH相同,但它只罗列出超级用户(root)键入命令时所需检查的目录。
LDPATH这个变量包含了一系列用冒号隔开的目录,动态链接器将在这些目录里查找库文件。

另外,对于ROS Melodic 及更早版本中的 Python 3 用户,创建工作空间需要安装所有必要的 ROS Python 包的 Python 3 版本

如果没有安装

请安装Python3依赖:

sudo apt update

sudo apt install -y python3 python3-dev python3-pip build-essential

利用pip3安装ROS包:

 sudo -H pip3 install rosdep rospkg rosinstall_generator rosinstall wstool vcstools catkin_tools catkin_pkg

安装完成后,本来创建工作空间的命令变为:

source /opt/ros/noetic/setup.bash

mkdir -p ~/catkin_ws/src

catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3

可以注意到最后的catkin_make 多了后面一段

“-DPYTHON_EXECUTABLE=/usr/bin/python3”。

学艺不精,如有谬误,还望海涵。

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号