2023年11月22日记

1.ros中的控制器插件

ros_control是用于将ROS中开发的一系列功能包应用到实际机器人上的插件。

controller manager用于管理各个不同的controller,如移动控制和运动控制分别的控制器,其中controller主要是用PID控制。
控制器

1.1常用控制器(controllers)

joint_state_controller:监控状态,没有控制功能,通过话题发出机器人状态。
joint_effort_controller:力控制
joint_position_controller:位置控制,最为常用。
joint_velocity_controller:速度控制

1.2 gazebo仿真所需模型完善

1.gazebo中仿真模型需要,,三个属性缺一不可 (惯性参数,可视化参数和碰撞参数)。
2.gezebo中要将模型参数改为较小的质量和较大的惯性矩,能使gazebo仿真更加稳定。
3.transmissions:给每个JOINT添加传动装置和电机(gazebo中已定义的宏)。
4.为电机添加gazebo控制器插件。

1.3构建MOVEIT+GAZEBO仿真

Moveit控制框架
简化框架图

1.MOVEIT这个框架其输入有两大种情况,一为Rviz的GUI输入,二为C++或Python的API输入;
2. 输出的Trajectory Data即为机器人的位置和相应的速度与加速度信息(并非话题,无法通过topic查看到);
3.Moveit接口Follow Joint Trajectory负责封装好轨迹信息后发给Gazebo/robot接口;
4. moveit规划的较粗的轨迹点,后续Trajectory Controller完成更细节的插补。

1.3.1 关节轨迹控制器(Joint Trajectoy Controller)

接受轨迹action信息并完成插补运算再传递给关节。

线性样条,三次样条,五次样条。

1.3.2 关节状态控制器(Joint State Controller)

反馈发布关节参数信息。

1.3.3 配置

三个控制器都需要(1)参数配置,配置yaml文件;(2)控制器启动,launch文件。

联合仿真配置

2.moveit的API接口

用户接口

2.1编程流程

1.连接控制需要的规划组,即assistant中的group;
2设置目标位姿(关节空间或笛卡尔空间);
3.设置运动约束(可选);
4.使用Moveit规划一条到达目标的轨迹;
5.修改轨迹(可选);
6.执行。

几个简单的API案例整合

2.2 案例

1.运动学正解运动,由home到自定关节空间位置;
2.运动学逆解,由home到笛卡尔空间为止(四元数+POSITION表达),没运行起来。。。
3.直线运动,调用笛卡尔路径函数,即使其按某一路径运动;

(plan, fraction) = arm.compute_cartesian_path (
		                            waypoints,   # waypoint poses,路点列表
		                            0.01,        # eef_step,终端步进值
		                            0.0,         # jump_threshold,跳跃阈值
		                            True)        # avoid_collisions,避障规划

plan是规划得出的运动轨迹;
fraction为描述规划成功的轨迹在给定路点列表中的覆盖率[0~1]。若fraction小于1,说明给定的路点列表没办法完整规划。

(需要特别强调一下,跳跃阈值表示如果某点计算不出或无法达到是否要跳跃,若设为0,即不跳跃)

4.attached,即抓取物体后,物体也会被考虑避障问题,此例程的核心在于场景监视器,用于监视外界场景变化,相对end坐标系的位置,attach_box附着,add_box是添加到环境中而非附着,是障碍物。

scene = PlanningSceneInterface()

scene.attach_box(end_effector_link, 'tool', p, tool_size)

2.5.第六讲小结

1关节空间运动:

set_joint_value_target
set_pose_target

2.笛卡尔空间运动

compute_cartesian

3.自主避障规划
rviz添加障碍物

add_box
attach_box
  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Boreep

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值