使用Gazebo进行移动机械臂抓取仿真

2023-05-16

该项目在Gazebo中搭建一款机器人模型,其底盘使用turtlebot移动机器人底盘,机械臂采用结构较为简单的turtlebot_arm,并在底盘上添加kinect深度相机。最终该机器人可实现自主导航、物体定位、规则物体抓取功能。

  1. 首先需要将机械臂模型移植到移动底盘上,创建出一个最终整合版的urdf机器人描述文件。该过程需要注意要保持tf树状结构,建议的配置形式是将arm_base_link直接连到底盘的base_link上。为了确定各link坐标系之间的位置关系,可以打开rviz将tf_tree可视化显示出来,便于调试。
  2. 配置机器人各元件的控制器,需选用Gazebo支持的控制器接口。若使用Moveit!进行机械臂控制的话,需要建立Moveit!与Gazebo之间的控制器通讯,因此需要修改机械臂的ros_controller.yaml文件。进行机械臂配置的另一种方法是,使用Moveit!提供的moveit_setup_assistant, 其提供了可视化的交互界面,极易上手。 
roslaunch moveit_setup_assistant setup_assistant.launch

         3. 当仿真硬件配置结束后,需检查一遍。较方便的调试工具是使用rviz中的moveit模块,可以直接调整各关节目标姿态。当给定目标姿态后,观察机械臂是否开始规划并在Gazebo中执行。如果机械臂执行过程中出现震荡抖动,可能原因是:各关节控制器的pid参数设置的不合理,需要在ros_controller.yaml中进行调参。通常的pid tuning步骤为:先将intregration、derivative项设为0,增大proportional, 直至系统输出出现类似等幅震荡。后根据震荡周期T、和p项参数K,使用齐格勒-尼科尔斯(Ziegler-Nichols)频率法确定出PID各项经验参数。为了观察到关节角的输出曲线,可以使用rqt_console监听关节话题消息,绘制出随时间变化的输出曲线。如果不要求控制器有较高的控制性能,只调节P参数就好。

至于Kinect深度相机和激光雷达的配置,这里并未列出。至于使用深度相机物体识别定位、抓姿定位、以及机械臂抓取流程的实现,留待下次更新了。

 

 

 

 

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

使用Gazebo进行移动机械臂抓取仿真 的相关文章

