logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

ROS2—理解参数

参数也是ROS2中很重要的一个概念,主要作用是对节点功能的配置,在ROS2中,每个节点都有自己的参数,这些参数可以用整型数、浮点数、布尔型数、字符串和列表来描述。依然是以小海龟仿真器为例,看看里边有哪些参数。1.启动小海龟仿真器熟悉的两行命令:ros2 run turtlesim turtlesim_noderos2 run turtlesim turtle_teleop_key2.查看系统中的参

文章图片
#ubuntu#linux#人工智能
ROS2—理解动作

action也并不是一个全新的机制,而是由底层的三个话题和服务组成:一个任务目标(Goal,服务),一个执行结果(Result,服务),周期数据反馈(Feedback,话题)。action是可抢占式的,由于需要执行一段时间,比如执行过程中你不想跑了,那可以随时发送取消指令,动作终止,如果执行过程中发送一个新的action目标,则会直接中断上一个目标开始执行最新的任务目标。总体上来讲,action是

文章图片
#ubuntu#linux#人工智能
ROS2—小海龟仿真器基础使用

小海龟(Turtlesim)是ROS2中一个非常重要的入门级例程,通过海龟仿真,我们可以了解到很多ROS2的底层原理,涉及节点、话题、服务等核心概念。1.安装海龟仿真器Linux:sudo apt updatesudo apt install ros-foxy-turtlesimWindows:默认已经安装好如果你不确定是否安装成功,可以使用该命令检查:ros2 pkg executables t

文章图片
#人工智能#ubuntu#c++
ROS2 环境配置

workspace是ROS2中的工作空间,也是我们开发机器人代码的位置。ROS2安装的系统目录称之为“underlay”,我们自己创建的工作空间称之为“overlay”,在一台电脑上往往有多个工作空间。我们可以通过source不同空间的环境变量脚本来更换所使用的workspace,包括ROS2的版本。1.设置环境变量Linux:source /opt/ros/foxy/setup.bashWind

文章图片
#linux#ubuntu#bash +1
ROS2—服务(Service)

服务是基于客户端/服务器模型的通信机制,服务器端只在接收到客户端请求时才会提供反馈数据。接下来还是以海龟仿真为例,看看里边有哪些服务的应用呢?1.启动海龟仿真器还是用这两个命令来启动海龟仿真器:ros2 run turtlesim turtlesim_noderos2 run turtlesim turtle_teleop_key2.查看服务列表在小海龟背后,有哪些服务呢?可以使用“ros2 se

文章图片
#ubuntu#linux#人工智能
ROS2—rqt_console工具的使用

在终端中运行ROS2节点时,节点的日志信息会在终端中显示出来,但是这种方式呈现的日志比较凌乱,所以ROS2提供了一个专门用于管理日志信息的可视化工具——rqt_console。今天我们就来看看这个工具是如何使用的。1.启动首先打开一个新的终端,使用如下指令即可启动rqt_console:ros2 run rqt_console rqt_console在打开的窗口中,我们可以看到三个子窗口。最上边一

文章图片
#ubuntu#人工智能#linux
ROS2——创建ROS2工作空间

ROS2中的工作空间类似我们常说的概念——“工程”,是我们在ROS中开发具体项目的空间,所有功能包的源码、配置、编译都在该空间下完成。我们可能会同时开发多个项目,就会产生多个工作空间,所以工作空间之间也有一个层次的问题,类似于优先级的概念,比如不同工作空间中有同名的功能包,那运行的时候是启动哪一个呢?ROS默认是启动最上层的工作空间( overlay),上层工作空间中的功能包会覆盖(overrid

文章图片
#自动驾驶#linux#人工智能 +1
ROS2—创建一个launch文件

到现在为止,每次启动一个ROS2中的节点,我们都需要开启一个新的终端运行ros2 run指令,如果机器人系统中的节点很多,这样岂不是很麻烦。ROS2针对这个问题,专门设计了launch启动文件,可以通过一个类似脚本的文件,一起启动多个节点并允许在文件中对节点进行配置。接下来我们就看看如何才能创建并使用一个launch文件。1.配置首先创建一个launch文件夹,作为后续放置launch文件的目录:

文章图片
#人工智能#ubuntu#linux
ROS2——创建ROS2工作空间

ROS2中的工作空间类似我们常说的概念——“工程”,是我们在ROS中开发具体项目的空间,所有功能包的源码、配置、编译都在该空间下完成。我们可能会同时开发多个项目,就会产生多个工作空间,所以工作空间之间也有一个层次的问题,类似于优先级的概念,比如不同工作空间中有同名的功能包,那运行的时候是启动哪一个呢?ROS默认是启动最上层的工作空间( overlay),上层工作空间中的功能包会覆盖(overrid

文章图片
#自动驾驶#linux#人工智能 +1
到底了