-
2022-03-16 13:07:13
多套系统源码:
1、机器人路径规划程序(matlab环境中的机器人路径规划程序,经过调试可以直接使用)
2、Astar算法机器人路径规划(Ubuntu,在playerstage仿真)
3、粒子群机器人路径规划(一个用粒子群开发的Matlab移动机器人路径规划)
4、多机器人路径规划算法(可视化界面显示,默认实验数据为实现4个机器人路径规划)
5、ROS机器人turtlebot路径规划(包括了OMPL_ros_turtlebot,贝塞尔曲线拟合后的rrt,move-base-ompl,navigation_tutorials,relaxed_astar等路径规划资源,可用于ROS机器人的路径规划研究)
6、机器人路径规划c#(改变环境大小 自行设置起点、终点、障碍物 建立四叉树 计算出最优路径 并在界面中表示出路径与机器人运动状况)
现有:6939
7、MATLAB,机器人的路径规划研究
8、粒子群算法求解机器人路径规划(历程比较详细)
9、细化算法GUI实现 机器人路径规划(matlab GUI 实现细化算法,界面简洁实用,包含实验报告,扩展到机器人路径规划问题!)
10、移动机器人路径规划A星算法
11、基于VC的机器人路径规划仿真平台(建立了基于人工势场的机器人路径规划仿真平台,这个版本为最终版,其间经历十余次改进,路径规划效果很好!可以实现多机器人动态路径规划以及单机器人的路径规划问题。 基于VC2005实现。)
12、基于蚁群算法的机器人路径规划MATLAB源码
13、机器人路径规划的元胞自动机算法(很有用的 对CA moore的改进算法 看了之后受益匪浅 机器人动态(适用于静态)路径规划)
14、关于机器人路径规划的人工势场算法
15、基于遗传算法的机器人路径规划MATLAB源码
16、基于蚁群算法的多机器人路径规划
17、基于遗传算法的机器人路径规划matlab程序(采用栅格对机器人的工作空间进行划分,再利用优化算法对机器人路径优化,是采用智能算法求最优路径的一个经典问题。)
18、基于人工势场法的移动机器人动态路径规划究
19、基于A-Star算法的机器人路径规划(基于A算法的机器人路径规划的MATLAB实现,可自由选择地图和起始终止点,并且含有简单的文档和ppt)
20、matlab改进人工势场法模拟机器人路径规划,避障(在论坛上搜了一些matlab人工势场法程序,但很多都有一些问题,比如目标不可达,角度计算错误等等。在这些的基础上,我进行了改进,使得能够更好地到达目标点,减少了震荡,但是依旧会出现几次震荡,愿高手继续完善。程序可以用C写出来,做机器人路径规划或者避障的同学,该文档有很高的参考性。)
21、基于模糊算法的移动机器人路径规划
22、机器人路径规划 人工势场法 MATLAB 可直接运行
23、C++蚁群算法的机器人路径规划(资源包括详细的代码和注释,代码由VS2005 编写,附有可执行文件和源代码。附有说明文档可供参考。)
24、路径规划算法实现(众多路径规划算法实现,代码实现了机器人使用的一些常见的路径规划算法,包括基于搜索的算法和基于采样的算法。)
25、基于matlab的机器人最优路径规划仿真(本项目是机器人课程的一个课程设计,能利用A星(A)算法搜索出最有路径,包括方格地图和谷歌地图,采用matlab开发,在地图上设置起点终点,系统可找出最短路径)
26、一种基于可视图法的机器人全局路径规划算法
27、基于智能优化的机器人路径规划matlab(程序 仿真)(1、采用Matlab编写 2、内部包含程序源码 3、采用遗传算进行路径的规划和查找 4、对障碍物的位置形状和路径规划的起始和终止点可以自己设定)
28、人工势场结合模糊控制算法的机器人路径规划(可直接运行)(人工势场配合Mamdani型模糊控制算法的机器人路径规划与分析。MATLAB代码,可直接运行)
29、基于遗传算法的机器人路径规划(附程序源码)(经本人亲自验证,是可以运行的C++程序。)
30、室内清洁机器人的全区域路径规划及避障研究(虚拟现实技术 遗传算法)
31、机器人障碍环境下路径规划改进的回退蚁群算法(matlab版)(有可视化界面)
32、自主移动机器人路径规划新方法(含matlab代码、ppt以及文档)
33、清扫机器人路径规划算法仿真(模拟清扫机器人搜寻垃圾,以MATLAB作为仿真环境,实现算法设计)更多相关内容 -
ROS机器人仿真(建图、定位、路径规划)-程序
2021-12-19 00:34:04ROS机器人仿真(建图、定位、路径规划) -
ROS机器人turtlebot路径规划
2018-05-09 12:10:24ROS机器人turtlebot路径规划,文件夹中包括了OMPL_ros_turtlebot,贝塞尔曲线拟合后的rrt,move-base-ompl,navigation_tutorials,relaxed_astar等路径规划资源,可用于ROS机器人的路径规划研究 -
ROS 扫地机器人路径覆盖及控制源码
2020-07-22 08:51:22基于turtlesim小乌龟实现的ROS 扫地机器人路径覆盖算法,及差速控制。 使用方法: 1、下载源码 cd catkin_ws/src catkin_create_pkg turtlesim_cleaner cd catkin_ws catkin_make 2、运行 roscore //ROS Master ... -
ROS仿真机器人(安装、配置、测试、建图、定位、路径规划)
2021-08-10 21:42:42ROS机器人仿真(安装、配置、测试、建图、定位、路径规划)1、ROS安装与配置1.1、安装虚拟机软件1.2、虚拟一台主机1.3、安装ubuntu1.4、在ubuntu中安装ROS机器人操作系统1.4.1 配置ubuntu的软件和更新1.4.2 设置安装...ROS机器人仿真(安装、配置、测试、建图、定位、路径规划)
1、ROS安装与配置
1.1、安装虚拟机软件
此前使用的虚拟机是 VMware Workstation 15 Pro,但是使用起来不是特别方便,比如基本操作主机复制的内容无法黏贴到客户机(ubuntu)中。于是本次实验使用了VirtualBox 6.1.18虚拟机。
1.2、虚拟一台主机
使用VirtualBox虚拟计算机的过程也不算复杂,只需要按照提示配置其相关参数即可,其各项参数设置如图1所示。
图1.2.1:VirtualBox虚拟主机 1.3、安装ubuntu
首先从官网下载 Ubuntu 的镜像文件,这里选择的版本是20.04.2.0,于是其对应安装的ros版本为Noetic Ninjemys(May 2020-May2025):然后,配置虚拟主机,关联下载好的Ubuntu 镜像文件。
接下来对ubuntu进行优化,按照网上操作(安装虚拟机工具、启动文件交换模式)方便虚拟机与宿主机的文件交换。1.4、在ubuntu中安装ROS机器人操作系统
1.4.1 配置ubuntu的软件和更新
配置ubuntu的软件和更新,允许安装不经认证的软件。
首先打开“软件和更新”对话框,具体可以在 Ubuntu 搜索按钮中搜索。
打开后按照图1.4.1进行配置(确保勾选了"restricted", “universe,” 和 “multiverse.”)
图1.4.1 1.4.2 设置安装源
使用国内清华大学安装源,这样安装速度更快,Ctrl+Ail+T打开终端输入命令:
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
回车输入管理员密码,显示如图1.4.2下界面即成功发。
图1.4.2 1.4.3 设置key
如图1.4.3所示,输入:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
图1.4.3 1.4.4 安装
首先需要更新apt,apt 是用于从互联网仓库搜索、安装、升级、卸载软件或操作系统的工具。
在终端输入:sudo apt update,界面显示如图1.4.4所示:
图1.4.4 然后,再安装所需类型的 ROS:ROS 多个类型:Desktop-Full、Desktop、ROS-Base。这里介绍较为常用的Desktop-Full(官方推荐)安装: ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception
在终端输入:sudo apt install ros-noetic-desktop-full
出现如图1.4.5界面,输入Y回车。
图1.4.5 如图1.4.6所示的安装过程,经过漫长等待,直至安装成功。
图1.4.6 吃了个饭回来,发现如图1.4.7错误提示:
图1.4.7 初步检测,应该是网络问题,于是直接重复调用更新与安装命令,最后成功。
1.4.5 安装构建依赖
在 noetic 最初发布时,和其他历史版本稍有差异的是:没有安装构建依赖这一步骤。随着 noetic 不断完善,官方补齐了这一操作。
首先安装构建依赖的相关工具,如图1.4.8所示
调用命令:sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
回车输入密码,直至安装成功。
图1.4.8 ROS中使用许多工具前,要求需要初始化rosdep(可以安装系统依赖) – 上一步实现已经安装过了,如图1.4.9。
sudo apt install python3-rosdep
图1.4.9 初始化rosdep,输入命令:sudo rosdep init,显示如图1.4.10所示。
图1.4.10 rosdep update
出现图1.4.11所示的问题:网络超时
图1.4.11 在网上查找了以下几种方法解决上述问题,发现都不行。
(1)更改镜像源
(2)更改域名服务器
执行:sudo gedit /etc/resolv.conf将原有的nameserver这一行注释,并添加以下两行:
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器
保存退出,执行
sudo apt-get update
再执行
rosdep update
(3)添加网站上解析出来的IP,进行操作
最后参考一篇博主的方法:将相关资源备份到gitee,修改 rosdep 源码,重新定位资源。
步骤一:切换路径cd /usr/lib/python3/dist-packages/
步骤二:查找rosdep中和raw.githubusercontent.com相关的内容,调用命令:
find . -type f | xargs grep “raw.githubusercontent”,显示如图1.4.12.
图1.4.12 步骤三:找到如下四个文件:
./rosdistro/init.py、
./rosdep2/gbpdistro_support.py、
./rosdep2/sources_list.py 、
./rosdep2/rep3.py。、
可以使用sudo gedit命令修改文件中涉及的 URL 内容,如果是
:raw.githubusercontent.com/ros/rosdistro/master都替换成:gitee.com/zhao-xuzuo/rosdistro/raw/master即可,这样就改变了资源路径。
步骤四:重新运行:
sudo rosdep init rosdep update,如图1.4.13所示。
就可以正常实现 rosdep 的初始化与更新了。图1.4.13 1.5、配置环境变量
配置环境变量,方便在任意 终端中使用 ROS。
调用命令:echo “source /opt/ros/noetic/setup.bash” >> ~/.bashrc
source ~/.bashrc,如图1.5所示。
图1.5 1.6、测试ROS
首先调用命令:roscore,显示如图1.6.1所示:
图1.6.1 其次添加新窗口并调用命令:rosrun turtlesim turtlesim_node(此时会弹出图形化界面,如图1.6.2所示)
图1.6.2 之后添加新窗口并调用命令:rosrun turtlesim turtle_teleop_key(在3中可以通过上下左右控制2中乌龟的运动)
最终结果如下所示,则测试成功
图1.6.1 2、机器人仿真模型与环境配置
引言-ROS机器人仿真实验几点说明
本实验使用编程软件:VScode,及界面显示如图2所示:
图2 2.1 构建差速移动机器人仿真模型
2.1.1 差速移动机器人(四轮圆柱状机器人)模型描述:
机器人参数如下,底盘为圆柱状,半径 10cm,高 8cm,四轮由两个驱动轮和两个万向支撑轮组成,两个驱动轮半径为 3.25cm,轮胎宽度1.5cm,两个万向轮为球状,半径 0.75cm,底盘离地间距为 1.5cm(与万向轮直径一致),并添加雷达传感器
2.1.2 实现流程
(1)创作ROS工作空间并初始化
使用命令:
mkdir -p demo_18/src
cd demo_18
catkin_make
(2) 启动VScode
在demo_18目录下使用命令:code .
便可以开启VScode,接下来所有操作都在可视化的VScode上进行。
(3)创建 ROS 功能包
选定 src 右击 —> create catkin package
创建urdf01_rviz功能包,导入依赖包:urdf与xacro
(4)在当前功能包下,添加如下目录
urdf: 存储 urdf 文件的目录
config: 配置文件
launch: 存储 launch 启动文件
(5)编写URDF文件
这里可以使用URDF文件编写也可以使用XACRO文件编写小车模型文件,本人在此两种实现方法都用了,分别在urdf文件夹下,新建urdf用于编写urdf小车模型;新建xacro文件夹编写xacro小车模型,但是这里只讲解xacro文件编写的小车模型,这是因为urdf编写小车模型存在如下问题:
问题1:在设计关节的位置时,需要按照一定的公式计算,公式是固定的,但是在 URDF 中依赖于人工计算,存在不便,容易计算失误,且当某些参数发生改变时,还需要重新计算。
问题2:URDF 中的部分内容是高度重复的,驱动轮与支撑轮的设计实现,不同轮子只是部分参数不同,形状、颜色、翻转量都是一致的,在实际应用中,构建复杂的机器人模型时,更是易于出现高度重复的设计,按照一般的编程涉及到重复代码应该考虑封装。
(6)编写xacro文件用于构建小车模型
编写car_base.xacro用于构建小车底盘;
编写laser.xacro文件用于构建雷达;
编写car.xacro文件用于组合地盘与雷达。
(7)编写launch文件
编写car.launch文件,这里在launch文件中使用命令:
<paramname="robot_description"command="$(findxacro)/xacro$(findurdf01_rviz)/urdf/xacro/car.xacro" />
直接加载(6)中编写的小车模型xacro文件;
使用命令:<node pkg="rviz" type="rviz" name="rviz" />
启动rviz;
使用命令:
<node pkg="joint_state_publisher" type="joint_state_publisher" name="joint_state_publisher" output="screen" />
<node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher" output="screen" />
启动机器人状态和关节状态发布节点;
使用命令:
<node pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" name="joint_state_publisher_gui" output="screen" />
启动图形化的控制关节运动节点;
(8) 检查urdf01_rviz功能包文件
按上述步骤完成后,urdf01_rviz功能包含文件夹及文件如图2.1.1所示。图2.1.1 (9) 运行编写好的car.launch文件
点击udf01_rviz功能包,右击–>点击在集成终端中打开,如图2.1.2所示。
图2.1.2 在打开的第一个终端输入:roscore命令,运行ros。接着点击加号,新建终端,输入命令:
source ./devel/setup.bash
roslaunch urdf01_rviz car.launch
接下来便会打开rviz窗口。
(10)在RVIZ中显示机器人模型
viz 启动后,会发现并没有盒装的机器人模型,这是因为默认情况下没有添加机器人显示组件,需要手动添加,在添加组件前,先设置Fixed Frame为base_footprint,也就是更改参考坐标系,结果如图2.1.2.
图2.1.2 bnm 添加机器人模型组件,如图2.1.3,点击Add,之后选择需要的组件,比如RobotModel,其余组件添加方式类似,之后类似操作不再赘述。之后便可以看到图2.1.的机器人模型。
图2.1.3 图2.1.4 (11)在RVIZ配置操作并调用
为了避免每一次啊都要进行更改坐标系与组件添加操作,可以在步骤(10)中,点击file–>save config as ,并将其保存到demo_18/src/urdf01_rviz/config下,命名为car.rviz。
之后修改car.launch下rviz启动命令为:
<node pkg="rviz" type="rviz" name="rviz" args="-d $(find urdf01_rviz)/config/car.rviz"/>
这样,下次打开rviz显示模型便不需要配置操作。2.2 仿真环境搭建
2.2.1 仿真环境描述
仿真环境搭建比较简单,直接放置了给定圆柱体与正方体,因为自身电脑的原因,带动ros非常卡顿,所以对于仿真环境搭建比较简单。本人也尝试构建参考实例中的环境发现Gazebo无响应。
2.2.2 机器人模型显示在gazebo的实现流程
(1)在demo_18工作空间下,创建 ROS 功能包
创建urdf02_gazebo功能包,导入依赖包: urdf、xacro、gazebo_ros、gazebo_ros_control、gazebo_plugins
(2)在当前功能包下,添加如下目录
urdf: 存储 urdf 文件的目录
config: 存储rviz配置文件
launch: 存储 launch 启动文件
worlds: 保存地图文件
(3)编写封装惯性矩阵算法的 xacro 文件
在urdf下新建head.xacro文件,存放惯性矩阵算法。惯性矩阵的设置需要结合link的质量与外形参数动态生成,标准的球体、圆柱与立方体的惯性矩阵公式如下(已经封装为 xacro 实现):
球体惯性矩阵
圆柱惯性矩阵
立方体惯性矩阵
这里直接复制并保存。需要注意的是,原则上,除了base_footprint 外,机器人的每个刚体部分都需要设置惯性矩阵,且惯性矩阵必须经计算得出,如果随意定义刚体部分的惯性矩阵,那么可能会导致机器人在 Gazebo 中出现抖动,移动等现象。
(4)编写小车模型的xavro文件
直接从2.1下拷贝car.xacro、car_base.xacro、laser.xacro文件到urdf目录下,并且需要并设置 collision inertial 以及 color 等参数。具提程序参照附件,这里不对程序做详细介绍,附录程序有详细注释。
(5)编写launch文件
在launch文件夹下编写env.launch文件,这里在launch文件中使用命令:
使用命令:<param name="robot_description" command="$(find xacro)/xacro $(find urdf02_gazebo)/urdf/car.xacro" />
将 Urdf 文件的内容加载到参数服务器;
使用命令:<include file="$(find gazebo_ros)/launch/empty_world.launch" />
启动 gazebo;
使用命令:<node pkg="gazebo_ros" type="spawn_model" name="model" args="-urdf -model car -param robot_description" />
在 gazebo 中显示机器人模型;
(6)运行程序并在gazebo中查看
在终端下输入:roslaunch urdf02_gazebo env.launch命令,便可以启动gazebo,界面显示如图2.2.1。
图2.2.1 2.2.3 Gazebo仿真环境搭建
到目前为止,我们已经可以将机器人模型显示在 Gazebo 之中了,但是当前默认情况下,在 Gazebo 中机器人模型是在 empty world 中,并没有类似于房间、家具、道路、树木… 之类的仿真物。在Gazebo 中创建仿真实现方式有两种:
方式1: 直接添加内置组件创建仿真环境
方式2: 手动绘制仿真环境(更为灵活)
也还可以直接下载使用官方或第三方提高的仿真环境插件。
本实验采用方式1添加内置组件创建仿真环境,大家可能更倾向于方式2,这里因为本人电脑的原因,采用方式1,其具体步骤如下
步骤一:启动 Gazebo 并添加组件,如图2.2.2红色框所示:
图2.2.2 步骤二:保存仿真环境
添加完毕后,选择 file —> Save World as 选择保存路径(功能包下: worlds 目录),文件名自定义,后缀名设置为 .world
步骤三:启动仿真环境
这里只需要将上述的env.launch文件中的gazebo启动命令更改为:<include file="$(find gazebo_ros)/launch/empty_world.launch" > <arg name="world_name" value="$(find urdf02_gazebo)/worlds/box_house.world" /> </include>
这里我保存仿真环境文件为:box_house.world。
按照上述(6)步骤重新打开gazebo,便可得到如下图2.2.3所示的仿真环境。
图2.2.3 3、机器人建图
3.1 建图前期准备
要实现机器人建图需要用到gazebo搭建的机器人仿真环境的配置,也就是上一步的配置。其次前面已有阐述: URDF 用于创建机器人模型、Rviz 可以显示机器人感知到的环境信息,Gazebo 用于仿真,可以模拟外界环境,以及机器人的一些传感器。
建图首先需要将三者结合:通过 Gazebo 模拟机器人的传感器,然后在 Rviz 中显示这些传感器感知到的数据。3.2 运动控制实现流程及里程计查看(Gazebo)
在urdf02_gazebo工作包的基础上,运动控制基本流程:
3.2.1 编写xacro文件并集成
在urdf文件夹下新建一个gazebo文件夹并在其下编写 move.xacro 文件,为机器人模关节的运动学和动力学属性joint 添加传动装置以及控制器添加传动装置以及控制器。
并将此文件集成进car.xacro文件中,调用命令:
<xacro:include filename="gazebo/move.xacro" />
3.2.2 启动 Gazebo 并发布 /cmd_vel 消息控制机器人运动
在VScode终端下启动launch文件吗,方法同步骤(6),便可以在gazebo中看到图2.2.3的效果。接下来新建ubuntu终端,输入命令:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py _speed:=0.5 _turn:=1
便得到图3.2.1的终端显示结果,这样便可以通过键盘按键实现对机器人控制,实现gozebo机器人的移动。
图3.2.1 3.2.3 显示里程计
在上述步骤基础上,在launch文件夹下新建sensor.launch文件用于启动rviz并查看里程计信息,其内容与之前类似。新建一个终端,在该终端下运行命令:
source ./devel/setup.bash
oslaunch urdf02_gazebo sensor.launch
之后在启动好的rviz下更改参考坐标系为odom,然后添加组件RobotModel与里程计Odometry,最后为里程计添加话题并去掉覆盖的阴影,通过上述控制机器人移动便可看到如图3.2.2所示的里程计显示结果。
图3.2.2 3.3 通过 Gazebo 模拟激光雷达传感器,并在 Rviz 中显示激光数据
3.3.1 编写雷达的配置文件
继续上一步骤,在gazebo文件夹下,编写laser.xacro 文件,为机器人模型添加雷达配置。
并将此文件集成进car.xacro文件中,调用命令:
<xacro:include filename="gazebo/laser.xacro" />
3.3.2 启动gazebo查看机器人模型
调用命令:roslaunch urdf02_gazebo env.launch
在gazebo中显示的带有雷达的模型,从图3.3.1中明显可以按到蓝色的雷达线程。
图3.3.1 3.3.3 启动rviz查看雷达显示
在上一步打开的rviz中更改参考坐标系为base_footprint,添加LaserScan,并在LaserScan中订阅话题/scan并更改Size为0.05,便可以看到如图3.3.2所示的雷达显示。之后可以保存配置数据到config下的sensor.rviz下。
图3.3.2 至此,整个仿真环境已全部搭建完毕,仿真环境的功能包及其目录结构如图3.3.3所示。
图3.3.3 3.4 SLAM建图
在仿真环境搭建的基础上,接下来实现对机器人的建图操作。
3.4.1 基础准备
准备一、SLAM算法有多种,当前我们选用gmapping,gmapping 是ROS开源社区中较为常用且比较成熟的SLAM算法之一,gmapping可以根据移动机器人里程计数据和激光雷达数据来绘制二维的栅格地图,对应的,gmapping对硬件也有一定的要求:
(1)该移动机器人可以发布里程计消息
(2)机器人需要发布雷达消息(该消息可以通过水平固定安装的雷达发布,或者也可以将深度相机消息转换成雷达消息)
关于里程计与雷达数据,仿真环境中可以正常获取的,不再赘述,栅格地图如案例所示。
gmapping 安装调用命令如下:
sudo apt install ros--gmapping
gmapping 功能包中的核心节点是:slam_gmapping。为了方便调用,需要事先了解该节点订阅的话题、发布的话题、服务以及相关参数。
准备二|新建功能包nav_demo,导入依赖包: urdf、xacro、gazebo_ros、gazebo_ros_control、gazebo_plugins
config: 存储rviz配置文件
launch: 存储 launch 启动文件
map: 存储地图3.4.2 编写gmapping节点相关launch文件
在launch文件夹下编写nav01_slam.launch文件编写可以参考 github 的演示 launch文件:https://github.com/ros-perception/slam_gmapping/blob/melodicdevel/gmapping/launch/
slam_gmapping_pr2.launch,这里其内部具体进行细讲。3.4.3 执行
(1)先启动 Gazebo 仿真环境,也就接着上一个实验,就绪运行搭建好的仿真环境。
(2)启动地图绘制的 launch 文件:
roslaunch nav_demo nav01_slam.launch
(3)在打开的rviz 中更改参考参考坐标为map,新添加添加组件TF与MAP并在MAP中订阅/map,这是便可以显示栅格地图,如图3.4.1所示,最后保存配置文件到config下的nav中。
图3.4.1 (4)启动键盘键盘控制节点,用于控制机器人运动建图,这里注意不是自主建图,而是手动控制机器人移动建图,在后面将会对此操作进行改进,实现机器人自主移动建图。
(5)使用map_sever的map_saver节点保存地图
在launch文件夹下编写nav02_map_save.launch文件:<launch> <arg name="filename" value="$(find nav_demo)/map/nav_map" /> <node name="map_save" pkg="map_server" type="map_saver" args="-f $(arg filename)" /> </launch>
接着第四步新建终端运行该文件,在map文件夹下显示nav_map.pgm与nav_map.yaml文件,打开nav_map.pgm,显示如图3.4.2所示,即为建好的地图。
图3.4.2 nav_map.pgm本质是一张图片,直接使用图片查看程序即可打开。
nav_map.yaml保存的是地图的元数据信息,用于描述图片。
(6)使用map_sever的map_server节点读取保存地图
在launch文件夹下编写nav03_map_sever.launch文件:<launch> <!-- 设置地图的配置文件 --> <arg name="map" default="nav_map.yaml" /> <!-- 运行地图服务器,并且加载设置的地图--> <node name="map_server" pkg="map_server" type="map_server" args="$(find nav_demo)/map/$(arg map)"/> </launch>
其中参数是地图描述文件的资源路径,执行该launch文件,该节点会发布话题:map(nav_msgs/OccupancyGrid)
在仿真环境启动下,下在ubuntu终端中输入:rviz 启动rviz,并添加使用 map 组件并订阅/map话题便可以看到栅格地图,如图3.4.3所示。
图3.4.3 4、机器人定位与路径规划
4.1 机器人定位
定位就是推算机器人自身在全局地图中的位置,当然,SLAM中也包含定位算法实现,不过SLAM的定位是用于构建全局地图的,是属于导航开始之前的阶段,而当前定位是用于导航中,导航中,机器人需要按照设定的路线运动,通过定位可以判断机器人的实际轨迹是否符合预期。在ROS的导航功能包集navigation中提供了 amcl 功能包,用于实现导航中的机器人定位。
AMCL(adaptive Monte Carlo Localization) 是用于2D移动机器人的概率定位系统,它实现了自适应(或KLD采样)蒙特卡洛定位方法,可以根据已有地图使用粒子滤波器推算机器人位置。
amcl已经被集成到了navigation包,navigation安装前面也有介绍,命令如下:
sudo apt install ros--navigation4.1.1 编写amcl节点相关的launch文件
关于launch文件的实现,在amcl功能包下的example目录已经给出了示例,可以作为参考,调用命令:
roscd amcl
ls examples
该目录下会列出两个文件: amcl_diff.launch 和 amcl_omni.launch 文件,前者适用于差分移动机器人,后者适用于全向移动机器人。本实验建立模型就是差速移动机器人,故选取amcl_diff.launch文件。在launch文件夹下新建 nav04_acml.launch 文件,复制 amcl_diff.launch 文件内容并做部分修改。4.1.2 编写测试launch文件
amcl节点是不可以单独运行的,运行 amcl 节点之前,需要先加载全局地图,然后启动 rviz显示定位结果,上述节点可以集成进launch文件,因此在launch文件夹下新建test_acml文件,内容示例如下:
<launch> <!-- 启动rviz --> <node pkg="joint_state_publisher" name="joint_state_publisher" type="joint_state_publisher" /> <node pkg="robot_state_publisher" name="robot_state_publisher" type="robot_state_publisher" /> <node pkg="rviz" type="rviz" name="rviz" args="-d $(find nav_demo)/config/test_amcl.rviz" /> <!-- 加载地图服务 --> <include file="$(find nav_demo)/launch/nav03_map_sever.launch" /> <!-- AMCL文件 --> <include file="$(find nav_demo)/launch/nav04_amcl.launch" /> <!-- args="-d $(find nav_demo)/config/nav.rviz" --> </launch>
4.1.3 执行
(1)先启动 Gazebo 仿真环境,也就接着上一个实验,就绪运行搭建好的仿真环境。
(2)启动上一步中集成地图服务、amcl 与 rviz 的 launch 文件;
(3)启动键盘控制节点:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
使用键盘控制机器人移动。
(4)在启动的 rviz 中,添加RobotModel、Map组件,分别显示机器人模型与地图,添加 posearray 插件,设置topic为particlecloud来显示 amcl 预估的当前机器人的位姿,箭头越是密集,说明当前机器人处于此位置的概率越高,设置之后便得到图4.1.1。
图4.1.1 (5)通过键盘控制机器人运动,会发现 posearray 也随之而改变,演示结果如图4.1.2所示。
图4.1.2 4.2 机器人路径规划
路径规划是ROS机器人仿真的重要组成,在ROS的导航功能包集navigation中提供了 move_base功能包,用于实现此功能。
4.2.1 move_base功能包说明
move_base 功能包提供了基于动作(action)的路径规划实现,move_base 可以根据给定的目标点,控制机器人底盘运动至目标位置,并且在运动过程中会连续反馈机器人自身的姿态与目标点的状态信息。如前所述(7.1)move_base主要由全局路径规划与本地路径规划组成。
move_base已经被集成到了navigation包,navigation安装命令如下:
sudo apt install ros--navigation4.2.2 move_base与代价地图
(1)概念
机器人导航(尤其是路径规划模块)是依赖于地图的,地图在SLAM时已经有所介绍了,ROS中的地图其实就是一张图片,这张图片有宽度、高度、分辨率等元数据,在图片中使用灰度值来表示障碍物存在的概率。不过SLAM构建的地图在导航中是不可以直接使用的,因为:
SLAM构建的地图是静态地图,而导航过程中,障碍物信息是可变的,可能障碍物被移走了,也可能添加了新的障碍物,导航中需要时时的获取障碍物信息;
在靠近障碍物边缘时,虽然此处是空闲区域,但是机器人在进入该区域后可能由于其他一些因素,比如:惯性、或者不规则形体的机器人转弯时可能会与障碍物产生碰撞,安全起见,最好在地图的障碍物边缘设置警戒区,尽量禁止机器人进入…
所以,静态地图无法直接应用于导航,其基础之上需要添加一些辅助信息的地图,比如时时获取的障碍物数据,基于静态地图添加的膨胀区等数据。
(2)组成
代价地图有两张:global_costmap(全局代价地图) 和 local_costmap(本地代价地图),前者用于全局路径规划,后者用于本地路径规划。
两张代价地图都可以多层叠加,一般有以下层级:
Static Map Layer:静态地图层,SLAM构建的静态地图。
Obstacle Map Layer:障碍地图层,传感器感知的障碍物信息。
Inflation Layer:膨胀层,在以上两层地图上进行膨胀(向外扩张),以避免机器人的外壳会撞上障碍物。4.2.3 move_base的使用
路径规划算法在move_base功能包的move_base节点中已经封装完毕了,但是还不可以直接调用,因为算法虽然已经封装了,但是该功能包面向的是各种类型支持ROS的机器人,不同类型机器人可能大小尺寸不同,传感器不同,速度不同,应用场景不同…最后可能会导致不同的路径规划结果,那么在调用路径规划节点之前,我们还需要配置机器人参数。具体实现如下:
(1) 配置文件
关于配置文件的编写,可以参考一些成熟的机器人的路径规划实现,比如: turtlebot3,github链接:https://github.com/ROBOTIS-GIT/turtlebot3/tree/master/turtlebot3_navigation/param,先下载这些配置文件备用。
在nav_demo下新建 param 目录,复制下载的文件到此目录: costmap_common_params_burger.yaml;
local_costmap_params.yaml;
global_costmap_params.yaml;
base_local_planner_params.yaml;
并将costmap_common_params_burger.yaml 重命名为:costmap_common_params.yaml。
在launch文件夹下新建nav06_test.launch文件完成move_base节点的调用,其内容如下:<launch> <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen" clear_params="true"> <rosparam file="$(find nav_demo)/param/costmap_common_params.yaml" command="load" ns="global_costmap" /> <rosparam file="$(find nav_demo)/param/costmap_common_params.yaml" command="load" ns="local_costmap" /> <rosparam file="$(find nav_demo)/param/local_costmap_params.yaml" command="load" /> <rosparam file="$(find nav_demo)/param/global_costmap_params.yaml" command="load" /> <rosparam file="$(find nav_demo)/param/base_local_planner_params.yaml" command="load" /> </node> </launch>
(2) launch文件集成
如果要实现导航,需要集成地图服务、amcl 、move_base 与 Rviz 等,集成示例如下:<!-- 集成导航相关的launch文件 --> <launch> <!-- 加载地图服务 --> <include file="$(find nav_demo)/launch/nav03_map_sever.launch" /> <!-- AMCL文件 --> <include file="$(find nav_demo)/launch/nav04_amcl.launch" /> <!-- move_base --> <include file="$(find nav_demo)/launch/nav05_path.launch" /> <!-- rviz --> <node pkg="joint_state_publisher" name="joint_state_publisher" type="joint_state_publisher" /> <node pkg="robot_state_publisher" name="robot_state_publisher" type="robot_state_publisher" /> <node pkg="rviz" type="rviz" name="rviz" args="-d $(find nav_demo)/config/nav06_test.rviz"/> </launch>
(3)测试
步骤一:先启动 Gazebo 仿真环境,此过程同上。
步骤二:新建终端,运行nav06_test.launch文件 ,启动rviz。
步骤三:在启动的rviz界面,添加Rviz组件:RobotModal、Map,LaserScan,其中Map有三个,分别命名为Map,订阅话题:map为前面slam构建的地图;Map_global,订阅话题:全局代价地图;Map_local,订阅话题:本地代价地图。
更改Map_global下的Colour Schene为costmap,最后其显示如图4.2.1所示。最后保存配置到config下的nav06_test.rviz文件内。图4.2.1 4.2.4 实现路径规划
在上述配置好的rviz下,继续添加组件Path,这里需要添加两个Path组件,分别命名为Path_global,订阅全局规划地图;Path_local,订阅局部规划地图,并将其颜色改为红色。点击界面上部的2D Nav Goal,并在在地图上点击任意一点为目标点,接下来小车将自主移动到目标点,并且绿色线条表示全局规划地图,红色线条表示局部规划地图,最后显示界面如图4.2.2所示,
图4.2.1 5、实验总结
经过这次ROS机器人仿真实验,了解到了ROS中仿真实现涉及的三大部分与机器人导航的相关内容以及实现。
URDF 是用于描述机器人模型的 xml 文件,可以使用不同的标签具代表不同含义,URDF 编写机器人模型代码冗余,xacro 可以优化 URDF 实现,代码实现更为精简、高效、易读。在实验中本人最容易混淆的是Rviz与Gazebo,但是通过这次试验我已会正确区分两者。
rviz是三维可视化工具,强调把已有的数据可视化显示,需要已有数据,提供了很多插件,这些插件可以显示图像、模型、路径等信息,但是前提都是这些数据已经以话题、参数的形式发布,rviz做的事情就是订阅这些数据,并完成可视化的渲染,让开发者更容易理解数据的意义。
gazebo是三维物理仿真平台,强调的是创建一个虚拟的仿真环境,它不是显示工具,强调的是仿真,它不需要数据,而是创造数据。
其次,实现建图、定位以及路径规划就是在仿真环境下实现机器人导航,在本实验基础上更进一步还可以完成机器人自主移动实现建图、定位与路径规划。
最后本人电脑运行ROS确实有点卡,本人操作基于VScode,尤其实在gazebo仿真启动下,再启动RVIZ,会经常出现RVIZ无响应情况出现。
程序链接:
link -
路径规划避障源程序源码仿真 机器人路径规划程序 ROS机器人turtlebot路径规划 子群算法求解机器人路径规划
2022-04-29 21:19:40(多/清洁/ROS)机器人(动/静态)路径规划避障源程序源码仿真集合 1、机器人路径规划程序(matlab环境中的机器人路径规划程序,经过调试可以直接使用) 2、Astar算法机器人路径规划(Ubuntu,在playerstage仿真) 3、...(多/清洁/ROS)机器人(动/静态)路径规划避障源程序源码仿真集合
1、机器人路径规划程序(matlab环境中的机器人路径规划程序,经过调试可以直接使用)
2、Astar算法机器人路径规划(Ubuntu,在playerstage仿真)
3、粒子群机器人路径规划(一个用粒子群开发的Matlab移动机器人路径规划)
4、多机器人路径规划算法(可视化界面显示,默认实验数据为实现4个机器人路径规划)5、ROS机器人turtlebot路径规划(包括了OMPL_ros_turtlebot,贝塞尔曲线拟合后的rrt,move-base-ompl,navigation_tutorials,relaxed_astar等路径规划资源,可用于ROS机器人的路径规划研究)
6、机器人路径规划c#(改变环境大小 自行设置起点、终点、障碍物 建立四叉树 计算出最优路径 并在界面中表示出路径与机器人运动状况)
7、MATLAB,机器人的路径规划研究
8、粒子群算法求解机器人路径规划(历程比较详细)
9、细化算法GUI实现 机器人路径规划(matlab GUI 实现细化算法,界面简洁实用,包含实验报告,扩展到机器人路径规划问题!)
10、移动机器人路径规划A星算法
11、基于VC的机器人路径规划仿真平台(建立了基于人工势场的机器人路径规划仿真平台,这个版本为最终版,其间经历十余次改进,路径规划效果很好!可以实现多机器人动态路径规划以及单机器人的路径规划问题。 基于VC2005实现。)
12、基于蚁群算法的机器人路径规划MATLAB源码
13、机器人路径规划的元胞自动机算法(很有用的 对CA moore的改进算法 看了之后受益匪浅 机器人动态(适用于静态)路径规划)
14、关于机器人路径规划的人工势场算法
15、基于遗传算法的机器人路径规划MATLAB源码
16、基于蚁群算法的多机器人路径规划
17、基于遗传算法的机器人路径规划matlab程序(采用栅格对机器人的工作空间进行划分,再利用优化算法对机器人路径优化,是采用智能算法求最优路径的一个经典问题。)
18、基于人工势场法的移动机器人动态路径规划究
19、基于A-Star算法的机器人路径规划(基于A算法的机器人路径规划的MATLAB实现,可自由选择地图和起始终止点,并且含有简单的文档和ppt)
20、matlab改进人工势场法模拟机器人路径规划,避障(在论坛上搜了一些matlab人工势场法程序,但很多都有一些问题,比如目标不可达,角度计算错误等等。在这些的基础上,我进行了改进,使得能够更好地到达目标点,减少了震荡,但是依旧会出现几次震荡,愿高手继续完善。程序可以用C写出来,做机器人路径规划或者避障的同学,该文档有很高的参考性。)
21、基于模糊算法的移动机器人路径规划
22、机器人路径规划 人工势场法 MATLAB 可直接运行
23、C++蚁群算法的机器人路径规划(资源包括详细的代码和注释,代码由VS2005 编写,附有可执行文件和源代码。附有说明文档可供参考。)
24、路径规划算法实现(众多路径规划算法实现,代码实现了机器人使用的一些常见的路径规划算法,包括基于搜索的算法和基于采样的算法。)
25、基于matlab的机器人最优路径规划仿真(本项目是机器人课程的一个课程设计,能利用A星(A)算法搜索出最有路径,包括方格地图和谷歌地图,采用matlab开发,在地图上设置起点终点,系统可找出最短路径)
26、一种基于可视图法的机器人全局路径规划算法
27、基于智能优化的机器人路径规划matlab(程序 仿真)(1、采用Matlab编写 2、内部包含程序源码 3、采用遗传算进行路径的规划和查找 4、对障碍物的位置形状和路径规划的起始和终止点可以自己设定)
28、人工势场结合模糊控制算法的机器人路径规划(可直接运行)(人工势场配合Mamdani型模糊控制算法的机器人路径规划与分析。MATLAB代码,可直接运行)
29、基于遗传算法的机器人路径规划(附程序源码)(经本人亲自验证,是可以运行的C++程序。)
30、室内清洁机器人的全区域路径规划及避障研究(虚拟现实技术 遗传算法)
31、机器人障碍环境下路径规划改进的回退蚁群算法(matlab版)(有可视化界面)
32、自主移动机器人路径规划新方法(含matlab代码、ppt以及文档)
33、清扫机器人路径规划算法仿真(模拟清扫机器人搜寻垃圾,以MATLAB作为仿真环境,实现算法设计)
-
ros-机器人路径运动仿真
2020-05-06 22:33:53参考:...安装ROS-BY-EXAMPLE书配套的代码包rbx1 再打开一个终端(第一次运行需要安装,第二次运行就不需要安装了,省略第二行): cd ~/catkin_ws/src git clone ...1.安装turtlebot包
sudo apt-get install ros-kinetic-turtlebot-*
2.安装可视化工具rviz(一般都已经安装完成)
rosdep update
rosdep install rviz
rosmake rviz
3.打开ROS(以上基本都安装完,一般直接第一步)
第一个终端:
roscore
4.安装arbotix模拟器
重新打开一个终端
sudo apt-get install ros-melodic-arbotix-*
5.安装ROS-BY-EXAMPLE书配套的代码包rbx1
再打开一个终端(第一次运行需要安装,第二次运行就不需要安装了,省略第二行):
cd ~/catkin_ws/src git clone https://github.com/pirobot/rbx1.git cd .. catkin_make
6.导航仿真
再打开一个终端:
roslaunch rbx1_bringup fake_turtlebot.launch
再一个终端测试地图运行amcl节点:
roslaunch rbx1_nav fake_amcl.launch map:=test_map.yaml
再一个终端运行rviz:
rosrun rviz rviz -d `rospack find rbx1_nav`/nav.rviz
其中单击2D Pose Estimate,单击地图位置,选择机器人初始位置;点击2D Nav Goal ,点击地图,选择机器人目的位置。选择完成后机器人后自动走到目的位置。
遇到问题1:
RLException: [fake_turtlebot.launch] is neither a launch file in package [rbx1_bringup] nor is [rbx1_bringup] a launch file name
The traceback for the exception was written to the log file
解决方法:
这个问题一般有两个可能的原因,一个是忘了进行source
在终端中:
$ cd ~/catkin_ws
$source devel/setup.bash
遇到问题2:
[rospack] Error: package ‘rbx1_nav’ not found
解决方法:这是由于没有配置环境的原因所造成的,输入命令行source ~/catkin_ws/devel/setup.bash -
第六章-ROS机器人系统仿真
2022-02-11 14:20:18第六章-ROS机器人系统仿真 -
基于ROS的机器人定位与导航系统的仿真设计
2021-01-13 04:09:21移动机器人的路径规划技术和同时定位与建图技术是机器人实现真正智能化的前提。针对该问题,本文设计实现了一个基于机器人操作系统(ROS)的解决方案。在定位与建图中使用开源软件包Gmapping提供的算法,用于完成... -
机器人路径规划程序 Astar算法机器人路径规划 多机器人路径规划算法 MATLAB,机器人的路径规划研究 基于...
2022-03-17 12:54:532、Astar算法机器人路径规划(Ubuntu,在playerstage仿真) 3、粒子群机器人路径规划(一个用粒子群开发的Matlab移动机器人路径规划) 4、多机器人路径规划算法(可视化界面显示,默认实验数据为实现4个机器人路径... -
MATLAB轨迹规划 发给ROS中机器人实现仿真运动
2021-04-29 11:24:30MATLAB轨迹规划 发给ROS中机器人实现仿真运动 现象如图所示: 0、matlab 与 ROS 通信: https://blog.csdn.net/qq_40569926/article/details/112162871 指定matlab路径:连接三句话 pe = pyenv('Version','D:\... -
matlab集成c代码-ROS-Project:这是一个基于机器人路径规划和控制理论的项目
2021-05-22 04:02:10这是一个基于机器人路径规划和控制理论的项目。 这意味着我需要使用一种路径规划算法来规划从给定起点到目标点的路径,并通过给定环境进行规划。 然后,我需要为机器人的控制器创建代码。 这将使机器人能够逐点遍历... -
基于ROS的轮式机器人建模与路径规划仿真.pdf
2021-08-12 22:59:11#资源达人分享计划# -
Clean-robot-turtlebot3:自主清洁机器人。 全覆盖路径规划器和探索
2021-05-27 11:24:10自主清洁机器人仿真 效果展示视频 全覆盖路径规划 自主探索建图 安装依赖 sudo apt install ros-${ROS_DISTRO}-turtlebot3 ros-${ROS_DISTRO}-navigation ros-${ROS_DISTRO}-dwa-local-planner ros-${ROS_DISTRO}-... -
机器人导航(仿真)(三)——路径规划(更新中)
2021-08-27 16:28:01参考视频:【奥特学园】ROS机器人入门课程《ROS理论与实践》零基础教程_哔哩哔哩_bilibili 参考文档:http://www.autolabor.com.cn/book/ROSTutorials/ 导航实现03_路径规划 毋庸置疑的,路径规划是导航中的核心功能... -
ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建
2020-08-13 22:30:18本篇博客将使用gazebo对我们的机器人进行仿真。首先确保已经 写在前面 首先介绍一个功能包:ros_control gazebo物理仿真步骤 配置机器人模型 为每个link添加惯性参数以及碰撞参数 为每个link添加gazebo... -
基于ROS的机器人建图与导航仿真全过程
2022-04-20 14:29:25引言 之前一直想写一篇关于ROS机器人建图与导航仿真全过程的教程,终于有时间来做这个事啦,本人也拿过吉林省高校机器人大赛——ROS竞速组的冠军,第十六届全国智能车比赛——讯飞餐厅组线上赛二等奖,我想这个教程... -
Bezier曲线与A*算法融合的移动机器人路径规划
2020-10-16 08:45:20移动机器人路径规划一直是移动机器人领域里的重要技术问题。A*算法在最优路径搜索上有着比较成功的运用,但在栅格环境下的A*算法也存在着折线多、转折角度大等问题。在考虑移动机器人的实际工作环境及相关运动参数后... -
ros导航仿真——定位与路径规划
2020-07-22 10:34:45用于路径规划。 首先启动小车 roslaunch diff_wheeled_robot_gazebo diff_wheeled_gazebo_maze.launch 然后启动amcl和move_base roslaunch diff_wheeled_robot_gazebo maze2_amcl.launch 这个启动文件中包括amcl.... -
Gazebo搭建虚拟环境完成ROS机器人定位导航仿真及YOLO检测识别标记物体
2021-03-27 12:01:21文章目录前言一、前期...本过程采用Ubuntu18.04+ROS Melodic+Gazebo+yolo3 一、前期准备 (一)创建工作空间 创建ros的工作区域 mkdir -p ~/robot_positioning_ws/src 转换到工作区域目录 cd ~/robot_positionin -
【ROS】移动机器人导航仿真(3)——定位(amcl)和路径规划(move_base)
2016-12-16 11:48:28至此已完成整个移动机器人导航仿真的工作,完整代码见:http://pan.baidu.com/s/1geEWmv5amclamcl是移动机器人在2D环境中的概率定位系统。它实现了自适应(或KLD采样)蒙特卡罗定位方法,其使用粒子滤波器来针对已知... -
ROS机器人仿真(Ackermann 转向机构)
2020-10-17 00:00:01本文代码已上传 github 期待点个start 环境: Ubuntu16.04 + Ros kinetic 参考: --------- -
ROS模拟器-第0篇-10分钟上手ROS仿真机器人路径规划与障碍物避障
2018-02-04 22:27:43路径规划与障碍物避障 大家都玩过迷宫游戏,像下图这样的一幅简单的迷宫,相信我们都能够很容易的画出从起点到终点的路径。...机器人得到去往目标点的指令后,立刻就知道该如何去目标点(路径规划) -
ROS入门(九)——机器人自动导航(介绍、地图、定位和路径规划)
2021-07-22 14:06:24【奥特学园】ROS机器人入门课程《ROS理论与实践》零基础教程P289- 【以上视频笔记见http://www.autolabor.com.cn/book/ROSTutorials/】 一、介绍 官方链接:https://www.ros.org/reps/rep-0105.html 1.实现导航... -
ROS学习--第9篇:ROS机器人建模与仿真---从头构建视觉机器人模型
2019-05-29 22:44:11https://github.com/ros/urdf_tutorial 下载后解压到 ~/catkin_ws/src 文件下 在 /catkin_ws/src/urdf_tutorial-master/urdf 中,我们可以看到很多urdf文件。 1. 打开01-myfirst.urdf可以看到,这里用visual... -
rbx1机器人仿真使用RRT路径规划算法
2022-03-24 22:21:23rbx1机器人仿真使用RRT路径规划算法 -
ROS机器人程序设计
2017-11-29 17:09:52读完本书后,你会发现已经可以使用ROS机器人进行工作了,并理解其背后的原理。, 主要内容, 第1章介绍安装ROS系统最简单的方法,以及如何在不同平台上安装ROS,本书使用的版本是ROS Hydro。这一章还会说明如何从... -
ROS机器人底盘(4)-3D仿真模型
2021-02-11 08:27:07ROS中通过RVIZ可视化机器人导航情况,其中,URDF(Unified Robot Description Format)是统一的机器人描述文件,此类文件通过HTML格式定义机器人模型(Robot Model)的相关信息,如:连杆、关节名称,运动学参数、动力学... -
ROS机器人定位导航仿真(包括智能车、无人机飞行的仿真)
2020-07-11 14:53:38二、仿真 1.运行小车模型 2.运行赛道 3.自主定位导航 4.搭建自己的地图 5.导航 一、准备阶段 1.下载智能车源码包 进入ROS工作区 cd ~/ROS/src/ 在终端中使用Git命令下载源码包 git clone ... -
Part5.3 ros机器人仿真 gazebo篇
2021-11-25 16:14:451.gezebo 是对小车的物理信息进行仿真 因为要用到小车的碰撞参数,以及惯性矩阵,所以要先设置一个xacro头文件 <!--封装了球 长方形 圆柱的惯性矩阵的算法--> <robot name="base" xmlns:xacro=...