ROS进阶程序
文章平均质量分 83
一些容易被忽略但是实用的小demo,大多来自奥特学院的课程,笔者学后所作。
终问鼎
时间诉说我的故事
以后分享放到个人网站了
优快云随缘更
长安大学一枚机器人与自动驾驶,嵌入式,深度学习爱好者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【ROS机器人】 --- 2-5.自主导航并slam建图
“压线才低头”前期准备基础知识编写launch文件执行流程最后重写launch文件本节目标:加载一张未知地图,为机器人设置目标点,机器人会边走路,边建图,最后还可以用map_server保存.实现:打开gazebo和模型文件(car_move.launch)编写launch文件(实际是slam和导航(move_base)相关等的配置)启动机器人配置rviz,并保存为新的rviz文件存入launch文件中在rviz中通过2D Nav Goal设置目标点,机器人开始自主移动并建图,查看效果前原创 2022-04-11 14:05:38 · 10325 阅读 · 9 评论 -
【ROS机器人】 --- 2-4. 路径规划_move_base
“我回来啦”前期准备基础知识1、action通信2. 代价地图及组成3. 碰撞算法文件详解及过程I、集成参数的launch文件II、配置文件1. costmap_common_params.yaml2.global_costmap_params.yaml3. local_costmap_params.yaml4. base_local_planner_paramsIII、编写执行launch文件IV、执行查看源码nav3_set_yaml.launchnav3_all_navagation.launchb原创 2022-03-27 18:02:53 · 7517 阅读 · 2 评论 -
【ROS机器人】 --- 2-3. 定位_AMCL
“发誓要让世界好看!”前期准备简单介绍I、 ACML文件II、汇总launch文件III、执行查看源码nav2_amcl.launchnav2_test.launch本节目标:加载一张地图,在地图中放置一个机器人实现对机器人的定位。实现:打开gazebo和模型文件(car_move.launch)加载地图启动机器人(gazebo)启动rviz,完成rviz配置前期准备延用工作空间test2_ws;功能包demo5_navigation存放代码;acml和rviz代码在demo5_原创 2022-01-14 19:14:45 · 2823 阅读 · 0 评论 -
【ROS机器人】 --- 2-2.slam建图保存
“山无拦 海无遮!”前期准备建图I、运行机器人(gazebo)II、建图文件编写III、配置rviz并保存1.添加机器人和雷达2.添加TF3.地图map4.保存配置IV、控制运动建图V、保存地图1. map_server2. 保存查看说明【仿真】:借用之前搭建好摄像头、激光雷达、深度相机等传感器的模型,完成本节slam建图,保存内容。实现:打开gazebo和模型文件(car_move.launch)编写gampping运行并打开rviz完成rviz配置,启动机器人控制,实现slam建图使用ma原创 2022-01-12 21:01:25 · 8774 阅读 · 1 评论 -
【ROS机器人】 --- 2-1.导航介绍
“点一盏灯”介绍I、全局地图II、自身定位III、路径规划IV、运动控制V、环境感知/odom与/map说明【本节内容适用于仿真,实体操作看后边章节】从官网的一张图,认清导航。介绍ROS中的导航是一个metapackage功能包集,主要由五个部分组成:全局地图、自身定位、路径规划、运动控制、环境感知组成,如下图:I、全局地图对应上图:mapserver这里的关注点是地图的建模,配合机器人的传感器,有一种建模方法名为SLAM(同步建图与定位)很火。常用的slam方法:Gmapping、he原创 2022-01-11 20:29:26 · 1573 阅读 · 0 评论 -
【RVIZ+GAZEBO+URDF】 --- 1-3. 为机器人添加彩色相机
“把向前当成习惯,”前言camera.xacro文件详解效果展示rvizcamera.xacro源码前言沿用上一章的gazebo中的机器人,为机器人使用摄像头插件。大概流程和move.xacro步骤一致,略。延用工作空间test2_ws;功能包demo4_urdf_gazebo存放代码;laser的xacro代码放在demo4_urdf_gazebo/urdf/xacro/gazebo/camera.xacro;最后综合launch文件demo4_urdf_gazebo/launch/all原创 2022-01-10 01:03:26 · 1063 阅读 · 0 评论 -
【RVIZ+GAZEBO+URDF】 --- 1-2. 为机器人添加激光雷达
“敢教日月换新天!”前言laser.xacro文件详解效果展示gazeborvizlaser.xacro源码前言沿用上一章的gazebo中的机器人,为机器人使用激光雷达。大概流程和move.xacro步骤一致,略。延用工作空间test2_ws;功能包demo4_urdf_gazebo存放代码;laser的xacro代码放在demo4_urdf_gazebo/urdf/xacro/gazebo/laser.xacro;最后综合launch文件demo4_urdf_gazebo/launch/a原创 2022-01-10 00:13:31 · 3475 阅读 · 0 评论 -
【RVIZ+GAZEBO+URDF】 --- 1-1. 驱动机器人并查看
“唯有青春多壮志,”前言1、关键控制器xacro文件源码2、重写综合xacro和launchxacrolaunch关于rviz启动的launch文件3.启动 展示 待改进前言虽然在我们之前的例子中,看到gazebo和rviz都实现了相同的功能,但仍要知道的是:URDF 是创建机器人模型、Rviz 显示一些具体的传感器信息,Gazebo 用于仿真,可以模拟外界环境以及模拟传感器。本节实现:仍是前文实现的机器人,添加底盘的控制器动起来(对gazebo而言),用rviz查看里程计信息,用gazebo总体查原创 2022-01-09 22:16:35 · 1447 阅读 · 0 评论 -
【ROS程序】 --- 4-3. URDF-GAZEBO大作业
“总是努力翻山越岭!”简介xacro文件1.惯性矩阵2.底盘文件2.相机文件3. 雷达文件4.组合xacro文件launch文件(空世界)修改gazebo仿真环境简介本节实现:将之前的完成的3.5的机器人在RVIZ中显示的模型,实现在gazebo中显示出来。且完成gazebo的工作环境的.world文件配置我们自己的世界并保存加载。延用工作空间test2_ws;功能包demo4_urdf_gazebo存放代码;xacro的代码放在demo4_urdf_gazebo/urdf/xacro/下;原创 2022-01-07 20:40:54 · 1636 阅读 · 0 评论 -
【ROS程序】 --- 4-2. URDF-GAZEBO 完整流程
“向前的人,”本节简介流程1.创建功能包,2. urdf文件3.launch文件效果展示本节简介本节实现,创建功能包,添加依赖,写launch文件,运行launch文件来启动gazebo的简单流程,urdf文件,沿用上一节的矩形文件。延用工作空间test2_ws;功能包demo4_urdf_gazebo存放代码;urdf的代码放在demo4_urdf_gazebo/urdf/urdf/urdf_gazebo_1helloworld.urdf;launch文件存放在demo4_urdf_gaz原创 2022-01-07 16:45:43 · 881 阅读 · 0 评论 -
【ROS程序】 --- 4-1. URDF-GAZEBO 文件介绍
“!”介绍两种实现对比发现gaze中的urdf文件介绍在前边提过的rviz中,只负责整体机器人的建模和运动,而在gazebo中集成urdf文件则需要考虑碰撞参数、惯性矩阵等运动学因素,这也导致了这两个环境下的urdf文件略有不同。两种实现我们来看看同样是实现一个box形状的物体,在RVIZ和gazebo中的urdf文件区别吧:RVIZ下的URDF文件:<robot name="my_geometry"> <link name="base_link">原创 2022-01-07 15:40:08 · 1067 阅读 · 1 评论 -
【ROS程序】 --- 3-6. Arbotix仿真控制机器人运动流程
“做自己!”本节简介安装arbotixI : 写yaml配置文件II: 写launch文件III: 配置rviz更换坐标系发布速度控制话题odom组件方便观察添加坐标系并保存配置最后延用工作空间test2_ws;功能包demo3_urdf存放代码;arbotix的配置的代码control.yaml放在demo3_urdf/config/arbotix/control.yaml;launch文件存放在demo3_urdf/launch/control_car.launch;本节简介本节以上原创 2022-01-06 19:58:35 · 1375 阅读 · 1 评论 -
【ROS程序】 --- 3-5. URDF-XARCO项目实战流程
“别听 别看 别管”本节简介I、XACRO文件编写a. 小车底盘底盘文件驱动轮drive万向轮directionb. 摄像头文件c. 雷达文件d. 集成文件II、launch文件编写下节延用工作空间test2_ws;功能包demo3_urdf存放代码;所有部件的代码放在demo3_urdf/urdf/xacro/文件夹下;launch测试底盘文件存放在demo3_urdf/launch/urdf_xacro_car.launch;小车的全部xacro文件的launch文件存放在demo3_ur原创 2022-01-06 18:57:28 · 921 阅读 · 0 评论 -
【ROS程序】 --- 3-4. URDF-XARCO文件简介
“世界太吵”简介文件语法定义变量调用变量变量间运算函数定义函数调用文件包含xacro查看最后延用工作空间test2_ws;功能包demo3_urdf存放代码;介绍link的代码放在demo4_urdf/urdf/xacro/test.xacro中简介前边我们接触了urdf文件,它的特点就是详细具体的给出了每一个值,但是对于修改很不方便,一个参数修改很多地方都要变。就迎来了我们的xacro文件(可以编写完后转为xacro文件),它实现了变量封装、函数封装和多文件包含等功能。文件语法首先要原创 2022-01-06 16:24:39 · 1321 阅读 · 0 评论 -
【ROS程序】 --- 3-3. URDF-RVIZ 建模小车及工具介绍
“热血的征程使我们陶醉!”作业内容思路源码urdf文件launch文件检查工具check_urdf生成结构图urdf_to_graphiz最后延用工作空间test2_ws;功能包demo3_urdf存放代码;介绍link的代码放在demo4_urdf/urdf/urdf/urdf_rviz4_robot.urdf中,相关代码放在demo3_urdf/launch/urdf_rviz4_robot.launch;作业内容创建一个四轮车,,底盘为圆柱状,半径 10cm,高 8cm;四轮由两原创 2021-12-31 23:40:01 · 1083 阅读 · 0 评论 -
【ROS程序】 --- 3-2. URDF-RVIZ urdf文件详解
“赤红的生活使我们流泪!”1、urdf文件link标签及代码joint标签及代码2、launch文件3、添加base_footprint使露出地面延用工作空间test2_ws;功能包demo3_urdf存放代码;介绍link的代码放在demo3_urdf/urdf/urdf/urdf_rviz2.urdf中,相关代码放在demo3_urdf/launch/urdf_rviz2.launch;介绍joint的代码放在demo3_urdf/urdf/urdf/urdf_rviz3_joint.ur原创 2021-12-31 13:32:32 · 1644 阅读 · 1 评论 -
【ROS程序】 --- 3-1. URDF-RVIZ入门
“不辜负时间的馈赠!”介绍基本流程1、文件结构2、编写URDF3、编写launch文件(未导入配置)4、编译运行launch文件5、配置rviz并保存a. 添加机器人模型b.更改fixed framec.保存该配置6、修改launch文件(导入配置)其他延用工作空间test2_ws;功能包demo3_urdf存放代码;urdf的代码放在demo3_urdf/urdf/urdf/urdf_rviz1.urdf中;launch代码放在demo3_urdf/launch/urdf_rviz1.launc原创 2021-12-30 23:39:26 · 3085 阅读 · 0 评论 -
【ROS程序】 --- 2-4. TF--一些调试小工具
“向阳而生!”rviztf2_toolsrosbag本节综合TF知识,介绍几个相关工具。rvizrviz可以用来显示坐标关系。以为我们之前的TF例子,步骤如下:新建窗口输入命令:rviz;在启动的 rviz 中设置Fixed Frame 为 world;点击左下的 add 按钮,在弹出的窗口中选择 TF 组件,即可显示坐标关系。tf2_toolstf2_tools查看坐标关系。以我们上一个2-3跟随乌龟为例:安装tf2_toolssudo apt install ros-melo原创 2021-12-29 14:18:38 · 1046 阅读 · 0 评论 -
【ROS程序】 --- 2-3. TF--实现乌龟跟随
“那就自己沉淀下来!”I、准备工作II、创建乌龟程序的思路III、广播乌龟位姿程序的思路IV、接受乌龟广播,坐标变换V、launch文件编写VI 全部源码03creat_turtle.cpp03pub_pose.cpp03sub_pose.cpp本节综合TF知识,实现一只乌龟跟随另一只乌龟的任务。I、准备工作延用工作空间test2_ws;功能包demo2_trans_pose存放代码;新建乌龟的代码放在03creat_turtle.cpp中;广播乌龟位置信息代码放在03pub_pose.cpp原创 2021-12-29 13:30:10 · 2266 阅读 · 0 评论 -
【ROS程序】 --- 2-2. TF--实时坐标转换
“无人问津的日子里”I、准备工作II、demo02中发布程序的思路III、demo02中订阅程序的思路III、实现以及效果查看IV 全部源码02pub_pose.cpp02sub_pose.cpp本节来看看动态坐标转换,就小乌龟而言,我们在上一专栏的学习中,很容易得到小乌龟当前位置信息。此时坐标系为(0,0 ),将乌龟坐标系下的点(1,1)转化到世界坐标系下。I、准备工作延用工作空间test2_ws;功能包demo2_trans_pose存放代码;发布代码放在02pub_pose.cpp中;订原创 2021-12-28 20:04:47 · 736 阅读 · 0 评论 -
【ROS程序】 --- 2-1. TF--基本坐标系转换
“金戈铁马立战勋!”I、预备知识geometry_msgs/TransformStampedgeometry_msgs/PointStampedII、准备工作III、demo02中发布程序中的关键步骤IV、demo02中订阅程序中的关键步骤V 全部源码01pub_pose.cpp01sub_pose.cpp本节来看看相对坐标转换,假设有一底盘和一雷达,前方有一物体C,已知雷达相对底盘坐标为(0.2, 0.0, 0.5),物体C距离雷达坐标为(1.0, 2.0, 7.3),求底盘到物体的坐标。(以底盘为级坐原创 2021-12-28 15:00:46 · 1926 阅读 · 0 评论 -
【ROS程序】--- 1.基本时间操作和定时器
“狼牙少年诸葛恪!”I、准备工作II、demo01_time/src/time_01.cpp中的主要代码1. 获取时刻2. 设置时刻3. 设置时间段4. 时间与时刻的运算5. 设置循环执行频率III、demo01_time/src/time_02_timer.cpp中的主要代码关键函数介绍IV 全部源码文件1文件2I、准备工作新建工作空间test2_ws;功能包demo01_time存放代码。II、demo01_time/src/time_01.cpp中的主要代码1. 获取时刻得到的是距离 19原创 2021-12-27 20:11:42 · 2776 阅读 · 0 评论
分享