自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(335)
  • 收藏
  • 关注

原创 ros2--中间件--rmw

一套位于操作系统之上,引用程序之下的软件。在ros2中理解就是:中间件就是介于某两个或者多个节点中间的组件。

2024-07-22 14:32:57 96

原创 ros2--service指令

ros2 interface show 包/srv/srv文件名文件名不需要拓展名。

2024-07-22 09:55:35 100

原创 ros2--节点组件

将节点对象(插件)使用rclcpp_components库中的宏RCLCPP_COMPONENTS_REGISTER_NODE()进行注册到一个组件中,最后通过cmake构建将这个组件生成共享库;在通过component_container容器工具就可以使用这个组件,component_container容器工具可以自动加载共享库,并启动拱北封装在共享库中的组件的节点。#--------第一层--定义容器对象--------------#

2024-07-19 15:58:46 986

原创 ros2--插件

一个插件本质上就是一个类对象;ROS中plugin插件实际上是将C++类通过pluginlib进行封装,编译为动态库(.so文件),使用的时候,再通过pluginlib提供的加载接口在主程序中进行运行时的加载这个插件对象。也就是插件被包装在库中。所以说ros中创建插件本质上就是创建动态库。

2024-07-18 20:37:06 348

原创 cmake--install

安装目录是指将软件安装到计算机文件系统中的特定文件夹或目录。安装目录包括可执行文件所在的文件夹、库文件所在的文件夹以及其他必要的文件和目录,例如配置文件、帮助文档、示例文件等。安装目录通常是在软件发布时和使用文件管理工具或安装程序进行设置的。具体来说,当用户安装软件时,安装程序会将该软件的文件和组件安装到特定的安装路径中。《就是某些特定的文件需要放入的目录》

2024-07-18 16:56:43 926

原创 ament_cmake

ament_target_dependenciesfind_package()只负责寻找到包,定义包的库文件和头文件路径:包名_DIR,包名_INCLUDE_DIRS。但是这些路径并没有和可执行文件或者库文件建立链接关系;这个ament_cmake接口可以将可执行文件或者库文件和寻找到的包的库文件和头文件建立链接,不需要我们再去指定库文件或者可执行文件的文件路径;find_package(rclcpp REQUIRED)find_package(pluginlib REQUIRE

2024-07-18 16:49:55 107

原创 cmake--动态库和静态库

linux动态库--sowindows动态库--dlllinux静态库--awindows静态库--lib。

2024-07-18 16:39:07 777

原创 git checkout

git checkout -b 本地分支名 origin/远程分支名。

2024-07-18 15:38:51 270

原创 git branch

查看分支查看远程分支和本地分支git branch -a

2024-07-18 15:37:04 85

原创 ros2--rosdep

当使用 `rosdep` 安装 ROS 软件包时,它会自动下载并安装所有必需的依赖项,从而确保所需的所有软件包和库都可用,可以正确运行 ROS 节点。这时候就可以使用 `-i, --ignore-packages-from-source, --ignore-src` 选项,将 `catkin` 或 `ament` 包从依赖项列表中排除,从而避免冲突问题。在使用 `rosdep` 命令安装某个软件包时,可以通过 `--rosdistro` 选项来指定使用的 ROS 版本,从而确保安装适用于该版本的依赖项。

2024-07-17 18:31:30 534

原创 ros2--launch

ros2的多节点启动工具。

2024-07-17 16:41:23 615

原创 ros2--log--日志

ROS2的日志级别定义在文件的167-175行。ros2中日志是属于节点对象的,也就是需要通过节点对象获取节点的日志。获取节点的日志对象之后,才能对节点进行其他设置操作。

2024-07-16 11:30:51 134

原创 rclcpp--timer--定时器

这是ros2终端定时器的类型;

2024-07-11 15:10:16 258

原创 ros2--colcon

需要在工作空间,也就是src上一级目录colcon build;ros2的编译工具,用于编译ros2项目;很明显colcon作为构建工具,通过调用。

2024-07-11 14:54:44 153

原创 std::bind

std::bind可以看作一个通用的函数适配器,

2024-07-11 14:29:12 150

原创 cmake--find_package

软件包(Package),也称为程序包或模块包,是一种将程序、相关文件和配置信息打包到一起的格式化文件集合,通常包括可执行文件、库文件、文档、示例代码等。不需要,只需要指定包的名称和其他参数。

2024-07-11 12:53:47 238

原创 机器人----四元素

-1,1]

2024-07-02 23:03:32 434

原创 网络----头部

udp头部连接图片来源

2024-06-30 16:03:42 174

原创 网络传输---数据有序的实现

我们在网络中传输的数据是需要分包,分片传输的,那么发送,接收是否都可以保证数据是有序发送,有序接收,读取到的数据也都是有序的呢?

2024-06-30 16:03:39 293

原创 因特网,以太网,WLAN

全球相互连接起来的网络就是因特网。国际互联网络_百度百科 (baidu.com)国际互联网络,即为因特网(Internet),是目前世界上最大的计算机互联网络,它是由那些使用公用语言互相通信的计算机连接而成的全球网络,一旦你连接到它的任何一个节点上,就意味着您的计算机已经联入Internet网。这个节点对于个人来说就是连接上的路由,因为路由器对外连接的就是公网。

2024-06-30 14:18:49 184

原创 机器人---I/O

机器人的控制器上有输入/输出信号接口,这些接口的位需要与外部设备连接起来,用于向外部设备传输控制器的输入信号,和接收外部设备的输出信号。

2024-06-20 15:59:05 331

原创 机器人--矩阵运算

