自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 记录使用docker运行ros过程中遇到的问题

新问题:[FATAL] [1678250622.904302134]: Can’t open default or :0 display. Try setting DISPLAY environment variable.1、问题一:QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to ‘/tmp/runtime-root’最终重启docker容器,搞定。

2023-03-08 15:18:25 1553 1

原创 docker上运行ros

缺点:我在虚拟机上构建docker容器后可以顺利运行,并可以顺利运行rviz和和gazebo;但是在双系统的ubuntu18上构建docker容器后无法运行rviz和docker,估计是显卡驱动这一块的问题,折腾了一天,没解决,放弃!注意:wiki社区提供的方法有nvidia-docker1跟nvidia-docker2两种,可以根据自己电脑安装的nvidia-docker版本来选择对应的方法。我使用了这种方法,顺利在docker容器中运行rviz和gazebo。5)更改脚本权限,使脚本可以运行。

2022-12-31 15:13:43 1891

原创 ubuntu18.04安装docker和nvidia-docker2

旧版本的 Docker 被称为 docker、docker.io 或 docker-engine。

2022-12-31 14:43:37 2153

转载 Linux系统空间不足?您可以通过以下几种方式清理系统,释放Ubuntu和其他基于Ubuntu的Linux发行版上的空间。

随着时间的流逝,随着添加和删除程序,任何操作系统都可能变得混乱。如果您拥有TB的存储容量,则可能不必费心清理Ubuntu来腾出一些磁盘空间。但是,如果您的硬盘空间有限(例如我有一台128 GB SSD笔记本电脑),则必须释放磁盘空间。在本文中,我将向您展示一些清理Ubuntu系统并获得更多空间的最简单技巧。我还将分享一些高级技巧,以便您选择。但是在此之前,让我们看看如何找到Ubuntu上剩余的可用空间。检查Ubuntu上的可用空间在Ubuntu上,这相当容易。只需使用磁盘使用情况分析器工具。

2022-12-30 20:03:23 1179

原创 记录docker容器环境配置

1、更新软件包2、安装moveit3、配置环境。

2022-12-30 10:57:51 151

原创 docker运行报错

Docker 需要用户具有 sudo 权限,为了避免每次命令都输入sudo,可以把用户加入 Docker 用户组。进行docker操作的时候未分配sudo权限。

2022-12-30 09:27:54 992

转载 Ubuntu18下Vscode的安装及环境配置

4.收获:基本流程就是这样,在这次安装过程中,就是明白了些json文件中那些花括号里边的参数,参考了这个博客的后半部分:https://blog.csdn.net/iamsongyu/article/details/89630951。需要更改文件里边的"includePath"参数,我开始想也找g++的包,但是无果,就想到在这里是用的clang编译的,于是在终端上whereis clang但是只有文件夹目录信息,然后用。2.安装插件:安装好后,在“扩展”中下载插件,为了C++的话就安装下图的插件就好了。

2022-12-01 15:27:52 3102

原创 关于action通信的学习

主要查询话题/arm_group_controller/follow_joint_trajectory/goal。可以知道这个话题的发布方是/move_group,接收方是/gazebo,是action_client发布的话题。该话题使用的消息类型是control_msgs/FollowJointTrajectoryActionGoal。注意:该轨迹数据是一起发送出来的,并非一个数据点一个数据点发送。

2022-11-29 20:11:17 266

原创 关于4daic的理解

① 4diac除了可以重新布置任务外,还可以重新布置单个资源重新布置资源后,可以发现,开启的两个forte port:61499 和61500中,只有61500的一个资源被重新分配② 4diac重新部署任务,有三个层级,第一是所有forte协同的全任务分配,第二是单个forte的功能块网络任务分配,第三是单个资源的功能块网络任务分配。

2022-11-22 09:27:18 538

原创 关于4diac的发布/订阅和客户端/服务端功能块的思考

