ROS -by- Example slam

ROS-by-example的安装

在这里我之前用的VM12安装成功之后,仿真器机器人会有问题,故把电脑做成双系统的形式来重新安装;

环境:Ubuntu14.04 LTS 32bits

ROS版本:ROS Indigo

在学习本部分之后的内容,请先学习 beginner_Tutorialslearning_tfROS 相关教程。

下面是安装准备

1、在下载机器人程序包之前,我需要先安装一些必要的软件包。直接执行下面的命令进行安装:
注意:如果你还没有使用 ROS 的国内镜像网站,请先配置相关文件。将 ROS 的下载网站设置为国内镜像网站。参考网站:http://blog.csdn.net/github_35160620/article/details/52337181,这里面有讲:如何设置软件源配置文件。)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
sudo apt-get install -y ros-indigo-turtlebot-bringup \
  ros-indigo-turtlebot-create-desktop ros-indigo-openni-* \
  ros-indigo-openni2-* ros-indigo-freenect-* ros-indigo-usb-cam \
  ros-indigo-laser-* ros-indigo-hokuyo-node \
  ros-indigo-audio-common gstreamer0.10-pocketsphinx \
  ros-indigo-pocketsphinx ros-indigo-slam-gmapping \
  ros-indigo-joystick-drivers python-rosinstall \
  ros-indigo-orocos-kdl ros-indigo-python-orocos-kdl \
  python-setuptools ros-indigo-dynamixel-motor-* \
  libopencv-dev python-opencv ros-indigo-vision-opencv \
  ros-indigo-depthimage-to-laserscan ros-indigo-arbotix-* \
  ros-indigo-turtlebot-teleop ros-indigo-move-base \
  ros-indigo-map-server ros-indigo-fake-localization \
  ros-indigo-amcl git subversion mercurial

ros-by-example包 提供了2个测试用的模拟机器人:TurtleBot Pi Robot

2、在必要软件安装好之后,下载rbx1.

复制代码
$ cd ~/catkin_ws/src
$ git clone https://github.com/pirobot/rbx1.git
$ cd rbx1
$ git checkout indigo-devel
$ cd ~/catkin_ws
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash
$ rospack profile
复制代码

在ROS By Example包中都是以rbx1开头,使用如下命令

roscd rbx1
cd ..
ls -F

一、简单节点仿真

1. 运行fake_turtlebot节点:

  1. $ roslaunch rbx1_bringup fake_turtlebot.launch  


2. 运行rbx1_nav仿真:

  1. $ rosrun rviz rviz -d  `rospack find rbx1_nav` /sim.rviz  

3. 发布一个topic,让机器人动起来:

  1. $ rostopic pub -r 10 /cmd_vel  geometry_msgs/Twist  '{ linear:{x: 0.2, y: 0, z: 0 }, angular:{x: 0, y: 0, z: 0.5} }'   

这里特别要注意,命令中冒号(:)后面要有一个空格,不然会报错。运行效果如下:


4. 让机器人停止运动:

首先,用ctrl+c结束掉上条命令的执行,然后运行:

  1. $  rostopic pub -r 10 /cmd_vel  geometry_msgs/Twist  '{ }'   
仿真器中机器人就会停止运动。然后再使用ctrl+c结束掉当前命令即可。

二、导航仿真

1. 运行fake_turtlebot节点

首先得用ctrl+c关闭先前运行的fake_turtlebot节点,然后运行:

  1. $ roslaunch rbx1_bringup fake_turtlebot.launch  

2. 运行蒙特卡洛粒子滤波算法节点,同时加载地图:

  1. $ roslaunch rbx1_nav fake_amcl.launch map:=test_map.yaml  

3. 运行rviz仿真器

  1. $ rosrun rviz rviz -d `rospack find rbx1_nav`/nav_test.rviz  
可以看到:


点击左上角2D Nav Goal,选择目标点,即可看到导航的仿真效果。到此,总结完毕!



一、用move_base导航走正方形

 1、

1
roscore

2、执行

1
roslaunch rbx1_bringup fake_turtlebot.launch

  然后

1
roslaunch rbx1_nav fake_move_base_blank_map.launch

  接着

1
rosrun rviz rviz -d `rospack find rbx1_nav`/nav.rviz

  然后:

1
rosrun rbx1_nav move_base_square.py

  

 

二、避开模拟障碍物

1、

1
roscore

2、执行

1
roslaunch rbx1_bringup fake_turtlebot.launch

  然后:

1
rosparam delete /move_base

  接着:

1
roslaunch rbx1_nav fake_move_base_map_with_obstacles.launch

  开启rviz:

1
rosrun rviz rviz -d `rospack find rbx1_nav`/nav_obstacles.rviz

  当move_base节点正在运行时,可看到RViz中的障碍物,点击reset按钮刷新显示,然后运行python脚本:

1
rosrun rbx1_nav move_base_square.py

  


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值