自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ROS学习笔记12——tf坐标变换

以ros自带的小乌龟作为案例的载体,完成通信方式、坐标变换等的练习,实现程序启动之初 产生两只乌龟,中间的乌龟(turtle1) 和 左下乌龟(turtle2),turtle2 会自动运行至turtle1的位置,并且键盘控制时,只是控制turtle1 的运动,但是turtle2 可以跟随turtle1 运行。1、创建功能包创建项目功能包依赖于roscpp、rospy、std_msgs、 tf2、tf2_ros、tf2_geometry_msgs、geometry_msgs、turtlesim

2024-04-29 14:12:19 380

原创 linux通过使用bash脚本同时运行多个命令

bin/bash出现在脚本的第一行,意思是告诉操作系统使用bash解释器来执行该脚本。|| -> "或",一条命令执行成功,则后面命令不执行。&& -> "与",一条命令执行出错,则后面命令不执行。-> 无论执行成功与否,一路执行下去。1、使用&&或||或;(根据需要选择连接符号)等来连接多条命令。以一个简单的小代码举例,新建一个文本命名为“bash.sh”。

2024-04-29 14:11:02 207

原创 ubuntu 20.04 安装 NVIDIA Container Toolkit

当然,官网还提供了其他的安装方式。

2024-03-31 15:53:25 583

原创 ROS学习笔记11——ROS中的重名问题

设置参数时,首先需要创建 NodeHandle 对象,然后调用该对象的 setParam 函数,该函数参数1为参数名,参数2为要设置的参数值,如果参数名以 / 开头,那么就是全局参数,如果参数名不以 / 开头,如果NodeHandle 对象创那么,该参数是相对参数还是私有参数与NodeHandle 对象有关,建时如果是调用的默认的无参构造,那么该参数是相对参数,如果NodeHandle 对象创建时是使用ros::NodeHandle nh("~"),那么该参数就是私有参数。

2024-01-29 23:23:17 1082

原创 ROS学习笔记10——自定义源文件调用

调用自定义源文件的时候需要配置cmakelists文件,刚学感觉还挺繁琐,用一个小案例记录一下。

2024-01-23 09:52:43 564

原创 ROS学习笔记9——ROS三种通信机制的比较

三种通信机制中,参数服务器是一种数据共享机制,可以在不同的节点之间共享数据,话题通信与服务通信是在不同的节点之间传递数据的,三者是ROS中最基础也是应用最为广泛的通信机制。可以概括为: 两个节点通过话题关联到一起,并使用某种类型的数据载体实现数据传输。二者的实现流程是比较。

2024-01-17 22:18:59 937

原创 ROS学习笔记8——实现ROS通信时的常用命令

机器人系统中启动的节点少则几个,多则十几个、几十个,不同的节点名称各异,通信时使用话题、服务、消息、参数等等都各不相同,一个显而易见的问题是: 当需要自定义节点和其他某个已经存在的节点通信时,如何获取对方的话题、以及消息载体的格式呢?ROS 提供了一些实用的命令行工具,可以用于获取不同节点的各类信息。

2024-01-17 16:23:09 444

原创 ROS学习笔记7——ROS通信机制3(参数服务器)

参数服务器是以实现的,参数服务器在ROS中主要用于实现不同节点之间的数据共享。参数服务器相当于是独立于所有节点的一个公共容器,可以将数据存储在该容器中,被不同的节点调用,当然不同的节点也可以往其中存储数据。参数服务器,一般适用于存在数据共享的一些应用场景。参数服务器不是为高性能而设计的,因此最好用于存储静态的非二进制的简单数据。

2024-01-17 13:23:42 590

原创 ROS学习笔记6——ROS通信机制2(服务通信)

服务通信中,客户端提交两个整数至服务端,服务端求和并响应结果到客户端,请创建服务器与客户端通信的数据载体。在功能包下创建srv目录,添加文件AddInts.srv.

2024-01-14 22:40:24 886 1

原创 ROS学习笔记5——话题通信自定义msg

在 ROS 通信协议中,数据载体是一个较为重要组成部分,ROS 中通过 std_msgs 封装了一些原生的数据类型,比如:String、Int32、Int64、Char、Bool、Empty.... 但是,这些数据一般只包含一个 data 字段,结构的单一意味着功能上的局限性,当传输一些复杂的数据,比如: 相机的信息... std_msgs 由于描述性较差而显得力不从心,这种场景下可以使用自定义的消息类型。

2024-01-14 18:26:18 1041 1

原创 ROS学习笔记4——ROS通信机制(话题通信)

ROS Master 负责保管 Talker 和 Listener 注册的信息,并匹配话题相同的 Talker 与 Listener,帮助 Talker 与 Listener 建立连接,连接建立后,Talker 可以发布消息,且发布的消息会被 Listener 订阅。ROS Master 会根据注册表中的信息匹配Talker 和 Listener,如果Talker和Listener的话题一致,就会 Listener 发送 Talker 的 RPC 地址信息。4、上述实现流程是做好封装的,可以直接调用。

2024-01-14 15:07:10 1082 1

原创 ROS学习笔记3——ROS文件系统相关命令

