6R机械臂运动规划及仿真
参考链接
解决Could not find a package configuration file provided by “manipulation_msgs“
moveIt之Unable to identify any set of controllers that can actuate the specified joints问题解决
Unable to identify any set of controllers that can actuate the specified joints: joint1 joint2 ...出错
环境配置
Ubuntu 18.04 melodic
成果图
Part 1: Rviz 机械臂仿真
step1: 下载机械臂模型
下载地址
step2: 创建工作空间
mkdir -p 6R_mechanical_arm/src
cd 6R_mechanical_arm
catkin_make
step3: src文件夹
将之前下载的机械臂模型中 description、gazebo、planning文件夹复制到 src文件夹下
step4: 在 rviz 中显示机械臂模型
在终端中运行 roscore
在工作空间 6R_mechanical_arm 中打开终端
roslaunch marm_description view_arm.launch
step5: 安装 MoveIt
在终端执行以下命令
sudo apt-get install ros-melodic-moveit
step6: 启动 MoveIt
在终端执行以下命令
rosrun moveit_setup_assistant moveit_setup_assistant
step7: 配置 MoveIt
(1)Start
(2)Self-Collisions
(3)Planning Groups(核心)
检查是否与下图一致
(4)Robot Poses
(5)End Effectors
(6)Author Information
(7)Configuration Files
step8: 重新编译工作空间
step9: 启动demo文件,测试 rviz 仿真环境
拖动规划
直接鼠标拖动机械臂末端执行器
点击 plan ,进行路径规划
点击 excute ,机械臂运动
设置动画是否循环播放
随机目标点规划
设置初始位姿
添加场景物体
可通过拖动箭头变换位置
Part 2: MoveIt 基础编程
以下代码运行都是在 rviz 打开的前提下执行
关节空间规划
在工作空间中打开终端
source ./devel/setup.bash
rosrun marm_planning moveit_fk_demo.py
工作空间规划
在工作空间中打开终端
source ./devel/setup.bash
rosrun marm_planning moveit_ik_demo.py
笛卡尔路径规划
显示路径
走直线
在工作空间中打开终端
source ./devel/setup.bash
rosrun marm_planning moveit_cartesian_demo.py _cartesian:=True (走直线)
走曲线
在工作空间中打开终端
source ./devel/setup.bash
rosrun marm_planning moveit_cartesian_demo.py _cartesian:=False (走曲线)
*
避障规划
在工作空间中打开终端
source ./devel/setup.bash
rosrun marm_planning moveit_obstacles_demo.py
Part 3: Gazebo 机械臂仿真
step1: 依赖文件配置
(1)关节轨迹控制器
trajectory_control.yaml
arm_trajectory_controller.launch
(2)MoveIt 控制器
在 6R_mechanical_arm/src/marm_moveit_config/config 路径下新建 controllers.yaml 文件
6R_mechanical_arm/src/marm_moveit_config/config/controllers.yaml
controller_manager_ns: controller_manager
controller_list:
- name: arm/arm_joint_controller
action_ns: follow_joint_trajectory
type: FollowJointTrajectory
default: true
joints:
- joint1
- joint2
- joint3
- joint4
- joint5
- joint6
- name: arm/gripper_controller
action_ns: follow_joint_trajectory
type: FollowJointTrajectory
default: true
joints:
- finger_joint1
- finger_joint2
6R_mechanical_arm/src/marm_moveit_config/launch/arm_moveit_controller_manager.launch.xml
<launch>
<!-- Set the param that trajectory_execution_manager needs to find the controller plugin -->
<arg name="moveit_controller_manager" default="moveit_simple_controller_manager/MoveItSimpleControllerManager" />
<param name="moveit_controller_manager" value="$(arg moveit_controller_manager)"/>
<!-- load controller_list -->
<!-- Gazebo -->
<rosparam file="$(find marm_moveit_config)/config/controllers.yaml"/>
</launch>
6R_mechanical_arm/src/marm_moveit_config/launch/moveit_planning_execution.launch
<launch>
# The planning and execution components of MoveIt! configured to
# publish the current configuration of the robot (simulated or real)
# and the current state of the world as seen by the planner
<include file="$(find marm_moveit_config)/launch/move_group.launch">
<arg name="publish_monitored_planning_scene" value="true" />
</include>
# The visualization component of MoveIt!
<include file="$(find marm_moveit_config)/launch/moveit_rviz.launch"/>
<!-- We do not have a robot connected, so publish fake joint states -->
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">
<param name="/use_gui" value="false"/>
<rosparam param="/source_list">[/arm/joint_states]</rosparam>
</node>
</launch>
(3)启动环境
arm_world.launch
(4)联结所有 launch 文件
arm_bringup_moveit.launch
step2: 启动 gazebo 和 rviz 仿真环境
在工作空间路径下打开终端,输入以下命令
source ./devel/setup.bash
roslaunch marm_gazebo arm_bringup_moveit.launch
调整 rviz 设置
调整 gazebo 设置
存在模型抖动现象,暂时不调整
step3: 使用 MoveIt
调整机器人目标位置
点击 Plan & Execute
问题汇总
1、Could not find a package configuration file provided by “manipulation_msgs“
解决方法
参考地址:解决Could not find a package configuration file provided by “manipulation_msgs“
下载地址:
2、点击 plan&execute 后,rviz有变化,gazebo无变化
解决方案一:
在终端执行以下代码
sudo apt install ros-melodic-ros-controllers
解决方案二:
修改文件:
工作空间/src/marm_moveit_config/launch/trajectory_execution.launch.xml
将参数 pass_all_args="true" 删掉即可
6R机械臂运动规划及仿真的更多相关文章
- FOC中的Clarke变换和Park变换详解(动图+推导+仿真+附件代码)
文章目录 1 前言 2 自然坐标系ABC 3 αβ\alpha\betaαβ 坐标系 3.1 Clarke变换 3.2 Clarke反变换 4 dqdqdq 坐标系 4.1 Park变换 正转 反转 ...
- 如何用MoveIt快速搭建机器人运动规划平台?
MoveIt = RobotGo,翻译成中文就是“机器人,走你!”所以,MoveIt的主要就是一款致力于让机器人能够自主运动及其相关技术的软件,它的所有模块都是围绕着运动规划的实现而设计的. 两个月前 ...
- ROS是Robot Operating System
ROS是Robot Operating System 机器人操作系统ROS | 简介篇 同样,从个人微信公众号Nao(ID:qRobotics)搬运. 前言 先放一个ROS Industrial一 ...
- 机器人操作系统ROS | 简介篇
同样,从个人微信公众号Nao(ID:qRobotics)搬运. 前言 先放一个ROS Industrial一周年剪辑视频. ROS已经发布八周年了,在国外科研机构中非常受欢迎.目前,以美国西南研究院为 ...
- 嵌入式的我们为什么要学ROS
- 基于 Mathematica 的机器人仿真环境(机械臂篇)[转]
完美的教程,没有之一,收藏学习. 目的 本文手把手教你在 Mathematica 软件中搭建机器人的仿真环境,具体包括以下内容(所使用的版本是 Mathematica 11.1,更早的版本可能缺少某些 ...
- 一步步制作下棋机器人之 coppeliasim进行Scara机械臂仿真与python控制
稚晖君又发布了新的机器人,很是强大. 在编写时看到了稚晖君的招聘信息,好想去试试啊! 小时候都有一个科幻梦,如今的职业也算与梦想有些沾边了.但看到稚晖君这种闪着光芒的作品,还是很是羡慕. 以前就想做一 ...
- V-rep学习笔记:机器人路径规划2
路径规划问题是机器人学研究的一个重要领域,它是指给定操作环境以及起始和目标的位置姿态,要求选择一条从起始点到目标点的路径,使运动物体(移动机器人或机械臂)能安全.无碰撞地通过所有的障碍物而达到目标位置 ...
- 机械臂运动学逆解(Analytical solution)
计算机器人运动学逆解首先要考虑可解性(solvability),即考虑无解.多解等情况.在机器人工作空间外的目标点显然是无解的.对于多解的情况从下面的例子可以看出平面二杆机械臂(两个关节可以360°旋 ...
- ROS机械臂 Movelt 学习笔记1 | 基础准备
环境:Ubuntu18.04 + ROS Melodic 1. 安装ROS 官网下载安装步骤:http://wiki.ros.org/melodic/Installation/Ubuntu 一键安装的 ...
随机推荐
- 【LuckyFrame研究】下载安装包
下载安装包,可以快速部署 百度网盘链接: https://pan.baidu.com/s/1SNUhzoKFgH2TRQN2Rx711A 提取码: u845 服务端压缩包 V3.X版本:Lucky ...
- [imx6ull] 源码下载
uboot git clone https://source.codeaurora.org/external/imx/uboot-imx cd uboot-imx make distclean mak ...
- 什么是RPA?RPA能干什么?
一.什么是RPA什么是RPA? RPA的全称为机器人流程自动化(Robotic Process Automation),即:"机器人流程自动化",是一种智能化的企业流程管理系统.R ...
- docker 部署 postgres
1. 打开dockerhub查找postgres版本 地址 https://registry.hub.docker.com/_/postgres/tags 2.复制需要的版本 docker pull ...
- 在Pycharm上使用远程服务器进行调试
前言 缘起 Mac上没有GPU,需要用到学校服务器进行调试,于是产生了这篇博客.0.0bb 前提 首先确保已经将Pycharm配置好,通过SSH连接到服务器上的开发环境,这一步网络上有许多教 ...
- day13-SpringBoot整合MyBatis/Plus
SpringBoot整合MyBatis/Plus 1.SpringBoot整合MyBatis 1.1整合案例 需求:整合SpringBoot和Mybatis,向数据库中查询数据. 项目结构: 1.1. ...
- 实现一个CRDT工具库——VClock 时钟向量类
这段代码实现了一个VClock类,它是基于GCounter实现的.VClock是一种向量时钟,它可以用于在分布式系统中对事件发生的顺序进行排序.VClock的实现方式是将每个节点的计数器值存储在一个字 ...
- 7.远程代码执行漏洞RCE
远程代码执行漏洞RCE 1.RCE Remote Code Execute 远程代码执行 Remote Command Execute 远程命令执行 2.危害 窃取服务器的敏感数据.文件 对电脑的文件 ...
- 从内核源码看 slab 内存池的创建初始化流程
在上篇文章 <细节拉满,80 张图带你一步一步推演 slab 内存池的设计与实现 >中,笔者从 slab cache 的总体架构演进角度以及 slab cache 的运行原理角度为大家勾勒 ...
- 部署:戴尔iDRAC+Ubuntu 18.04系统安装
Ubuntu镜像下载链接:http://mirrors.aliyun.com/ubuntu-releases/18.04/ 1.登录戴尔管理口 2.点击虚拟控制台 3.选择镜像 4.挂载镜像 5.选择 ...

































































































