ROS双臂定点抓取问题记录

平台:ROS-Melodic+MoveIt!
编程语言:C++
机械臂模型:KINOVA-j2s6s200

双臂抓取基本思路分主臂从臂,先后规划并到达各自抓取点,然后对从臂末端添加相对于主臂末端的运动学约束,通过求解逆运动学并规划添加路径点形成轨迹实现双臂同时运动。

问题一

  • 主臂抓取点位姿问题

最开始的时候没有添加运动学约束,只是通过添加两个机械臂的路径点和C++的API生成轨迹,然后取出轨迹中规划好的路径点给非链式的双臂整体movegroup循环赋关节值,实现双臂同时运动。主臂抓取点设置的语段如下:

	std::vector<moveit_msgs::Grasp> grasps;
	grasps.resize(1);

	grasps[0].grasp_pose.header.frame_id = "root";
	tf2::Quaternion orientation;
	orientation.setRPY(0, -M_PI / 2, M_PI / 2);
	grasps[0].grasp_pose.pose.orientation = tf2::toMsg(orientation);
	grasps[0].grasp_pose.pose.position.x = 0.6;
	grasps[0].grasp_pose.pose.position.y = -0.3;
	grasps[0].grasp_pose.pose.position.z = 0.35;

在我直接给路径点赋值的时候这段运行的很顺利,但是在我尝试加入运动学以后这个抓取点在终端一直提示没有规划出来的解决方案,无法执行。如图:

在这里插入图片描述
以为是目标物体挡住了主臂的规划路线,但是去掉以后仍然无法规划。图中从臂规划顺利,主从臂姿态对称,从臂姿态:

orientation1.setRPY(0, M_PI 
  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
你可以参考以下步骤来实现一个基于ROS的强化学习抓取Demo: 1. 安装ROS:首先,确保你已经安装了ROS,并且熟悉ROS的基本概念和使用方法。 2. 安装机器人模拟环境:为了进行强化学习训练和仿真,你需要选择一个适合的机器人模拟环境,例如Gazebo或者V-REP。安装并配置好所选环境。 3. 构建机器人模型:在模拟环境中,你需要为机器人构建一个物理模型。根据你的需求选择合适的机器人模型,并且设置其关节、传感器等属性。 4. 定义抓取任务:根据你的需求和任务场景,定义一个抓取任务。这包括目标物体的位置、形状,以及机器人的起始位置和动作空间等。 5. 强化学习算法:选择一个适合的强化学习算法来训练机器人完成抓取任务。常用的算法包括深度强化学习算法(如DQN、DDPG、PPO等)和基于值函数的方法(如Q-learning、SARSA等)。 6. 实现ROS节点:使用ROS框架编写节点,将强化学习算法与机器人模拟环境进行交互。这些节点可以包括感知节点、控制节点和学习节点等。 7. 训练机器人:在模拟环境中运行ROS节点,开始训练机器人完成抓取任务。根据选择的算法和任务设置,通过与环境的交互,逐渐优化机器人的策略和动作选择。 8. 评估和调优:训练完成后,对机器人的抓取能力进行评估。根据评估结果,可以进一步调优算法和参数,以提高机器人的性能。 这只是一个大致的步骤指南,具体实现过程会根据你的需求和环境而有所不同。你可以参考ROS和强化学习相关的文档、教程和示例代码来更详细地了解和实践这个Demo。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值