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)

相关推荐
黑马水牛3 天前
Carla仿真系列:9_Carla 单目障碍物测距,四种方法原理与实测
经验分享·python·深度学习·计算机视觉·ros·传感器·carla仿真
火车站卖橘子8 天前
Mac搭建ROS初始环境
ros
M-Robots echo8 天前
轻量化裁剪方案解析:M-Robots 模块化构建,适配高低端各类机器人硬件平台
java·机器人·ros·开源社区·atomgit·m-robots
M-Robots echo9 天前
安全机制架构解析:M-Robots 分层安全体系,筑牢机器人设备运行底座
机器人·ros·鸿蒙·开源社区·m-robots
M-Robots echo10 天前
驱动抽象层解析:标准化硬件接口,解决机器人硬件碎片化适配难题
人工智能·机器人·ros·开源社区·m-robots
M-Robots echo10 天前
M-CLAW,面向具身智能的机器人任务编排开发框架
机器人·ros·鸿蒙·开源社区·m-robots
M-Robots echo10 天前
王成录:机器人产业下一个十年,拼的是 “系统级智能化” 而非单点算法堆叠
机器人·ros·鸿蒙·开源社区·m-robots·王成录
M-Robots echo11 天前
M-Robots ROS 兼容适配方案,实现存量机器人项目低成本迁移
机器人·ros·鸿蒙·开源社区·m-robots
M-Robots echo12 天前
王成录:黑客松不只是赛事,是开源机器人生态快速试错、挖掘创新的试验场
机器人·ros·鸿蒙·具身智能·开源社区·m-robots
M-Robots echo14 天前
王成录:分布式软总线是 M-Robots 实现群体智能的技术内核
机器人·ros·鸿蒙·开源社区·m-robots