- 博客(11)
- 收藏
- 关注
原创 【ROS2】机器人建模与仿真(2)——模型控制
机器人控制通过上一章节,学习了如何通过URDF描述一个机器人,现在开始学习如何控制这个机器人跑起来。首先,先把那个圆柱体补全成一个差速结构的小车。下面开始编辑URDF文件,添加其他link和joint,每次添加后,需要重新编译代码,重启RVIZ2。1. 添加imu编写URDF,描述一个位于中心正上方2cm,长宽高均为2cm的正方体。 <!-- imu link --> <link name="imu_link"> <visual>
2024-03-28 14:52:48 932 1
原创 【ROS2】机器人建模与仿真(1)——建模入门(URDF+rviz2)
采用URDF(Unified Robot Description Format)统一机器人描述格式,URDF使用XML格式描述机器人文件。列表包含了要安装到系统中的其他文件和目录,以及它们的安装路径。:关节(Joint),通过这两种组件即可完成对一个机器人的描述。对象中,并将其返回,以便由 ROS 2 的启动系统加载并执行。通过代码的形式描述机器人的各个组件,以及组件之间的联动关系。运行起来会跳出一个界面,通过界面可以操作URDF中能动的关节。基于URDF的描述,通过RVIZ2显示出来可视化模型。
2024-03-28 14:37:48 3975 1
原创 【ROS2】Rate定频函数
是 ROS 中用于控制循环频率的方法之一。在 ROS 的节点中,通常会在循环中执行一些操作,例如读取传感器数据、执行控制指令等。为了控制节点的循环频率,可以使用方法。rate并不是简单的延时函数,个人理解为,它通过发送设置频率的方波,循环在上升沿触发进行执行,如下图:但也就存在两个问题,当“执行”的时间小于或者大于rate设定周期时间。
2024-03-27 20:06:10 1012
原创 linux环境下基于VSCode配置多目录C/C++编译调试环境
前面记录了通过GNU套件以及CMAKE配置文件进行C/C++代码的编译调试, 本文记录基于VSCode IDE搭建C/C++开发环境, 以实现更优雅的ctrl c/v.
2024-03-25 16:45:05 5487
原创 CMake构建工具
CMake 是一个跨平台的开源构建工具,用于管理和构建 C++ 项目。它允许开发人员使用简单的配置文件来描述项目的构建过程,然后根据这些配置文件生成特定于平台的构建系统(如 Makefile、Visual Studio 项目等),从而实现跨平台的项目构建。跨平台性:CMake 可以生成适用于各种操作系统和构建工具的构建文件,包括 Linux、Windows、macOS 等,以及各种编译器和 IDE。简单的配置文件。
2024-03-25 01:17:45 2259
原创 [GCC|GDB]编译调试套件
GCC/G++GNU Compiler Collection 的主要组件,用于编译 C、C++、Objective-C、Fortran 等语言的程序。可以将源代码编译成可执行文件或者目标文件, 提供了丰富的编译选项和优化功能,能够生成高效、可靠的机器代码。使用命令gcc来编译 C 代码,使用命令g++来编译 C++ 代码, 在编译 C++ 程序时,通常建议使用g++而不是gcc,因为g++在链接 C++ 标准库时会自动链接对应的库文件。GDBGNU Debugger,用于调试 C、C++ 程序。
2024-03-24 18:12:31 1124 1
转载 【工具 : terminator】ubuntu终端多开个工具
或者,也可以直接使用快捷键。Ctrl+Shift+P or Ctrl+Shift+Tab //Crtl+Shift+Tab 移动到之前的一个终端。Ctrl+Shift+Q //退出当前窗口,当前窗口的所有终端都将被关闭。Ctrl+Shift+Right //在垂直分割的终端中将分割条向右移动。Ctrl+Shift+Left //在垂直分割的终端中将分割条向左移动。
2024-03-24 13:27:46 511
原创 【ROS2】ROS2入门
将不同功能的代码整合打包即为功能包。package.xml文件的主要内容如下,包含功能包的版权描述,和各种依赖的声明。CMakeLists.txt文件是编译规则,C++代码需要编译才能运行,所以必须要在该文件中设置如何编译,使用CMake语法。定义,路径:learning_interface/srv/GetObjectPosition.srv定义中有两个部分,上边是获取目标位置的指令,get为true的话,就表示我们需要一次位置,服务端就会反馈这个x、y坐标了。。
2024-03-22 14:59:51 1038
原创 行为树 (Behavior Tree, BT) 基本概念
构建一个自主智能体在不同任务之间切换的方法。实现机器人在不同行为之间的切换,同时满足“反应性”和“模块化“相比FSM(有限状态机),由于FSM采用单向传输进行任务跳转,这意味着FSM需要在“反应性”和“模块化”之间进行权衡类似“GoTo”语句带来的不便,这主要反映在实现机器人“反应性”过程中,为了使系统具有反应性,需要在组件之间进行多次转换,而FSM组件之间的转化是单向的,这将使程序混乱,从而破坏程序的模块化。BT使用由树的内部节点控制的双向传输机制,使得BT可以同时实现机器人的模块化和适应性。
2024-03-22 14:41:19 2374 2
翻译 【ROS2】节点的生命周期管理
本文描述了具有受管理生命周期的节点概念。它旨在记录在ROS 2中支持受管理生命周期节点的一些选项。在撰写本文时,考虑了ROS 2 C++客户端库的现有设计,特别是执行器的当前设计。翻译:deepL & chatgpt撰写日期:2015 年 6 月最后修改时间:2021 年 2 月。
2024-03-22 14:28:59 341
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人