自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用ROS-I接口通过MoveIt包安装和操作ABB机器人

使用ROS-I接口安装和操作ABB机器人1.在RobotStudio中使用仿真机器人(用真实机器人的可以跳过这一步)设置用于ROS-Industrial驱动程序的ABB RobotStudio模拟器。http://wiki.ros.org/abb/Tutorials/RobotStudio通过使用仿真机械臂替代真实机械臂,可以在ROS和ABB机械臂进行通信仿真。这种情况下,通常有两...

2019-10-08 10:14:12 1635 1

原创 知识&概念图库

2023-04-26 17:27:18 327 1

原创 linux系统中的用户态和内核态

在Linux系统中,用户态和内核态是两种不同的运行模式,它们主要区别在于程序所处的权限和访问硬件资源的方式。

2023-04-25 15:01:56 1804

原创 sftp常用命令

可用命令列表:sftp user@hostsftp user@ip你要用sftp, 当然得登录到sftp服务器啊, 在linux的shell中执行上面的命令后, linux shell会提示用户输入密码, 我们就输入password吧。 这样就成功建立了sftp连接。help建立连接后, linux shell中的$编程了sftp>, 这也对。 现在执行以下help, 可以看看sftp支持哪些命令。pwd和lpwdpwd是看远端服务器的目录, 即sftp服务器默认的当前目

2021-10-13 20:28:33 1193

原创 ssh登录时直接在参数中加入登录密码

如同apt-get安装程序时会有-y参数来避免交互输入一样,我也希望在ssh登录时能够直接附加登录密码以避免交互式输入密码这一步,网上找了找,方法很多。比如直接通过密钥免密码登录,不过需要改动很多,感觉很麻烦。这里更想要的是不改动server/client的配置下直接免交互式ssh登录。解决方案sshpasssshpass: 用于非交互的ssh 密码验证,它允许你用 -p 参数指定明文密码,然后直接登录远程服务器。 它支持密码从命令行,文件,环境变量中读取。// 安装方法1 wget http:

2021-10-13 19:56:09 2012

原创 linux alias 命令

alias命令用于查看或设置命令别名,但仅作用于该次登陆的会话,若要永久使用别名,可在 ~/.bashrc 中设定别名[root@MongoDB ~]# alias // 查看别名[root@MongoDB ~]# alias cp='cp -i' // 设置别名[root@MongoDB ~]# unalias cp // 取消别名别名对应的命令:alias 查看和设置别名unalias 取消别名...

2021-10-13 19:45:01 262

原创 linux type命令

用途说明type命令用来显示指定命令的类型。一个命令的类型可以是如下之一alias 别名keyword 关键字,Shell保留字function 函数,Shell函数builtin内建命令,Shell内建命令file 文件,磁盘文件,外部命令unfound 没有找到它是Linux系统的一种自省机制,知道了是那种类型,我们就可以针对性的获取帮助。比如内建命令可以用help命令来获取帮助,外部命令用man或者info来获取帮助。...

2021-10-13 19:43:09 432

原创 在shell中使用sendmail发送邮件

script1cat > sendmymail.sh #!/bin/bash/usr/sbin/sendmail -t <<EOFFrom: Mail testing <[email protected]> To: [email protected] Cc: [email protected] Bcc: abc@gmail

2021-10-13 17:32:53 2066 1

转载 linux配置dns三种方式

在网卡文件中修改echo 'DNS1="114.114.114.114" ' >> /etc/sysconfig/network-scripts/ifcfg-eth0 在主机表文件host文件中修改echo "223.231.234.33 www.baidu.com" >> /etc/hosts 在域名服务器中修改echo 'nameserver 114.114.114.114' >> /etc/resolv.confRef:https://blog.

2021-09-24 15:03:49 2316

原创 通过双击运行linux脚本

1.首先修改默认脚本打开方式2.修改脚本权限chmod +x run.sh3.如果需要同时并行启动多个脚本可以在命令行后面加&符号,使命令后台运行/home/Downloads/run.sh &4.如果需打开新的终端并运行脚本,可使用命令gnome-terminal -t "title-name" -x bash -c "sh ./run.sh;exec bash;"-t 为打开终端的标题,便于区分。-x 后面的为要在打开的终端中执行的脚本,根据需要自己修改就

2021-04-18 17:23:05 1915

原创 方向向量转欧拉角、旋转矩阵、四元数

