小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
运行moveit出现的execute_trajectory和follow_joint_trajectory两个action区别
-
在鱼香ROS公众号的一片文章《机器人学习必看系列:如何使用moveit控制真实机械臂?》,里面运行moveit的时候,
1、出现的/excute_trajectory和/follow_joint_trajectory有什么区别?
2、它们的发布者和订阅者分别是谁?完成的是什么任务?
3、在控制虚拟机械臂或者真机的时候,这两种action都可以使用吗?如果不行,那分别是什么时候用到?
谢谢 -
@dainifei522 两者都是相同类型的action,名称不同罢了,取一个用就行,至于是虚拟还是真机,是action接收数据后如何处理的问题。
-
@小鱼
问题:
看到一段话,
"⽤moveit的时候,从话题中/execute_trajectory/goal能得到规划的路径点,然后下发给实际的机械臂进⾏运动,但是这个时候仿真的机
械臂已经运动到了⽬标点了,因为要得到/execute_trajectory/goal这个消息,就⼀定要在moveit⾥⾯执⾏execute.,因此导致实际的机
械臂和rviz中的机械臂运⾏的不同步。 解决⽅法:因为这个话题只是action的底层实现,我们写程序的时候是不能直接⽤这个话题的,⽽是
要⽤follow trajectory 那个action,机械臂接收规划的路径,开始运动,不断反馈状态,到达⽬标点结束,这样就是⼀个同步的状态。"这段话有没有问题?是正确的吗?这个不同步怎么理解?可否解释一下?谢谢
-
@dainifei522 接收goal去运动这个思路本身就不正确,仿真和真实机械臂本身就是冲突的(有真实的干嘛还要仿真?),正确的思路是用真实机械臂的位姿喂给moveit,moveit通过action控制真实机械臂。
-
@小鱼
好的,再请问一下,在gazebo中模拟机器人的控制器是通过使用ros_control的结构对吧?通过gazebo仿真和控制真机运行的话都是可以通过follow_joint_trajectory这个action对吧?那这个follow_joint_trajectory属于ros_control里面Controller Manager管理的controllers中的一种吗?谢谢 -
@dainifei522 ROS1中稍微有点乱,但的确是通过ROS_Control接口,你可以通过controller_manager看到相应接口。
-
@小鱼 回复不是很看得明白。。