当前位置: 首页 > ai >正文

宇树机器狗go2添加3d雷达(下)添加velodyne系列雷达

0.前言

上一篇文章教大家如何在宇树机器狗go2的仿真环境中添加3d雷达livox mid360(宇树机器狗go2 添加3d雷达(上)添加livox系列雷达),本期文章会教大家添加lvelodyne的系列雷达,是添加3d雷达的下期。宇树机器狗go2仿真会作为一个长期项目来进行不定期更新,仿真不只限于在gazebo上实现,后面还会在isaac sim等仿真平台上教大家如何搭建,其目的还是帮助各位都能以较低的成本加入到宇树机器狗go2的学习中。gazebo的仿真对电脑的需求会低于isaac sim等仿真平台,这对实验条件要求会低很多,更很适合学校小实验室或个人进行仿真实验。

同时我也希望能有更多的开发者加入近来一起完成机器狗go2的仿真实验项目的建设,如有更好的方案和建议可以私聊或申请共创作者。

image.png

image.png

注意:推荐在使用3d雷达的时候将深度相机和单目相机进行屏蔽,这样电脑仿真负载会降低,这样能保证机器狗go2的平衡控制器的正常运算,本文飞书文档:https://t11n5ozh20.feishu.cn/docx/RVz0dlCeVoeQMjxjx8ccF44znWd

1.安装velodyne功能包

Velodyne功能包安装有两种方式,一种是使用ros命令直接进行安装,另一种是使用源码编译,个人推荐使用源码进行安装。下方是velodyne雷达的公司官网:High-resolution digital lidar sensors: autonomous vehicles, robotics, drones | Ouster

1.ros命令安装

1.安装功能包

使用下面的命令在ros上安装Velodyne功能包

sudo apt-get install ros-noetic-velodyne-simulator

image.png

2.启动仿真验证

roslaunch velodyne_description exampl.launch

启动上述指令后会看到在gazebo中出现一个velodyne的雷达,rviz里面会显示其雷达消息。

image.png

image.png

2.使用源码编译

1.获取功能包

git clone https://bitbucket.org/DataspeedInc/velodyne_simulator

image.png

2.进行编译

catkin_make
source devel/setup.bash

image.png

3.启动仿真验证

roslaunch velodyne_description example.launch

启动上述指令后会看到在gazebo中出现一个velodyne的雷达,rviz里面会显示其雷达消息。

image.png

2.在机器狗go2上添加Velodyne雷达

在宇树机器狗go2上添加velodyne雷达有两种方式,一种是直接调用xacro文件,另一种是单独配置velodyne雷达模型和gazebo插件,吐槽velodyne雷达的dae文件无法导入blender中进行模型调整,但可以导入stl文件后转换成白模版。

image.png

下方是我使用stl文件转换和简单的颜色调整后得到的统一的Vlp16雷达的dae文件。 VLP16.dae

image.png

1.直接调用xacro文件

本人是更喜欢这种方式,虽然会增加robot.xacro的文本量,但阅读上更直观一些,在更改模型参数时也更方便一些,同理也是应该可以使用在宇树机器狗go2 添加3d雷达(上)添加livox系列雷达中的livox雷达配置中,如果后期有机会我再折腾一下livox系列的雷达。

打开go2的robot.xacro文件:

image.png

在robot.xacro文件中添加如下的velogyne的VLP-16雷达的描述和gazebo仿真插件。

<!-- velogyne --><xacro:include filename="$(find velodyne_description)/urdf/VLP-16.urdf.xacro"/><xacro:VLP-16 parent="base" name="velodyne" topic="/velodyne_points" organize_cloud="false" hz="10" samples="1024" gpu="false"><origin xyz="0.23 0 0.11" rpy="0 0 0" /></xacro:VLP-16> 
-->

image.png

2.单独添加模型和gazebo仿真插件

1.添加velodyne雷达模型

