# kcg_learn_upstair **Repository Path**: raysworld/kcg_learn_upstair ## Basic Information - **Project Name**: kcg_learn_upstair - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-03-14 - **Last Updated**: 2022-03-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于Deepbots 框架的深度强化学习 **任务目标:** 训练可重构小车完成爬楼任务 **运行环境:** Windows **运行需求:** * Deepbots框架: [https://github.com/aidudezzz/deepbots]() * webots 2021b * python3 * numpy、pytorch、matplotlib **说明:** 使用强化学习算法ddpg在deepbots框架下进行训练可重构小车进行爬楼的任务。可重构小车由两个的单体机器人组成,每个单体机器人有一对可变形的履带轮和一个车身组成,可进行前进后退左转右转以及履带轮的抬起放下等动作。采用supervisor和robot controller通信控制的方式,robot controller主要用于控制机器人的底盘及其传感器,将数据传送给supervisor进行处理,supervisor作为agent进行强化学习算法的学习。这种控制方式较为灵活,方便进行多机器人控制等。底盘控制部分包括四个线性电机(控制机器人平移运动),四个旋转电机(控制每个轮子进行变形),传感器使用GPS获取机器人当前坐标信息,IMU获得机器人当前方向角信息。 在该环境下,机器人的状态空间为14维,包括八个电机的角速度八维,gps位置信息三维,IMU方向角信息三维。动作空间为6维,包括将机器人的运动通过运动学方程转化的每个电机的线速度角速度共四维,以及前后轮变形时电机的线速度二维。Reward函数,与机器人目前的高度值及其与目标点的距离有关,高度越高分数越高,,距离目标点越近分数越高。 **注意** 运行前请注意,请将代码中的绝对路径更改为你的文件路径(后续版本更新会修改为相应的相对路径),需要更改的: 1. controllers > supervisor_manager > utilities中第61行 ``` 61 figure_save_path = "E:/deepworlds-dev/kcg_webots/doc/ ``` 2. controllers > supervisor_manager > agent 中第140行与第 ``` 67 chkpt_dir='E:\deepworlds-dev\kcg_webots\controllers\model', use_cuda=False): 140 chkpt_dir='E:\deepworlds-dev\kcg_webots\controllers\model', use_cuda=False): ``` **训练运行** 在webots中打开世界文件 KCG_ROBOT_2 _4environment.wbt 即可运行 训练后的模型保存在controllers > model 中,训练曲线保存在doc文件夹下