ubuntu20 创建并运行一个C++版和Python版Hello World ROS节点 图文+视频教程

创建并运行一个C++版的Hello World ROS节点

1. 创建工作空间和功能包
假设你已经创建了ROS的工作空间和功能包。如果还没有,可以参考以下命令:

# 创建工作空间目录

mkdir -p ~/ros_workspace/src
cd ~/ros_workspace/src

# 初始化catkin工作空间

catkin_init_workspace

# 创建一个新的功能包

catkin_create_pkg hello_world std_msgs roscpp

2. 编写C++源代码

进入功能包的`src`目录并创建一个新的C++源文件,例如`hello_world.cpp`:

cd ~/ros_workspace/src/hello_world/src

打开hello_world.cpp

gedit hello_world.cpp

将以下代码粘贴到`hello_world.cpp`文件中:

#include "ros/ros.h"

int main(int argc, char *argv[])
{
    // 执行 ros 节点初始化
    ros::init(argc, argv, "hello");
    // 创建 ros 节点句柄(非必须)
    ros::NodeHandle n;
    // 控制台输出 hello world
    ROS_INFO("hello world!");

    return 0;
}

保存并关闭文件。

3. 编辑 CMakeLists.txt 文件

编辑功能包根目录下的`CMakeLists.txt`文件:

cd ~/ros_workspace/src/hello_world

打开CMakeLists.txt

gedit CMakeLists.txt

在文件末尾添加以下内容:

add_executable(hello_world_node src/hello_world.cpp)
target_link_libraries(hello_world_node ${catkin_LIBRARIES})

保存并关闭文件。

4. 编译工作空间

回到工作空间的根目录并编译:

cd ~/ros_workspace
catkin_make

5. 运行节点

打开一个终端并启动ROS核心【如果启动过就不用再次启动】:

roscore

打开另一个终端,进入工作空间并配置环境变量:

cd ~/ros_workspace
source devel/setup.bash

运行你的C++节点:

rosrun hello_world hello_world_node

你应该会在终端中看到输出:

[ INFO] [时间戳]: hello world!

 

 

如果需要Python版就操作下面的

HelloWorld(Python版)

步骤1:进入 ROS 包并添加 scripts 目录,创建 Python 文件

cd ~/ros_workspace/src/hello_world
mkdir scripts
cd scripts

步骤2:编辑 Python 文件 helloworld.py

gedit helloworld.py

打开 `helloworld.py` 并添加以下内容:

#!/usr/bin/env python

"""
    Python 版 HelloWorld
"""

import rospy

if __name__ == "__main__":
    rospy.init_node("hello_python")
    rospy.loginfo("Hello World!!!!")

步骤3:为 Python 文件添加可执行权限

chmod +x helloworld.py

步骤4:编辑 `CMakeLists.txt` 文件

cd ~/ros_workspace/src/hello_world

gedit CMakeLists.txt

打开 CMakeLists.txt 文件,添加以下内容:

catkin_install_python(PROGRAMS scripts/helloworld.py
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

确保你找到了 catkin_package() 函数后面,并在该位置添加上述代码。

步骤5:编译工作空间

回到工作空间的根目录并编译:

cd ~/ros_workspace
catkin_make

cd ~/ros_workspace
catkin_make

步骤6:运行 Python 脚本

打开另一个终端,进入工作空间并运行脚本:

cd ~/ros_workspace
source devel/setup.bash
rosrun hello_world helloworld.py

你应该在终端中看到以下输出:

[INFO] [XXXXXX]: Hello World!!!!

免责声明:
1:如非特殊说明,本站对提供的素材及源码不拥有任何权利,其版权归原著者拥有。
2:本站内容均由互联网收集整理、网友上传,并且以技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
3:本站部分收费内容仅作本站日常维护费用,若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
4:请勿将源码、软件进行商业交易、转载等行为,源码、软件只为研究、学习所提供,该软件使用后发生的一切问题与本站无关。
5:站内资源如有侵犯你版权的,请来信1058364519@qq.com指出,本站将立即改正。
6:素材源码均为网络收集,不承担任何版权问题,不提供任何技术支持!
7:严重警告本站木屋模型、木屋CAD图纸、木屋效果图未经允许不得转载:凡木屋模型及CAD文章由设计师QINYUHUI设计制作,享有内容所有权,文章仅在QINYUHUI名下网站、信息平台或嘿很有内涵微博发布,未经授权违者必究!!!

MASUC » ubuntu20 创建并运行一个C++版和Python版Hello World ROS节点 图文+视频教程