资讯详情

【Gazebo仿真·二】Gazebo + ur5e + RealSense + Aruco 二维码识别与跟随仿真

【前言】

前一篇文章【Gazebo仿真·一】Gazebo Moveit ur5e机械臂仿真实现了Gazebo中通过moveit对ur5e控制仿真机械臂;本文旨在在机械臂末端添加一个RealSense d435相机,并在gazebo二维码识别现二维码识别和跟中实现,使用二维码识别Aruco包。

一、模拟前的准备

1.1 realsense 软件包安装

根据系统环境安装realsense SDK 和 realsense_ros:自用参考链接,有时间更新

1.2 本文的工作空间catkin_ws文件结构

|--catkin_ws

|----src

|------universal_robot

|------robot_gazebo

|----------robot_description

|----------ur5e_moveit_config

|------realsense

|----------realsense_ros

|----------realsense_ros_gazebo

|------my_scene

|----------aruco_ros

|----------arm_control

git地址:GitHub - Aya-nuomi/marker_track

二、在gazebo中进行realsense仿真

2.1 设置realsense模型和插件

[gazebo仿真]添加RealSense双目相机传感器

1)realsense下载模型和插件包

cd catkin_ws/src/realsense git clone https://github.com/nilseuropa/realsense_ros_gazebo.git

2)加载realsense模型和插件(沿用上一篇文章中的工作空间)

修改.../robot_description/ur5e_robot.urdf.xacro,添加realsense模型和插件

tips:可以参考.../realsense_ros_gazebo/urdf/test.xacro文件

<?xml version="1.0"?> <robot name="ur5e" xmlns:xacro="http://ros.org/wiki/xacro" >    <!-- common stuff -->   <xacro:include filename="$(find robot_description)/urdf/common.gazebo.xacro" />   <!-- ur5e -->   <xacro:include filename="$(find robot_description)/urdf/ur5e.urdf.xacro" />   <!-- Realsense d435 -->   <xacro:include filename="$(find realsense_ros_gazebo)/xacro/depthcam.xacro"/>    <!-- my_arm -->   <xacro:ur5e_robot prefix="" joint_limited="false"/>   <!-- my_d435 -->   <xacro:realsense_d435 sensor_name="d435" parent_link="tool0" rate="10">     <origin rpy="0 ${-pi/2} 0 " xyz="0 0 0.02"/>   </xacro:realsense_d435>    <link name="world" />    <joint name="world_joint" type="fixed">     <parent link="world" />     <child link = "base_link" />     <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />   </joint>  </robot>

这里把realsense相机的父坐标系设置为tool0,并通过<origin>设置相机的初始位置。

2.2 编译并运行launch文件,进行realsense仿真

catkin build source devel/setup.bash roslaunch ur5e_moveit_config demo_gazebo.launch

tips:修改xacro例如,文件中的参数rate等等,可以设置相机话题的发布频率

三、在gazebo在环境中添加二维码

3.1 在墙上添加二维码(二维码和墙是一个模型)

从gazebo9在墙上添加二维码

· ARcode生成网址:Online ArUco markers generator

·在线转换网站.svg格式转变为.png格式:在线将SVG 转换成 PNG

·二维码图片(png格式)复制到 /usr/share/gazebo-9/media/materials/textures

·创建二维码材料:在/usr/share/gazebo-9/media/materials/scripts中新建 aruco.material

import * from "grid.material" material Gazebo/aruco-36 {   receive_shadows on    technique   {     pass     {       ambient 0.5 0.5 0.5 1.000000        texture_unit       {         texture aruco_36.png       }     }   } }

图片也应该和谐material文件放在model文件夹内:material文件: .../models/my_model/materials/scrips;图片: .../models/my_model/materials/textures

·打开gazebo

·Edit -> Building Editor, 创建墙并保存~/.gazebo/models文件夹下

·修改墙体模型sdf文件,二维码<link>和<joint>添加进去,<link>选择第一步创建的材料

请注意,如果墙壁保存在/home在路径下,墙壁model就在/home/z/...中

如果把墙体model保存在/home/z/.gazebo/models下,从这里选择,

·重新打开gazebo

·在Insert插墙

标签: 5e0100200112传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台