Ubuntu18.04 Turtlebot2机器人移动控制 Rviz Gazebo仿真实现

这篇具有很好参考价值的文章主要介绍了Ubuntu18.04 Turtlebot2机器人移动控制 Rviz Gazebo仿真实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Ubuntu18.04 ROS-Melodic Turtlebot2

操作系统为ubuntu18.04 安装ROS Melodic Turtlebot2,很多大佬分享了详细的安装过程,在这里就不多赘述,安装遇到问题多百度,大部分都是可以解决的。

Turtlebot2移动控制

前期学习了赵虚左老师的ROS入门课程,结合Turtlebot2资料这里方便大家打开,放的创客制造的文档,也推荐大家去看官方文档

首先创建一个工作空间,然后切换到工作空间进行编译

mkdir -p rosdemo_ws/src
cd rosdemo_ws/
catkin_make

方法一 终端运行

机器人底盘连接到电脑,关闭turtlebot所有终端窗口,打开一个新的中断,听到提示音后,机器人底盘成功连接

roslaunch turtlebot_bringup minimal.launch

在工作空间下,下载源代码

sudo git clone https://github.com/markwsilliman/turtlebot/

切换目录

cd turtlebot

运行测试脚本,这里有两个都可以作为测试脚本,goforward.py 或者 draw_a_square.py

python goforward.py

能够看到机器人向前移动,按下Ctrl + c,停止运行

接着打开脚本

sudo gedit goforward.py

可以对速度等参数进行修改,比如如下

# let's go forward at 0 m/s
move_cmd.linear.x = 0
# let's turn at 0.5 radians/s
move_cmd.angular.z = 0.5

保存退出,重新运行程序,可以看到更改后的效果

运行另一个测试的脚本,你会看到Turtlebot2在地板上画正方形

python draw_a_square.py

至此,完成Turtlebot2的测试,但是为了更加方便我们开发,个人觉得用gedit打开代码不是很舒服,所以第二种方法我们安装配置VScode,这里VScode安装以及配置方法可以参考VScode配置

方法二 VScode运行实现精确控制

在之前的测试中,只能用Ctrl + c停止运行,可以实现更加精确的控制吗?比如我想前进1米,在转弯30度,在前进2米,最好我可以通过终端传入参数来控制移动距离或者传入角度

这里参考了上述历程中的想法,比如设置机器人的移动速度为 0.2m/s 运行 5s 的时间就能够实现移动1m的控制目标

代码如下所示,添加对输入参数个数进行检测

#import
import sys

#main
if __name__ == '__main__':
	
	#judge the number of  param
	if len(sys.argv) != 3:
		rospy.logerr("Input error")
		sys.exit(1)

	# ros  running
	try:
		DrawASquare()
	except:
		rospy.loginfo("node terminated.")

接着对DrawASquare()函数根据自己的需求进行更改,这里展示部分,简单实现了所需功能

while not rospy.is_shutdown():
	if(str(sys.argv[1]) == 'line'):
		#if go forward 0.2 m (1 seconds * 0.2 m / seconds)
		rospy.loginfo("Going Straight")
		for x in range(0,int(float(sys.argv[2])*5*5)):
			self.cmd_vel.publish(move_cmd)
			r.sleep()
	count = count + 1
	if(count == 1): 
		sys.exit(1)

这里移动的距离通过for循环中的参数进行设置,完成了脚本的编写之后,编译没问题之后进行仿真设计。

Rviz Gazebo仿真实现

1.首先为地图创建一个文件夹

mkdir ~/turtlebot_custom_maps

2.推出Gazebo的世界

roslaunch turtlebot_gazebo turtlebot_world.launch

3.启动地图建设

roslaunch turtlebot_gazebo gmapping_demo.launch

4.使用rviz的地图构建过程可视化

roslaunch turtlebot_rviz_launchers view_navigation.launch

这里上边给出的是官方的文件,但是在我的路径中没有找到,最后发现在我的文件中,命名为 view_robot.launch,更改为如下指令

roslaunch kobuki_rviz_launchers view_robot.launch

到此就成功打开了Gazebo 和 Rviz

Ubuntu18.04 Turtlebot2机器人移动控制 Rviz Gazebo仿真实现

问题汇总:

在仿真运行过程中可能会遇到的问题
1.RLException: [xx.launch] is neither a launch file in package [x] nor is [x] a launch file name

原因:没有添加环境变量

解决方法:
回去再次编译,添加环境变量(建议报类似错误时候 source一下,可能有意想不到的效果哈哈)

catkin_make
source ./devel/setup.bash

2.Rviz 启动后 No transform from [base_link] to [map]
robotmodel下的Status状态是红色的,而且右侧显示的机械臂上附近有不明的大片的白色

原因:缺少unicode

解决方法
安装 unicode 关闭终端,重新启动 Rviz

sudo apt-get install unicode

结合仿真与机器人控制

我们在仿真中,运行之前写的精确控制机器人移动的脚本,直观进行展示

cd到python脚本的工作空间,编译成功后,代码如上,输入第一个参数为走直线的指令(line),第二个参数为移动距离(1m)

rosrun test01_hello draw_a_square.py line 1

Ubuntu18.04 Turtlebot2机器人移动控制 Rviz Gazebo仿真实现

Rviz中看到机器人移动距离大约为1m(大约一个格子的距离)

Ubuntu18.04 Turtlebot2机器人移动控制 Rviz Gazebo仿真实现

当然你也可以控制机器人旋转固定的角度,输入第一个参数为旋转的指令(rotate),第二个参数为旋转角度(90)

