1. 设置ROS2工作区
确保你已经设置好了ROS2工作区。
创建一个工作区目录
mkdir -p ~/ros2_ws/src
切换到工作区目录
cd ~/ros2_ws
初始化工作区
colcon build
source ROS2环境
source /opt/ros/humble/setup.bash
source install/setup.bash
2. 创建ROS2包 创建一个新的ROS2包,假设包名为hello_world。
切换到src目录
cd ~/ros2_ws/src
创建一个名为hello_world的包,包含rclpy依赖
ros2 pkg create --build-type ament_python hello_world --dependencies rclpy
3. 编写节点代码 进入hello_world包的目录,创建并编辑节点代码。
切换到hello_world包目录
cd ~/ros2_ws/src/hello_world
确保hello_world目录存在
mkdir -p hello_world
创建一个名为hello_world_node.py的文件
touch hello_world/hello_world_node.py
编辑hello_world_node.py文件
nano hello_world/hello_world_node.py
在hello_world_node.py中添加以下代码:
import rclpy
from rclpy.node import Node
class HelloWorldNode(Node):
def __init__(self):
super().__init__('hello_world_node')
self.get_logger().info('Helo World')
def main(args=None):
rclpy.init(args=args)
node = HelloWorldNode()
rclpy.spin(node)
node.destroy_node()
rclpy.shutdown()
if __name__ == '__main__':
main()
保存并退出Nano:
按 Ctrl + O 保存文件
按 Enter 确认文件名
按 Ctrl + X 退出编辑器
4. 配置setup.py 编辑setup.py文件,确保节点脚本可以正确安装和运行。
nano setup.py
在setup.py中添加以下内容:
from setuptools import setup
package_name = 'hello_world'
setup(
name=package_name,
version='0.0.0',
packages=[package_name],
install_requires=['setuptools'],
zip_safe=True,
maintainer='Your Name',
maintainer_email='your.email@example.com',
description='A simple Hello World ROS2 node',
license='Apache License 2.0',
entry_points={
'console_scripts': [
'hello_world_node = hello_world.hello_world_node:main'
],
},
)
保存并退出Nano:
按 Ctrl + O 保存文件
按 Enter 确认文件名
按 Ctrl + X 退出编辑器
5. 构建并运行节点 回到工作区根目录,构建包并运行节点。
切换到工作区根目录
cd ~/ros2_ws
构建工作区
colcon build
source ROS2环境
source install/setup.bash
运行节点
ros2 run hello_world hello_world_node
在终端中,你应该会看到输出的文本Hello World。