项目中需要将三维空间方向向量转化为旋转矩阵来表示,解决方案记录如下输入方向向量Vec3& direction,参考单位向量Vec3& up(0,0,1)输出旋转矩阵m Vec3 xaxis = Vec3::Cross(up, direction); xaxis.normalizeFast(); Vec3 yaxis = Vec3::Cross(direction, xaxis); yaxis.normalize

2021-03-18 19:18:32 3362 2

原创 Qt bug:QGLWidget:No such file or directory

通过cmake编译工程时出现错误cmake error: QGLWidget: No such file or directory解决方案CMakeLists中添加 find_package(Qt5OpenGL REQUIRED) set(QT_LIBRARIES Qt5::OpenGL)target_link_libraries(${PROJECT_NAME} ${QT_LIBRARIES})https://www.kdab.com/using-cmak...

2021-03-05 19:50:47 749

原创 C++ bug:宏定义与函数名冲突

问题描述:今天在项目中增加了OpenCascade库后发生了宏定义与函数名冲突的问题,Standard_Handle.hxx文件中定义了全局的宏Handle与ros actionlib中的类名冲突。解决方案:方法一:用括号把调用函数的地方括起来,这个是用的比较多的方法,也是解决的比较好的方法例如:象这样用函数(std::numeric_limits<std::streamsize>::max)()方法二:就是不包含宏定义的头文件方法三:取消掉对宏的定义#unde

2021-03-04 20:11:23 1412 1

原创 ubuntu cmake 升级

有时编译一些包时需要更高的版本,所以需要升级一下 cmake。若用 cmake 编译过 ros ,千万别傻乎乎地随便找个帖子执行下面的命令:sudo apt-get autoremove cmake这样会把之前用 cmake 编译好的包都给卸载掉。比较简单的方法是下载 cmake 压缩包,直接建立软链接覆盖掉系统的 cmake,压缩包网址:https://cmake.org/files/以 3.13.0 版本为例:cd ~/Downloadwget https://c.

2021-03-03 16:57:19 283 1

原创 Linux bug:运行程序出现缺少库的问题

在Linux软件开发的时候,会引用很多的.so文件,当通过编译工具编译好后,运行程序,可能会出现缺少库的情况,如下图:./tests: error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory出现上面的现象是,操作系统运行程序会查找所要依赖的库文件,而在库文件的环境变量路劲下面没有找到所需要的文件,所以系统报错。解决方法:1、在/etc/ld.

2021-03-03 16:02:38 468 1

原创 Linux bug:error: ‘class QString’ has no member named ‘toStdString’;

error: ‘class QString’ has no member named ‘toStdString’;报错原因:Qt5不兼容Qt4中Qstring的Function Member解决方案:QString qs;// Either this if you use UTF-8 anywherestd::string utf8_text = qs.toUtf8().constData();// or this if you on Windows :-)std::st.

2021-03-03 15:20:34 1448 1

原创 文件传输命令scp、rz、sz

文件传输命令scpLinux scp 命令用于 Linux 之间复制文件和目录。scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。语法scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file][-l limit] [-o ssh_option] [-P port] [-S

2020-06-30 01:05:48 2272

原创 Linux文件属性及相关命令

Linux文件属性在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组,如:各文件属性代表意义1.inode号文件存储在硬盘上,硬盘的最小存储单位叫做"扇区"(sector)。每个"扇区"的大小为512字节(byte),操作系统读取硬盘的时候,不会一个个扇区的读取,这样效率太慢。他是一次性读取多个扇区,即一次性读取一个"Block块"。一个Block有8个连续的扇区(sector)组成。数据都存在Block块里面,但是我们怎么知道一个数据存放

2020-06-29 15:17:01 359

原创 IO状态查看命令iostat、df、du

IO状态查看命令iostatiostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析调用效果:cpu属性值说明:%user:CPU处在用户模式下的时间百分比。%nice:CPU处在带NICE值的用户模式下的时间百分比。%system:CPU处在系统模式下的时间百分比.

2020-06-28 23:43:43 1469 1

原创 内存状态查看命令memstat、free

memstatmemstat可以帮你查看每个共享库的内存占用运行 memstat -w 即可列出当前所有共享库的信息:memstat -w如果不加 -w 参数,memstat 会把过长的信息截断到 80 列。第一列为内存占用,随后的数字是使用这个共享库进程的 PID,最后是共享库的完整路径,可以看到,不少共享库后面有很多 PID,表示这个共享库被多个进程所共享。你可以在 /etc/memstat.conf 中配置执行文件的目录,memstat 只会调查这些目录下的可执行文..

2020-06-28 20:44:59 2831 1

原创 进程、线程状态查看命令:top、strace、pstack

toptop命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。语法:top [-] [d] [q] [c] [S] [s] [i] [n] [b]参数说明:d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 sq : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行c : 切换显示模式,共有两种模式,一是只显示执行档.

2020-06-27 21:57:16 2497

原创 网络状态和防火墙状态查看命令:netstat、ifconfig、iptables

netstatnetstat 命令用于显示Linux系统网络链接状态。netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。语法netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]参数说明:-a或--all 显示所有连线中的Socket。.

