阿克曼前轮转向车gazebo模型

2023-05-16

想要一个阿克曼转向结构车的gazebo模型,要求能够用ros话题控制前进速度和前轮转角。

令人惊讶的是,网上基本没有这种模型。

racecar模型

首先古月居提供了一个racecar的模型,可以控制速度和前轮转角。这个模型也是七八年前外国某人做的,模型非常简陋。

网址:https://gitee.com/guyuehome/guyueclass/tree/main/simulation&control/ackerman_simulation

这个用的是gazebo_ros_control的插件,urdf(xacro)的gazebo模型。

但是模型比较小也很粗糙。如果想要多个相同模型一起仿真,还需要修改模型和有些节点里面的命名空间等。见https://blog.csdn.net/benchuspx/article/details/115769580

px4 Rover模型

px4的代码里也提供了前轮车模型rover,但是只适配px4的rover模式,我配合QGC地面站用了一下也没弄明白怎么用mavros控制这个车,它还需要解锁,速度指令也无法响应。

所以只能自己改这个rover模型。这个rover的gazebo模型是sdf格式的。我删掉了其中的mavlink插件,然后又写了一个搭配启动的urdf文件加入gazebo_ros_control插件来控制车的前轮后轮关节(因为这个插件只支持urdf)速度或者力(我设置的是力,然后调pid控制转速或者位置)。
之后再比照racecar写一个ackermann话题控制四个轮子转速的节点,再加一个p3d_base_controller插件实时广播车后轮中心点的位置里程计。

修改后的模型可以和racercar一样用一个话题控制车的四轮速度和前轮转角。具体可以看看代码里的Model, config, launch里的rover。
https://gitee.com/shu-peixuan/UAVros/tree/main/uavros_simulation/uavros_gazebo

 其他

控制模型运动的方式

gazebo模型可以通过默认的/gazebo/set_model_state话题直接控制模型的link运动。但是这是被动的运动,不是靠轮子转动驱动的,反而是车身带着轮子在动。

我这里给出的两个模型都是用gazebo_ros_control插件,真正驱动joint关节转动来使得车辆运动。

sdf文件如何加入gazebo_ros_control插件

gazebo_ros_control目前只支持老版的urdf模型,官方教程:http://gazebosim.org/tutorials/?tut=ros_control

sdf模型怎么办呢?回答:

https://answers.ros.org/question/223196/using-gazebo_ros_control-with-sdf-instead-of-urdf/

原文:

其中sdf转换urdf的代码可以用https://github.com/andreasBihlmaier/pysdf这个工具,但也不是万能的,需要自己手动调整。使用说明:https://blog.csdn.net/weixin_44740368/article/details/88878685

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阿克曼前轮转向车gazebo模型 的相关文章