发布/订阅功能块是多对多通信,采用组播的方式,此时的IP地址应为D类IP地址224~239,使用其他的ip地址,则SUBSCRIBE功能块接收不到。IP地址需要写SERVER端所在设备的IP地址,端口号为除forte运行外的端口号。如果使用其他的IP地址,则会报INVALID_ID错误,表明输入的ID是错误的。报DATA_TYPE_ERRPOR错误,原因是未指明RD_1的数据类型。触发服务端的RSP事件,服务端发送回数据给客户端,客户端接收到数据3。常见错误2:使用forte运行的端口号(已经被占用了)

2022-11-19 21:41:04 544

原创 socket服务器端和客户端通信

①创建服务器端的socket。①创建客户端的socket。④获取客户端的socket。②发起建立连接的请求。③接受服务器端的消息。④向服务器端发送消息。

2022-11-10 19:28:34 297

原创 派生类构造函数的执行顺序

派生类构造函数的执行顺序

2022-11-10 08:42:14 845

转载 TCP 粘包拆包问题

粘包拆包是TCP协议传输中一种现象概念。TCP是传输层协议,他传输的是“流”式数据,TCP并不知道传输是哪种业务数据,或者说,并不关心。它只是根据缓冲区状况将数据进行包划分,然后进行传输。在这个前提下,就有可能发生发生同一个业务数据被分割程多个数据包,或者多个业务数据被打包到同一个数据包进行发送。但是对于业务数据接收方,则必须拥有能够重新拆解或者组装完整业务数据的能力。这个现象,我们称之为TCP粘包拆包。如上图,三个业务数据A、B、C被打包成一个数据包进行传输;D被分割为连个数据包进行传输。

2022-10-24 20:36:17 520

原创 构造函数、析构函数的执行顺序

② 成员类对象构造函数。如果有多个成员类对象则构造函数的调用顺序是对象在类中被声明的顺序,而不是它们出现在成员初始化表中的顺序。如果有多个基类,则构造函数的调用顺序是某类在类派生表中出现的顺序,而不是它们在成员初始化表中的顺序。参考博客:http://www.cnblogs.com/forcheryl/p/4205497.html。② 调用成员类对象的析构函数;① 调用派生类的析构函数;③ 调用基类的析构函数。③ 派生类构造函数。

2022-09-12 20:43:48 1892

原创 Google chrome 浏览器提示【证书无效】问题

2、在’‘目标’'后空一格添加–ignore-certificate-errors --allow-running-insecure-content。在使用google浏览器时,访问某些网址时会显示网址不安全,查看后发现网络证书无效。1、桌面找到google浏览器图标,右键,选择属性。

2022-09-07 21:43:45 19880 2

原创 cout和printf的区别

printf 在linux中是典型的行缓冲,遇到\n回车符 或者flush操作 exit(0)程序结束时,开始进行IO操作,输出在命令行上。cout

2022-08-24 21:42:48 5741

原创 C++如何限制类对象只能静态分配或者只能只能动态分配

将类的构造函数和析构函数设为protected属性,这样类对象不能够访问,但是派生类能够访问,能够正常的继承。(将create设为static原因是:创建对象的时候是A *p = A::create();只有静态成员函数才能够通过类名来访问。参考资料:https://www.cnblogs.com/xiaohai123/p/16465507.html。静态分配就是A a;这样来由编译器来创建一个对象,在栈 上分配内存。动态分配就是用运算符new来创建一个类的对象,在堆上分配内存。

2022-08-24 15:22:38 404

转载 常见数据结构应用场景

1)有序数组具有较高的查找效率(O(log n)),而链表具有较高的插入效率(头插法,O(1)),结合这两种数据结构,创建一种貌似完美的数据结构,也就是二叉查找树。1)如果处理的数据是有序的(升序/降序),那么构造的二叉查找树就会只有左子树(或右子树),也就是退化为链表,查找效率低下(O(log n))。1)有序数组可以通过二分查找方法具有很高的查找效率(O(log n)),而链表只能使用顺序查找,效率低下(O(n))。3)频繁的查找和插入操作(可以提供O(log n)级的查找、插入和删除操作)

