5、开发环境-项目的标准文件层次结构

发布时间 2023-07-27 11:38:01作者: gary_123

一、为了创建可供Webot使用的项目,必须遵守一些规则。本节介绍一个简单项目的文件层次结构。

项目的根目录

项目的根目录至少包含一个名为“worlds”的目录,其中包含一个世界文件。但通常还需要其他几个目录:

"controllers":此目录包含当前项目的每个世界文件中可用的控制器。世界文件和该目录之间的链接是通过Robot节点的控制器字段完成的。有关此目录的详细信息,请参阅以下小节。

"protos":该目录包含可用于当前项目的所有世界文件的PROTO文件。

"plugins":该目录包含当前项目中可用的插件。世界文件和该目录之间的链接是通过WordInfo节点的物理字段完成的。

"worlds":该目录包含世界文件、项目文件(见下文)和纹理(通常位于名为“纹理”的子目录中)。

项目和缩略文件

每个世界文件都有相应的项目文件和缩略图文件。这些文件是隐藏的。项目文件包含有关GUI的信息(例如透视图)。如果世界文件的名称为“myWorldFile.wbt”,则其项目文件的名称将为“.myWorldFile.wbproj”,其缩略图将为“.miyWorldFile.jpg”。这些文件由Webots在正确保存世界时编写。删除“.myWorldFile.wbproj”可以检索默认透视图。768px x 432px“.myWorldFile.jpg”缩略图用于在网络上查看模拟、动画或场景时加载。如果未捕获或删除,则使用默认缩略图。

控制器目录

此目录包含控制器。每个控制器都定义在一个目录中。控制器由目录的名称引用。这里是控制器目录的一个例子,该目录具有一个用C编写的可以编辑和执行的简单控制器。

controllers/
controllers/simple_controller/
controllers/simple_controller/Makefile
controllers/simple_controller/simple_controller.c
controllers/simple_controller/simple_controller[.exe]

注意:主可执行文件的名字必须与目录一致;

二、在终端编译控制器

可以在终端中编译Webots控制器,而不是使用内置编辑器。在这种情况下,您需要定义WEBOTS_HOME环境变量,并使其指向WEBOTS安装目录。WEBOTS_HOME变量用于定位Makefiles中的WEBOTS头文件和库。设置环境变量取决于平台(和shell),以下是一些示例:

macOS和Linux

这些示例假定Webots安装在默认目录中。在Linux上,键入以下内容:

$ export WEBOTS_HOME=/usr/local/webots

或者添加这行到~/.bash_profile中

在macOS中:

$ export WEBOTS_HOME=/Applications/Webots.app
$ export WEBOTS_HOME_PATH=$WEBOTS_HOME/Contents

或者添加到~/.profile文件中

一旦这些环境变量定义好之后,可以在终端中编译了,使用make命令。

$ make
$ make clean
$ make -f Makefile_java my_robot.class
$ make my_robot.o