rosrun test01_hello draw_a_square.py rotate 90
rosrun test01_hello draw_a_square.py line 1

Ubuntu18.04 Turtlebot2机器人移动控制 Rviz Gazebo仿真实现

不仅可以在Rviz中看到机器人移动,也可以在Gazebo中看到机器人移动画面,这里不做展示。

还可以通过键盘控制机器人的移动

roslaunch turtlebot_teleop keyboard_teleop.launch

小结

本篇主要记录自己在做毕设过程中的一些过程与经验,部分地方的内容不是很详细,但是已附上参考链接,希望给到大家帮助,遇到问题可以多百度一下,很多大佬都给出了详细的解决方案,祝您科研顺利文章来源地址https://www.toymoban.com/news/detail-424187.html

到了这里,关于Ubuntu18.04 Turtlebot2机器人移动控制 Rviz Gazebo仿真实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器人入门(五)—— 仿真环境中操作TurtleBot

    进行实操之前,先准备环境 环境准备好后,执行以下命令启动 可以看见以下效果,视角不舒服的话,就按 Ctrl+Shift+鼠标左键 调整调整至你喜欢的视角,并通过滚轮缩放大小。 按如下顺序点击,TurtleBot将被一个白色框线框住,并可以查看姿态信息 也可以用以下命令,打印出

    2024年04月26日
    浏览(39)
  • ROS Turtlebot3多机器人编队导航仿真

    前面已经实现了在gazebo仿真环境中机器人一字型编队、三角形编队、N字型编队等仿真,接下来考虑多机器人编队在编队行进过程中的避障问题,通过在RVIZ中加载多个机器人使他们能分别进行全局和局部路径规划,来进行避障。 在前面的文章中也提到过在gazebo仿真环境中加载

    2024年02月02日
    浏览(58)
  • 木叶飞舞之【机器人ROS2】篇章_第二节、turtlebot3安装

    没有真实小车的情况下,利用gazebo的仿真,操作小乌龟来学习ros2。废话不多说,直接上命令。 假如前一节未安装源码版本的cartographer,那就安装apt版本的。 将pbstream转化为pgm和yaml,在cartographer_pbstream_to_ros_map目录下执行

    2024年02月11日
    浏览(44)
  • ROS仿真软件Turtlebot-Gazebo的安装使用以及错误处理[机器人避障]

            很多时候由于机器人价格比较贵,而且会因为环境因素、操作失误或者摔坏等,所以我们可以先在仿真软件上做测试,也可以避免这些问题,虽然没有那么真实感,可毕竟是免费的嘛。我们可以在这些仿真的机器人身上去学习如何控制机器人,读取它们的传感器数

    2024年02月08日
    浏览(48)
  • 机器人操作系统ROS(11)Turtlebot3自动避障及其地图构建和导航

    该节需要完成前面一节内容实现turtlebot3正常创建新地图,才可以实现本节的自动避障和导航 启动虚拟机器人有环境的仿真 键盘控制 打开新端口 3. 自动避障 打开新端口 4. 调用rviz 注意:可以通过修改size来变化激光扫描边缘的粗细 之前已经启动无需再起世界地图 启动好后可

    2024年02月02日
    浏览(43)
  • ubuntu20.04_ROS中运行gazebo控制机器人模型报错

    1.无法启动类型为[controller_ manager/spawner]的节点:controller_ manager ERROR: cannot launch node of type [controller_manager/spawner]: controller_manager ROS path [0]=/opt/ros/noetic/share/ros ROS path [1]=/home/lym/catkin_ws/src ROS path [2]=/opt/ros/noetic/share 解决办法:安装controller_manager 2.控制器生成程序找不到预期的控

    2024年02月16日
    浏览(50)
  • ROS2下使用TurtleBot3-->SLAM导航(仿真)RVIZ加载不出机器人模型

    在使用台式机进行仿真时,大部分例程很顺利,但在SLAM导航时,在RVIZ中却一直加载不出机器人模型,点击Navigation2 Goal选择目标点进行导航时,无响应。 启动后在RVIZ2和终端看到一个错误 按照官网的指令试了多次,一直无法加载,在网上赵的解决方案都是修改RVIZ里的各种设

    2024年02月09日
    浏览(54)
  • Linux系统 Ubuntu18.04安装的详细教程(提供18.04ubuntu镜像)

    镜像文件下载: 链接:https://pan.baidu.com/s/12bEdRBwO1YbLt23QKnrSrA 提取码:h7as 关于全名、用户名区别可先看第四部分 处理器和内核数量,根据需要配置就行。我是8核16线程,配置2,2。小白学习的话,配置低一点没关系。如果你只是为了学一些基础命令,配置成1,1应该也没问题

    2024年02月01日
    浏览(89)
  • Ubuntu18.04 升级Ubuntu20.04

    因项目环境需要,欲将Ubuntu18.04升级至Ubuntu20.04,参考网上其他小伙伴的方法,也遇到了一个问题,特此记录一下,希望能帮助其他有同样问题的小伙伴。 参考:第十五章 Ubuntu18.04LTS升级到20.04LTS 主要的步骤: 在执行“do-release-upgrade”时,遇到“Failed to connect to https://changel

    2024年02月02日
    浏览(58)
  • Ubuntu(18.04)换源

    主要参考Ubuntu(18.04)更换国内源方法及注意事项_muxi_712的博客-CSDN博客 为防止其删除博客,本文简单重新梳理一遍: 跳转: 查看: 备份: 替换: 这里使用清华源:打开https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/,选择对应的Ubuntu版本。当然也可以选择其他源比如阿里源,中科大源

    2024年02月04日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包