越疆魔术师DEBOT(magician)机械臂ROS、MoveIt!和Gazebo功能包与ROS-I教程(melodic)


原文地址:https://blog.csdn.net/qq_42145185/article/details/93501741


喜欢DEBOT的小伙伴,现在可以仿真玩耍机械臂啦,如果已经购买可以配合一起玩耍起来。

支持 Ubuntu 16.04 + ROS KineticUbuntu 18.04 + ROS Melodic。

不论是经典版本ROS1K还是最新版本ROS1M都完美支持!

效果如下,更多功能还在继续开发中,下载地址参考本文第一行:

roslaunch magician_description gazebo.launch

越疆魔术师DEBOT(magician)机械臂ROS、MoveIt!和Gazebo功能包与ROS-I教程(melodic)_第1张图片 Gazebo初始

roslaunch magician_moveit_config moveit_planning_execution.launch

越疆魔术师DEBOT(magician)机械臂ROS、MoveIt!和Gazebo功能包与ROS-I教程(melodic)_第2张图片 rviz初始

动起来~

越疆魔术师DEBOT(magician)机械臂ROS、MoveIt!和Gazebo功能包与ROS-I教程(melodic)_第3张图片 rviz规划

rviz+Gazebo同步执行:

越疆魔术师DEBOT(magician)机械臂ROS、MoveIt!和Gazebo功能包与ROS-I教程(melodic)_第4张图片 rviz--->Gazebo

更多功能参考和学习源码~

