创建一个hello ros节点,并写一个launch文件

许多新手开始学习ROS时,不知道如何创建一个ROS节点,并正确的编译运行,下面是小编的亲手实践历程

1、正确安装ROS,根据Ubuntu的版本选择正确的ROS版本

2、创建ROS的工作空间、初始化工作空间,编译工作空间

cd ~
sudo mkdir -p catkin_make hello_ros/src
cd hello_ros
catkin_init_workspace
catkin_make

3、进入到工作空间下的src文件下,创建功能包,在创建功能包的同时,选择文件的依赖

cd hello_ros/src
catkin_create_pkg hello std_msgs roscpp

4、在功能包下面创建一个cpp文件,名字叫hello.cpp,当然,名字可以自己定

hello.cpp的内容为:

#include <ros/ros.h>

int main (int argc, char **argv) 

{   ros::init(argc, argv, "hello") ; 

    ros::NodeHandle nh;

     ROS_INFO_STREAM("Hello, ROS!") ;
 }

5、声明可执行文件,在功能包下的Cmakelist.txt中在

include_directories(include ${catkin_INCLUDE_DIRS}) 之后:添加以下代码

add_executable(hello hello.cpp)
target_link_libraries(hello ${catkin_LIBRARIES})

6、重新进行编译

cd ~
cd hello_ros
catkin_make

7、启动ros,刷新环境变量,运行节点

roscore
再打开另一个终端
cd hello_ros
source devel/setup.bash
rosrun hello hello

8、写一个launch文件来启动这个节点,利用launch文件来启动程序时,不需要启动roscore,launch文件会自动检测并启动

<launch>
    <node pkg="hello" type="hello" name="hello"></node>
</launch>

以上是最精简的launch文件,pkg里面的内容是可执行文件所在的问价夹,type里面存放的是可执行文件的名称,name里面是自己的命名。

9、使用launch文件启动程序

cd ~
cd hello_ros
source devel/setup.bash
roslaunch hello hello.launch

至此,就是写一个简单的ROS节点并使用launch文件启动!!!

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ROS(Robot Operating System)是一个开源的机器人操作系统,它提供了很多工具和库,方便我们构建、测试和部署机器人应用。ROS节点(node)是ROS系统中的基本构建块,它们可以执行各种任务,并通过ROS通信机制与其他节点通信。 在ROS中,我们可以使用launch文件来管理节点的启动和运行launch文件一个XML格式的文件,其中包含了我们需要启动的节点、参数、话题、服务等信息。在本次实验中,我们将学习如何编一个简单的launch文件来管理ROS节点的启动和运行,并对实验过程进行总结。 实验步骤: 1. 创建ROS工作空间 首先,我们需要创建一个ROS工作空间,如果已经有了可以跳过此步骤。在终端输入以下命令: ``` mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make source devel/setup.bash ``` 2. 创建ROS节点ROS工作空间的src目录下创建一个ROS节点。在终端输入以下命令: ``` cd ~/catkin_ws/src catkin_create_pkg my_node rospy ``` 这里创建了一个名为“my_node”的ROS包,其中使用了ROS的Python库rospy。 3. 编ROS节点代码 在my_node包中创建一个名为“my_node.py”的Python文件,并将以下代码复制到文件中: ``` #!/usr/bin/env python import rospy def main(): rospy.init_node('my_node') rospy.loginfo('Hello, ROS!') if __name__ == '__main__': main() ``` 这个ROS节点非常简单,它只是打印了一条信息“Hello, ROS!”。当然,我们也可以在这里添加更多的代码来完成其他任务。 4. 编ROS launch文件 在my_node包中创建一个名为“my_node.launch”的launch文件,并将以下代码复制到文件中: ``` <launch> <node pkg="my_node" type="my_node.py" name="my_node" output="screen"/> </launch> ``` 这个launch文件定义了一个ROS节点,其中“pkg”属性指定了节点所在的ROS包,“type”属性指定了节点的Python文件,“name”属性指定了ROS节点的名称,“output”属性指定了节点输出的消息类型。 5. 运行ROS launch文件 在终端输入以下命令来启动ROS launch文件: ``` roslaunch my_node my_node.launch ``` 在终端中将会看到输出“Hello, ROS!”,说明ROS节点已经成功启动。 实验总结: 通过本次实验,我们学习了如何使用ROS launch文件来管理ROS节点的启动和运行。在编launch文件的过程中,需要注意以下几点: 1. 在launch文件中定义的节点必须与Python文件中的节点名称相同。 2. 在编launch文件时,需要指定节点所在的ROS包、Python文件以及节点的名称。 3. 在运行launch文件时,需要使用“roslaunch”命令,并指定launch文件所在的ROS包和launch文件的名称。 总的来说,ROSlaunch文件非常方便,可以大大简化我们的节点管理工作。在实际的机器人应用中,我们可以使用launch文件来启动多个节点,并通过ROS通信机制将它们连接在一起,完成更加复杂的任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值