我们在slam时都有自己的应用环境,所以得把源代码提供的模型提供为自己要用到的模型。
首先了解文件的架构
├── CMakeLists.txt
├── launch
│ ├── include
│ │ └── xbot-u.launch.xml #机器人模型(设置机器人初始位置)
│ └── robot_spawn.launch #启动launch文件显示仿真环境
├── models #仿真空间
│ ├── ISCAS_groundplane #地板
│ │ ├── materials
│ │ │ ├── scripts
│ │ │ │ └── ISCAS_groundplane.material
│ │ │ └── textures
│ │ │ └── ISCAS_groundplane.png
│ │ ├── model.config
│ │ └── model.sdf
│ ├── ISCAS_Museum #墙面
│ │ ├── meshes
│ │ │ ├── ISCAS_museum.dae
│ │ │ ├── zd_011.jpg
│ │ │ ├── zd_021.jpg
│ │ │ ├── zd_031.jpg
│ │ │ └── zd_041.jpg
│ │ ├── model.config
│ │ └── model.sdf
│ ├── ISCAS_post
│ │ ├── meshes
│ │ │ └── post.dae
│ │ ├── model.config
│ │ └── model.sdf
│ └── meshes #各个模型渲染的部分包括基底以及pitch、yaw平台以及相机和激光雷 达
│ ├── base_link.dae
│ ├── pitch_platform.dae
│ ├── realsense.dae
│ ├── rplidar.dae
│ ├── sick_tim571.stl
│ ├── uvtietu.jpg
│ ├── wheel.dae
│ ├── wheel.jpg
│ ├── xtion_pro_camera.dae
│ ├── xtion_pro_camera.jpg
│ └── yaw_platform.dae
├── package.xml
├── param
│ ├── mux.yaml #订阅话题以及发布话题的相关参数设置
│ └── xbot-u_control.yaml #机器人控制参数的设置(PID)
├── README.md
├── scripts
│ └── robot_keyboard_teleop.py
├── simulation_pic.png
├── urdf #构建机器人模型
│ ├── materials.xacro #颜色设置
│ ├── robot.urdf #urdf文件是通过xacro文件转换自动生成的(xacro文件比较精简, urdf文件比较复杂)
│ ├── robot.xacro #机器人整体模型文件(可以选择激光雷达的类型)包含该文件下的所有文 件
│ ├── sick_tim.gv #使用命令生成的<urdf_to_graphiz robot.urdf>
│ ├── sick_tim.pdf #显示整个机器人模型的连接关系
│ ├── sick_tim.urdf.xacro #激光雷达模型(多种激光雷达,包括rplidarA2、sick_tim310、 551、571等)
│ ├── xbot-u.gazebo
│ └── xbot-u.urdf.xacro #机器人模型所需要的各个部分可以通过可以通过rqt_tf_tree查看各个 link和joint之间的连接关系
└── worlds
└── ROS-Academy.world
原文链接:https://blog.csdn.net/qq_36170626/article/details/106542521
我们首先要做的是修改地面,定位到这一部分
├── models #仿真空间
│ ├── ISCAS_groundplane #地板
│ │ ├── materials
│ │ │ ├── scripts
│ │ │ │ └── ISCAS_groundplane.material
│ │ │ └── textures
│ │ │ └── ISCAS_groundplane.png
│ │ ├── model.config
│ │ └── model.sdf
首先要找到…/…/src/ROS-Academy-forBeginners/robot_sim_demo/models
把自己的MY_Ground_Plane文件拖进去
MY_Ground_Plane 里的文件按照 ISCAS_groundplane 修改
要找到…/…/src/ROS-Academy-forBeginners/robot_sim_demo/worlds
找到这一处:
修改为:
我在 textures 里准备的纹理图片是一片翠绿的草坪(3488*3408), 师兄说这象征着勃勃生机(但是我觉得他在瞎bb)
现在让我们启动gazebo
$ source ~/catkin_ws/devel/setup.bash
$ rospack profile
$ roslaunch robot_sim_demo robot_spawn.launch
如果你成功了,你会看到这样的场景
这时候,你可以在左侧把 ISCAS_Museum 删掉
你就会看到这样一片绿油油的草地
下载gazebo素材库:
链接:https://pan.baidu.com/s/1n6VkzwBtYnkUz5VD6PZE5A
提取码:0023
在Home界面按 CTRL+H 显示隐藏文件夹
找到 .gazebo 文件夹 ,新建models文件夹
把素材都拖进去
关掉gazebo,重新按照上述方法启动。发现素材都被导入进来了,棒!
可以拖一些模型到场景里试一试,这是个有趣的过程
下面可以试着在场景里跑一跑ORB-SLAM2
$ source ~/catkin_ws/devel/setup.bash
$ rospack profile
$ rosrun robot_sim_demo robot_keyboard_teleop.py
$ source ~/catkin_ws/devel/setup.bash
$ rospack profile
$ roslaunch orbslam2_demo ros_orbslam2_stereo.launch