论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
前端开发
›
30分钟速通ROS团结Webots仿真实战
30分钟速通ROS团结Webots仿真实战
来自云龙湖轮廓分明的月亮
金牌会员
|
2024-9-30 02:15:21
|
显示全部楼层
|
阅读模式
楼主
主题
842
|
帖子
842
|
积分
2536
写在前面:
本文是ROS团结Webots仿真实战教程,不包含ROS环境安装设置教程,ROS环境安装设置教程可以参考1.2.4 安装 ROS · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程
另本文所用版本如下:
ubuntu版本:20.04
webots版本:2021a`
ros版本:noetic
复制代码
一、 前期准备
1.安装ubuntu,版本:20.04
2.设置ros环境,版本:noetic
二、 创建工作空间
1. 创建工作空间
mkdir -p ~/cankin_ws/src
复制代码
之后进入src文件夹下面,将其初始化为ROS工作空间:
cd ~/cankin_ws/src
catkin_init_workspace
复制代码
2.编译工作空间
编译操作必要在工作空间的根目录下实验,以是我们必要cd到工作空间的根目录下面对其进行编译
cd ..
catkin_make
复制代码
假如没有报错的话,就说明安装乐成了。之后在我们的src目录下面就会生成两个文件夹build和devel。build文件内里是编译过程当中产生的中心文件;devel内里是编译过程当中产生的一些可实验文件和一些环境变量设置的脚本。
3.设置环境变量
记事本打开设置文件
sudo gedit ~/.bashrc
复制代码
在设置文件最末尾加上:
source /opt/ros/noetic/setup.bash
source ~/catkin_ws/devel/setup.bash
export WEBOTS_HOME=/usr/local/webots
export ROS_HOSTNAME=localhost
export ROS_MASTER_URI=http://localhost:11311
复制代码
然后点击右上角生存,最后退出。利用以下下令使其在当前终端中收效:
source ~/.bashrc
复制代码
4.检查环境变量
新打开一个终端,输入以下下令检查环境变量:
echo $ROS_PACKAGE_PATH
复制代码
三、ROS团结webots
1. 下载webots2021a(随便找个地方放就好了)
github
webots2021a下载链接
利用下面下令解压安装软件
dpkg -i webots_2021a_amd64.deb
复制代码
2.安装webots_ros
sudo apt install ros-noetic-webots-ros
复制代码
安装完后必要再去GitHub下一个案例包webots_ros,
这里webots2021a对应的是4.0.1版本。下载链接
将下载的案例包放到之前创建的工作空间catkin_ws/src下
此时的目录结果应该如下图所示:
3. 测试
完成上述步骤后,再工作空间根目录,即catkin_ws下打开一个终端,实验下面下令
catkin_make
roslaunch keyboard_teleop.launch
复制代码
一切顺利的话,你将看到下面的结果,可以利用键盘↑ ↓ ← →控制小车移动
注意:上图中,我实验的下令是roslaunch webots_ros keyboard_teleop.launch是由于我的src下有两个目录webots_ros和webots_demo,以是必要指定是哪个目录,webots_demo目录我们后面会讲
四、建图和导航
1. 准备工作
1.1 源神,启动!
建图和导航的源码地点:
https://github.com/JackyMao1999/webots_demo?tab=readme-ov-file
下载解压放到工作空间catkin_ws/src下,此时的目录结果应该如下图所示:
1.2 安装功能包
然后参考文档说明安装相关的功能包即可。
⚠️注意:源码中包含了多种建图算法和导航算法的案例,其中cartographer建图算法相关功能包的安装比力麻烦,本人也没有安装乐成。以是建议跳过安装cartographer功能包的步骤,利用其他建图算法,本人利用的是gmapping及时建图算法和teb导航算法。
1.3 更换webots场景
将自己的webots场景文件更换原来的webots_map.wbt(更换后定名改成webots_map.wbt)。目录见下图。
完成上面步骤后就可以开始建图和导航了。
2. 建图
利用gmapping算法作为建图算法,teb算法作为导航算法进行导航建图。利用其他算法同理。
新建两个终端分别运行下面下令
roslaunch webots_demo slam_teb_gmapping.launch
rosrun webots_demo velocity_keyboard_v2
复制代码
利用键盘 ↑ ↓ ← →控制机器人小车移动扫描整个地图,从而建立一张地图。扫描过程比力吃电脑设置,必要耐烦一点。这里原理是激光雷达扫描,感兴趣的可以了解一下。
扫描完毕后运行下面下令生存地图。
rosrun map_server map_saver -f map
复制代码
地图文件会生存到根目录下,将其复制粘贴到下图中的目录下。
完成上面步骤就可以关掉上面两个终端了
3. 导航
在已有地图上导航,利用amcl定位算法,base算法作为导航算法进行已知地图导航。
新建两个终端分别运行下面下令
roslaunch webots_demo amcl_demo.launch
rosrun webots_demo demo_2dnav_move
复制代码
运行完后可以看到如下场景:
图片来源:https://blog.csdn.net/xiaokai1999/article/details/112596640
设置目标点,运行结果如下:
图片来源:https://blog.csdn.net/xiaokai1999/article/details/112596640
参考文献:
[1] ROS团结webots实战案例目录_webots和ros noetic 团结-CSDN博客
[2] ROS团结webots实战案例(五)导航功能包入门2_ros navigation地域限定-CSDN博客
[3] ROS团结webots实战案例(一)安装设置webots_webots python ros-CSDN博客
[4] ROS工作空间搭建和功能包创建与编译_ros工作空间编译-CSDN博客
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
来自云龙湖轮廓分明的月亮
金牌会员
这个人很懒什么都没写!
楼主热帖
容器化 | 在 S3 实现定时备份 ...
C#实现HTTP访问类HttpHelper
【黄啊码】MySQL入门—5、数据库小技巧 ...
工作流引擎在vivo营销自动化中的应用实 ...
Kubernetes-理解对象
【OpenHarmony】VSCode下移植 LiteOS-M ...
一生一芯预学习1 | 如何科学的提问(解 ...
MySQL索引的理解学习,面试不问索引原理 ...
【低代码】低代码平台协同&敏捷场景下 ...
Hadoop运行集群搭建
标签云
存储
挺好的
服务器
快速回复
返回顶部
返回列表