Gazebo可以创造数据。在Gazebo中创建一个机器人世界,不仅可以仿真机器人的运动功能,还可以仿真机器人的传感器数据。
背景:我是个新接触ros2的小白,变学习试用成功后分享狭窄的片面知识,必然不全,请多包含。
目录
1. Gazebo模型来源
1.1 Solidworks模型导入Gazebo
1.2 把官方库直接下载到本地gazebo模型库中
1.3 自己创建模型加入到模型库中
2. 自己创建一个带摄像头的小车模型加入到模型库中,然后导出world文件。
步骤一:把官方库直接下载到本地gazebo模型库中
步骤二:自己创建一个带摄像头的小车模型。
步骤三:小车模型加入到模型库中, 点击 Add Path, 添加模型路径;然后直接在Insert 找到自己画的模型,点击 放到场景中。
步骤四:File -> Save World As 保存到 自己想要保存的位置。
步骤五:查看自己刚才保存的world文件。
步骤六:在原有的world 增加模型
步骤七:让场景动起来。
1. Gazebo模型来源
1.1 Solidworks模型导入Gazebo
.urdf
https://www.cnblogs.com/vcan123/p/14264202.htm
Solidworks制作单体模型(无关节)并导入gazebo方法_惟岸可居的博客-CSDN博客
solidworks 导出双足机器人urdf及在rviz、gazebo中的可视化 - 知乎
.stl
Gazebo导入SolidWorks模型_MAVER1CK的博客-CSDN博客
1.2 把官方库直接下载到本地gazebo模型库中
https://gitee.com/shu-peixuan/gazebo_models
https://blog.csdn.net/qq_42758421/article/details/109876276?spm=1001.2014.3001.550
$ cd /home/xxx_name/.gazebo/models
$ git clone https://gitee.com/shu-peixuan/gazebo_models.git
1.3 自己创建模型加入到模型库中
2. 自己创建一个带摄像头的小车模型加入到模型库中,然后导出world文件。
步骤一:把官方库直接下载到本地gazebo模型库中
步骤二:自己创建一个带摄像头的小车模型。
参考官方文档,我是利用页面翻译看的中文,嘿嘿。
https://classic.gazebosim.org/tutorials?tut=guided_b3&cat=
它保存成了/home/xxx_name/model_editor_models/
其中,可以看到其他模型中全都是model. config和model.sdf
步骤三:小车模型加入到模型库中, 点击 Add Path, 添加模型路径;然后直接在Insert 找到自己画的模型,点击 放到场景中。
步骤四:File -> Save World As 保存到 自己想要保存的位置。
假如/home/xxx_name/worlds/my_world.world
步骤五:查看自己刚才保存的world文件。
$ gazebo /home/xxx_name/worlds/my_world.world
顺便看看 model.sdf 和 my_world.world 长的不一样的地方
步骤六:在原有的world 增加模型
结合我自己之前学的 《ros2内结合gazebo和rviz进行yolov8检测记录》
https://blog.csdn.net/we34dfg/article/details/131448587?spm=1001.2014.3001.5502
此时不去联合之前的pathfinder,https://github.com/hcdiekmann/ultralytics_ros2,只是利用gazebo去在原来的YOLO.world, 里去添加一些别的小部件,先不改它自带的launch,
项目就剩下yolo检测和rviz显示了。
添加一些别的小部件步骤:
$ gazebo /home/xxx_name/worlds/YOLO.world
# Insert 其它想要的模型
# File -> Save World
重新编译 ros2 下的包,然后运行识别
$ colcon build
$ . install/setup.bash
$ ros2 launch ultralytics_ros2 yolov8.launch.py
步骤七:让场景动起来。
再新起终端输入:
$ ros2 run teleop_twist_keyboard teleop_twist_keyboard
就在这个终端界面按键盘上的字符可以控制小车或者机器人的移动。
其他的gazebo 的参数的了解。
●Gazebo Tutorials
https://classic.gazebosim.org/tutorials
https://classic.gazebosim.org/tutorials/browse
● 制作移动机器人
https://classic.gazebosim.org/tutorials?tut=build_robot&cat=build_robot
https://classic.gazebosim.org/tutorials?tut=attach_meshes&cat=build_robot
https://classic.gazebosim.org/tutorials?tut=camera_save&cat=sensors传感器
https://classic.gazebosim.org/tutorials?tut=friction&cat=physics 摩擦力
https://classic.gazebosim.org/tutorials?tut=building_editor&cat=build_world 2D 视图,3D 视图
https://classic.gazebosim.org/tutorials?tut=color_model&cat= 颜色和纹理模型
https://classic.gazebosim.org/tutorials?tut=ros_overview&cat=connect_ros 教程:ROS 集成概述
https://classic.gazebosim.org/tutorials?tut=ros_control&cat=connect_ros 教程:ROS 控制
https://classic.gazebosim.org/tutorials?tut=ros_depth_camera&cat=connect_ros 将 Gazebo 深度相机与 ROS 结合使用