随机推荐

  • CentOs(Linux) 中 使用Prometheus 监控 k8s集群(集群部署)

    CentOs Linux 中 使用Prometheus 监控 k8s集群 xff08 集群部署 xff09 一 master node节点环境部署 所有node节点下载监控所需镜像 span class token comment dock
  • STM32好找工作,所以学linux终究是错付了吗?

    01 话 题 经常有大学生同学纠结 xff1a 我到底是学STM32还是学嵌入式linux 这个问题很多人都会有自己的看法 xff0c 今天我试着从多个角度 xff0c 把我了解到的事实讲一下 xff0c 希望对大家有所启发 STM32 0
  • http请求返回405 (Method Not Allowed)

    一 问题描述 使用post请求json文件中的数据时 xff0c 返回报错405 Method Not Allowed 二 解决方法 由post请求改为get请求 xff0c 请求静态资源时用get请求 xff1b 原因 xff1a 使用p
  • python一次替换多个字符串

    https blog csdn net liuchengzimozigreat article details 85339372 utm medium 61 distribute pc relevant none task blog Blo
  • JavaScript中获取对象属性的几种方法举例及其说明

    首先我们有这样一个对象 xff1a span class token keyword var span o span class token operator 61 span span class token punctuation spa
  • 【国信长天蓝桥杯】⑤ STM32G431 UART串口收发数据,串口通信示例代码,串口使用步骤,printf重定向

    摘要 本文章基于国信长天M4开发板 xff0c 讲述了STM32G431 串口通信的使用步骤 xff0c 希望对大家有帮助 M4开发板 串口引脚 由上图可以看出 xff0c DAP Link的串口连接在芯片的PA9和PA10引脚 查阅芯片资
  • 基于神经网络的Matlab车牌识别设计

    基于神经网络的Matlab车牌识别设计 1 题目的主要研究内容2 流程介绍3 详细介绍3 1 图像预处理3 2 车牌预处理3 3 字符分割3 4 车牌识别 4 识别结果 1 题目的主要研究内容 使用MATLAB将采集到的图像信息读入 xff
  • 网络编程--01--socket简介--套接字

    socket 套接字 什么是Socket 在计算机通信领域 xff0c socket 被翻译为 套接字 xff0c 它是计算机之间进行通信的一种约定或一种方式 通过 socket 这种约定 xff0c 一台计算机可以接收其他计算机的数据 x
  • 使用strtok函数和split函数来分割字符串

    使用 strtok 函数可以比较方便地实现字符串分割 具体来说 xff0c 可以将 strtok 函数看作一个状态机 xff0c 它会记录当前扫描到的字符串位置 xff0c 并根据指定的分隔符将其分割成多个子字符串 xff0c 并返回分割后
  • vagrant安装docker

    卸载系统之前的docker sudo yum remove docker docker client docker client latest docker common docker latest docker latest logrot
  • 图像识别的未来:机遇与挑战并存

    识别图像对人类来说是件极容易的事情 xff0c 但是对机器而言 xff0c 这也经历了漫长岁月 在计算机视觉领域 xff0c 图像识别这几年的发展突飞猛进 例如 xff0c 在PASCAL VOC物体检测基准测试中 xff0c 检测器的性能
  • 在Ubuntu中通过CV_bridge更改OpenCV版本

    由于最近一个demo使用的OpenCV版本高于Ubuntu1804melodic自带的OpenCV3 2版本 xff0c 需要调节OpenCV的版本 1 安装OpenCV 下载地址 xff1a Releases OpenCV选择自己需要的版
  • LQR控制算法的浅析

    目录 前言 一 知识点补充 1 拉格朗日乘子法 2 积分中值定理 3 向前欧拉法 xff0c 向后欧拉法 xff0c 中点欧拉法 4 向量的导数 5 矩阵求逆引理 记住就好 xff0c 推导见链接 二 连续时间下的LQR推导 1 系统状态方
  • Linux网络编程【UDP】

    文章目录 UDP C S 通信TCP和UDP对C S 通信相关函数recvfrom xff08 accept 43 read xff09 sendto xff08 connect 43 write xff09 bind UDP 服务代码参考
  • C语言结构体对齐

    计算机内存是以字节 xff08 Byte xff09 为单位划分的 xff0c 理论上CPU可以访问任意编号的字节 xff0c 但实际情况并非如此 cpu一次能读取多少内存要看数据总线是多少位 xff0c 如果是16位 xff0c 则一次只
  • 匿名飞控STM32版代码整理之Ano_Imu.c

    一 ANO Imu c文件 COPYRIGHT 2016 ANO Tech 作者 xff1a 匿名科创文件名 xff1a ANO IMU c描述 xff1a 姿态解算函数官网 xff1a www anotc com淘宝 xff1a anot
  • 匿名飞控码STM32版代码整理之Ano_AttCtrl.c

    代码 include Ano AttCtrl h include Ano Imu h include Drv icm20602 h include Ano MagProcess h include Drv spl06 h include A
  • realsense版本号问题

    问题 xff1a librealsense2 so 2 47 cannot open shared object file No such file or directory 打开驱动查看版本号 realsense span class t
  • YOLOv3

    YOLOv3 论文信息论文标题 xff1a 论文作者 xff1a 收录期刊 会议及年份 xff1a 论文学习YOLOv3 网络架构 xff1a YOLO 输出特征图解码 xff08 前向过程 xff09 xff1a 训练策略与损失函数 xf
  • 使用Gazebo进行移动机械臂抓取仿真

    该项目在Gazebo中搭建一款机器人模型 xff0c 其底盘使用turtlebot移动机器人底盘 xff0c 机械臂采用结构较为简单的turtlebot arm xff0c 并在底盘上添加kinect深度相机 最终该机器人可实现自主导航 物