1.KUKA(库卡)路径规划项目
在这个项目中,给定一个迷宫的开始和目标状态,实现一个路径规划算法来搜索路径,然后在迷宫中的6自由度工业机器人的帮助下,将物体从起点移动到目标状态。
库卡路径规划项目由库卡机器人和卡尔斯鲁厄理工学院(KIT)机器人学习实验室(RLL)合作推出。KUKA Robotics是一家领先的工业机器人制造商,为KIT实验室提供了真实世界的6自由度工业机械臂。
KIT实验室提供了真实世界的设置以及项目SDK(软件开发工具包),这是gazebo模拟中物理实验室设置的副本。他们还构建了web界面,我们将使用它来提交代码到硬件,从那里可以查看代码在硬件上执行情况!
项目概述
在这个项目中,通过迷宫导航实现路径规划算法。一般来说,通过迷宫的路径规划问题被简化为两个维度:物体的x和y位置。然而,这个项目将把搜索空间扩展到第三个维度,即围绕垂直z轴的夹持器的方向。

执行周期
在每次运行中,机器人将遵循以下循环:
首先,KUKA夹持器将移动到物体的起始位置,相对于物体定向,抓住物体,并将其举起。
在此阶段,执行路径规划代码:搜索路径,通过命令2D位置和方向角度来引导机器人通过迷宫,以便绕过迷宫中的角落
有8分钟的时间来搜索路径并朝着目标姿势移动。一旦到达,长方体物体将被放置在目标姿势。
最后,机器人将从目标姿势中拾起物体,将其返回到开始姿势,放下它,并为下一次运行做好准备。
项目规范
通常,路径规划算法应用于已知地图。然而,在这个项目中,将不得不几乎盲目地进行搜索,这就产生了一个具有挑战性的问题。以下是对迷宫的了解:

只有它的宽度和长度!
除了迷宫的尺寸(1.2米x 1.6米),开始和目标状态也会作为算法的输入。通往目标状态的路径就是输出。在启动文件中,将编辑对象的开始姿势和目标姿势。
由于地图是未知的,物体也没有配备任何传感器,你可能想知道……我们如何用机械臂探测障碍物并移动长方体物体?
项目地址: GitHub - KITrobotics/rll_path_planning_project
我们包含了两个可以在python脚本中调用的服务; Move和CheckPath:
Move: 通过发送2D姿势来命令机器人。机器人将沿着线性路径移动物体到这个位置。移动点应该距离起始点至少5毫米。如果要旋转手臂,那么确保至少旋转0.35弧度。CheckPath: 验证两个2D姿态之间的线性路径是否有效。
注意:每次机器人开始迷宫问题时,它应该完全不知道墙在哪里,也不知道迷宫地图是什么样子的!
总而言之,在这个项目中,有两个主要文件要编辑:一个可以指定开始/目标姿势的启动文件,以及一个编写路径规划算法的python脚本。
附:path_planner.py
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import rospy
from geometry_msgs.msg import Pose2D
from rll_planning_project_iface.client import RLLPlanningProjectClient
def plan_to_goal(client):
# type: (RLLPlanningProjectClient) -> bool
""" Plan a path from Start to Goal """
rospy.loginfo("Got a planning request")
# Input: map dimensions, start pose, and goal pose
# retrieving input values
map_width = 1.0
map_length = 1.4
start_pose, goal_pose = client.get_start_goal()
# printing input values
rospy.loginfo("map dimensions: width=%1.2fm, length=%1.2fm",
map_width, map_length)
rospy.loginfo("start pose: x %f, y %f, theta %f",

该项目涉及使用KUKA机器人在未知迷宫中进行路径规划,通过编程解决从起点到目标的物体移动问题。在Gazebo和Rviz模拟环境中,利用提供的Move和CheckPath服务来规划和验证路径。项目要求在有限时间内找到路径并执行,同时处理碰撞检测和物体操纵。
最低0.47元/天 解锁文章
599

被折叠的 条评论
为什么被折叠?



