单个关节特定速度角度下的运动
任务一、
你那边帮我输出几个轨迹,范围都是±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的关节做规划并且采集数据。
要求:不同频率下的数据,10hz、50hz 、100hz(可能的话)
频率可以在数据topic的采集部分设置
后面再整理
任务二、
主要针对后期机械臂多关节多电机的联合仿真测试,最后要做成通用接口的形式,所以要在程序中表明使用说明。
任务要求:
需要四关节电机的运动数据,不必确定是那个机器人模型(可用abbirb1600的机器人模型),
四个关节电机,对应每个电机的不同角速度、加速度、运动限制范围(正负运动的最大限制),
做成可调用的接口(可调用函数)的形式,接口可以做到修改某特定电机的对应运动参数(上面提到的速度、加速度、关节范围)
做到可设置不同运动情况下的不同采样率设计
任务拆分:
1、如何做电机的角速度规划? –-- 限定每次运动的时间?有设计角速度的函数接口?
2、如何实现对电机的运动范围做限制?这部分参考moveit 教程,类似于做路径约束规划
3、角加速度如何规划?
4、采样率可以在程序中用rate设计