星座分析>星座分析>农历

ros工作空间包含哪些内容 ros工作空间编译

分类:农历发布者:蚊子进行曲

一篇好的文章需要好好的打磨,你现在浏览的文章是一篇关于ros工作空间包含哪些内容 ros工作空间编译的文章,本文对文章ros工作空间包含哪些内容 ros工作空间编译好好的分析和解答,希望你能喜欢,只有你喜欢的内容存在,只有你来光临,我们才能继续前行。Jc8星座分析

三个主要ros水平是什么

模拟退火算法Jc8星座分析

ROS有三个层级的概念,分别是:文件系统级、计算图级和开源社区级Jc8星座分析

?Jc8星座分析

sinoloverJc8星座分析

关注Jc8星座分析

1点赞·2878人阅读Jc8星座分析

ROS有三个层级的概念,分别是:文件系统级、计算图级和开源社区级。Jc8星座分析

文件系统级:ROS的内部结构、文件结构和所需的核心文件都在这一层里,理解ROS文件系统是入门ROS的基础。一个ROS程序的结构,是一些按不同功能进行区分的文件夹。一般的文件夹结构是:Jc8星座分析

工作空间文件夹(workspace)->源文件空间文件夹(src)、编译空间文件夹(build)和开发空间文件夹(devel);Jc8星座分析

源文件空间文件夹再进一步放置功能包。Jc8星座分析

计算图级:主要是指进程之间(节点之间)的通信。ROS创建了一个连接所有进程的网络,通过这个网络节点之间完成交互,获取其他节点发布的信息。围绕计算图级和节点,一些重要的概念也随即产生:节点,节点管理器,参数服务器,消息,服务,主题(或称话题)和消息记录包,这些概念后面会逐一说明。Jc8星座分析

首先,需要准备一些硬件和软件。硬件方面,需要一台带有ROS的树莓派,以及一台支持ROS的机器人。软件方面,需要安装ROS和相应的SLAM算法包。这里以gmapping为例。Jc8星座分析

安装ROS和gmappingJc8星座分析

打开终端,输入以下命令:Jc8星座分析

```Jc8星座分析

sudo apt-get updateJc8星座分析

sudo apt-get upgradeJc8星座分析

```Jc8星座分析

更新系统和软件包。接着,安装ROS和gmapping:Jc8星座分析

```Jc8星座分析

sudo apt-get install ros-kinetic-desktop-fullJc8星座分析

sudo apt-get install ros-kinetic-gmappingJc8星座分析

```Jc8星座分析

安装完成后,需要创建一个ROS工作空间:Jc8星座分析

```Jc8星座分析

mkdir -p catkin_ws/srcJc8星座分析

cd catkin_wsJc8星座分析

catkin_makeJc8星座分析

```Jc8星座分析

此时,ROS工作空间已经创建完成。Jc8星座分析

运行SLAMJc8星座分析

接下来,需要将机器人连接到树莓派,启动ROS核心,以及运行gmapping。首先,打开终端,启动ROS核心:Jc8星座分析

```Jc8星座分析

roscoreJc8星座分析

```Jc8星座分析

在另一个终端中,启动机器人:Jc8星座分析

```Jc8星座分析

roslaunch robot_launch_file.launchJc8星座分析

```Jc8星座分析

其中,robot_launch_file.launch是机器人的启动文件,需要根据具体机器人进行配置。Jc8星座分析

最后,在另一个终端中,运行gmapping:Jc8星座分析

```Jc8星座分析

rosrun gmapping slam_gmappingJc8星座分析

```Jc8星座分析

此时,SLAM已经启动完成。可以使用rviz查看地图:Jc8星座分析

```Jc8星座分析

rosrun rviz rvizJc8星座分析

```Jc8星座分析

在rviz中,选择“Map”作为显示内容,即可看到实时的地图。Jc8星座分析

结语Jc8星座分析

通过树莓派和ROS进行SLAM可以使机器人快速了解周围环境,为后续的机器人控制和路径规划提供依据。希望本文对您有所帮助。

ros编译提示缺少链接库怎么办

一、标准:ROS功能包中调用第三方静态库Jc8星座分析

include_directories(Jc8星座分析

includeJc8星座分析

${catkin_INCLUDE_DIRS}Jc8星座分析

)Jc8星座分析

add_executable(${PROJECT_NAME}_node src/source.cppJc8星座分析

include/source.hJc8星座分析

)Jc8星座分析

target_link_libraries(${PROJECT_NAME}_nodeJc8星座分析

${catkin_LIBRARIES}Jc8星座分析

${PROJECT_SOURCE_DIR}/lib/第三方库名Jc8星座分析

)Jc8星座分析

注:引入PIE的原因是让程序能装载在随机的地址,通常情况下,内核都在固定的地址运行,如果能改用位置无关,那攻击者就很难借助系统中的可执行码实施攻击了。类似缓冲区溢出之类的攻击将无法实施。而且这种安全提升的代价很小Jc8星座分析

二、解决链接未开启pie功能的静态库时,编译报错Jc8星座分析

先作对比:Jc8星座分析

include_directories(Jc8星座分析

includeJc8星座分析

${catkin_INCLUDE_DIRS}Jc8星座分析

)Jc8星座分析

add_executable(${PROJECT_NAME}_node src/source.cppJc8星座分析

include/source.hJc8星座分析

)Jc8星座分析

target_link_libraries(${PROJECT_NAME}_nodeJc8星座分析

${catkin_LIBRARIES}Jc8星座分析

${PROJECT_SOURCE_DIR}/lib/第三方库名 -no-pieJc8星座分析

)Jc8星座分析

与一般的链接形式对比,我们只是在链接第三方库的后面加了-no-pie,之后再到ROS的工作空间中重新编译就完成了!Jc8星座分析

以上内容是小编精心整理的关于ros工作空间包含哪些内容 ros工作空间编译的精彩内容,好的文章需要你的分享,喜欢ros工作空间包含哪些内容 ros工作空间编译这篇精彩文章的,请您经常光顾吧!Jc8星座分析

上一篇:到底工作重要还是孩子重要 工作重要还是孩子重要的说说

下一篇:更多农历

农历相关文章
更多农历文章

精选农历

农历热点