2022-08-24 09:04:58 610

原创 c++中必须使用初始化列表初始化的的四种情况

c++中必须使用初始化列表初始化的的四种情况。① 当初始化一个引用成员时;② 当初始化一个常量成员时;③ 当调用一个基类的构造函数,而它拥有一组参数时;④ 当调用一个成员类的构造函数,而它拥有一组参数时;

2022-08-23 14:36:34 402

原创 优先级队列priority_queue

使用这种方式,需要显示定义优先级队列的容器类型和比较函数//函数对象类 template < typename T > class cmp {public ://重载 () 运算符 bool operator()(T a , T b) {} };int x;int y;};1 , 2 };0 , 2 };1 , 3 };2 , 5 };3 , 6 };// 显式指定容器类型和比较函数 pq . push(a);while(!}.........

2022-08-18 10:55:22 19136 1

原创 C++函数模板和类模板的声明和定义问题

编译器并不是把函数模板处理成能够处理任意类的函数;编译器从函数模板通过具体类型产生不同的函数;编译器会对函数模板进行两次编译:在声明的地方对模板代码本身进行编译,在调用的地方对参数替换后的代码进行编译。在对模板进行声明和定义的时候,通常都会将声明和定义分开书写,在.h文件里声明,在.cpp文件里定义,最后在main函数里包含.h头文件,但这样会报链接错误。...

2022-08-15 14:33:58 2915

原创 CMAKE的一些指令

当在-P脚本模式下运行时,CMake会将变量CMAKE_BINARY_DIR、CMAKE_SOURCE_DIR、CMAKE_CURRENT_BINARY_DIR和CMAKE_CURRENT_SOURCE_DIR设置为当前工作目录。当在-P脚本模式下运行时,CMake会将变量CMAKE_BINARY_DIR、CMAKE_SOURCE_DIR、CMAKE_CURRENT_BINARY_DIR和CMAKE_CURRENT_SOURCE_DIR设置为当前工作目录。这是cmake当前正在处理的构建目录的完整路径。..

2022-08-08 11:13:08 2369

原创 数据存储模式

高位字节存放在内存的低地址端,低位字节存放在内存的高地址端,如对于数字1278,其存放如下图所示。高位字节存放在内存的高地址端,高位字节存放在内存的低地址端,如对于数字1278,其存放如下图所示。符号位在所表示的数据的内存的第一个字节中,便于快速判断数据的正负和大小。1、Intel的80×86系列芯⽚使⽤⼩端存储模式。3、MIPS芯⽚采⽤⼤端,但可以在⼤⼩端之间切换。2、ARM芯⽚默认采⽤⼩端,但可以切换为⼤端。4、在⽹络上传输的数据普遍采⽤的都是⼤端。...

2022-08-07 15:39:52 253

原创 单例模式笔记

由于将类释放后,无法自动调用析构函数释放内存,因此采用智能指针的方式

2022-08-06 10:36:44 96

原创 QT的CMakeLists配置

在项目中,将QT的文件放在项目下的3rdparty文件夹下。

2022-08-04 20:35:41 2118

原创 笔记:Dockerfile_forte分析

FROM命令用于初始化一个新的构建阶段,并为后续指令设置基础镜像:alpine,是一个重量仅为5 MB的最小Linux发行版。它还有基本的linux工具和一个不错的包管理器APK。APK非常稳定,有相当数量的包。由于体积小,在容器中很受欢迎。MAINTAINER指令设置生成镜像的作者RUN指令将在当前镜像之上的新层中执行命令,并且提交结果。在docker build时运行。缓存可能占用大量不需要的空间。所以总是apk add用–no-cache参数运行。COPY 指令和 ADD 指令的唯一区别在于:是

2022-07-09 14:21:10 280

原创 使用sudo apt-get update报错:E: 无法下载 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/dists/xenial/main/b