2020-06-27 11:19:40 3571

翻译 在windows上移植ROS软件包

移植ROS软件包Windows上的C ++ ROS节点是nodelet的可执行文件或dll。 ROS节点通常是一个或多个库或应用程序的包装,这可能需要单独的软件开发工具包(SDK)或其他下载文件。,此教程将逐步介绍如何从Linux移植到构建和发布,并在Windows上支持ROS节点。移植ROS节点要将ROS节点移植到Windows,可使用以下步骤。通过《使用ROS软件包》指南确定ROS节点是否支持在Windows进行二进制或源码部署。 创建一个fork,在本地克隆并创建一个分支 解.

2020-06-24 17:37:53 1047 1

翻译 在Windows上使用ROS软件包

# 1.二进制安装如果有ROS软件包的二进制发行版,可以使用Chocolatey安装choco install ros-melodic-<package_name>ROS软件包查询https://index.ros.org/Windows下是否已有移植查询https://roswin.azurewebsites.net/# 2.源码安装首先测试源码是否可在windows系统上编译运行:: activate the ROS environmen...

2020-06-22 17:30:06 1245

原创 算法笔记_12.16-12.22

这周继续刷数组类的算法题~2.整数反转给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0.解法数学法C++中INT_MAX代表最大整数23...

2020-02-18 18:55:41 133

原创 算法笔记_12.8-12.15

1. 两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解法...

2019-12-15 23:42:26 155

翻译 使用ROS-Industrial机器人支持包(Support Packages)

1、概述本教程将概述构成ROS工业机器人支持软件包的文件和目录,并说明如何正确有效地利用此类软件包提供的功能。这些支持程序包的目的和结构类似于可以在ROS中找到的典型机器人描述程序包(例如pr2_description程序包)。但是,为了处理通常更成熟的产品范围,及可能存在的大量机器人模型变体,并利用工业机器人制造商采用的更为结构化的命名方式,这些软件包的命名和组织方式与ROS软件包...

2019-12-02 22:21:44 1470

原创 ROS依赖包查找安装

当下载某个功能包到自己的空间,在编译时,出现依赖项有问题,解决如下:$ roscd package_name$ rosdep update$ rosdep package_namerosdep即可安装缺少的依赖项直接用这个方法就行了一个一个装太麻烦,我们直接安装ros一个功能包所需要的依赖一个较常使用的命令是:rosdep install --from-paths src/ ...

2019-12-02 22:12:44 3513

原创 ROS与ROS2比较

ROS2新特性ROS2全面支持三种平台ØUbuntu 16.04(Xenial)ØMac OS X 10.12(Sierra)ØWindows 102.实现了分布式架构ROS 1主要构建于Linux系统之上,主要支持Ubuntu。而ROS 2采用全新的架构,底层基于DDS(Data Distribution Service)通信机制,支持实时性、嵌入式、分布式、多操作系统。R...

2019-12-02 22:04:40 17083

原创 机械臂状态可视化+数据提取分析

通过rqt_plot对关节信息进行可视化$ rqt_plot暂无法对关节速度velocity,加速度acceleration进行可视化,因为Simple Message 仅支持实际位置(actual position)反馈考虑之后可以使用rosbag来进行joint_states话题数据的记录,通过rosbag的C++接口进行数据的提取处理分析(微分求速度/加速度)//首先启动程序节...

2019-12-02 20:22:52 2053

原创 ROS-Industrial 硬件接口

industrial_robot_client工业机器人客户端包含通用客户端,这些客户端用于通过遵循简单消息协议(simple_message protocol)的服务器连接到工业机器人控制器。industrial_robot_simulator工业机器人模拟器是工业机器人驱动程序节点(driver node)的代名词。 它符合工业机器人控制器的驱动程序规范。该软件包模拟了符...

2019-12-02 17:41:50 298

翻译 ROS-Industrial 硬件支持

