- 博客(19)
- 收藏
- 关注
原创 [rviz2-3] [INFO] [1740024745.782587110] [rviz2]: Stereo is NOT SUPPORTED
注意:我用的是ros2-jazzy,记得对应你的版本。启动gazebo遇到的路径问题,会导致一直黑屏进不去。
2025-02-20 12:23:44
758
原创 rclcpp::spin_until_future_complete(node, future)的作用
在ROS2的rclcpp中,rclcpp::spin_until_future_complete(node, future)的作用是阻塞当前线程,等待异步操作(如服务调用)的future完成,其返回值类型是。表示在指定超时时间内未完成操作(需显式传递超时参数,否则可能永久等待)。表示异步操作(如服务调用)成功完成,并已收到响应。// 等待 future 完成,最多等待 2 秒。表示等待过程中节点被中断(例如用户按下。// 成功获取响应,处理结果。// 中断或其他错误。// 发送异步服务请求。
2025-02-16 23:20:24
650
原创 client->wait_for_service(1s)的含义
该方法用于阻塞当前线程,直到客户端(Client)成功连接到服务端,或超过设定的等待时间。该方法通过 ROS 2 的底层通信系统(如DDS)检测服务端是否存在。表示在指定的超时时间(此处为1秒)内,服务端(Service)成功被检测到并处于可用状态。表示在超时时间内未能检测到服务端可用(例如服务未启动、名称不匹配或网络问题)。:始终检查返回值,避免在服务不可用时发送请求(可能引发异常)。// 等待服务可用,最多等待1秒。// 服务可用,继续发送请求。// 服务不可用,处理错误。:接受一个时间参数(如。
2025-02-16 22:23:54
397
原创 ros2自己编写的接口如何导入另一个文件中
如果还报错,或者 使用ros2 interface show **头文件路径** 命令 报错。1、接口包(learning_interfaces)的配置(srv文件)"learning_interface" # 必须添加接口包依赖。那应该是编译器C/C++配置出错。只需要修改配置路径到当前包下面即可。总之就是修改路径,告诉编译器怎么找到,在文件中导入头文件路径。“#include 错误。请更新 includePath。2、服务端(learning_service)的配置。# 链接依赖(关键步骤!
2025-02-16 19:41:02
310
原创 关于Windows10 和 VMware下Ubuntu24.04共享文件夹
接下来就是把需要共享的文件放在win10的文件夹(或者反过来)。在Ubuntu找到该共享文件了,这一步也是最迷糊人的。因为Ubuntu24.04 我找遍了,也尝试过很多方法,都没有找到。点击 “虚拟机”---“设置”---“选项”,按照此配置。应该是第一个发这种解法的吧,因为当我遇到这个问题,搜了很久实在没找到能简单解决的方法。你在win10放的文件就会出现在Ubuntu上了。其实很简单,但是思路被网上之前的解法搞迷糊了。使用“搜索”功能查询 你的共享文件名,即可。点击确认,此时Ubuntu也已配置好。
2025-02-12 22:25:40
638
原创 ros2 run 包名 节点名 出现no executable found错误
接着colcon build 重新配置。然后就可以运行看是否成功。如果你想检查的话可以使用命令 ros2 pkg prifix 包名。可能是一个符号错误,也可能是路径错误,当然也可能忘了配置。这种情况基本上是CMakelist.txt中的配置错误,根据这个路径找到lib文件下是否生成节点文件。这个是正确的配置文件。
2025-02-12 15:40:23
765
原创 关于colcon build的使用技巧
正常创建文件时,使用命令ros2 pkg create --build-type ament_cmake <包名> --license xxx --dependencies rclcpp然后在工作环境下 colcon build 。如果文件太多,可以使用colcon build --packages-select <包名>。千万不要在--packages-select 后面写入包的路径,它后面的参数只能是包名。否则将出现这类错误:
2025-02-12 14:49:57
400
原创 ros2中 对于类继承Node的一些小陷阱
如果创建的类节点继承Node父节点时未加入public,则该类并不是Node类型。接下来创建智能指针时,该指针指向的是HelloWorld类型,而非Node类型。解决方法是类继承时补足public,标明父类节点区域。
2025-02-12 13:49:16
279
原创 VMware下Ubuntu系统配置网络连接的诸多坑
就是破而后立,画面直接转到位置2.3,选定网络适配器,直接点击移除,之后再点击添加,重新添加回来,不能联网的我终于可以联网了…,能够ping通,之后再进行ping宿主机的IP,也能够ping通,说明配置成功,否则请另寻他法,如关闭防火墙,配置相关文件(很重要但是本人比较迷糊,不做展开)etc。中进行手动配置一个连接,其中IP地址的网段需要和宿主机相同,子网掩码填写24,网关需要和宿主机相同,DNS可以直接和宿主机相同,也可以自己添加几种。相同,DNS可以直接和宿主机相同,也可以自己添加几种。
2025-01-26 22:55:07
1108
原创 ROS2 install/setup.bat出错
很简单的一个bug,没安装中间件RTI Connext DDS,但是我不想用RTI Connext DDS(得买一个hh..)使用命令 install/setup.ps1。或者可以用PoweShell,我用的是Fast DDS。
2024-03-25 13:15:36
498
原创 使用ROS2命令调用功能包,返回Unknown package ‘tutorial_interfaces‘
你可以使用 ros2 pkg list 或 ros2 topic list,查看构建的功能包和可执行文件是否已安装,没有的话就重新colcon build , install/setup.bat。注意,每次修改功能包都需要重新colcon build 和 install/setup.bat,刷新环境变量。因此install/setup.bat 是配置环境变量,以便PowerShell能够识别并找到你构建的ROS 2工作空间中的功能包和可执行文件。这个没有任何影响,不是导致报错的原因。
2024-03-15 15:26:17
687
1
原创 使用命令ros2 run 包名 节点; RMW中间件报错
确保rmw_fastdds_cpp.dll文件的路径已经添加到了系统的PATH环境变量中,或者该文件位于系统能够搜索到的目录(如Windows的System32目录或当前工作目录)。:确保您已经正确安装了包含rmw_fastdds_cpp的ROS 2包。即使您使用正确的 RMW 实现再次运行命令行工具,守护进程的 RMW 实现也不会更改,并且 ROS 2 命令行工具将失败。如果发生这种情况,请仔细检查您的 ROS 2 安装是否包含对您在环境变量中指定的 RMW 实现的支持。
2024-03-15 12:30:24
2349
1
原创 使用ros2创建包colcon build --merge-install --packages-select cpp_srvcli 报错
我搜了一小时的答案,各种调试,都没解决。( ̄▽ ̄)",就解决了。最后没法了,开机重启,
2024-03-14 16:46:34
1064
原创 install/setup.bat 报错(ROS2)
就是找不到RTI Connext DDS,因为系统默认使用的DDS就是这个,尽管官网文档说它默认使用Fast DDS。不贴了哈,安装教程网上很多,照着装,装完了别忘了添加环境变量。2、我们可以修改一下系统设置,将默认调到Fast DDS上。1、你可以安装RTI Connext DDS解决问题,
2024-03-14 16:08:47
1687
1
原创 在windows10使用ros2 run turtlesim turtlesim_node (开启小乌龟)报错:找不到qt.qpa.plugin
意思是在C:/dev/ros2_humble/lib/turtlesim/ 路径找不到 platforms,即便已经设置了qt的bin变量,还需要再设置qt的platforms这个变量。设置了环境变量PATH,再次调用ros2 run,还是会报错,报错信息一样。所以很清楚了,我们没设qt的platforms这个文件的环境变量,这个platform就是qt提供的,非常难受的一个bug,
2024-03-12 19:35:25
1201
1
原创 rosdep init以及rosdep update报错(Window&&Linux都能用)
4、.github代替.rawgithub。玄学,有的成,有的没成,不赞成使用。5、小鱼的一键安装,巨简单,强烈推荐。
2024-03-11 23:07:03
368
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