怎么查看turtlebot 仿真2模拟器是否安装成功

32139人阅读
& & & & 前边我们已经介绍了ROS的基本情况,以及新手入门ROS的初级教程,现在就要真正的使用ROS进入机器人世界了。接下来我们涉及到的很多例程都是《ROS by Example》这本书的内容,我是和群里的几个人一起从国外的亚马逊上买到的,还是很有参考价值的,不过前提是你已经熟悉之前的新手教程了。
一、ROS by Example
& & & & 这本书是关于国外关于ROS出版的第一本书,主要针对Electric和Fuerte版本,使用机器人主要是TurtleBot。书中详细讲解了关于机器人的基本仿真、导航、路径规划、图像处理、语音识别等等,而且在google的svn上发布了所有代码,可以通过以下命令下载、编译:
svn checkout http://ros-by-/svn/trunk/rbx_vol_1
rosmake rbx_vol_1
rospack profile
//加入ROS package路径
二、rviz简单机器人模拟
& & & &1、安装机器人模拟器 & & & & & & & & & & &&
& & & &rviz是一个显示机器人实体的工具,本身不具有模拟的功能,需要安装一个模拟器arbotix。svn checkout http://vanadium-ros-/svn/trunk/arbotix
rosmake arbotix
& & & &2、TurtleBot机器人的模拟
& & & &在书中的rbx_vol_1包里已经为我们写好了模拟的代码,我们先进行实验,完成后再仔细研究代码。
& & & &机器人模拟运行:roscore
roslaunch rbx1_bringup fake_pi_robot.launch
& & & &然后在终端中可以看到,机器人已经开始运行了,打开rviz界面,才能看到机器人实体。rosrun rviz rviz -d `rospack find rbx1_nav`/sim_fuerte.vcg
& & & &后面的参数是加载了rviz的配置文件sim_fuerte.vcg。效果如下:
& & & &此时的机器人是静止的,需要发布一个消息才能让它动起来。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}}'
& & & &如果要让机器人停下来,需要在中断中按下“Ctrl+c”,然后输入:rostopic pub -1 /cmd_vel geometry_msgs/Twist '{}'
& & & &也可以改变发送的topic信息,使机器人走出不同的轨迹。
三、实现分析
& & & &按照上面的仿真过程,我们详细分析每一步的代码实现。 &&
& & & &1、TurtleBot机器人运行
& & & &机器人运行使用的是launch文件,首先打开fake_turtlebot.launch文件。&&launch&
&param name=&/use_sim_time& value=&false& /&
&!-- Load the URDF/Xacro model of our robot --&
&arg name=&urdf_file& default=&$(find xacro)/xacro.py '$(find turtlebot_description)/urdf/turtlebot.urdf.xacro'& /&
&param name=&robot_description& command=&$(arg urdf_file)& /&
&node name=&arbotix& pkg=&arbotix_python& type=&driver.py& output=&screen&&
&rosparam file=&$(find rbx1_bringup)/config/fake_turtlebot_arbotix.yaml& command=&load& /&
&param name=&sim& value=&true&/&
&node name=&robot_state_publisher& pkg=&robot_state_publisher& type=&state_publisher&&
&param name=&publish_frequency& type=&double& value=&20.0& /&
&!-- We need a static transforms for the wheels --&
&node pkg=&tf& type=&static_transform_publisher& name=&odom_left_wheel_broadcaster& args=&0 0 0 0 0 0 /base_link /left_wheel_link 100& /&
&node pkg=&tf& type=&static_transform_publisher& name=&odom_right_wheel_broadcaster& args=&0 0 0 0 0 0 /base_link /right_wheel_link 100& /&
& & & & 文件可以大概分为四个部分:
& & & & (1) 从指定的包中加载urdf文件
& & & & (2) 启动arbotix模拟器
& & & & (3) 启动状态发布节点
& & & & (4) tf坐标系配置
2、rviz配置文件
& & & &在打开rviz的时候需要加载一个.vcg的配置文件,主要对rviz中的插件选项进行默认的配置。这里打开的是sim_fuerte.vcg文件,由于文件比较长,这里只列举重点的部分。Background\ ColorB=0.12549
Background\ ColorG=0.12549
Background\ ColorR=0.12549
Camera\ Config=158.108 0...57034
Camera\ Type=rviz::FixedOrientationOrthoViewController
Fixed\ Frame=/odom
Grid.Alpha=0.5
Grid.Cell\ Size=0.5
Grid.ColorB=0.941176
Grid.ColorG=0.941176
Grid.ColorR=0.941176
Grid.Enabled=1
Grid.Line\ Style=0
Grid.Line\ Width=0.03
Grid.Normal\ Cell\ Count=0
Grid.OffsetX=0
Grid.OffsetY=0
Grid.OffsetZ=0
Grid.Plane=0
& & & & 上面的代码是配置背景颜色和网格属性的,对应rviz中的选项如下图所示。
& & & & 其中比较重要的一个选项是Camera的type,这个选项是控制开发者的观察角度的,书中用的是FixedOrientationOrthoViewController的方式,就是上面图中的俯视角度,无法看到机器人的三维全景,所以可以改为OrbitViewController方式,如下图所示:
3、发布topic
& & & & 要让机器人动起来,还需要给他一些运动需要的信息,这些信息都是通过topic的方式发布的。
& & & & 这里的topic就是速度命令,针对这个topic,我们需要发布速度的信息,在ROS中已经为我们写好了一些可用的数据结构,这里用的是Twist信息的数据结构。在终端中可以看到Twist的结构如下:
& & & & & & &&
& & & &&用下面的命令进行消息的发布,其中主要包括力的大小和方向。
Background\ ColorB=0.12549
Background\ ColorG=0.12549
Background\ ColorR=0.12549
Camera\ Config=158.108 0...57034
Camera\ Type=rviz::FixedOrientationOrthoViewController
Fixed\ Frame=/odom
Grid.Alpha=0.5
Grid.Cell\ Size=0.5
Grid.ColorB=0.941176
Grid.ColorG=0.941176
Grid.ColorR=0.941176
Grid.Enabled=1
Grid.Line\ Style=0
Grid.Line\ Width=0.03
Grid.Normal\ Cell\ Count=0
Grid.OffsetX=0
Grid.OffsetY=0
Grid.OffsetZ=0
Grid.Plane=0
4、节点关系图
----------------------------------------------------------------
欢迎大家转载我的文章。
转载请注明:转自古-月
欢迎继续关注我的博客
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1158824次
积分:9654
积分:9654
排名:第1795名
原创:79篇
转载:47篇
评论:657条
文章:25篇
阅读:46553732141人阅读
& & & & 前边我们已经介绍了ROS的基本情况,以及新手入门ROS的初级教程,现在就要真正的使用ROS进入机器人世界了。接下来我们涉及到的很多例程都是《ROS by Example》这本书的内容,我是和群里的几个人一起从国外的亚马逊上买到的,还是很有参考价值的,不过前提是你已经熟悉之前的新手教程了。
一、ROS by Example
& & & & 这本书是关于国外关于ROS出版的第一本书,主要针对Electric和Fuerte版本,使用机器人主要是TurtleBot。书中详细讲解了关于机器人的基本仿真、导航、路径规划、图像处理、语音识别等等,而且在google的svn上发布了所有代码,可以通过以下命令下载、编译:
svn checkout http://ros-by-/svn/trunk/rbx_vol_1
rosmake rbx_vol_1
rospack profile
//加入ROS package路径
二、rviz简单机器人模拟
& & & &1、安装机器人模拟器 & & & & & & & & & & &&
& & & &rviz是一个显示机器人实体的工具,本身不具有模拟的功能,需要安装一个模拟器arbotix。svn checkout http://vanadium-ros-/svn/trunk/arbotix
rosmake arbotix
& & & &2、TurtleBot机器人的模拟
& & & &在书中的rbx_vol_1包里已经为我们写好了模拟的代码,我们先进行实验,完成后再仔细研究代码。
& & & &机器人模拟运行:roscore
roslaunch rbx1_bringup fake_pi_robot.launch
& & & &然后在终端中可以看到,机器人已经开始运行了,打开rviz界面,才能看到机器人实体。rosrun rviz rviz -d `rospack find rbx1_nav`/sim_fuerte.vcg
& & & &后面的参数是加载了rviz的配置文件sim_fuerte.vcg。效果如下:
& & & &此时的机器人是静止的,需要发布一个消息才能让它动起来。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}}'
& & & &如果要让机器人停下来,需要在中断中按下“Ctrl+c”,然后输入:rostopic pub -1 /cmd_vel geometry_msgs/Twist '{}'
& & & &也可以改变发送的topic信息,使机器人走出不同的轨迹。
三、实现分析
& & & &按照上面的仿真过程,我们详细分析每一步的代码实现。 &&
& & & &1、TurtleBot机器人运行
& & & &机器人运行使用的是launch文件,首先打开fake_turtlebot.launch文件。&&launch&
&param name=&/use_sim_time& value=&false& /&
&!-- Load the URDF/Xacro model of our robot --&
&arg name=&urdf_file& default=&$(find xacro)/xacro.py '$(find turtlebot_description)/urdf/turtlebot.urdf.xacro'& /&
&param name=&robot_description& command=&$(arg urdf_file)& /&
&node name=&arbotix& pkg=&arbotix_python& type=&driver.py& output=&screen&&
&rosparam file=&$(find rbx1_bringup)/config/fake_turtlebot_arbotix.yaml& command=&load& /&
&param name=&sim& value=&true&/&
&node name=&robot_state_publisher& pkg=&robot_state_publisher& type=&state_publisher&&
&param name=&publish_frequency& type=&double& value=&20.0& /&
&!-- We need a static transforms for the wheels --&
&node pkg=&tf& type=&static_transform_publisher& name=&odom_left_wheel_broadcaster& args=&0 0 0 0 0 0 /base_link /left_wheel_link 100& /&
&node pkg=&tf& type=&static_transform_publisher& name=&odom_right_wheel_broadcaster& args=&0 0 0 0 0 0 /base_link /right_wheel_link 100& /&
& & & & 文件可以大概分为四个部分:
& & & & (1) 从指定的包中加载urdf文件
& & & & (2) 启动arbotix模拟器
& & & & (3) 启动状态发布节点
& & & & (4) tf坐标系配置
2、rviz配置文件
& & & &在打开rviz的时候需要加载一个.vcg的配置文件,主要对rviz中的插件选项进行默认的配置。这里打开的是sim_fuerte.vcg文件,由于文件比较长,这里只列举重点的部分。Background\ ColorB=0.12549
Background\ ColorG=0.12549
Background\ ColorR=0.12549
Camera\ Config=158.108 0...57034
Camera\ Type=rviz::FixedOrientationOrthoViewController
Fixed\ Frame=/odom
Grid.Alpha=0.5
Grid.Cell\ Size=0.5
Grid.ColorB=0.941176
Grid.ColorG=0.941176
Grid.ColorR=0.941176
Grid.Enabled=1
Grid.Line\ Style=0
Grid.Line\ Width=0.03
Grid.Normal\ Cell\ Count=0
Grid.OffsetX=0
Grid.OffsetY=0
Grid.OffsetZ=0
Grid.Plane=0
& & & & 上面的代码是配置背景颜色和网格属性的,对应rviz中的选项如下图所示。
& & & & 其中比较重要的一个选项是Camera的type,这个选项是控制开发者的观察角度的,书中用的是FixedOrientationOrthoViewController的方式,就是上面图中的俯视角度,无法看到机器人的三维全景,所以可以改为OrbitViewController方式,如下图所示:
3、发布topic
& & & & 要让机器人动起来,还需要给他一些运动需要的信息,这些信息都是通过topic的方式发布的。
& & & & 这里的topic就是速度命令,针对这个topic,我们需要发布速度的信息,在ROS中已经为我们写好了一些可用的数据结构,这里用的是Twist信息的数据结构。在终端中可以看到Twist的结构如下:
& & & & & & &&
& & & &&用下面的命令进行消息的发布,其中主要包括力的大小和方向。
Background\ ColorB=0.12549
Background\ ColorG=0.12549
Background\ ColorR=0.12549
Camera\ Config=158.108 0...57034
Camera\ Type=rviz::FixedOrientationOrthoViewController
Fixed\ Frame=/odom
Grid.Alpha=0.5
Grid.Cell\ Size=0.5
Grid.ColorB=0.941176
Grid.ColorG=0.941176
Grid.ColorR=0.941176
Grid.Enabled=1
Grid.Line\ Style=0
Grid.Line\ Width=0.03
Grid.Normal\ Cell\ Count=0
Grid.OffsetX=0
Grid.OffsetY=0
Grid.OffsetZ=0
Grid.Plane=0
4、节点关系图
----------------------------------------------------------------
欢迎大家转载我的文章。
转载请注明:转自古-月
欢迎继续关注我的博客
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1158826次
积分:9654
积分:9654
排名:第1795名
原创:79篇
转载:47篇
评论:657条
文章:25篇
阅读:465537软件、硬件、模拟器 盘点九大机器人开源项目
我的图书馆
软件、硬件、模拟器 盘点九大机器人开源项目
选自 作者:Jason Baker 机器之心编译 参与:周亮、李亚洲开源不只在改变我们与世界互动的方式,它也在改变世界与我们互动的方式。体现这一点的案例便是:开源机器人。机器人在我们的世界中正在扮演越来越重要的角色,尽管我们还没有实现在电视剧 Jetson 中的机器人管家那样的乌托邦式的未来,机器人学已经在许多领域取得了进展,这在五十年前是完全无法想象的。机器人复兴的最大受益者毫无疑问是制造业,不过我们也看到机器人正在进入主流生活方式当中。我们许多人都拥有用来扫地、清理雨水槽和割草等等的机器人。如今,随着自动驾驶汽车、无人驾驶飞机和其他交通技术的进步,机器人和交通工具之间的界限逐渐变得模糊了。不过说实话,我们中的许多人之所以对机器人学感兴趣,仅仅是因为它很好玩!而好消息是,你不需要成为一名电子工程师,就能像享受个人爱好一样享受机器人学。很幸运,我们已经有不少的开源项目。即使最没有经验的初学者也能在它们的帮助下上手。硬件开源项目机器人是一个物理实体,因此,使用它的代码和硬件都需要获得许可。幸运的是,有几个开源硬件平台可供学习制造机器人。下面这几家是你或许你想要了解的:Sparki 是一家在任何意义上都完全开源的机器人学平台。它上面的电路图、3D 建模文件和其底层的源代码都是开源的。Sparki 被设计用来帮助从小学生到成年人的学习者们制造出价格合理的初级机器人。它提供距离传感器、加速度计、红外通讯、罗盘、光传感器、循线器(line-follower)等。Sparki 机器人靠轮子行走,不过它还有一个用脚行走的近亲&Hexy&the hexapod,该项目也是一个开源平台项目。机器人不仅能走路,有时他们还会飞。有几家开源无人飞行器利用了像 OpenPilot 或 Ardupilot 系统这样的项目。例如,ArduPilot Copter 无人机可以被组装成直升机、四旋翼飞行器或者其他配置,它既可以自己动手 DIY, 也可以从若干制造商那里购买元件套装和部件。TurtleBot 是另一家机器人平台,它既提供来自几家制造商的元件套装,也提供完全开源的说明书。这可以帮助你用上网笔记本电脑、Kinect 体感外设和 Kobuki 移动平台来建造自己的机器人,或者在 iRobot Create 开发平台上建造机器人。软件开源项目机器人可不只是一套金属骨架。它需要某种智能才能听从直接命令或自己做出某些初步决定,以便为它的主人服务。这里是几个有趣的机器人软件方面的开源项目。对初学者入门而言,LeJOS 或许是一个好的机器人软件项目。它实质上是乐高 Mindstorms 机器人固件的一种替代物。你可以依靠它来用 Java 编程语言为乐高机器人编程。Rock,即「机器人 建造工具包」,是一种基于&Orocos&RTT (Real Time Toolkit, 实时工具包)的软件框架。它被设计成可扩展的,并包括一些已有应用程序的驱动程序。ROS, 即「机器人操作系统」,是一个用来为机器人写软件的框架,它包括多种用来简化编程过程的工具和库。它被设计用来为协作研发服务,拥有模块化组件和全球性社区。在中国,已经有 ROS 中文社区的存在。在你开始随意装配硬件之前,你需要定一个计划。在现实世界中,机器人的运行受到重力、地形、天气等限制。在纸上设计了看起来不错的机器人,并不意味着在现实中可行。所以,为什么不先对你的机器人进行功能性模拟呢?机器人模拟器Gazebo 是著名的非盈利开源组织 Apache 许可采用的完整模拟解决方案,有着先进的 3D 图形、虚拟感应器功能,还有一个应用广泛的命令行工具集合。此外,Gazebo 还能在云中运行模拟,支持多种插件和数种建立模型常用的机器人平台。Morse(模块化开源机器人模拟引擎 the Modular OpenRobots Simulation Engine)是 BSD 协议开源项目,是一款通用的多机器人仿真平台,主要特点是能控制实际仿真的自由度,可以自由设计符合自己需求的组件模型。它提供了大量可配置的传感器和执行器模块,高度的可扩展性,提供人与机器人的交互仿真。Morse 使用 Python 编程,也可使用 Blender 游戏引擎进行渲染。Morse 专注于学术型机器人模拟,目前有5所学校和科研机构使用。V-REP 是 GPL 协议许可的虚拟机器人实验平台,在 Windows 系统、Mac 、Linux 系统上都能运行。V-REP 支持多种编程方式( (嵌入式脚本、插件、附加组件、ROS节点、远程客户端应用编程接口、或自定义的解决方案)和语言(C/C++、Python、Java、Lua、Matlab、Octave、和Urbi),既能模拟先进的物理情境,也能模拟从近距离传感器和视觉传感器上获得的数据。 本文由机器之心编译
TA的最新馆藏
喜欢该文的人也喜欢3580人阅读
turtlebot(1)
之前学习的是ROS的基本命令。接下来的学习内容是turtlebot。turtlebot算是一个机器人平台。由create或kuboki 和kinect或XTion组成。
先安装turtlebot,我们用source安装。
按顺序将以下命令安装(&是$,不要复制过去)
& sudo apt-get install python-rosdep python-wstool ros-indigo-ros
& sudo rosdep init
& rosdep update
以上是预备工作,基本之前安装ROS已经装过了
& mkdir ~/rocon
& cd ~/rocon
& wstool init -j5 src /robotics-in-concert/rocon/indigo/rocon.rosinstall
& source /opt/ros/indigo/setup.bash
& rosdep install --from-paths src -i -y
& catkin_make
& mkdir ~/kobuki
& cd ~/kobuki
& wstool init src -j5 /yujinrobot/yujin_tools/master/rosinstalls/indigo/kobuki.rosinstall
& source ~/rocon/devel/setup.bash
& rosdep install --from-paths src -i -y
& catkin_make
& mkdir ~/turtlebot
& cd ~/turtlebot
& wstool init src -j5 /yujinrobot/yujin_tools/master/rosinstalls/indigo/turtlebot.rosinstall
& source ~/kobuki/devel/setup.bash
& rosdep install --from-paths src -i -y
& catkin_make
建立工作空间,跟建立catkin工作空间有点像。注意要一个一个都做到。我在做时每一部分命令都只做到wstool init,后面的忘了。导致打开文件夹时里面只有一个src文件夹。还要记得source,否则之后的命令会报错找不到文件。
& . ~/turtlebot/devel/setup.bash
& rosrun kobuki_ftdi create_udev_rules
& echo "source ~/turtlebot/devel/setup.bash" && ~/.bashrc
都做完后会多出kuboki,rocon,turtlebot三个文件夹,每个文件夹下有是src,devel,build三个文件夹
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:43656次
积分:1021
积分:1021
排名:千里之外
原创:55篇
评论:16条
(1)(1)(1)(11)(2)(1)(3)(4)(19)(14)《我的名字叫伊莲》,原来法语歌可以这么好听-全球经典音乐
《我的名字叫伊莲》,原来法语歌可以这么好听
伊莲娜·霍莱这首《我的名字叫伊莲》,最爱的一首法语歌,轻柔,和煦,悦耳的声音,甜蜜的回忆,百听不厌!仿佛是在...
伊莲娜·霍莱这首《我的名字叫伊莲》,最爱的一首法语歌,轻柔,和煦,悦耳的声音,甜蜜的回忆,百听不厌!不知不觉,心已经被淡淡的幸福和安宁占满。听完这首歌,你一定能体会到一种非比寻常的感动~歌词大意是:Hélène是个常在杂志电视里露面的明星,但她认为自己只是一个叫Hélène的普通女孩,她的生活也有乐有悲,她只想找到自己的爱,找到属于自己的简单的爱,使她忘记风光后的寂寞与痛苦,唱出了一个女孩子对平静幸福生活的渴望。全球经典音乐整理
1.微信之窗遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2.本文内容来自“全球经典音乐”微信公众号,文章版权归全球经典音乐公众号所有。}

我要回帖

更多关于 turtlebot2 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信