八 Gazebo学习总结之附加抓手到机器人

2023-11-10 22:10

本文主要是介绍八 Gazebo学习总结之附加抓手到机器人,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

开始Gazebo,确定能从先前的教程中载入模型。

1.应该有如下图所示的底座。


2.根据经验,为了使模型变大,修改~/.gazebo/models/my_robot/model.sdf,让小车能容纳抓手。

gedit ~/.gazebo/models/my_robot/model.sdf
按以下程序更新内容:

<?xml version='1.0'?>
<sdf version='1.4'>
<model name="mobile_base">
<link name='chassis'><pose>0 0 .25 0 0 0</pose><inertial><mass>20.0</mass><pose>-0.1 0 -0.1 0 0 0</pose><inertia><ixx>0.5</ixx><iyy>1.0</iyy><izz>0.1</izz></inertia></inertial><collision name='collision'><geometry><box><size>2 1 0.3</size></box></geometry></collision><visual name='visual'><geometry><box><size>2 1 0.3</size></box></geometry></visual><collision name='caster_collision'><pose>-0.8 0 -0.125 0 0 0</pose><geometry><sphere><radius>.125</radius></sphere></geometry><surface><friction><ode><mu>0</mu><mu2>0</mu2></ode></friction></surface></collision><visual name='caster_visual'><pose>-0.8 0 -0.125 0 0 0</pose><geometry><sphere><radius>.125</radius></sphere></geometry></visual>
</link>
<link name="left_wheel"><pose>0.8 0.6 0.125 0 1.5707 1.5707</pose><collision name="collision"><geometry><cylinder><radius>.125</radius><length>.05</length></cylinder></geometry></collision><visual name="visual"><geometry><cylinder><radius>.125</radius><length>.05</length></cylinder></geometry></visual>
</link><link name="right_wheel"><pose>0.8 -0.6 0.125 0 1.5707 1.5707</pose><collision name="collision"><geometry><cylinder><radius>.125</radius><length>.05</length></cylinder></geometry></collision><visual name="visual"><geometry><cylinder><radius>.125</radius><length>.05</length></cylinder></geometry></visual>
</link><joint type="revolute" name="left_wheel_hinge"><pose>0 0 -0.03 0 0 0</pose><child>left_wheel</child><parent>chassis</parent><axis><xyz>0 1 0</xyz></axis>
</joint><joint type="revolute" name="right_wheel_hinge"><pose>0 0 0.03 0 0 0</pose><child>right_wheel</child><parent>chassis</parent><axis><xyz>0 1 0</xyz></axis>
</joint></model>
</sdf>

更新后结果如下:


组装复合机器人:

1.创建新的模型目录

mkdir ~/.gazebo/models/simple_mobile_manipulator
cd ~/.gazebo/models/simple_mobile_manipulator
编辑模型的配置文件

gedit ~/.gazebo/models/simple_mobile_manipulator/model.config
复制以下程序到配置文件:

<?xml version="1.0"?>
<model>
<name>Simple Mobile Manipulator</name>
<version>1.0</version>
<sdf version='1.4'>model.sdf</sdf><author>
<name>My Name</name>
<email>me@my.email</email>
</author><description>
My simple mobile manipulator
</description>
</model>

2.创建模型SDF文件。

gedit ~/.gazebo/models/simple_mobile_manipulator/model.sdf
复制以下内容到.sdf文件中:

<?xml version="1.0" ?>
<sdf version="1.3">
<model name="simple_mobile_manipulator"><include><uri>model://my_gripper</uri><pose>1.3 0 0.1 0 0 0</pose>
</include><include><uri>model://my_robot</uri><pose>0 0 0 0 0 0</pose>
</include><joint name="arm_gripper_joint" type="revolute"><parent>mobile_base::chassis</parent><child>simple_gripper::riser</child><axis><limit><lower>0</lower><upper>0</upper></limit><xyz>0 0 1</xyz></axis>
</joint><!-- attach sensor to the gripper -->
<include><uri>model://hokuyo</uri><pose>1.3 0 0.3 0 0 0</pose>
</include><joint name="hokuyo_joint" type="revolute"><child>hokuyo::link</child><parent>simple_gripper::palm</parent><axis><xyz>0 0 1</xyz><limit><upper>0</upper><lower>0</lower></limit></axis>
</joint></model>
</sdf>

3.保存模型的.config和.sdf文件,运行Gazebo。



本文靠自己理解,翻译而来,错误之处望不吝指教!!!

这篇关于八 Gazebo学习总结之附加抓手到机器人的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/385583

相关文章

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push

Kubernetes常用命令大全近期总结

《Kubernetes常用命令大全近期总结》Kubernetes是用于大规模部署和管理这些容器的开源软件-在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用Kubernetes(有时被称为“... 目录前言Kubernetes 的工作原理为什么要使用 Kubernetes?Kubernetes常用命令总

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

C# Task Cancellation使用总结

《C#TaskCancellation使用总结》本文主要介绍了在使用CancellationTokenSource取消任务时的行为,以及如何使用Task的ContinueWith方法来处理任务的延... 目录C# Task Cancellation总结1、调用cancellationTokenSource.

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert