ROS添加节点

1 下载项目源码

(1)这里我使用是哔哩哔哩的博主源码机器人工匠王杰



(2)建立工作空间

在主目录下载建立如下文件夹

catkin_ws----

      ----src

(3)在src目录下下载项目源码



(4)开始尝试编译


  • catkin_make

如果有报错,可以查看报错原因自行解决

2 添加节点


  • catkin_create_pkg ssr_pkg rospy roscpp std_msgs

使用catkin_create_pkg创建了一个名为ssr_pkg的ROS软件包,并添加了rospy、roscpp和std_msgs作为依赖项。这样的命令将创建一个基本的ROS软件包,使其能够使用ROS Python (rospy) 和 ROS C++ (roscpp),同时依赖于ROS标准消息包 (std_msgs)。

具体来说,这个命令执行后会在你的ROS工作空间的src目录下创建一个名为ssr_pkg的文件夹,并在其中生成所需的基本文件结构和配置文件,包括:
CMakeLists.txt: 用于构建ROS软件包的CMake构建脚本。
package.xml : 包含ROS软件包的元数据和依赖项列表。
src文件夹: 包含ROS软件包的源代码文件,你可以在其中编写ROS节点、服务和其他功能。

通过向catkin_create_pkg命令中添加所需的依赖项,你可以告诉ROS软件包需要使用哪些ROS功能库。在你的例子中,你添加了rospy、roscpp和std_msgs作为依赖项,这表示你的软件包将使用Python的ROS功能库、C++的ROS功能库以及ROS标准消息库。

(2)在ssr_pkg的src文件中新建chao_node.cpp文件

输入如下代码:

c 复制代码
#include<ros/ros.h>

int main(int argc, char  *argv[])
{
    ros::init(argc,  argv,  "chao_node");
    printf("小马同学,hello welcome coming Ros!  \n ");
    return 0;
}

在Cmake.txt配置的文本文件里面末尾添加如下两行

cpp 复制代码
add_executable(chao_node  src/chao_node.cpp)
 target_link_libraries(chao_node
  ${catkin_LIBRARIES}
)

chao_node可以换成自己CPP文件的名字

(3)编译运行

在终端启动ROS


  • roscore

运行我们的节点


  • rosrun ssr_pkg chao_node

备注:ROS的节点就是想安卓系统的APP一样,只是在ROS系统上面叫节点(node)

相关推荐
wdfk_prog2 天前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
wdfk_prog2 天前
ROS教程11.5:roscore源码阅读——从启动脚本到 Master 注册表与控制面
ros
wdfk_prog3 天前
ROS教程10:从 gtest 到 rostest——Unit Test、Node 集成测试、rosbag 与 rqt 验证闭环
运维·缓存·docker·容器·ros
wdfk_prog4 天前
ROS教程07:从 ros::start() 顺着源码读懂 Master、XML-RPC 与 Topic 注册发现
运维·缓存·docker·容器·ros
wdfk_prog4 天前
用 Git Submodule + Sparse Checkout 管理 RT-Thread:内核、BSP、第三方库与业务代码分层实践
运维·缓存·docker·容器·ros
wdfk_prog4 天前
ROS教程06:ROS1 Node 启动与停止流程
运维·缓存·docker·容器·ros
黑马水牛4 天前
Carla仿真系列:17_利用Carla仿真环境跑通3DGS——从采集360张图到高斯泼溅建模
python·ros·colmap·3dgs·新视角合成·carla仿真·三维建图
wdfk_prog6 天前
ROS教程:01 搭建 ROS1 Noetic Docker 开发环境
运维·缓存·docker·容器·ros
wdfk_prog6 天前
ros教程02:创建 catkin Workspace、Package 与第一个 ROS1 C++ Node
运维·缓存·docker·容器·ros
怎么就重名了11 天前
controller_server的cmd_vel_nav
ros