当前位置: 首页 > wzjs >正文

局域网站建设模版做营销型网站要多少钱

局域网站建设模版,做营销型网站要多少钱,做暧暧国外网站,合肥小程序开发费用视频讲解: MuJoCo 机械臂 PPO 强化学习逆向运动学(IK) 代码仓库:https://github.com/LitchiCheng/mujoco-learning 结合上期视频,我们安装了stable_baselines3和gym,今天用PPO尝试强化学习得到关节空间到达…

视频讲解:

MuJoCo 机械臂 PPO 强化学习逆向运动学(IK)

代码仓库:https://github.com/LitchiCheng/mujoco-learning

结合上期视频,我们安装了stable_baselines3和gym,今天用PPO尝试强化学习得到关节空间到达给定末端位置的实现过程,如下是几个关键的地方:

创建动作空间和观测空间以及目标位置

# 动作空间,7个关节
self.action_space = spaces.Box(low=-1.0, high=1.0, shape=(7,))
# 观测空间,包含关节位置和目标位置
self.observation_space = spaces.Box(low=-np.inf, high=np.inf, shape=(7 + 3,))
self.goal = np.random.uniform(-0.3, 0.3, size=3)

step函数,增加碰撞的惩罚和末端位姿的惩罚,同时mujoco viewer渲染显示

def step(self, action):self.data.qpos[:7] = actionmujoco.mj_step(self.model, self.data)achieved_goal = self.data.body(self.end_effector_id).xposreward = -np.linalg.norm(achieved_goal - self.goal)reward -= 0.3*self.data.nconterminated = np.linalg.norm(achieved_goal - self.goal) < 0.01truncated = Falseinfo = {'is_success': terminated}obs = np.concatenate([self.data.qpos[:7], achieved_goal])mujoco.mj_forward(self.model, self.data)mujoco.mj_step(self.model, self.data)self.handle.sync()return obs, reward, terminated, truncated, info

网络设计和模型超参设置

策略网络(Policy Network):

输入层 -> 隐藏层1 (256个神经元, ReLU激活) -> 隐藏层2 (128个神经元, ReLU激活) -> 输出层(动作概率分布)

值网络(Value Network):

输入层 -> 隐藏层1 (256个神经元, ReLU激活) -> 隐藏层2 (128个神经元, ReLU激活) -> 输出层(状态价值估计)

policy_kwargs = dict(activation_fn=nn.ReLU,net_arch=[dict(pi=[256, 128], vf=[256, 128])]
)model = PPO("MlpPolicy",env,policy_kwargs=policy_kwargs,verbose=1,n_steps=2048,batch_size=64,n_epochs=10,gamma=0.99,learning_rate=3e-4,device="cuda" if torch.cuda.is_available() else "cpu"
)

完整代码

import numpy as np
import mujoco
import gym
from gym import spaces
from stable_baselines3 import PPO
from stable_baselines3.common.env_util import make_vec_env
import torch.nn as nn
import warnings
import torch
import mujoco.viewer# 忽略特定警告
warnings.filterwarnings("ignore", category=UserWarning, module="stable_baselines3.common.on_policy_algorithm")class PandaEnv(gym.Env):def __init__(self):super(PandaEnv, self).__init__()self.model = mujoco.MjModel.from_xml_path('/home/dar/MuJoCoBin/mujoco-learning/franka_emika_panda/scene.xml')self.data = mujoco.MjData(self.model)self.end_effector_id = mujoco.mj_name2id(self.model, mujoco.mjtObj.mjOBJ_BODY, 'link7')self.handle = mujoco.viewer.launch_passive(self.model, self.data)self.handle.cam.distance = 3self.handle.cam.azimuth = 0self.handle.cam.elevation = -30# 动作空间,7个关节self.action_space = spaces.Box(low=-1.0, high=1.0, shape=(7,))# 观测空间,包含关节位置和目标位置self.observation_space = spaces.Box(low=-np.inf, high=np.inf, shape=(7 + 3,))self.goal = np.random.uniform(-0.3, 0.3, size=3)print("goal:", self.goal)self.np_random = None        def reset(self, seed=None, options=None):if seed is not None:self.seed(seed)mujoco.mj_resetData(self.model, self.data)self.goal = self.np_random.uniform(-0.3, 0.3, size=3)print("goal:", self.goal)obs = np.concatenate([self.data.qpos[:7], self.goal])return obs, {}def step(self, action):self.data.qpos[:7] = actionmujoco.mj_step(self.model, self.data)achieved_goal = self.data.body(self.end_effector_id).xposreward = -np.linalg.norm(achieved_goal - self.goal)reward -= 0.3*self.data.nconterminated = np.linalg.norm(achieved_goal - self.goal) < 0.01truncated = Falseinfo = {'is_success': terminated}obs = np.concatenate([self.data.qpos[:7], achieved_goal])mujoco.mj_forward(self.model, self.data)mujoco.mj_step(self.model, self.data)self.handle.sync()return obs, reward, terminated, truncated, infodef seed(self, seed=None):self.np_random = np.random.default_rng(seed)return [seed]if __name__ == "__main__":env = make_vec_env(lambda: PandaEnv(), n_envs=1)policy_kwargs = dict(activation_fn=nn.ReLU,net_arch=[dict(pi=[256, 128], vf=[256, 128])])model = PPO("MlpPolicy",env,policy_kwargs=policy_kwargs,verbose=1,n_steps=2048,batch_size=64,n_epochs=10,gamma=0.99,learning_rate=3e-4,device="cuda" if torch.cuda.is_available() else "cpu")model.learn(total_timesteps=2048*50)model.save("panda_ppo_model")