随机推荐

  • ImportError: Failed to import test module: 2

    1 在进行unittest测试时 xff0c 运行报错如下 导入import unittest 包 xff0c 创建的文件名字得是 Test 开头的 xff0c 不然报如下的错误 我的文件名字是 2 unittest简单实用 first t
  • 面试:微信朋友圈测试流程(功能测试,性能测试,界面测试,易用性测试,网络测试,兼容性测试,安全性测试)

  • HTTP请求/响应报文结构

    HTTP请求 响应报文结构 HTTP请求报文 一个HTTP请求报文由四个部分组成 xff1a 请求行 请求头部 空行 请求数据 1 请求行 请求行由请求方法字段 URL字段和HTTP协议版本字段3个字段组成 xff0c 它们用空格分隔 比如
  • MySQL数据库面试知识点

    MySQL数据库面试知识点 转自 xff1a https blog csdn net ThinkWon article details 104778621
  • 牛客网试题+答案分析+大牛面试经验(1)

    一 选择题 xff08 1 xff09 有以下程序 xff1a include lt stdio h gt char fun char c if c lt 61 39 Z 39 amp amp c gt 61 39 A 39 c 61 39
  • C++动态链接库中的全局变量面试题

    其实主要问题是三个模块 xff1a 模块 a 静态库 a 模块 b 二进制 b 静态引用a 动态加载c 模块 c 动态链接库c 静态引用a 关键在于静态库a里有一个静态全局变量 xff0c 没错就是我们的日志模块 原先的这个静态的模块中的静
  • 长连接与短连接的区别以及使用场景

    首先介绍下短链接和长连接的区别 xff1a 短连接 连接 gt 传输数据 gt 关闭连接 比如HTTP是无状态的的短链接 xff0c 浏览器和服务器每进行一次HTTP操作 xff0c 就建立一次连接 xff0c 但任务结束就中断连接 因为连
  • 进程的有哪几种状态,状态转换图,及导致转换的事件

    进程的特征与三种基本状态 1 特征 xff1a 1 xff1a 动态性 xff0c 2 xff1a 并发性 xff0c 3 xff1a 独立性 xff0c 4 xff1a 异步性 2 状态 xff1a 1 xff1a 就绪状态 当进程已分配
  • 请问单核机器上写多线程程序,是否需要考虑加锁,为什么?

    参考回答 xff1a 在单核机器上写多线程程序 xff0c 仍然需要线程锁 因为线程锁通常用来实现线程的同步和通信 在单核机器上的多线程程序 xff0c 仍然存在线程同步的问题 因为在抢占式操作系统中 xff0c 通常为 每个线程分配一个时
  • 阿木p200四旋翼配置经验笔记

    本文初次写于2021 06 09 我做编队试验用的阿木P200四旋翼 xff0c 空循环uwb定位下完成了机载计算机控制的编队飞行以及二维码引导降落 记录一下对到手的P200飞机仍需要更改调试的配置 xff1a 硬件加装 加装uwb标签用于
  • Linux C/C++ 学习路线

    一 秋招 Linux C C 43 43 offer 情况 二 Linux C C 43 43 方向的一些思考 三 计算机基础知识的梳理 四 C 43 43 方向的深入学习路线 五 项目 43 亮点 43 面试的一些思考 六 总结 前言 L
  • 如何在简历中描述自己的项目

    项目经历 很多人在描述项目经历的时候容易陷入一个误区 讲套话 xff0c 如 xff1a 用html xff0c css编写基本页面 xff0c 用js XX库完成页面交互 动画 用AJAX xff08 axios库等 xff09 实现前后
  • 网络工程师(路由交换)必备面试题

    一 TCP IP通信原理 物理层 1 OSI七层模型与TCP IP模型的区别 xff1f 2 异步传输与同步传输的优缺点与区别 应用场景 xff1f 3 多模光纤与单模光纤的区别以及用途 xff1f 4 RJ45线序568A和568B的区别
  • git show/diff 界面操作

    最近发现在git show或者git diff的界面 xff0c 也就是显示对比差异的时候 xff0c 无法编辑 xff0c 很不爽 xff0c 在网上也找不到类似说明 xff1a 仔细研究后发现有很多快捷键说明 xff0c 部分如下 xf
  • 在linux上用dd命令实现ghost功能 -- 神奇的fdisk和dd命令

    神奇的fdisk和dd命令 深深的苦恼中 xff0c 灵光乍现 xff1a 神奇的ghost的原理是什么呢 xff1f 不就是数据复制吗 xff1f Linux下的dd命令不就是最强大的数据复制工具 xff01 既然如此 xff0c 我为什
  • Linux笔记:文本编辑器nano简单说明

    文章目录 目的快速使用常用命令nano语法常用选项总结 目的 pico是Linux上的一个文本编辑器 xff0c nano是从pico发展而来的文本编辑器 xff08 很多系统上你使用pico命令打开的也是nano xff09 nano i
  • 在STM32Cube中使用FreeRTOS:入门体验

    文章目录 目的基础说明入门体验基础配置任务调度消息队列信号量互斥量定时器 其它补充使用ST LINK调试中断嵌套 总结 目的 FreeRTOS是现在比较流行的主要应用于单片机等性能相对较低 xff0c 对实时性要求又比较高的嵌入式应用场景中
  • FreeRTOS入门(07):流缓冲区 & 消息缓冲区

    文章目录 目的基础说明流缓冲区相关函数使用演示 消息缓冲区相关函数使用演示 总结 目的 缓冲区是操作系统中常见的一种用于任务间数据传递的机制 这篇文章将对FreeRTOS中相关内容做个介绍 本文代码测试环境见前面的文章 xff1a Free
  • 树莓派4b 安装buster系统 安装ROS与MAVROS 连接pixhawk飞控

    手把手教程 无屏幕的树莓派4b 安装Rapbian buster系统 安装ROS与MAVROS 连接pixhawk飞控 xff08 1 xff09 准备 xff1a 树莓派4b 1 32G内存卡 1 树莓派官方raspbian buster
  • 阿克曼前轮转向车gazebo模型

    想要一个阿克曼转向结构车的gazebo模型 xff0c 要求能够用ros话题控制前进速度和前轮转角 令人惊讶的是 xff0c 网上基本没有这种模型 racecar模型 首先古月居提供了一个racecar的模型 xff0c 可以控制速度和前轮