目的
弄清如何使用turtlebot3来启动一个机器人模拟环境(包括gazebo和rviz)。需要注意的是这是一个嵌套的过程,因为tb3_simulation_launch.py又启动了其他的launch文件,其他的launch文件又启动了一些launch文件…
先上图片
思维导图和架构图


源码
太长了就不放了,指路github:tb3_simulation_launch.py
解释
从第一行到153行都在定义参数,看看就能看懂,就不多说了。
启动gazebo
# Specify the actions
start_gazebo_server_cmd = ExecuteProcess(
condition=IfCondition(use_simulator),
cmd=['gzserver', '-s', 'libgazebo_ros_init.so', '-s', 'libgazebo_ros_factory.so', world],
cwd=[launch_dir], output='screen')
start_gazebo_client_cmd = ExecuteProcess(
condition=IfCondition(PythonExpression(
[use_simulator, ' and not ', headless])),
cmd=['gzclient'],
cwd=[launch_dir], output='screen')
这里启动了gzserver和gzclient,打开gazebo
启动robot_state_publisher
urdf = os.path.join(bringup_dir, 'urdf', 'turtlebot3_waffle.urdf')

本文详细解析了如何使用tb3_simulation_launch.py启动turtlebot3的机器人模拟环境,包括gazebo、robot_state_publisher及其他launch文件的启动过程。重点讨论了各个launch文件的功能,如bringup_launch.py、slam_launch.py和localization_launch.py,并介绍了节点的生命周期管理。
最低0.47元/天 解锁文章
1173

被折叠的 条评论
为什么被折叠?