.
├── magician_background
│   ├── CMakeLists.txt
│   ├── include
│   │   └── magician_background
│   │       └── magician_teleop_background.h
│   ├── launch
│   │   └── magician_background.launch
│   ├── package.xml
│   ├── script
│   │   └── magician_panel.py
│   └── src
│       └── magician_teleop_background.cpp
├── magician_description
│   ├── CMakeLists.txt
│   ├── config
│   │   ├── gazebo_ros_control.yaml
│   │   ├── joint_state_controller.yaml
│   │   └── magician_arm_controller.yaml
│   ├── launch
│   │   ├── display.launch
│   │   └── gazebo.launch
│   ├── meshes
│   │   ├── magician_base.STL
│   │   ├── magician_base_surface.STL
│   │   ├── magician_link1.STL
│   │   ├── magician_link2.STL
│   │   ├── magician_link2_surface.STL
│   │   ├── magician_link3.STL
│   │   ├── magician_link3_surface.STL
│   │   ├── magician_link4.STL
│   │   └── magician_servos.STL
│   ├── package.xml
│   ├── urdf
│   │   ├── magician.gazebo
│   │   ├── magician_ikfast.urdf
│   │   ├── magician_open_chain.urdf.xacro
│   │   ├── magician_transmission.xacro
│   │   ├── magician.urdf
│   │   ├── magician.urdf.xacro
│   │   └── materials.xacro
│   └── urdf.rviz
├── magician_hardware
│   ├── CMakeLists.txt
│   ├── config
│   │   ├── joint_state_controller.yaml
│   │   └── magician_arm_controller.yaml
│   ├── include
│   │   └── magician_hardware
│   │       ├── magician_device.h
│   │       └── magician_hardware_interface.h
│   ├── launch
│   │   └── magician_bringup.launch
│   ├── lib
│   │   ├── DobotDll_x64
│   │   │   ├── dobotdll_global.h
│   │   │   ├── DobotDll.h
│   │   │   ├── DobotType.h
│   │   │   ├── libDobotDll.so -> libDobotDll.so.1.0.0
│   │   │   ├── libDobotDll.so.1 -> libDobotDll.so.1.0.0
│   │   │   ├── libDobotDll.so.1.0 -> libDobotDll.so.1.0.0
│   │   │   ├── libDobotDll.so.1.0.0
│   │   │   ├── libicudata.so.53
│   │   │   ├── libicudata.so.53.1
│   │   │   ├── libicudata.so.56
│   │   │   ├── libicudata.so.56.1
│   │   │   ├── libicui18n.so.53
│   │   │   ├── libicui18n.so.53.1
│   │   │   ├── libicui18n.so.56
│   │   │   ├── libicui18n.so.56.1
│   │   │   ├── libicuuc.so.53
│   │   │   ├── libicuuc.so.53.1
│   │   │   ├── libicuuc.so.56
│   │   │   ├── libicuuc.so.56.1
│   │   │   ├── libQt5Core.la
│   │   │   ├── libQt5Core.prl
│   │   │   ├── libQt5Core.so
│   │   │   ├── libQt5Core.so.5
│   │   │   ├── libQt5Core.so.5.4 -> libQt5Core.so.5.4.0
│   │   │   ├── libQt5Core.so.5.4.0
│   │   │   ├── libQt5Core.so.5.6
│   │   │   ├── libQt5Core.so.5.6.0
│   │   │   ├── libQt5Network.la
│   │   │   ├── libQt5Network.prl
│   │   │   ├── libQt5Network.so
│   │   │   ├── libQt5Network.so.5
│   │   │   ├── libQt5Network.so.5.4 -> libQt5Network.so.5.4.0
│   │   │   ├── libQt5Network.so.5.4.0
│   │   │   ├── libQt5Network.so.5.6
│   │   │   ├── libQt5Network.so.5.6.0
│   │   │   ├── libQt5SerialPort.la
│   │   │   ├── libQt5SerialPort.prl
│   │   │   ├── libQt5SerialPort.so
│   │   │   ├── libQt5SerialPort.so.5
│   │   │   ├── libQt5SerialPort.so.5.4
│   │   │   ├── libQt5SerialPort.so.5.4.0
│   │   │   ├── libQt5SerialPort.so.5.6
│   │   │   └── libQt5SerialPort.so.5.6.0
│   │   └── DobotDll_x86
│   │       ├── dobotdll_global.h
│   │       ├── DobotDll.h
│   │       ├── DobotType.h
│   │       ├── libDobotDll.so -> libDobotDll.so.1.0.0
│   │       ├── libDobotDll.so.1 -> libDobotDll.so.1.0.0
│   │       ├── libDobotDll.so.1.0 -> libDobotDll.so.1.0.0
│   │       ├── libDobotDll.so.1.0.0
│   │       ├── libicudata.so.53 -> libicudata.so.53.1
│   │       ├── libicudata.so.53.1
│   │       ├── libicui18n.so.53 -> libicui18n.so.53.1
│   │       ├── libicui18n.so.53.1
│   │       ├── libicuuc.so.53 -> libicuuc.so.53.1
│   │       ├── libicuuc.so.53.1
│   │       ├── libQt5Core.so -> libQt5Core.so.5.4.0
│   │       ├── libQt5Core.so.5 -> libQt5Core.so.5.4.0
│   │       ├── libQt5Core.so.5.4 -> libQt5Core.so.5.4.0
│   │       ├── libQt5Core.so.5.4.0
│   │       ├── libQt5Network.so -> libQt5Network.so.5.4.0
│   │       ├── libQt5Network.so.5 -> libQt5Network.so.5.4.0
│   │       ├── libQt5Network.so.5.4 -> libQt5Network.so.5.4.0
│   │       ├── libQt5Network.so.5.4.0
│   │       ├── libQt5SerialPort.so -> libQt5SerialPort.so.5.4.0
│   │       ├── libQt5SerialPort.so.5 -> libQt5SerialPort.so.5.4.0
│   │       ├── libQt5SerialPort.so.5.4 -> libQt5SerialPort.so.5.4.0
│   │       └── libQt5SerialPort.so.5.4.0
│   ├── package.xml
│   └── src
│       ├── magician_device.cpp
│       ├── magician_hardware_interface.cpp
│       └── magician_hardware_node.cpp
├── magician_kinematics
│   ├── CMakeLists.txt
│   ├── include
│   │   └── magician_kinematics
│   │       └── magician_kinematics_end_adapter.h
│   ├── package.xml
│   └── src
│       └── magician_kinematics_end_adapter.cpp
├── magician_moveit_config
│   ├── CMakeLists.txt
│   ├── config
│   │   ├── chomp_planning.yaml
│   │   ├── fake_controllers.yaml
│   │   ├── joint_limits.yaml
│   │   ├── kinematics.yaml
│   │   ├── magician.srdf
│   │   ├── ompl_planning.yaml
│   │   ├── ros_controllers.yaml
│   │   └── sensors_3d.yaml
│   ├── launch
│   │   ├── chomp_planning_pipeline.launch.xml
│   │   ├── default_warehouse_db.launch
│   │   ├── demo_gazebo.launch
│   │   ├── demo.launch
│   │   ├── fake_moveit_controller_manager.launch.xml
│   │   ├── gazebo.launch
│   │   ├── joystick_control.launch
│   │   ├── magician_moveit_controller_manager.launch.xml
│   │   ├── magician_moveit_sensor_manager.launch.xml
│   │   ├── move_group.launch
│   │   ├── moveit_planning_execution.launch
│   │   ├── moveit.rviz
│   │   ├── moveit_rviz.launch
│   │   ├── ompl_planning_pipeline.launch.xml
│   │   ├── planning_context.launch
│   │   ├── planning_pipeline.launch.xml
│   │   ├── ros_controllers.launch
│   │   ├── run_benchmark_ompl.launch
│   │   ├── sensor_manager.launch.xml
│   │   ├── setup_assistant.launch
│   │   ├── trajectory_execution.launch.xml
│   │   ├── warehouse.launch
│   │   └── warehouse_settings.launch.xml
│   └── package.xml
├── magician_moveit_plugins
│   └── magician_arm_ikfast_plugin
│       ├── CMakeLists.txt
│       ├── include
│       │   └── ikfast.h
│       ├── magician_magician_arm_moveit_ikfast_plugin_description.xml
│       ├── package.xml
│       ├── src
│       │   ├── magician_magician_arm_ikfast_moveit_plugin.cpp
│       │   └── magician_magician_arm_ikfast_solver.cpp
│       └── update_ikfast_plugin.sh
├── magician_msgs
│   ├── CMakeLists.txt
│   ├── package.xml
│   └── srv
│       └── SetInt16.srv
└── roboticsgroup_gazebo_plugins
    ├── CMakeLists.txt
    ├── include
    │   └── roboticsgroup_gazebo_plugins
    │       ├── disable_link_plugin.h
    │       └── mimic_joint_plugin.h
    ├── package.xml
    ├── README.md
    └── src
        ├── disable_link_plugin.cpp
        └── mimic_joint_plugin.cpp