E: 无法下载 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/dists/xenial/main/binary-amd64/Packages 404 Not Found [IP: 101.6.15.130 80]E: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。原因分析:源的问题,更换源先备份源文件修改源文件将内容替换成保存即可,重新运行sudo apt-get update本教程使用的是ubuntu18.04,其他版本清参

2022-07-08 17:22:20 17379 1

原创 C++容器概述

C++STL提供了六大组件,彼此之间可以组合套用,这六大组件分别是:容器、算法、迭代器、仿函数、适配器(配接器)、空间配置器STL六大组件的交互关系:1、容器通过空间配置器取得数据存储空间2、算法通过迭代器存储空间的内容3、仿函数可以协助算法完成不同策略的变化4、适配器可以修饰仿函数容器:就是各种数据结构,如vector、list、deque、set、map等,用于存放数据,从实现的角度来看,STL容器是一种模板类。定义: 在容器内部,元素的摆放是有顺序的。定义: 关联容器不计较顺序的概念,使用

2022-07-07 09:56:12 2833

原创 运行moveit_rviz报错 Tried to advertise on topic [/move_group/filtered_cloud] with md5sum [060021388200f

[ERROR] [1656070551.111682083, 1948.582000000]: Tried to advertise on topic [/move_group/filtered_cloud] with md5sum [060021388200f6f0f447d0fcd9c64743] and datatype [sensor_msgs/Image], but the topic is already advertised as md5sum [1158d486dd51d683ce2f1be

2022-06-24 19:44:47 1905 1

原创 ubuntu18.04中安装opencv3.2

ubuntu18.04ros-melodic( 在安装完整版的时候,会将 opencv3.2安装到ubuntu的 /usr/lib 位置 )由于要在OpenCV3.2中使用SIFT和SURF特征提取,而自从OpenCV2升级到OpenCV3版本后,SIFT、SURF等这些算法都被移出opencv默认项目库,而被放到叫opencv_contrib的项目库。因此需要手动下载opencv和opencv_contrib的源码,然后将两个源码放在一起手动编译安装。我们需要自定义安装opencv3.2 和 openc

2022-06-24 19:09:00 2467

原创 卸载cmake重装ros功能不完整

注意:绝对不要卸载cmake重装,因为卸载cmake时会将其他插件卸载掉。。。安装教程:https://blog.csdn.net/m0_51759289/article/details/123865295在安装ros-melodic-desktop-full报错:下列软件包有未满足的依赖关系:ros-melodic-desktop-full : 依赖: ros-melodic-simulators 但是它将不会被安装依赖: ros-melodic-urdf-sim-tutorial 但是它将不会被安装

2022-06-22 21:50:40 1486 2

原创 Ubuntu18.04安装opencv和opencv_contrib

由于最近要在OpenCV3中使用SIFT和SURF特征提取,而自从OpenCV2升级到OpenCV3版本后,SIFT、SURF等这些算法都被移出opencv默认项目库,而被放到opencv_contrib的项目库。因此需要手动下载opencv和opencv_contrib的源码,然后将两个源码放在一起手动编译安装。1、opencv下载 选择你要装的版本下载(选择source是通过浏览器下载,选择github可以通过命令行git clone下载)我这里安装的是最新的opencv-4.6.02、opencv_

2022-06-22 21:11:12 1470 2

原创 关于4diac运行时的调度问题

这是一个关于事件顺序的测试。附件中有两个测试结果。F_GT的数据输入来自两个不同的事件驱动数据。由于多了两次数据转换,IN1没有更新。在触发后续的函数块事件之前,我必须等待所有的数据准备好吗?我不确定你的问题是否有“是”/“否”的答案。IEC 61499定义,在接收输入事件时,FB的输入数据将被更新,并具有可用的最新数据值。输入事件定义了采样时间点。在你的实验中,你有一个E_SPLIT,它清楚地定义了第一个EO1,然后发送EO2。在4diac FORTE中,这意味着先上后下FB会被触发。由于4dia

2022-06-19 16:15:56 254

转载 Ubuntu 录屏工具 Kazam 的使用

转载自:https://zhuanlan.zhihu.com/p/459998747Ubuntu 系统下 Kazam 录屏工具既可以全屏录制,也可以对某个窗口和区域进行录制,界面也很简洁。比系统自带的录屏功能好用很多,这里记录以下Kazam的使用。很简单,然后就可以直接使用了,界面如下:kazam 默认录制保存下来的 mp4 视频文件在 windows 中是无法直接使用的,这是由于视频编码方式的问题。解决办法:首先安装 ffmeg 编码工具:然后改变视频的编码格式:input.mp4 和 outpu

2022-06-15 20:23:29 2403

原创 unzip: Ubuntu系统下解压文件失败的解决办法

双击打开.zip压缩文件,出现错误:装入归档文件时出现了一个错误使用命令unzip无法解压成功,出错:End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be

2022-06-14 20:28:35 3439 2

原创 Invalid Trajectory: start point deviates from current robot state more than 0.01

笛卡尔直线规划报错:Invalid Trajectory: start point deviates from current robot state more than 0.011问题分析1、机械臂抖动大,导致起始位姿改变2、move_group获取的机械臂状态不对解决措施1、针对第一种原因,可以采用以下解决措施设置机械臂当前的状态作为运动初始状态group.setStartStateToCurrentState();放大误差允许范围group.setGoalPositionTole

2022-05-31 09:00:25 1847 2

原创 The Gazebo grasp fix plugin

The Gazebo grasp fix plugin官方资料链接:https://github.com/JenniferBuehler/gazebo-pkgs/wiki/The-Gazebo-grasp-fix-plugin特别是在较老的Gazebo版本中(<2),机器人在抓取物体时可能会表现出奇怪的行为:它可能会摆动、爆炸或飞向太空。这是因为物理引擎还没有针对抓取进行优化。gazebo_grasp_plugin包中提供的插件有助于克服这些问题。在较新的Gazebo版本(>2)中,机器人

2022-05-26 16:30:16 1690 5

原创 Gazebo加载grasp-fix插件报错:

Gazebo加载grasp-fix插件报错:[Err] [GazeboGraspGripper.cpp:64] GazeboGraspGripper: Palm link ee_link not found. The gazebo grasp plugin will not work.[Err] [GazeboGraspFix.cpp:231] GazeboGraspFix: Could not initialize arm gripper_arm. Skipping.[Err] [GazeboGr

2022-05-26 15:52:06 1254 7

原创 双系统重装ubuntu18.04

双系统重装ubuntu18.041、准备好u盘启动盘(ubuntu18.04)1)制作u盘启动盘准备一个4G以上的空U盘去Ubuntu官网下载系统镜像,因为太慢了所以我们是去的清华源:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/18.04/制作启动盘:在此我们使用的是rufus-3.6制作启动盘,软件直接上网下载就行。下完之后打开软件,设备选你的u盘,引导那里选安装包,剩下的按下图设置(可能会让你下点东西,选是就行):到此启动盘就

2022-05-25 19:18:16 6229

转载 Ubuntu 18.04双屏显示其中一个屏幕黑屏无法使用的问题 显卡驱动安装问题

在使用Ubuntu18.04的问题时,有一个屏幕无法显示,鼠标能够显示出来但是整个屏幕是黑的,后来分析原因发现应该是显卡驱动的问题,重新安装驱动完成安装。禁用自己的secure boot,也就是设置为disable,具体的进入自己bios中找一下,一般在security或者boot里面。一、软件升级首先,升级相应的软件sudo apt-get updatesudo apt-get upgrade二、查看显卡的驱动列表输入ubuntu-drivers devices指令,查看到显卡驱动列表u

2022-05-25 16:08:39 3787 4

空空如也

空空如也

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

TA关注的人

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