火星漫游者的建模与控制
这个例子模拟火星漫游者执行样本检索任务使用Simscape多体™和机器人系统工具箱.火星车在坚硬的地表上沿着理想的路径行驶,在目标位置停下来,并使用其机械手从地表上采集和存储样本。它使用以下关键特性来建模应用程序的不同方面:
网格表面用于刚性地形表面的建模。(需要一个Simscape多体™许可)
点云而且空间接触力用于模拟漫游者车轮与坚硬地形之间的接触。(需要一个Simscape多体™许可)
KinematicsSolver
(需要一个Simscape多体™许可证)和梯形速度剖面轨迹(机器人系统工具箱)(需要一个机器人系统工具箱许可)用于探测车臂关节空间轨迹规划与控制。联合模式配置(需要一个Simscape多体™许可证)用于建模末端执行器和样品之间的相互作用。
火星漫游者模型
参考模型sm_mars_rover.slx
查看本例中提到的子系统。
火星漫游者动画
漫游者工厂模型与控制
该子系统对漫游者、刚性地形表面和路径规划进行建模,并对系统的各个方面进行控制。
探测器子系统
该子系统为漫游者的各种组件建模,如底盘、摇臂-转向架悬挂和车轮。将几何图形的CAD零件导入Simscape多体™使用文件实.
月球车的执行机构对应于安装在六个轮子上的六个扭矩驱动转动关节,用于速度控制,以及安装在四个角轮顶部的四个扭矩驱动转动关节,用于转向。此外,还对悬架机构的三个主要部件进行了建模,即差动臂、摇臂和转向架。
车轮与刚性地形之间的接触采用点云而且网格表面接触副一起空间接触力块。每个车轮的凹槽上的点是使用点云块。
坚硬地形表面
为了模拟火星表面,我们使用网格表面块。参考文件rover_rigid_terrain_params.m
来设置从STL文件创建Grid Surface所需的参数。
漫游者路径规划与控制
该子系统对漫游者路径跟踪控制系统进行建模。路径由漫游者希望通过的X-Y平面上的有序路径点组成。这些路径点假定由高级路径规划器提供,并将代表漫游者的无障碍路径。方法加载这些路径点roverDesiredPath.mat
文件。
这个子系统的目标是,首先,计算必要的转向角度和车轮速度需要遵循一个理想的路径和理想的底盘线速度,其次,计算必要的致动器扭矩需要实现这些转向角度和车轮速度。
在开发路径跟踪控制器时,考虑了以下几点:
火星探测器通常假设具有低的前进速度(在厘米/秒的数量级),因此运动的动力学被忽略,控制问题只使用运动学方程。[1]
为了简化运动学公式,假设漫游者在平面上运动。[1]
漫游者的四个角轮有独立的转向,可以使漫游者执行阿克曼转向。基于这种能力,漫游者被认为是使用阿克曼转向。
通过假设一个具有等效转弯半径的二维自行车几何模型,简化了阿克曼转向几何模型。这种简化是通过将每对车轮表示为位于中间的单个车轮和与漫游者中心转弯半径对应的单个转向角度来实现的。[1][2]
前轮和后轮被认为是对称转向的。
假定轮子滚动时不打滑。
基于上述考虑,六轮漫游车可以等效地表示为一个几何自行车模型。[1]
单纯的追求(机器人系统工具箱)用于路径跟踪。这是一个几何算法,计算目标方向角( )需要将机器人从当前位置移动到机器人前面的某个前视点
转向角公式
漫游者四个转角轮子的转向角分两步得到。我们首先使用几何自行车模型和目标方向角( )(由Pure Pursuit Controller提供),以获得单车转向角度( )和转弯半径( ),如下图所示
在那里,
根据计算出的自行车转向角度( )和月球车的转弯半径( ),则得到各个转向角( )使用阿克曼转向几何。[3]
= -
= -
在那里,
轮速公式
基于阿克曼转向几何和转弯半径( ),我们也得到了底盘速度( )和车轮转速( )如下[3]所示:
在那里,
一旦方向盘角度和车轮速度都被制定为期望的路径和期望的底盘线速度,PID控制器被用来驱动实际的方向盘角度和角率的执行器(转动关节)到他们的期望值。
漫游者模拟结果:路径1
当漫游者在不平坦地形上以~0.3 m/s的速度移动时路径1的结果。在模型的Rover Sensing子系统中可以看到更多的量。
漫游者模拟结果:路径2
当漫游者在不平坦地形上以~0.3 m/s的速度移动时,路径2的结果。在模型的Rover Sensing子系统中可以看到更多的量。
机械臂装置模型与控制
该子系统为漫游者的机械臂及其轨迹规划和控制建模,以从地表采集样本。
罗孚的手臂
该机械手被建模为安装在底盘前端的6自由度手臂。它的执行机构对应于六个扭矩驱动的转动关节。为了模拟编码器等传感器,子系统输出六个转动关节的关节角度。我们使用一个简化的模型来计算末端执行器和样本之间的相互作用关节模式切换.当末端执行器足够接近样品时,连接它们的最初脱离的6自由度关节开始接合。这种6自由度关节具有紧密的位置限制,以保持样品几乎约束到末端执行器。当包含样品的末端执行器足够接近样品存储位置时,末端执行器与样品之间的啮合6-自由度关节断开,样品与存储位置之间的初始脱离6-自由度关节断开。这种6自由度接头也有严格的位置限制,以保持样品几乎约束在底盘上的存储位置。
规划及控制
一旦漫游者停在目标位置,机械手规划和控制子系统就会启动。一旦漫游者停止,样本相对于臂基的位置是用一个变换传感器块计算的(以模拟船上的摄像机)。
为了规划末端执行器的轨迹,在任务空间中定义了6个路径点,如上图所示。这些路径点中的四个(1,2,5和6)是预先计算的,并由漫路者底盘的几何形状和存储单元的位置派生出来。这些可以从roverArmTaskSpaceConfig.mat
.路径点3和4基于从变换传感器块获得的样本位置计算。利用这六个路径点,通过关节空间轨迹规划方法来规划末端执行器的轨迹。规划器首先使用逆运动学模块将所有六个任务空间路径点转换为关节空间路径点sm_mars_rover_arm_ik.m
实现使用KinematicsSolver
).然后,MATLAB函数块任务调度程序使用这些关节空间路径点,使手臂通过如上所示的一系列模式前进。当末端执行器到达某个公差值范围内的目标位置时,调度器将末端执行器推进到下一个模式。调度程序的每个任务都是梯形速度剖面轨迹(机器人系统工具箱)块,计算关节空间中每个路径点之间的平滑轨迹。
一旦关节空间轨迹生成,PID控制器用于驱动执行器的实际位置到其期望的值。
机械手仿真结果
结果显示末端执行器轨迹通过所期望的路径点和所期望的和实际的执行器关节角度之间的比较。更多的数量可以在机械手感知中查看模型中的子系统。
参考文献
菲利普、简、马丁·阿兹卡拉特和詹弗兰科·维森汀。“自主行星探测车的轨迹控制。”在第十四届先进空间技术机器人与自动化研讨会.2017.
[2]斯奈德,贾罗德M。自动驾驶汽车路径跟踪的自动转向方法机器人研究所,匹兹堡,宾夕法尼亚州,技术代表CMU-RITR-09-08(2009)。
[3]吴晓霞,杨林,徐敏,“4WID电动汽车差动转向的速度跟随控制,”IECON 2014 - IEEE工业电子学会第40届年会, 2014, pp. 3054-3059, doi: 10.1109/ iecons .2014.7048945。