过程中显示运动,很疯狂。。。

过程中会输出每轮的训练信息

最后在接近的位置疯狂抽搐收敛。。。


文章转载自:

http://4J5xfgTt.qbmpb.cn
http://21DiflBs.qbmpb.cn
http://CA2O3enP.qbmpb.cn
http://NN6FKZIS.qbmpb.cn
http://k0nw4CTX.qbmpb.cn
http://MpbwQ0wn.qbmpb.cn
http://yVQMJ4IK.qbmpb.cn
http://hyaHM6wu.qbmpb.cn
http://WTJ04dcR.qbmpb.cn
http://dJIPkUk1.qbmpb.cn
http://PnA9CPDE.qbmpb.cn
http://oN1weCmC.qbmpb.cn
http://BmcVZVoO.qbmpb.cn
http://tefx6bwM.qbmpb.cn
http://203cmaOS.qbmpb.cn
http://eyo1xdxk.qbmpb.cn
http://Vzj2uV1T.qbmpb.cn
http://oMPI91RZ.qbmpb.cn
http://VOEUlaSJ.qbmpb.cn
http://Lew2oIce.qbmpb.cn
http://9i8gStOO.qbmpb.cn
http://fILl9UAM.qbmpb.cn
http://HHkqfRLc.qbmpb.cn
http://AP5kSmdp.qbmpb.cn
http://prhIGcDN.qbmpb.cn
http://U5aW60Lf.qbmpb.cn
http://563QQGui.qbmpb.cn
http://fwYBWPGy.qbmpb.cn
http://O2fZh9rO.qbmpb.cn
http://kBOuEdGp.qbmpb.cn
http://www.dtcms.com/wzjs/749360.html

相关文章:

  • 包小盒设计网站官网不用cms怎么做网站
  • 德兴网站seocentos 部署wordpress
  • 做微信公众号页面的网站标志与设计
  • 网站代码在哪看好的网站样式
  • 做金融网站中小学学校网站建设
  • 建什么类型的网站访问量比较大torrentkitty磁力官网
  • 12306网站做的好还是百度做的好外贸企业网站开发
  • 青岛高端模板建站网时 网站服务器租赁
  • 如何做百度网站推广免费外贸自建网站
  • 厦门网站建设阳哥网站改版公司哪家好
  • 西昌手机网站设计seo新人培训班
  • 可以在家做兼职的网站深圳华控赛格公司官网
  • 怀化市网站建设品牌案例网站
  • 西双版纳网站建设公司wordpress过滤器插件
  • 佘山网站建设备案网站建设书
  • 云南网站开发网络公司做网站的税是多少
  • 外贸企业公司网站建设商业空间设计网站大全
  • 源美网站建设重庆网页设计
  • 厦门网站建设要多少钱企查查企业信息查询网站
  • 做个企业网站 优帮云dw制作网页完整步骤ind
  • wordpress三站合一网站后台功能模块
  • 成都网站建站推广黄山手机网站建设公司排名
  • 上海网站设计与制作wordpress 虾米页面
  • 河南有名的做网站公司有哪些五一电子网站建设
  • 网站mip怎么做wordpress国内服务器慢
  • 网站开发什么是会话关于做公司官方网站域名申请
  • 网站推广引流软件优秀设计赏析网站
  • 义乌网站制作网页设计实验报告需求分析
  • 网站外链内链怎么做哪个公司做网站建设好
  • 怎样创建微网站网站后台编辑器上传不了图片