P点在坐标系B中的坐标系PB,需要乘以B到A到变换矩阵TAB。M点在B坐标系中的位姿MB,怎么计算M在A中的坐标系?

2024-06-07 18:22:18 1042

原创 cpp--lua--cpp执行lua

用来实现C(C++)和lua互传值。

2024-06-07 16:40:36 327

原创 条件变量--std::condition--c++11

唤醒一个等待的线程。唤醒所有等待的线程。

2024-06-02 12:31:40 185

原创 v-rep---dummy--shape

v-rep中,模型的类型是shape,但是模型本身上代表这个模型的位姿的点的类型是dummy。

2024-06-01 16:19:20 95

原创 std::scoped_lock

对象时,它尝试取得其所给互斥量的所有权,即上锁。会被析构,互斥量随之被释放。

2024-06-01 13:36:52 166

原创 模板特化--类和函数

注意:模板特化不能特化为本身。

2024-06-01 12:48:11 193

原创 linux--自动备份文件

问题:1,rm删除无法找回;2,使用git的时候会出现各种可能导致文件丢失,无法找回的情况。3,......。

2024-06-01 12:37:03 183

原创 RPC-----RCF

RPC(Remote Procedure Call Protocol)——远程过程调用协议。

2024-05-29 15:35:10 403

原创 线程池--thread_pool解析

国外的线程池库;作者:Barak Shoshany (baraksh@gmail.com) (http://baraksh.com)

2024-05-28 21:06:54 927

原创 []下标的意义

c++编译器为了防止对返回对象的修改,const限定的成员函数内不允许返回引用类型,所以报错。函数是const类型,而m_map[id]返回的是引用。m_map[0]返回的是引用还是值,还是指针。array[0]获取的是值,还是引用?

2024-05-28 10:16:13 123

原创 constexper----常量表达式

if constexpr (std::is_void_v<T>)`中的`constexpr`是C++11引入的关键字,用于。这种编译期求值的特性能够将一些运行时的判断和计算转换为编译期的操作,从而。

2024-05-28 09:05:55 122

原创 std::future<T>--std::promise<T>--std::async

std::promise`表示一个可以保存某个类型的值或异常的容器,可以通过调用`set_value`和`set_exception`方法将值或异常传递给与其关联的`std::future`对象。`std::promise`是C++11标准库中提供的一种同步机制,用于在线程之间共享数据。它通常与`std::future`一起使用,以便在异步操作完成时共享结果。,进而获取`std::promise`的值或异常。

2024-05-28 08:59:55 225

原创 std::thread--std::jthread

链接

2024-05-27 20:52:33 76

原创 [[nodiscard]]--c++17

用于标记某个函数或者类的成员函数的返回值需要处理。被标记的函数和类的函数被调用,但是返回值没有接收的时候,编译器会warning.

2024-05-27 20:17:28 174

原创 std::optional<type>

链接

2024-05-27 19:59:28 141

原创 c++和Lua交互

Lua VM负责将Lua脚本编译成中间代码,然后将该中间代码解释执行或者编译成本地代码执行。在虚拟机之外,Lua的脚本代码并不能直接被计算机指令执行。因此,必须有想办法将其翻译为虚拟机能够解释和执行的代码。。所有Lua代码都会在虚拟机上进行模拟执行,而每个Lua函数都会被编译成虚拟机执行的代码,所以在Lua中无论是何种函数,都可以被视为一个可被调用的虚拟机程序。Lua VM的设计非常灵活,可以通过CAPI(Lua与C语言之间的接口)与C++代码互操作。

2024-05-24 18:30:17 1022

原创 机器人--路径--bezier

其中,Bezier 曲线是一种广泛应用于机器人轨迹规划和控制中的平滑曲线,它可以通过调整曲线上控制点的位置和权重来实现轨迹的平滑,使得机器人在不同姿态和速度下的运动更加流畅。在机器人路径规划和控制中,平滑度被认为是一个非常重要的性能指标,因为过高的平滑度意味着一种更加自然、更加高效的移动方式,降低对机器人的损耗,提高机器人的精度和稳定性。在线性插值中,假设有两个点 P0 和 P1,其中 P0 的坐标为 (x0, y0),P1 的坐标为(x1, y1),需要将这两个点之间的中间值 P 的坐标计算出来。

2024-05-23 20:16:39 759

原创 v-rep--lua接口和c++接口的关联

"loadPlugin", _loadPlugin:该元素表示将字符串"loadPlugin"和_loadPlugin函数指针绑定在一起,即当调用客户端程序中的sim.loadPlugin()函数时,实际上是在执行_loadPlugin函数中定义的操作,这个函数主要用于载入一个插件。2,要么就是这个lua接口没有lua语言的函数定义,而是通过和C++的接口绑定的,当调用这个lua接口时,实际上是去执行了绑定的C++接口,然后返回C++接口返回的内容,比如,sim.getObjectSel()。

2024-05-23 11:08:51 320

原创 v-rep---script-function

其实xml中使用script-function标签,最重要的就是要实现一个c++函数,内部通过调用sim::callScriptFunctionEx这个接口调用lua语言脚本(这里只讲lua这种脚本)函数,并执行脚本函数,返回脚本函数执行的返回值。用于声明一个函数,这个函数的作用是通过v-rep提供的接口sim::callScriptFunctionEx()调用脚本的函数,并且返回函数执行结果。这个参数是一个栈帧的id,这个栈用来存放传递脚本函数需要的参数和脚本函数执行返回的值。

2024-05-22 13:26:02 988

protoBufccccccccccc

protoBufccccccccccc

2023-06-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除