构建ros系统
wccsu1994
这个作者很懒,什么都没留下…
展开
-
ROS:话题编程 订阅者Subscriber的简单实现
1.(1)编写一个C++话题订阅者/** * 该例程将订阅/turtle1/pose话题,消息类型turtlesim::Pose */ #include <ros/ros.h>#include "turtlesim/Pose.h"// 接收到订阅的消息后,会进入消息回调函数void poseCallback(const turtlesim::Pose::Cons...原创 2020-03-06 16:13:01 · 941 阅读 · 0 评论 -
ROS:话题编程 发布者publisher的简单实现
/*** 该例程将发布/person_info话题,自定义消息类型learning_topic::Person*/#include <ros/ros.h>#include "learning_topic/Person.h"int main(int argc, char **argv){ // ROS节点初始化 ros::init(argc, ar...原创 2020-03-06 13:42:55 · 910 阅读 · 2 评论 -
2.创建一个ROS功能包
创建ROS功能包的命令如下:$ catkin_create_pkg [功能包名称] [依赖功能包1] [依赖功能包n] “catkin_create_pkg”命令在创建用户功能包时会生成catkin 构建系统所需的CMakeLists.txt和package.xml文件的包目录。1,移到工作目录$ cd ~/catkin_ws/src2.创建一个功能包$ catkin_cr...原创 2018-11-26 10:59:30 · 529 阅读 · 0 评论 -
1.ROS创建工作空间
创建一个catkin 工作空间:$ mkdir -p ~/catkin_ws/src //创建一个文件夹$ cd ~/catkin_ws/src //到该文件目录下$ catkin_init_workpace //初始化工作空间即使这个工作空间是空的(在'src'目录中没有任何软件包,只有一个CMakeLists.txt链接文...转载 2018-11-24 13:51:02 · 137 阅读 · 0 评论 -
3.修改功能包配置文件(package.xml)
必要的ROS配置文件之一的package.xml是一个包含功能包信息的XML文件,包括功能包名称、作者、许可证和依赖功能包。下面是对每个语句的说明。■ <?xml> 这是一个定义文档语法的语句,随后的内容表明在遵循xml版本1.0。■ <package> 从这个语句到最后</package>的部分是ROS功能包的配置部分。...原创 2018-11-26 11:12:01 · 2049 阅读 · 0 评论 -
4.修改构建配置文件(CMakeLists.txt)
ROS的构建系统catkin基本上使用CMake,并在功能包目录中的CMakeLists.txt文件中描述构建环境。在这个文件中设置可执行文件的创建、依赖包优先构建、连接器(linker)的创建等等,以构建的功能包my_first_ros_pkg为例说明。构建配置文件(CMakeLists.txt)中的每一项如下所示。1.操作系统中安装的cmake的最低版本。由于它目前被指定为版本2.8....原创 2018-11-26 11:37:53 · 2933 阅读 · 0 评论 -
5.编写源代码
在上述(4)CMakelists.txt文件的可执行文件创建部分(add_executable)中,进行了以下设置。add_executable(hello_world_node src/hello_world_node.cpp) 换句话说,是引用功能包的src目录中的hello_world_node.cpp源代码来生成hello_world_node可执行文件。由于这里没有hello_wor...原创 2018-11-26 11:48:31 · 2299 阅读 · 0 评论 -
6.构建功能包
所有构建功能包的准备工作都已完成。在构建之前,使用以下命令更新ROS功能包的配置文件。这是一个将之前创建的功能包反映在ROS功能包列表的命令,这并不是必选操作,但在创建新功能包后更新的话使用时会比较方便。$ rospack profile下面是catkin构建。移动到catkin工作目录后进行catkin构建。$ cd ~/catkin_ws && catkin_m...原创 2018-11-26 11:54:47 · 183 阅读 · 0 评论 -
7.运行节点
如果构建无误,那么将在“~/catkin_ws/devel/lib/my_first_ros_pkg”中生成“hello_world_node”文件。下一步是运行该节点,打开一个终端窗口(Ctrl + Alt + t)并在运行该节点之前先运行roscore。请注意,运行roscore后,ROS中的所有节点都可用,除非退出了roscore,否则只需运行一次。$ roscore最后,打开...原创 2018-11-26 13:10:16 · 509 阅读 · 0 评论