rospack find 包名 //查找某个功能包是否存在,如果存在返回安装路径。catkin_create_pkg 自定义包名 依赖包 //创建新的ROS功能包。sudo apt install xxx //安装 ROS功能包。rosed 包名 文件名 //修改功能包文件。rosls 包名 //列出某个包下的文件。roscd 包名 //进入某个功能包。//运行指定的ROS节点。rosout 日志节点。

2024-01-13 23:08:25 296 1

原创 ROS学习笔记2——launch文件

一个程序中可能需要启动多个节点,比如ROS内置的小乌龟程序,实现这个案例需要开启roscore节点、小乌龟可视化节点、键盘控制节点,显然是一个很繁琐的方法。launch文件的根标签,每个launch文件都需要有这样一个根标签,并且文件的所有内容必须包含在这个标签内,只要i有这样一个根标签,运行launch文件时,就会开启roscore。launch中的标签远不止这些,并且launch文件在ros工程中使用非常频繁,在后续的学习中,慢慢完善更新标签及其作用。pkg、type、name是三个最主要的参数。

2024-01-13 22:31:43 681 1

原创 ROS学习笔记1——用ros输出helloworld

add_executable(节点名称 src/可执行cpp文件在功能包下的路径.cpp)1、选定 src 右击 ---> create catkin package。2、可以在vscode中新建终端,目录会自动定位在该代码的工作空间下。此时可以用ctrl + shift + B 测试能否成功编译。在功能包的src下创建cpp文件,注意cpp文件命名规范。快捷键 ctrl + shift + B 调用编译,点击。1、ctrl + shift + B 快捷键进行编译。4、开一个新终端,刷新环境变量。

2024-01-13 17:01:09 593 2

原创 #ifconfig

配IP的时候学到的一点东西,简单做个记录。

2024-01-12 18:03:32 363 1

原创 机器人运动学——阿克曼小车

机器人运动学是从几何角度描述和研究机器人的位置、速度和加速度随时间的变化规律的科学,它不涉及机器人本体的物理性质和加在其上的力。这里分享一下在学习阿克曼小车过程中,对运动学的正逆解的理解。正解:已知机器人各个关节的运动,求解机器人本体x,y,z轴的运动。逆解:已知机器人本体x,y,z轴方向的运动,求解各个关节的运动。

2024-01-12 17:42:41 1474 1

原创 ubuntu20.04下载pytharm 没有快捷图标

此时可能会报错:No JRE found. Please make sure $PYCHARM_JDK, $JDK_HOME, or $JAVA_HOME point to valid JRE installatio,所以我们需要安装配置JAVA环境。opt有可选(optional)的意思,/opt目录一般是用来安装附加软件包的,是用户级的程序目录,可以理解为windows系统中的D:/Software。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。右击,选择“允许启动”。

2024-01-09 17:34:58 1159

原创 ubuntu20.04下 NVIDIA驱动安装

首先进入英伟达驱动下载官网,输入你的显卡型号等信息,点击搜索,确定合适的驱动。关闭图形图形界面,可能会faild,可能本身就没有,不用管。在下载目录下,打开终端,此时.run文件是没有可执行权限的。

2024-01-08 17:31:40 1253

原创 使用ThinLinc远程工作站

for administrators,在服务器上需要下载Thinlinc server。填写信息,可以免费下载。和远程通信的安全,任何网络服务都可以用这个协议来加密。for user,以windows为例,下载想要的版本即可。输入服务器的IP,以及用户的用户名密码,Connect就好。,用于加密两台计算机之间的通信,并且支持各种身份验证机制。SSH(Secure Shell 的缩写)是一种。然后按部就班安装就好。

2024-01-08 14:29:24 499

原创 Ubuntu 18.04文件夹左侧侧边栏消失解决办法

按F9,一键切换侧边栏的显示与隐藏!

2024-01-06 22:18:28 1060 1

原创 鱼香ros一键安装

【代码】鱼香ros一键安装。

2024-01-02 18:10:15 551 1

原创 Ubuntu18.04下 录制bag,并使用kalibr标定工具进行相机标定

##以Realsense D455双目相机为例。

2023-12-28 16:23:44 492 1

原创 ubuntu向日葵开机自启动

找到向日葵安装路径,一般为最后一行,加入到编辑启动程序的“命令”。1. 打开向日葵设置,勾选。

2023-11-02 18:48:51 1487

原创 Ubuntu20.04 python2和python3共存,并且优先使用python2

在 Ubuntu 20.04 中,Python 2 和 Python 3 可以共存。通常情况下,Python 3 是默认的 Python 版本。我先下的python3,后面有程序是用的python2,又下了python2,但是系统已经系统py3作为默认。可以通过以下方式在系统上安装并配置 Python 2,并使其优先使用 Python 2。这里会显示一个选项列表,您可以选择要使用的 Python 版本。选择 Python 2 的编号,通常是 1。此时,yp的默认版本已经变为2.7。

2023-10-25 21:16:19 1165

原创 xshell5在服务器创建、删除用户

新开一个xshell窗口。ssh 用户名@ip。

2023-10-24 15:48:11 310 1

空空如也

空空如也

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

TA关注的人

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