移动机器人仿真梳理

本文详细介绍了在Ubuntu 16.04上,针对ROS Kinetic的Turtlebot如何配置仿真环境,包括新建和修改launch文件、创建URDF文件、添加激光传感器模型等步骤,最终实现Gazebo中激光雷达的正确仿真和数据发布。
摘要由CSDN通过智能技术生成

最近系统重装,重新配置仿真环境,因此再次梳理一下

假设ubuntu16中已经安装完ros-kinetic.

1、仿真环境配置

建立ros工作空间:

source /opt/ros/kinetic/setup.bash
sh creat_pkg.sh
mkdir -p ~/ros_gazebo/src
cd ~/ros_gazebo
catkin_make
source ~/ros_gazebo/devel/setup.bash
echo $ROS_PACKAGE_PATH
#输出/home/jk/ros_gazebo/src:/opt/ros/kinetic/share

新建package:

cd ~/ros_gazebo/src/
catkin_create_pkg my_ros_sim std_msgs rospy roscpp
cd ~/ros_gazebo/
catkin_make

运行以下命令,看看是否缺少一些包。

roslaunch turtlebot_gazebo turtlebot_world.launch
roslaunch turtlebot_teleop keyboard_teleop.launch
roslaunch turtlebot_gazebo gmapping_demo.launch
roslaunch turtlebot_rviz_launchers view_navigation.launch

安装对应的缺少的包到src下(turtlebot_simulator包含turtlebot_gazebo,turtlebot_interactions包含turtlebot_rviz_launchers)

cd ~/ros_gazebo/src
git clone https://github.com/turtlebot/turtlebot_simulator.git
git clone https://github.com/turtlebot/turtlebot.git
git clone https://github.com/turtlebot/turtlebot_interactions.git 

编译:

#可能需要安装以下包
sudo apt-get install ros-kinetic-joy
catkin_make

 

2、下载model,修改launch

下载:gazebo_model,并解压到~/.gazebo下,如下图:

cd ~/.gazebo/
tar -xzvf models.tar.gz 

2.1 修改turtlebot_world.launch

<launch>
<!--有修改-->
  <arg name="gui"        default="true"/>
  <arg name="world_file" default="$(env TURTLEBOT_GAZEBO_WORLD_FILE)"/>

  <arg name="base"       value="$(optenv TURTLEBOT_BASE kobuki)"/> <!-- create, roomba -->
  <arg name="battery"    value="$(optenv TURTLEBOT_BATTERY /proc/acpi/battery/BAT0)"/>  <!-- /proc/acpi/battery/BAT0 -->
  <arg name="stacks"     value="$(optenv TURTLEBOT_STACKS hexagons)"/>  <!-- circles, hexagons -->
  <!--<arg name="3d_sensor"  value="$(optenv TURTLEBOT_3D_SENSOR kinect)"/> --> <!-- kinect, asus_xtion_pro -->
 <!--有修改-->
  <arg name="3d_sensor" value="$(optenv TURTLEBOT_3D_SENSOR hokuyo)"/>

  <include file="$(find gazebo_ros)/launch/empty_world.launch">
    <arg name="use_sim_time" value="true"/>
    <arg name="debug" value="false"/>
    <arg name="gui" value="$(arg gui)" />
    <arg name="world_name" value="$(arg world_file)"/>
  </include>

  <include file="$(find turtlebot_gazebo)/launch/includes/$(arg base).launch.xml">
    <arg name="base" value="$(arg base)"/>
    <arg name="stacks" value="$(arg stacks)"/>
    <arg name="3d_sensor" value="$(arg 3d_sensor)"/>
  </include>

  <node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher">
    <param name="publish_frequency" type="double" value="30.0" />
  </node>

  <!-- Fake laser -->
  <node pkg="nodelet" type="nodelet" name="laserscan_nodelet_manager" args="manager"/>
  <!--有修改-->
  <!--&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值