ROS小车——stage机器人仿真器(5)


前言

在有新的slam算法或路径规划算法改进时,使用真实ROS小车实验可能比较麻烦,采用仿真环境的小车测试可以随便换算法,随意改进。提高效率。


一、拆除分布式通信

stage机器人仿真器只在PC端运行,不需要机器人端,要让master节点运行到PC上,先打开/.bashrc文件。gedit ~/.bashrc
在这里插入图片描述
我们之前指定了一个机器人的ip作为MASTER_UR的ip地址,我们前面加个#注释掉。下一行的#去掉,他会读取自己的ip地址作为master节点的地址。修改后如图两行。
在这里插入图片描述
保存后,source .bashrc
启动roscore测试,ros master的运行地址为192.168.9.218
在这里插入图片描述
ifconfig 查看本机ip是一样的192.168.9.218
在这里插入图片描述

二、stage仿真器

1.启动stage仿真器

roslaunch robot_simulation simulation_one_robot.launch,打开仿真器
在这里插入图片描述
打开终端rosrun teleop_twist_keyboard teleop_twist_keyboard.py遥控红点机器人进行移动。
另外,gedit .bashrc里的最下边BASE_TYPE是需要根据车型进行修改的,仿真中主要关心这个环境变量。
在这里插入图片描述
在这PC端修改和机器人端无关,比如nano robot有不同特性,NanoCar是阿克曼转向车型,他没有办法实现场景中的原地旋转,比如键盘控制车rosrun teleop_twist_keyboard teleop_twist_keyboard.py遥控红点机器人进行移动时,l命令原地转不管用。

2.stage仿真器的建图

roslaunch robot_navigation robot_slam_laser.launch这个命令输完后双击tab,
在这里插入图片描述
可以看到simulation的参数,他的默认值在launch文件中为false,false时会尝试去启动本体的硬件。改为ture就会启动机器人仿真器。roslaunch robot_navigation robot_slam_laser.launch simulation:=true
再打开一个rivz界面,roslaunch robot_navigation slam_rviz.launch
(也可以直接 roslaunch robot_navigation robot_slam_laser.launch simulation:=true open_rviz:=true,rviz界面也直接打开了)
在这里插入图片描述
启动键盘控制rosrun teleop_twist_keyboard teleop_twist_keyboard.py,完成整个建图
在这里插入图片描述

我们把地图保存在主目录下
rosrun map_server map_saver -f stag_map

3.stage仿真器的导航

roslaunch robot_navigation robot_navigation.launch simulation:=true open_rviz:=true
打开后2D Nav Goal便可以实现自主规划路径导航。
在这里插入图片描述

rosmsg show geometry_msgs/Twist
这个消息是三个线速度叠加三个角速度而共同组成一个平面运动,但在stage仿真器中angular的放loat64 z不是机器人的角速度而是前轮转向角度,所以仿真中看上去并不流畅。
在这里插入图片描述
我们可以修改配置,打开这个文件夹
在这里插入图片描述
这一行
在这里插入图片描述
把默认的False改为Ture,在teb规划器也支持这个模式,发布的cmd_vel中角速度实际上是转向角。实际机器人不改。改完后:
在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值