37 directories, 162 files

如果想最快速入门ROS工业机器人,只推荐如下课程(支持indigo、kinetic和melodic),以m为例:

ROS工业机器人(Melodic)课程

设置

  • 电脑设置

预备基础

C ++ 

  • 麻省理工学院C ++课程简介
  • Bruce Eckel用C ++编程思考

Linux基础知识

Slides

  • 练习0.1 - 介绍Ubuntu GUI
  • 练习0.2 - Linux文件系统
  • 启动终端
  • 浏览目录和列表文件
  • 修改文件
  • 工作管理

基础内容

第1节 - ROS概念和基础

Slides

  • 练习1.0 - ROS设置
  • 练习1.1 - 创建工作区
  • 练习1.2 - 安装包
  • 练习1.3 - 包和节点
  • 练习1.4 - 主题和消息

第2节 - 基本ROS应用

Slides

  • 练习2.0 - 服务
  • 练习2.1 - 行动
  • 练习2.2 - 启动文件
  • 练习2.3 - 参数

第3节 - 机械臂的运动控制

Slides

  • 练习3.0 - URDF简介
  • 练习3.1 - Workcell XACRO
  • 练习3.2 - 使用TF进行变换
  • 练习3.3 - 建立一个MoveIt!包
  • 练习3.4 - 使用RViz进行运动规划

第四节 - 笛卡尔和感知

Slides

  • 练习4.0 - 使用C ++进行运动规划
  • 练习4.1 - 笛卡尔的介绍
  • 练习4.2 - 感知介绍

应用程序演示1 - 感知驱动的操作

  • 演示1 - 感知驱动的操作

应用程序演示2 - 笛卡尔计划和执行

  • 演示2 - 笛卡尔的计划和执行

应用程序演示3 - 基于优化的路径规划

  • 演示3 - 基于优化的路径规划

高级进阶内容

第5节 - 路径规划和构建感知管道

Slides

  • 练习5.0 - 高级笛卡尔路径规划
  • 练习5.1 - 构建感知管道
  • 练习5.2 - STOMP简介
  • 练习5.3 - Python的简单PCL接口
  • 练习5.4 - OpenCV图像处理(Python)

第6节 - 文档、单元测试和ROS实用程序与调试

Slides

  • 练习6.0 - 文档生成
  • 练习6.1 - 单元测试
  • 练习6.2 - 使用rqt工具进行分析
  • 练习6.3 - ROS样式指南和ros_lint
  • 练习6.4 - 使用Docker和Amazon Web Services(AWS)介绍ROS

 

你可能感兴趣的:(越疆魔术师DEBOT(magician)机械臂ROS、MoveIt!和Gazebo功能包与ROS-I教程(melodic))