mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone https://github.com/robopeak/rplidar_ros.git
git clone https://github.com/turtlebot/turtlebot_simulator.git
git clone https://github.com/turtlebot/turtlebot_apps.git
git clone https://github.com/turtlebot/turtlebot.git
编译
cd ~/catkin_ws
catkin_make
启动gazeb,启动gmapping ,运行rviz ,运行键盘控制机器人运动。
roslaunch turtlebot_gazebo turtlebot_world.launch
roslaunch turtlebot_gazebo gmapping_demo.launch
roslaunch turtlebot_rviz_launchers view_navigation.launch
roslaunch turtlebot_teleop keyboard_teleop.launch
将
<arg name="3d_sensor" value="$(optenv TURTLEBOT_3D_SENSOR kinect)"/>
修改为
<arg name="3d_sensor" value="$(optenv TURTLEBOT_3D_SENSOR hokuyo)"/>
使用hokuyo发射的激光而不使用kinect转换而来的伪激光
将laser设置修改为
<node pkg="nodelet" type="nodelet" name="laserscan_nodelet_manager" args="manager"/>
修改完毕后完整的文件内容如下
<robot name="turtlebot" xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:include filename="$(find turtlebot_description)/urdf/turtlebot_library.urdf.xacro"/>
<xacro:include filename="$(find kobuki_description)/urdf/kobuki.urdf.xacro" />
<xacro:include filename="$(find turtlebot_description)/urdf/stacks/hexagons.urdf.xacro"/>
<xacro:include filename="$(find turtlebot_description)/urdf/sensors/kinect.urdf.xacro"/>
<xacro:include filename="$(find turtlebot_description)/urdf/sensors/hokuyo.urdf.xacro"/>
<kobuki/>
<stack_hexagons parent="base_link"/>
<sensor_kinect parent="base_link"/>
<sensor_hokuyo parent="base_link"/>
robot>
(源码文件为 /turtlebot_library.erdf.xacro , 复制其内容新建为 turtlebot_library.urdf.xacro)
在turtlebot_library.urdf.xacro中添加一行
<xacro:include filename="$(find turtlebot_description)/urdf/sensors/hokuyo.urdf.xacro"/>
<robot name="sensor_hokuyo" xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:include filename="$(find turtlebot_description)/urdf/turtlebot_gazebo.urdf.xacro"/>
<xacro:include filename="$(find turtlebot_description)/urdf/turtlebot_properties.urdf.xacro"/>
<xacro:macro name="sensor_hokuyo" params="parent">
<joint name="laser" type="fixed">
<origin xyz="0.10 0 0.425" rpy="0 0.0 0.0" />
<parent link="base_link" />
<child link="base_laser_link" />
joint>
<link name="base_laser_link">
<visual>
<geometry>
<box size="0.05 0.05 0.05" />
geometry>
<material name="Black" />
visual>
<inertial>
<mass value="0.000001" />
<origin xyz="0 0 0" />
<inertia ixx="0.0001" ixy="0.0" ixz="0.0"
iyy="0.0001" iyz="0.0"
izz="0.0001" />
inertial>
link>
<turtlebot_sim_2dsensor/>
xacro:macro>
robot>
文件:hokuyo.dae (此文件实际需要下载model,下载方式如下)
cd ~/.gazebo/models
wget -q -R *index.html*,*.tar.gz --no-parent -r -x -nH http://models.gazebosim.org/hokuyo/
将/gazebo/models/hokuyo/meshs 下的 hokuyo.ade 和hokuyo_convex.stl 文件复制到文件 /turtlebot / turtlebot_description / meshes / sensors 下
在文件kinect的配置文件后面添加如下内容来配置laser
<xacro:macro name="turtlebot_sim_2dsensor">
<gazebo reference="hokuyo_link">
<sensor type="ray" name="head_hokuyo_sensor">
<pose>0 0 0 0 0 0pose>
<visualize>falsevisualize>
<update_rate>40update_rate>
<ray>
<scan>
<horizontal>
<samples>720samples>
<resolution>1resolution>
<min_angle>-1.570796min_angle>
<max_angle>1.570796max_angle>
horizontal>
scan>
<range>
<min>0.10min>
<max>30.0max>
<resolution>0.01resolution>
range>
<noise>
<type>gaussiantype>
<mean>0.0mean>
<stddev>0.01stddev>
noise>
ray>
<plugin name="gazebo_ros_head_hokuyo_controller" filename="libgazebo_ros_laser.so">
<topicName>/rrbot/laser/scantopicName>
<frameName>hokuyo_linkframeName>
plugin>
sensor>
gazebo>
xacro:macro>
gedit ~/.bashrc
添加下述命令到文件尾:
export TURTLEBOT_BASE=kobuki
export TURTLEBOT_STACKS=heagons
export TURTLEBOT_3D_SENSOR=KinectHokuyo
将其中的
<arg name="scan_topic" default="/scan"/>
改为
<arg name="scan_topic" default="/turtlebot/laser/scan"/>
roslaunch turtlebot_gazebo turtlebot_world.launch
roslaunch turtlebot_gazebo gmapping_demo.launch
roslaunch turtlebot_rviz_launchers view_navigation.launch
roslaunch turtlebot_teleop keyboard_teleop.launch
1.ROS中给turtlebot加两个传感器:kinect+hokuyo,进行gazebo仿真(一)https://blog.csdn.net/qq_36355662/article/details/61413860
2.ROS中给turtlebot加两个传感器:kinect+hokuyo,进行gazebo仿真 (二)https://blog.csdn.net/qq_36355662/article/details/61616513
3.移动机器人gazebo仿真(2)—导入kinetic和hokuyo激光雷达
https://blog.csdn.net/weixin_37058227/article/details/79517421