ROS
文章平均质量分 91
ROS学习
木心
I seek not to know the answer, but to understand the questions.
欢迎访问我的个人Blog-->
https://shenmuxin.github.io
展开
-
【Moveit】step或stl文件转urdf,并添加到机械臂上
ROS专门提供了一种机器人建模方法——URDF,用来描述机器人外观、性能等各方面属性。所以我们需要将别的描述格式转换成URDF,才能在ROS中使用。原创 2024-06-03 13:55:52 · 1056 阅读 · 0 评论 -
欧拉角与旋转矩阵之间的相互转化(推导和Python代码)
表示三维空间中的旋转可以有多种表示的方法(旋转矩阵,欧拉角,四元素,轴角,李群李代数)。欧拉角表示法,分别是指定了三个角度yaw,roll,pitch,分别是绕z轴,x轴,y轴的转动的角度。原创 2024-05-16 14:57:12 · 673 阅读 · 0 评论 -
相机模型的内参、外参
相机将三维世界中的坐标点(单位为米)映射到二维的像素平面(单位为像素)的过程能够使用一个几何模型来进行描述,为了简单起见这个模型我们通常使用。同时,由于相机镜头上透镜的存在,透镜的安装不能保证绝对的准确,因此在成像的过程中还会出现。因此,我们使用针孔模型和畸变模型来描述整个投影过程。针孔模型和畸变模型能够把外部的三维点投影到相机内部的成像平面,这组参数就构成了相机的。原创 2024-05-15 13:22:44 · 858 阅读 · 0 评论 -
Moveit Noetic的运动规划组python接口
记录学习如何使用moveit的python API进行机械臂的控制🚀 环境配置 🚀。原创 2024-05-14 15:32:43 · 781 阅读 · 3 评论 -
【ROS】ros-noetic和anaconda联合使用【实操】
在介绍完基本的联合使用方式后(参考),笔者希望使用ros能完成gym环境中强化学习算法的训练。原创 2023-10-13 18:40:36 · 491 阅读 · 0 评论 -
【ROS】ros-noetic和anaconda联合使用【教程】
这个结果与我们之前在终端中的结果相违背,那么可以详细查看一下python包的搜索路径,利用。,这个所需要的包可以是任何你想使用的包。然后,查看anaconda虚拟环境中的python3解释器路径。在Ubuntu20.04中安装anaconda可以参考博主的。我们可以手动将这个路径添加到python的搜索路径当中。这样进行测试之后发现,并不能顺利导入我所需要的。奇怪的是这里并没有我们之前在终端中得到的路径。默认的python3解释器路径是。中的原生python版本为。如下所示,我们顺利导入了。原创 2023-10-13 17:07:21 · 2667 阅读 · 4 评论 -
【PX4】PX4第一个offborad例程
PX4的OFFBOARD指的是外部控制模式,飞行器根据飞行控制栈外部(如机载计算机)提供的设定值控制位置、速度、加速度、姿态以及推力/力矩。设置值可以经由 MAVLink 提供。PX4要求外部控制器提供2Hz(至少是2Hz)连续的“有效存在”信号,该信号可由任意支持的 MAVLink 设置点消息或ROS 2 OffboardControlMode 消息提供。PX4只有在收到该种信号超过1秒后才有效,如果该种信号停止飞行控制栈将重新获得控制权(脱离Offboard模式)。原创 2023-09-21 08:45:06 · 1549 阅读 · 0 评论 -
【PX4】Ubuntu20.04+ROS Noetic 配置PX4-v1.13和Gazebo11联合仿真环境【教程】
写在前面,目前中文互联网上关于`PX4`飞控的学习资料较少,笔者查阅了大量的资料整理成这篇博客,贡献一些学习内容,码字不易,如果帮助到您,请您帮我点点赞。原创 2023-09-13 16:25:47 · 7035 阅读 · 25 评论 -
【ROS】解决ros-Noetic-desktop-full安装过程中未满足的依赖关系问题 【转载】
原因是没有启动软件更新,将软件更新设置如下。原创 2023-08-25 19:16:46 · 2068 阅读 · 3 评论 -
【ROS学习笔记17】ROS常用仿真组件URDF集成Gazebo
【ROS学习笔记17】ROS常用仿真组件URDF集成Gazebo文章目录【ROS学习笔记17】ROS常用仿真组件URDF集成Gazebo前言1. URDF集成Gazebo1.1 URDF与Gazebo基本集成流程1.2 URDF集成Gazebo相关设置1.3 URDF集成Gazebo实操1.4 Gazebo仿真环境搭建2. URDF、Gazebo、Rviz综合应用2.1 机器人运动控制及里程计信息显示2.2 雷达信息仿真及显示2.3 摄像头信息仿真及显示2.4 kinect信息仿真及显示Reference原创 2023-03-23 10:56:07 · 1725 阅读 · 0 评论 -
【ROS学习笔记16】ROS常用仿真组件URDF集成Xacro
写在前面,本系列笔记参考的是AutoLabor的教程,具体项目地址在 这里前面 URDF 文件构建机器人模型的过程中,存在若干问题。如果在编程语言中,可以通过变量结合函数直接解决上述问题,在 ROS 中,已经给出了类似编程的优化方案,称之为:Xacro概念Xacro 是 XML Macros 的缩写,Xacro 是一种 XML 宏语言,是可编程的 XML。原理Xacro 可以声明变量,可以通过数学运算求解,使用流程控制控制执行顺序,还可以通过类似函数的实现,封装固定的逻辑,将逻辑中需要的可变的数据以参数的方原创 2023-03-14 19:46:18 · 798 阅读 · 0 评论 -
【ROS学习笔记15】ROS仿真常用组件URDF集成rviz
1.URDFURDF是 Unified Robot Description Format 的首字母缩写,直译为统一(标准化)机器人描述格式,可以以一种 XML 的方式描述机器人的部分结构,比如底盘、摄像头、激光雷达、机械臂以及不同关节的自由度…,该文件可以被 C++ 内置的解释器转换成可视化的机器人模型,是 ROS 中实现机器人仿真的重要组件2.rvizRViz 是 ROS Visualization Tool 的首字母缩写,直译为ROS的三维可视化工具。原创 2023-03-13 21:04:47 · 2165 阅读 · 0 评论 -
【ROS学习笔记14】ROS常用组件
机器人传感器获取到的信息,有时我们可能需要时时处理,有时可能只是采集数据,事后分析,比如:机器人导航实现中,可能需要绘制导航所需的全局地图,地图绘制实现,有两种方式,方式1:可以控制机器人运动,将机器人传感器感知到的数据时时处理,生成地图信息。方式2:同样是控制机器人运动,将机器人传感器感知到的数据留存,事后,再重新读取数据,生成地图信息。两种方式比较,显然方式2使用上更为灵活方便。在ROS中关于数据的留存以及读取实现,提供了专门的工具: rosbag。概念是用于录制和回放 ROS 主题的一个工具集。原创 2023-03-12 16:43:16 · 391 阅读 · 0 评论 -
【ROS学习笔记13】ROS中的TF坐标变换
TF坐标变换,实现不同类型的坐标系之间的转换;rosbag 用于录制ROS节点的执行过程并可以重放该过程;rqt 工具箱,集成了多款图形化的调试工具。了解 TF 坐标变换的概念以及应用场景;能够独立完成TF案例:小乌龟跟随;可以使用 rosbag 命令或编码的形式实现录制与回放;能够熟练使用rqt中的图形化工具。小乌龟跟随实现,该案例是ros中内置案例,终端下键入启动命令键盘可以控制一只乌龟运动,另一只跟随运动。原创 2023-03-08 21:16:58 · 2318 阅读 · 0 评论 -
【ROS学习笔记12】关于ROS中的节点、话题、参数重名问题
写在前面,本系列笔记参考的是AutoLabor的教程,具体项目地址在 这里本节介绍ROS中的各种可能存在的重名问题,并且给出具体的示例,以便于学习交流。所谓工作空间覆盖,是指不同工作空间中,存在重名的功能包的情形。实现0.新建工作空间A与工作空间B,两个工作空间中都创建功能包: turtlesim。1.在 ~/.bashrc 文件下追加当前工作空间的 bash 格式如下:2.新开命令行:加载环境变量3.查看ROS环境环境变量结果:自定义工作空间B:自定义空间A:系统内置空间4.调用命令:会进入自定义工作空原创 2023-03-07 14:12:40 · 1135 阅读 · 0 评论 -
【ROS学习笔记11】ROS元功能包与launch文件的使用
ROS是多进程(节点)的分布式框架,一个完整的ROS系统实现:可能包含多台主机;每台主机上又有多个工作空间(workspace);每个的工作空间中又包含多个功能包(package);每个功能包又包含多个节点(Node),不同的节点都有自己的节点名称;每个节点可能还会设置一个或多个话题(topic)…原创 2023-03-05 21:56:29 · 1694 阅读 · 0 评论 -
【ROS学习笔记10】ROS中配置自定义Cpp头文件和导入自定义Python库
设计头文件,可执行文件本身作为源文件。编写头文件;编写可执行文件(同时也是源文件);编辑配置文件并执行。1、头文件再功能包的include/功能包名hello.hpublic :void run();} # endif在VsCode中,为了后续包含头文件时不抛出异常,请配置.vscode下的的属性。"/home/用户/工作空间/src/功能包/include/**"2、可执行文件hello.cppROS_INFO("自定义头文件的使用....");return 0;3、配置文件。原创 2023-03-04 20:04:10 · 3315 阅读 · 2 评论 -
【ROS学习笔记9】ROS常用API
ROS的常用API,请参考官网。原创 2023-03-01 19:16:21 · 740 阅读 · 0 评论 -
【ROS学习笔记8】通信机制实操
写在前面,本系列笔记参考的是AutoLabor的教程,具体项目地址在 这里通过编码实现乌龟运动控制,让小乌龟做圆周运动,如下所示:需求描述: 编码实现乌龟运动控制,让小乌龟做圆周运动。实现分析:实现流程:0、乌龟控制demo分别再终端输入1、话题与消息的获取准备:先启动键盘控制乌龟运动案例通过列出话题,获取话题:再进行消息获取,获取消息类型:结果如下:2、实现发布节点Cpp的实现方案Python的实现方案3、运行需求描述: 已知turtlesim中的乌龟显示节点,会发布当前乌龟的位姿(窗体中乌龟的原创 2023-03-01 10:16:44 · 888 阅读 · 0 评论 -
【ROS学习笔记7】ROS中的常用命令行
机器人系统中启动的节点少则几个,多则十几个、几十个,不同的节点名称各异,通信时使用话题、服务、消息、参数等等都各不相同,一个显而易见的问题是: 当需要自定义节点和其他某个已经存在的节点通信时,如何获取对方的话题、以及消息载体的格式呢?命令行功能rosnode操作节点rostopic操作话题rosservice操作服务rosmsg操作msg消息rossrv操作srv消息rosparam操作参数作用。原创 2023-02-28 15:23:05 · 393 阅读 · 0 评论 -
【ROS学习笔记6】参数服务器
参数服务器在ROS中主要用于实现不同节点之间的数据共享。参数服务器相当于是独立于所有节点的一个公共容器,可以将数据存储在该容器中,被不同的节点调用,当然不同的节点也可以往其中存储数据,关于参数服务器的典型应用场景如下:导航实现时,会进行路径规划,比如: 全局路径规划,设计一个从出发点到目标点的大致路径。原创 2023-02-28 11:15:12 · 430 阅读 · 0 评论 -
【ROS学习笔记5】服务通信
服务通信也是ROS中一种极其常用的通信模式,服务通信是基于请求响应模式的,是一种应答机制,也即:一个节点A向另一个节点B发送请求,B接收处理请求并产生响应结果返回给A。概念以请求响应的方式实现不同节点之间的数据交互的通信模式作用用于偶然、对实时性有需求、有一定逻辑处理需求的数据传输场景案例实现两个数字的求和,客户端节点,运行会向服务器发送两个数字,服务器端节点接收两个数字求和并将结果响应给客户端需求服务通信中,客户端提交两个整数至服务端,服务端求和并响应结果到客户端,请创建服务器与客户端通信的数据载体流程。原创 2023-02-27 10:21:44 · 541 阅读 · 0 评论 -
【ROS学习笔记4】话题通信
话题通信是ROS中使用频率最高的一种通信方式,话题通信是基于发布订阅模式的,也即:一个节点发布消息,另一个节点订阅该消息。话题通信的应用场景也极其广泛。概念以发布订阅的方式实现不同节点之间的数据交互的通信模式作用用于不断更新的、少逻辑处理的数据传输场景。原创 2023-02-26 11:14:57 · 1545 阅读 · 0 评论 -
【ROS学习笔记3】ROS的架构
从系统架构方面来看,ROS可以划分为三层OS层,是经典意义上的操作系统ROS只是元操作系统,需要依托真正意义上的操作系统,目前兼容性比较好的是Linux的Ubuntu基于TCP/UDP继续封装的TCPROS/UDPROS通信系统用于进程间通信Nodelet,为数据的实时性传输提供支持另外,还提供了大量的机器人开发实现库,比如:数据类型定义、坐标变换、运动控制…应用层功能包,及功能包内的节点。从自身结构上来看,ROS可以划分为三层系统文件。原创 2023-02-24 21:47:35 · 720 阅读 · 0 评论 -
【ROS学习笔记2】使用vscode开发ROS全流程
当我们在一个程序中需要启动多个节点时,如果每次都用。原创 2023-02-24 13:07:23 · 3377 阅读 · 1 评论 -
【ROS学习笔记1】ROS快速体验输出Hello World
本节使用ROS编写一个程序实现打印字符串的功能,分别用C++和Python实现。1、创建一个工作空间;2、创建一个功能包;3、编辑源文件;4、编辑配置文件;5、编译文件并执行。1、创建工作空间mkdir -p 工作空间名称/src cd 工作空间名称上述的命令会创建一个工作空间名称/src的两个文件夹,再回到工作空间目录中用进行编译。2、进入src创建ros包并添加依赖cd srccatkin_create_pkg 自定义Ros包名 roscpp rospy std_msgs。原创 2023-02-23 21:04:49 · 720 阅读 · 0 评论 -
【ROS】Ubuntu20.04.5安装ROS1【教程】
1.在安装ros的时候使用手机热点,可以有效防止国内运营商的网络挟持,加快下载速度2.一定要确保自己使用的Ubuntu版本是受ros支持的,博主一开始使用的是,这个版本是不受支持的,所以浪费了很多时间都没有安装成功,后面使用了才顺利安装,具体的可以查看下面的表Ubuntu版本名称ROS114.04 LST16.04 LST18.04 LST从上表可以看出,并不是主流的版本,所以ROS1不受支持。原创 2023-01-17 10:04:18 · 3478 阅读 · 3 评论