越疆魔术师DEBOT(magician)机械臂ROS、MoveIt!和Gazebo功能包与ROS-I教程(melodic)
原文地址:https://blog.csdn.net/qq_42145185/article/details/93501741
喜欢DEBOT的小伙伴,现在可以仿真玩耍机械臂啦,如果已经购买可以配合一起玩耍起来。
支持 Ubuntu 16.04 + ROS Kinetic 或 Ubuntu 18.04 + ROS Melodic。
不论是经典版本ROS1K还是最新版本ROS1M都完美支持!
效果如下,更多功能还在继续开发中,-参考本文第一行:
roslaunch magician_description gazebo.launch
roslaunch magician_moveit_config moveit_planning_execution.launch
动起来~
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
Python
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。