ROS 单个关节特定速度角度下的运动

本文介绍了如何在ROS环境下,针对ABB IRB1600机器人模型,实现单个关节在特定速度下的运动,并进行数据采集。通过手动拖动关节并记录bag文件,然后以不同频率播放并存储关节状态。使用moveit库进行路径规划,调整关节速度和加速度,并设计了关节速度、加速度限制以及采样率的接口。最终,开发了两个节点,一个用于关节运动规划,另一个用于读取关节信息并驱动关节运动。
摘要由CSDN通过智能技术生成

单个关节特定速度角度下的运动

 

 

任务一、

 

    你那边帮我输出几个轨迹,范围都是±50°,让机械臂分别以30°、40°、50°、60°、70°每秒的速度运行,以50Hz的频率获取数据

实现方法,采用手动拖动的方法实现单个关节的运动,在运动时采集 bag, 采集bag 之后,play 然后通过接收 topic的信息,存储到txt 中。

达到的结果:可以实现单个关节大致的拖动,可能会有一定的角度误差(不超过5度),可实现单次电机的额动、单次单向运动,(目标是循环往复的运动)

$ rosbag play 2018-02-02-20-13-17.bag

$ rosbag play 2018-02-02-20-07-50.bag

 

给某个特定关节输入关节量position,使该特定关节到达特定的关节位置

方法:参考moveit 创客制造的教程http://www.ncnynl.com/archives/201610/1032.html

 

规划到一个关节空间内的目标

·     现在规划一个到关节空间内的目标并向其移动。这个会替代之前设置的目标

·      首先获取指定组的当前关节的设置

std::vector<double>group_variable_values;

group.getCurrentState()->copyJointGroupPositions(group.getCurrentState()->getRobotModel()->getJointModelGroup(group.getName()),group_variable_values);

group_variable_values[0] = -1.0;

group.setJointValueTarget(group_variable_values);

success = group.plan(my_plan);

 

ROS_INFO("Visualizing plan 2(joint space goal) %s",success?"":"FAILED");

/* Sleep to give Rviz time tovisualize the plan. */

sleep(5.0);

 

依旧是采用abbirb1600 的模型,采用moveit创客的程序,对abb的关节做规划并且采集数据。

要求:不同频率下的数据,10hz50hz 100hz(可能的话)

频率可以在数据topic的采集部分设置

 

后面再整理

 

 

 

 

 

 

 

 

 

任务二、

 

主要针对后期机械臂多关节多电机的联合仿真测试,最后要做成通用接口的形式,所以要在程序中表明使用说明。

 

任务要求:

 

需要四关节电机的运动数据,不必确定是那个机器人模型(可用abbirb1600的机器人模型)

 

四个关节电机,对应每个电机的不同角速度、加速度、运动限制范围(正负运动的最大限制),

做成可调用的接口(可调用函数)的形式,接口可以做到修改某特定电机的对应运动参数(上面提到的速度、加速度、关节范围)

 

做到可设置不同运动情况下的不同采样率设计

 

 

任务拆分:

 

1、如何做电机的角速度规划? –-- 限定每次运动的时间?有设计角速度的函数接口?

 

2、如何实现对电机的运动范围做限制?这部分参考moveit 教程,类似于做路径约束规划

 

3、角加速度如何规划?

 

4、采样率可以在程序中用rate设计

 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值