Gazebo室外仿真之地形植物建模

效果展示:

地形

法一:terrain_generator

GAZEBO构建室外环境地图之创建高度图

GAZEBO构建室外环境地图之加载山地地形

由于我的项目需求是需要甘蔗地的地形模型,对于从卫星地图中获取高程图的办法明显不能达到要求,所以这里我选择采用World Creator 建模,然后导出成高程图:


然后使用opencv调整大小,这里转换了多张不同大小的图像:

#include <opencv2/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main(int argc, char **argv)
{
    // read image
    Mat hmap = imread("heightmap.png", IMREAD_GRAYSCALE);
    //Mat hmap = imread("mtsthelens_1025.tif", IMREAD_ANYDEPTH);
    if (hmap.empty()) //如果没有读到图片,则为true
    {
        std::cout << "图片读取错误" << std::endl;
    }
    Mat rmap;
    //把图片改成2^n-1大小的8位图片
    for (int i = 7; i <= 12; i++)
    {
        int map_size = pow(2, i) + 1;
        string addr = "hetmap_png2png" + to_string(map_size) + "_l.png";
        resize(hmap, rmap, Size(map_size, map_size));
        imwrite(addr, rmap);
    }
    /*
    编译:
    g++ test.cpp -o test `pkg-config --cflags --libs opencv4`
    return 0;
}

然后采用资料2中的脚本https://github.com/Sarath18/terrain_generator,生成了.world文件,然后使用gazeo打开,得

查看文件,也找不到材质文件在哪,所以之后另寻他法。

法二:gdal

Gazebo 11分类教程——构建仿真世界(三)

然而,在最后一步出错,并不能复现上面的文章里的效果

GAZEBO_RESOURCE_PATH="$GAZEBO_RESOURCE_PATH:/tmp" gazebo /tmp/volcano.world

也找不到原因:
更多参考文献:
在Gazebo中使用DEM構建起伏地形環境
gazebo仿真记事(二):gazebo里加载自己的DEM
Digital Elevation Models
gdal将16位的tif转为8位tif
gdalwarp

法三:blender(成功)

参考视频How to create terrain for Gazebo simulation with Blender 2.9了解到使用blender也可以建模(国内我已经转载到了B站)。

视频中的项目地址:Gazebo Terrain Tutorial,按照视频指导,成功建立地形模型并导入gazebo。


一些细节设置的资料:
Blender怎么快速建模一片绿树叶?Blender快速建模一片绿树叶教程
blender2.9怎么快速建模一颗树苗? blender树的建模技巧
最终效果图:

补充:

1.看到有网友说不知道blender如何导入gazebo以及导入后贴图丢失的问题,我做了各视频来演示解决这个问题。

简单点说就是删除model.sdf文件中的下图的内容即可

视频演示:

评论

  1. 匿名
    Linux Chrome 123.0.0.0
    1 小时前
    2024-4-16 10:09:31

    很用心的教程

  2. 匿名
    Windows Firefox 110.0
    1 年前
    2023-3-17 10:28:45

    您好,请问blender这个方法,视频中提到的model.sdf是怎么生成的?建模导出之后只有一个dae文件,是如何导入gazebo的呢?

  3. 匿名
    Windows Firefox 110.0
    1 年前
    2023-3-17 10:28:03

    您好,请问blender这个方法,视频中提到的model.sdf是怎么生成的?建模导出之后只有一个dae文件,是如何导入gazebo的呢?

    • 博主
      匿名
      Windows Chrome 108.0.0.0
      1 年前
      2023-3-19 19:47:23

      在Gazebo中编辑模型,插入dae文件就行。具体的我接下来有视频

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