ROS-Industrial硬件支持ROS-Industrial程序的目标是为许多不同种类的工业设备提供ROS接口,包括PLC,机器人控制器,Servos,人机界面工业机器人下表总结了各种机器人接口的支持级别。 所有接口都使用市售选项(尽管可能需要额外付费才能获得所需的选项)。 由于每个供应商提供不同的功能接口,因此每个供应商的功能可能会有所不同。 注意存在明显限制的地方。 有关更多详...

2019-12-02 17:33:46 948

原创 C++标准库_顺序容器

C++标准库_顺序容器标准库类型vector 标准库类型vector表示对象的集合,其中所有对象的类型都相同。集合中的每个对象都有一个与之相对的索引,索引用于访问对象。 想要使用vector,必须包含适当的头文件:#include <vector>using std::vector; vector是模板而非类型,由vec...

2019-11-20 16:36:00 197

翻译 ROS Industrial 软件包_笛卡尔路径规划器_实现2

笛卡尔路径规划_机器人焊接机器人焊接示例,将说明如何可视化轨迹点,将碰撞对象添加到计划场景中,并说明了为什么应该对路径使用足够的轨迹点。代码配置参考http://wiki.ros.org/descartes/Tutorials/Robot%20Welding%20With%20Descartes示例运行source setup.bash首先运行roslaunch...

2019-11-20 16:34:03 342

翻译 ROS Industrial 软件包_笛卡尔路径规划器_实现

笛卡尔(Descarte)路径规划使用笛卡尔包使用笛卡尔包需要软件开发人员创建三个对象Obiects:一个机器人模型(a robot model),将用来计算正向运动学和逆向运动学。一个轨迹点的轨迹(a trajectory of trajectory points),用于定义路径。一个规划器(a planner),将使用提供的机器人模型来完成沿着轨迹寻找有效路线的工作。...

2019-11-13 23:45:55 1134 1

原创 ROS Industrial 软件包_笛卡尔路径规划器_介绍

笛卡尔(Descartes)概要笛卡尔(Descartes)是ROS-Industrial项目,用于对未定义的笛卡尔轨迹执行路径规划。动机当前的MoveIt / ROS接口专注于拾取pick和放置place应用。在典型的拾取和放置应用中,起始位置和目标位置是路径规划者的唯一输入。相比之下,许多工业应用必须遵循预定义的笛卡尔路径,不仅起始和结束位置很重要,而且两者之间的路径也很...

2019-11-11 22:59:39 978 1

原创 ROS常用组件_rosbag数据记录与回放

rosbag数据记录与回放为了方便调试测试,ROS提供了数据记录与数据回放的功能包——rosbag,可以帮助开发者收集ROS系统运行时的消息数据,然后在离线状态下回放。记录数据首先启动程序节点然后查看当前话题$ rostopic list -v进入希望存放记录的文件夹后,使用rosbag抓取话题的消息$rosbag record -a-a参数代表记录所有发布的消息...

2019-11-09 23:15:50 643

原创 ROS常用组件_rviz三维可视化平台

RViz三维可视化平台机器人系统中存在大量数据,但是数据形态的值往往不利于开发者感受数据所描述的内容,所以常常需要将数据可视化显示。ROS针对机器人系统的可视化需求,为用户提供了一款显示多种数据的三维可视化平台——RVizrviz很好的兼容了各种基于ROS软件框架的机器人平台。在rviz中,可以使用XML对机器人、周围物体等任何实物进行尺寸、质量、位置、材质、关节等属性的描述,并且在界...

2019-11-09 17:11:29 1045

原创 ROS常用组件_Qt工具箱

Qt工具箱——rqt为了方便可视化调试和显示,ROS提供了一套Qt架构的后台图形工具套件,它由三个部分/元包组成:rqt - 提供了一个小部件rqt_gui,它使多个’rqt’小部件能够停靠在一个窗口中。rqt_common_plugins - 可以在机器人运行时打开/关闭时使用的ROS后端工具套件。rqt_robot_plugins - 用于在机器人运行时进行交互的工具。...

2019-11-09 16:04:32 562 1

原创 ROS常用组件_TF坐标变换

TF坐标变换坐标变换是机器人学中一个非常基础也是非常重要的概念。机器人本体和机器人的工作环境中往往存在大量的组件元素,在机器人设计和机器人应用中都会涉及不同组件的位置和姿态,这就需要引入坐标变换的概念。A坐标系下的位姿可以通过平移和旋转变换成B坐标系下的位姿,这里的平移和旋转可以通过4*4的变换矩阵(四元数)来描述。坐标变换是机器人系统中常用的基础功能,ROS中的坐标变换系统由TF功能...

2019-11-09 11:09:09 510

空空如也

空空如也

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

TA关注的人

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