官方给出的VLP-16雷达的模型配置文件有3份,且无法放入blender进行组建,因此其模型描述要比livox系列雷达的模型配置要麻烦一些,但其本质也是将原本的vlp-16雷达的xacro文件中的模型描述单独提取出来加入到go2的模型描述中,但在使用stl文件转换后的统一dae文件可以简化。

1.不使用统一的dae文件

打开go2的robot.xacro文件,将官方给出的3个VLP16雷达模型文件导入:

<!-- velogyne --><joint name="VLP16_base_mount_joint" type="fixed"><origin xyz="0.23 0.0 0.10" rpy="0.0 0.0 0.0"/><parent link="base"/><child link="VLP16_base_link"/></joint><link name="VLP16_base_link"><visual><geometry><mesh filename="package://velodyne_description/meshes/VLP16_base_1.dae" /></geometry></visual><visual><geometry><mesh filename="package://velodyne_description/meshes/VLP16_base_2.dae" /></geometry></visual><collision><origin rpy="0 0 0" xyz="0 0 0.03585"/><geometry><cylinder radius="0.0516" length="0.0717"/></geometry></collision></link><joint name="VLP16_base_scan_joint" type="fixed" ><origin xyz="0 0 0.0377" rpy="0 0 0" /><parent link="VLP16_base_link" /><child link="velodyne"/></joint><link name="velodyne"><inertial><mass value="0.01"/><origin xyz="0 0 0"/><inertia ixx="1e-7" ixy="0" ixz="0" iyy="1e-7" iyz="0" izz="1e-7"/></inertial><visual><origin xyz="0 0 -0.0377" /><geometry><mesh filename="package://velodyne_description/meshes/VLP16_scan.dae" /></geometry></visual></link>

image.png

2.使用统一的dae文件

将上面获取到的Vlp16.dae文件导入到/unitree_ros/robots/go2_description/meshes中

image.png

然后打开go2的robot.xacro文件,将统一的VLP16雷达模型文件导入:

点击宇树机器狗go2添加3d雷达(下)添加velodyne系列雷达查看全文

http://www.xdnf.cn/news/10241.html

相关文章:

  • 《高等数学》(同济大学·第7版) 第一节《映射与函数》超详细解析
  • 数据库只更新特定字段的两种方式(先读后写 vs. 动态组织 SQL)-golang SQLx 实现代码(动态组织 SQL)
  • 索引的选择与Change Buffer
  • Linux进程信号
  • 车载诊断架构SOVD --- 车辆发现与建连
  • 项目:贪吃蛇实现
  • AI与智能驾驶的关系和原理:技术融合与未来展望-优雅草卓伊凡一、AI大模型基础原理与智能驾驶
  • 【Linux系列】Linux/Unix 系统中的 CPU 使用率
  • C++23 已移除特性解析
  • 电子电路:怎么理解时钟脉冲上升沿这句话?
  • ASP.NET Core SignalR的基本使用
  • 《深入解析SPI协议及其FPGA高效实现》-- 第一篇:SPI协议基础与工作机制
  • Python编程基础(一) | 变量和简单数据类型
  • git下载和安装(完整版)
  • 什么是特性阻抗
  • ArcPy错误处理与调试技巧(2)
  • Mybatis ORM SpringORM
  • 计算机视觉---GT(ground truth)
  • C# 成员函数中如何拿到当前所在类的名字?
  • 使用 HTML + JavaScript 实现一个日历任务管理系统
  • HackMyVM-First
  • vue3 基本语法 父子关系
  • odoo18 新特性
  • Webug4.0靶场通关笔记16- 第16关MySQL配置文件下载
  • 【前端】SPA v.s. MPA
  • C58-字符串拼接函数strcat
  • Unity3D仿星露谷物语开发56之保存角色位置到文件
  • 姜老师MBTI课程:4条轴线的总结
  • FactoryBean 接口
  • SOC-ESP32S3部分:21-非易失性存储库