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

三个主要ros水平是什么
模拟退火算法
ROS有三个层级的概念,分别是:文件系统级、计算图级和开源社区级
?
sinolover
关注
1点赞·2878人阅读
ROS有三个层级的概念,分别是:文件系统级、计算图级和开源社区级。
文件系统级:ROS的内部结构、文件结构和所需的核心文件都在这一层里,理解ROS文件系统是入门ROS的基础。一个ROS程序的结构,是一些按不同功能进行区分的文件夹。一般的文件夹结构是:
工作空间文件夹(workspace)->源文件空间文件夹(src)、编译空间文件夹(build)和开发空间文件夹(devel);
源文件空间文件夹再进一步放置功能包。
计算图级:主要是指进程之间(节点之间)的通信。ROS创建了一个连接所有进程的网络,通过这个网络节点之间完成交互,获取其他节点发布的信息。围绕计算图级和节点,一些重要的概念也随即产生:节点,节点管理器,参数服务器,消息,服务,主题(或称话题)和消息记录包,这些概念后面会逐一说明。
首先,需要准备一些硬件和软件。硬件方面,需要一台带有ROS的树莓派,以及一台支持ROS的机器人。软件方面,需要安装ROS和相应的SLAM算法包。这里以gmapping为例。
安装ROS和gmapping
打开终端,输入以下命令:
```
sudo apt-get update
sudo apt-get upgrade
```
更新系统和软件包。接着,安装ROS和gmapping:
```
sudo apt-get install ros-kinetic-desktop-full
sudo apt-get install ros-kinetic-gmapping
```
安装完成后,需要创建一个ROS工作空间:
```
mkdir -p catkin_ws/src
cd catkin_ws
catkin_make
```
此时,ROS工作空间已经创建完成。
运行SLAM
接下来,需要将机器人连接到树莓派,启动ROS核心,以及运行gmapping。首先,打开终端,启动ROS核心:
```
roscore
```
在另一个终端中,启动机器人:
```
roslaunch robot_launch_file.launch
```
其中,robot_launch_file.launch是机器人的启动文件,需要根据具体机器人进行配置。
最后,在另一个终端中,运行gmapping:
```
rosrun gmapping slam_gmapping
```
此时,SLAM已经启动完成。可以使用rviz查看地图:
```
rosrun rviz rviz
```
在rviz中,选择“Map”作为显示内容,即可看到实时的地图。
结语
通过树莓派和ROS进行SLAM可以使机器人快速了解周围环境,为后续的机器人控制和路径规划提供依据。希望本文对您有所帮助。
ros编译提示缺少链接库怎么办
一、标准:ROS功能包中调用第三方静态库
include_directories(
include
${catkin_INCLUDE_DIRS}
)
add_executable(${PROJECT_NAME}_node src/source.cpp
include/source.h
)
target_link_libraries(${PROJECT_NAME}_node
${catkin_LIBRARIES}
${PROJECT_SOURCE_DIR}/lib/第三方库名
)
注:引入PIE的原因是让程序能装载在随机的地址,通常情况下,内核都在固定的地址运行,如果能改用位置无关,那攻击者就很难借助系统中的可执行码实施攻击了。类似缓冲区溢出之类的攻击将无法实施。而且这种安全提升的代价很小
二、解决链接未开启pie功能的静态库时,编译报错
先作对比:
include_directories(
include
${catkin_INCLUDE_DIRS}
)
add_executable(${PROJECT_NAME}_node src/source.cpp
include/source.h
)
target_link_libraries(${PROJECT_NAME}_node
${catkin_LIBRARIES}
${PROJECT_SOURCE_DIR}/lib/第三方库名 -no-pie
)
与一般的链接形式对比,我们只是在链接第三方库的后面加了-no-pie,之后再到ROS的工作空间中重新编译就完成了!
以上内容是小编精心整理的关于ros工作空间包含哪些内容 ros工作空间编译的精彩内容,好的文章需要你的分享,喜欢ros工作空间包含哪些内容 ros工作空间编译这篇精彩文章的,请您经常光顾吧!
上一篇:到底工作重要还是孩子重要 工作重要还是孩子重要的说说
下一篇:更多农历