初次学习ROS2机器操作系统,本博客将简单入门记录于此。

 

一. ros2安装:

sudo apt-get install curl && curl  http://fishros.com/tools/install/ros-foxy | bash

二.编译工具colcon安装:

sudo apt-get install python3-colcon-common-extensions

 

三.编译使用 : 

colcon build 

说明:工作包源码为src,使用colcon build 命令可生成build install log文件夹

python 代码编译:若src中有py代码,使用colcon build仅将src中.py代码拷贝install中,若修改src中.py代码需使install执行有效,(时实修改)使用:

colcon build --symlink-install

 

四.Python与C++创建工作空间、功能包及节点方法:

节点存在功能包中,功能包存在工作空间中,因此创造节点需创造工作空间与功能包:

工作空间创造(实际为文件夹):

mkdir -p town_ws/src
cd town_ws/src

功能包创建(在路径src下运行):

ros2 pkg create village_li  --build-type ament_python --dependencies rclpy 

village_li :功能包的名字,可以任意名称修改

--build-type : 选择版本创建,共有三个,分别为 ament_python ament_cmake  cmake  ,默认为ament_cmake 

--dependencies :依赖库 ,如rclpy  ros2的python客户端接口

python节点创建

直接在功能包下给.py文件,如下红框

 li4.py节点代码编译:

import rclpy
from rclpy.node import Node
'''
编写ros2节点一般步骤
1.导入库文件
2.初始化客户端库
3.新建节点对象
4.spin循环节点
5.关闭客户端库     
'''
def main(args=None):
    rclpy.init(args=args)
    li4_node=Node("li4")
    li4_node.get_logger().info("打印内容")
    rclpy.spin(li4_node)
    rclpy.shutdown() # 关闭

节点完后需要配置,指定找到节点,节点名为:li4_node,配置如下:

编译:

在town_ws路径下,执行:

colcon build

然后执行(告诉系统路径):

source install/setup.bash

运行:

ros2 run village_li li4_node

 

C++节点创建

C++功能包创建

ros2 pkg create village_wang  --build-type ament_cmake --dependencies rclcpp 

village_wang:功能包的名字,可以任意名称修改

--build-type : 选择版本创建,共有三个,分别为 ament_python ament_cmake  cmake  ,默认为ament_cmake 

--dependencies :依赖库 ,如rclpp  ros2的C++客户端接口

#include "rclcpp/rclcpp.hpp"
int main(int args,char**argv){
   rclcpp::init(argc,argv);  auto node=std::make_shared<rclcpp::Node>("wang2");//构建节点
  RCLCPP_INFO(node->get_logger(),"大家好"); // 内容  rclcpp::spin(node);//运行节点   rclcpp::shutdown();  return 0;  }

 cmakelists.txt重点内容