自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(65)
  • 收藏
  • 关注

原创 采用determinization MCTS实现三人非作弊斗地主AI

上一篇中,我讲到了用MCTS实现三人明牌斗地主,相关链接:https://zhuanlan.zhihu.com/p/200805698 实际的效果通过与真人进行斗地主游戏,AI的胜率大概在70%左右,单局得分收益为正。可以确定的是,如果AI作弊的话,人类玩家基本上是没有什么胜算的。 就以三个人打牌为例,发到超过另外两家好牌的机率,我们简单地估计可以认为是三分之一,所以如果在机器人完全作...

2020-09-07 22:53:58 420

原创 采用蒙特卡洛树搜索实现3人斗地主AI

蒙特卡洛树搜索全称 Monte Carlo Tree Search(MCTS),是一种人工智能问题中做出最优决策的方法,一般是在组合博弈中的行动(move)规划形式。它结合了随机模拟的一般性和树搜索的准确性。MCTS 受到快速关注主要是由计算机围棋程序的成功以及其潜在的在众多难题上的应用所致。超越博弈游戏本身,MCTS 理论上可以被用在以 {状态 state,行动 action} 对定义和用模拟进...

2020-08-27 11:49:50 1021 1

原创 【手把手】10分钟搭建Jenkins+SVN持续集成环境

要解决的问题公司或项目组没有持续集成环境,会经常出现新提交代码导致主干代码编译失败的情况。用Jenkins搭建一个简单的持续集成环境,可以及时发现编译错误,发邮件通知相关人员,从而提高开发效率,规范开发人员代码提交行为。方法和步骤下面就开始介绍搭建Jenkins+SVN持续集成环境的方法和步骤下载Jenkins虽然目前Jenkins官网相对比较推荐docker的安装方式,但是由于国内下载慢的原因,...

2020-06-02 19:46:41 195

原创 Ant design pro v4-服务器菜单和路由权限控制

要解决的问题:ant design pro默认情况下,菜单和路由都用配置的方式,在前端的config/config.ts中配置。但是大多数后台系统都需要由后端服务器控制权限。类似的需求一般包括两点:1、“只看该看的,防君子”:不同角色对应不同菜单,在用户登录时,由服务器根据登录用户的角色生成菜单;有权限的菜单显示,没权限的菜单隐藏。2、“想看也不行,防小人”:防止用户直接通过在浏览器中输入未授权菜...

2020-04-22 10:06:48 1212

原创 协作臂学习(9)-雅可比矩阵

雅可比矩阵 在机器人学中,雅可比矩阵最常用于表示关节速度与末端笛卡尔速度之间的关系,有公式: 末端速度 表示空间速度,刚体的空间速度包括线(平移)速度 和角(旋转)速度 部分(比如,地球在太空中绕太阳公转,同时绕南北极轴线自转)。 线速度向量包括 三个方向的分量 角速度向量包括 三个轴向的分量 将 代入 中, 关节速度 在DH建模法中,关节分为转动型(R型,rev...

2021-09-22 12:26:50 1374

原创 协作臂学习(8)-URDF生成【下篇】

经过前面两篇已经成功导出ROS的urdf 包。开启关节控制器(joint_state_publisher_gui)需要修改一下display.launch文件:<launch> <arg name="model" /> <arg name="gui" default="True" /> <param na...

2021-08-29 20:35:17 321 1

原创 协作臂学习(7)-URDF生成【中篇】

在【上篇】中已经建立好urdf-exporter导出工具所需要的参考轴和坐标系。上篇链结:锦城牛仔:协作臂学习(5)-URDF生成【上篇】下面开始使用urdf-exporter来进行导出。1.开启urdf-exporter2. 配置base_link(底座)选择坐标系1,并选择Link组件为兰色的机械臂底座;然后子Link数量(Number of child links)配置为1,导出插件...

2021-08-28 10:08:50 316

原创 协作臂学习(5)-URDF生成【上篇】

协作臂的集成开发,少不到需要进行轨迹规划和运动控制。厂家都会提供示教器和二次开发接口,但是往往只提供简单的直线或关节运动接口,真正复杂的工艺轨迹还是需要集成商自己开发的。 基于ROS平台开发运动控制选择MoveIt!,第一步就是要解决URDF生成的问题。厂家都会提供3D模型文件(一般为STEP)格式,ROS中有一个URDF exporter是基于solidworks插件的形式从3D模...

2021-08-26 20:56:41 285

原创 【Tesla Bot】马斯克想用它来解决劳动力不足的问题

继能源问题之后,最近马斯克执掌的特斯拉又发布了Tesla Bot仿生机器人。虽然目前还是PPT阶段,但马斯克谈到未来想用它来解决劳动力不足的问题。畅想一下,如果有无限的劳动力会怎样? 我一直很佩服马斯克为特斯拉制定战(画)略(饼)的能力:首先解决能源问题,然后造火箭移民火星的目标够宏伟够远大! 那么,能源问题解决之后,下一步就是如何利用能源。不得不佩服马斯克的深度(瞎)...

2021-08-22 08:48:00 276

原创 协作臂学习(6)-五步搞定:基于Moveit_config配置gazebo仿真

国内协作臂厂家一般会提供3D模型,有些厂家与ROS对接较好,可以提供用solidworks导出的urdf工程。如果厂家没有提供,也可以基于3D模型自己使用solidworks导出urdf工程。具体可以参考下面链结:http://wiki.ros.org/sw_urdf_exporter 我自己使用1.5版本的exporter在solidworks2016上,ROS版本为melodic...

2021-08-20 20:51:35 844

原创 协作臂学习(4)-扒一扒协作机器人的参数

现在市面上较有名气和规模的协作机器人品牌至少十几家。在挑选协作臂时,各厂家的参数看起来都大同小异。有些参数从字面意思就能理解其含义,而有些参数对于刚接触协作臂的人却很有可能存在理解偏差。正确理解协作臂的参数,是选择适合自己需求的协作臂的重要前提。有效负载 协作机器人的有效负载,一般是末端有效负载,范围3kg~20kg。有效负载有两个非常重要的点,一定要get到:协作臂在任何情况下(特...

2021-08-10 09:15:04 1048

原创 协作臂学习(3)-坐标系搞不清?

位姿理解到了,可以开始上手摆弄协作臂了吗?先等等,坐标系搞清楚没有?先看下常用的坐标系。协作臂常用坐标系 进行协作臂开发,肯定少不了跟这几个坐标系打交道。1.基坐标系(世界坐标系) 协作臂都有基坐标系,默认原点是协作臂底座的中心点。如果机械臂是正放安装的姿态,Z轴垂直于安装面向上,X和Y轴在安装平面上,具体方向各厂家略有不同。如图12.工具坐标系(末端坐标系) 6轴或7轴...

2021-08-04 22:11:12 319

原创 协作臂学习(2)-位姿有那么难?

位置≠位姿 很多初次接触机械臂的人都容易范的概念性错误,就是用“位置”代替“位姿”,简单地认为给机械臂一组{x,y,z}坐标就可以让机械臂运动到指定位置,而对于机械臂更为重要的概念“姿态”却被忽略了。 “姿态”其实在航空领域早就有成熟应用了。航展中飞机特技表演,有一个非常经典的动作叫“双机对贴飞行”。两架飞机只能使用这种姿态贴腹飞行,如果飞机的姿态(横滚角)变化,就可能导致特技表演立马...

2021-07-31 10:29:51 348

原创 协作臂学习1-自由度和工作空间

协作臂的设计出发点是模拟人的手臂 ,在某些特定场景下(人们越来越懒,越来越娇贵,苦活脏活累活都不想自己干),代替手臂进行抓取、码垛、喷漆、打磨等操作。新手小白要学习协作臂,理解各种基本概念,理所当然应该从重新认识我们的手臂开始。想一想,手臂有几个关节?从躯干往手掌方向,依次是肩、肘、腕关节。肩关节运动范围大,大臂绕肩关节,可以进行上下、前后和扭转运动;肘关节可以让大、小臂张合,大力水手秀肌肉的时候...

2021-06-24 09:27:04 958

原创 【健康管理师】常用健康监测指标

体质指数-BMI体质指数,body mass index, BMI,判断超重肥胖的主要指标。 中国成人判断超重和肥胖程度的界限值:体重过低:BMI < 18.5kg/m2体重正常:18.5kg/m2 <= BMI <= 24kg/m2超重:24kg/m2 <= BMI <= 28kg/m2肥胖:28kg/m2 <=BMI腰围腰围,用没有弹性的软尺,在右侧腑中线髂...

2021-06-16 22:15:04 749 1

原创 健康管理师-营养学小知识

膳食指南和平衡膳食宝塔一般人群 食物多样,谷类为主 吃动平衡,健康体重 多吃蔬菜,奶类、大豆 适量吃鱼、禽、蛋、瘦肉 少盐少油,控糖限酒 杜绝浪费,兴新食尚膳食宝塔 盐<6克 油 25~30克 奶及奶制品 300克 大豆及坚果类 25~35克 畜禽肉 40~75克 水产品40~75克 蛋类40~50克 蔬菜类300~500克 水果类200~350克 谷薯类25...

2021-06-15 09:39:26 142

原创 协作机器人实现古法艾灸

随着近年来国家不断出台扶持中医的政策措施,提倡使用现代科技改进中医,越来越多的中医设备涌现出来。艾灸作为中医传统治法之一,有四种传统古法艾灸:温和灸,回旋灸,雀啄灸,往复灸。古法艾灸强调对穴位和经络准确施灸,以手法使艾灸的阳气更好的发挥效果。一般正规的连锁艾灸馆都会提供古法艾灸调理。但面临一些痛点:古法艾灸需要技师全程服务。人力成本高,人员管理难度大,人员容易流动,上岗培训周期长,技师的技能和素质...

2021-06-12 22:38:37 216

原创 中医推拿手法24式

一指禅推法用拇指指端、指面或偏锋(拇指桡侧面)着力于经络、穴位或治疗部位上,肩肘关节及上肢肌肉放松,通过腕部的连续摆动和拇指关节的屈伸活动,使产生的力持续作用于经络、穴位或治疗部位上,称为一指禅推法点法以指端或肘尖或屈指骨突部,着力于治疗部位或穴位上,按而压之,戳而点之,称为点法摩法用手掌掌面或食指、中指、无名指三指相并,指面附着于穴位或部位上,腕关节做主动环形有节律的抚摩运动,称为摩法抹法用拇指...

2021-05-24 17:15:19 742

原创 准备好了吗?机器人理疗师来啦!

随着协作机器人、机器视觉和力传感技术的不断进步,以KUKA、UR、遨博为代表的协作机器人厂家,先后推出了机器人理疗产品。你准备好,让机器人理疗师来帮你理疗吗?iYU-Pro法国Capsix基于KUKA Med协作机器人开发的iYU-Pro按摩机器人。特点:具备七个自由度业界最高级力传感(KUKA)3D机器视觉iYU-Pro理疗状态EMMA新加坡南洋理工华人团队AiTreat研发的中医经络理疗机器人...

2021-04-29 16:58:58 344

原创 协作机器人基础知识

协作机器人基础知识思维导图整理分享

2021-04-20 21:29:34 397

原创 高压氧治疗的适应症

高压氧治疗疾病,主要分为急症和适应症。高压氧治疗急症 急症属于将高压氧治疗用于急救。高压氧第一类适应症 第一类适应症,是指以高压氧治疗为主要疗治手段,高压氧起主要作用的适应症。高压氧第二类适应症 第二类适应症,是指以高压氧为辅助治疗手段,可以提高疗效的适应症。高压氧第三类适应症 第三类适应症,是指使用高压氧有一定疗效,但尚需进一步研究的适应症。...

2021-04-14 17:18:12 249

原创 高压氧治疗的副作用和禁忌症

自人类进化以来,长期生活在一个大气压、21%氧浓度的环境下,身体早已经适应了这种环境。任何环境气压和氧浓度的改变都会使身体产生不适应的反应。人类身体有一定的调节和适应能力,在不超过极限调节能力的前提下,辅以有效的主动调节方法,高压氧治疗作为一种物理疗法,副作用很小。 由于进行高压氧治疗的人群自身调节能力因身体素质、年龄、慢性疾病等有差异,因而在高压氧治疗过程中,对于某些调节能力较弱的...

2021-04-13 10:02:58 1123

原创 高压氧治疗主要机理

什么是高压氧治疗? 简单地说,在高于一个大气压的环境中,吸入高浓度的氧来治疗疾病的过程,叫高压氧治疗。一般人们需要在高压氧舱的环境中进行高压氧治疗。高压氧有些什么作用呢? 高压氧的作用广泛而独特,目前没有其他办法可以替代。简单地说,高压氧有如下作用:...

2021-04-08 09:52:29 158

原创 国产物联网操作系统横评

在PC时代,操作系统是微软的天下;在移动互联网时代,操作系统是google(安卓)和苹果(iOS)的天下;那么在5G万物互联的时代,强调自主可控的中国,操作系统将是谁的天下?目前国产开源的物联网操作系统主要有三家:RT-thread华为LiteOS阿里AliOS-Things应该选谁呢? 从一个刚入门的物联网嵌入式小白的角度,对这三款物联网操作系统进行横评,希望给面临同样选择困难的朋友一定参...

2020-12-21 21:53:45 751

原创 《微服务架构设计模式》-学习总结08

本篇主要总结第8章:外部API模式 为应对多种可能的外部客户端,外部API的设计需要考虑用户体验、API更新升级和不同通信机制等因素。本章讨论如何妥善解决这些问题并设计外部API。API Gateway模式 API Gateway,实现一个服务,该服务是外部API世界进入微服务应用程序的入口点。它负责请求路由、API组合和身份验证等各项功能。请求路由API组合协议转换为每种客户端提供它...

2020-09-22 15:28:45 95

原创 《微服务架构设计模式》-学习总结07

本篇主要总结第七章:在微服务架构中实现查询在微服务架构中查询数据的挑战何时以及如何使用API组合模式实现查询 何时以及如何使用CQRS模式实现查询 微服务架构中,查询通常需要检索分散在多个服务所拥有的数据库中的数据,跨服务数据查询的两种模式:API组合模式简单,应尽可能使用CQRS:命令查询职责隔离模式强大但复杂维护一个或多个视图数据库API组合模式 API组合模式:由API组合器和两个或多...

2020-09-22 11:24:54 104

原创 《微服务架构设计模式》-学习总结06

本篇主要总结第六章:使用事件溯源开发业务逻辑传统的持久化技术 将类映射到数据库表,将类的字段映射到数据表中的列,类的实例映射到数据表中的行。比较成熟的ORM,像Mybatis、JPA等。 作者上来就指出传统持久化技术的弊端,但是看完本章后个人感觉,在更多的项目实践中,还是传统的持久化技术更香,原因就一个——技术成熟。来看看作者说的弊端:对象与关系的“阻抗失调”(impedance mi...

2020-09-21 17:32:42 83

原创 《微服务架构设计模式》-学习总结05

本篇主要总结第五章:微服务架构中的业务逻辑设计首先,作者介绍了传统的业务逻辑设计:事务脚本。作者不推荐这种设计,我们直接略过。领域模型模式才是本章的重头戏。领域模型模式领域模型:将业务逻辑组织为由具有状态和行为的类构成的对象模型。 领域模型模式,采用基于面向对象的设计,自带面向对象设计的优点。同时,面向对象的设计原则、设计模式也已经比较成熟,使领域模型设计更加容易上手、有迹可循。作者是相当的...

2020-09-21 14:10:45 100

原创 《微服务架构设计模式》-学习总结04

本篇主要总结第四章:解决分布式事务解决方案——Saga分布式事务 分布式事务,是伴随分布式系统的出现而产生的。在分布式系统中,天然存在跨多个服务的事务,如何确保分布式事务的ACID特性成为了分布式系统的重要研究课题。Saga 一种解决分布式事务的模式。作者比较推荐,整个第4章都是介绍Saga的原理、设计和实现。Saga的特点是通过补偿事务来回滚。Saga按照协调逻辑分为:协同式:把Sa...

2020-09-18 11:51:21 69

原创 《微服务架构设计模式》-学习总结03

本篇主要总结第三章:微服务架构中的进程间通信。微服务的交互方式 在不讨论消息具体实现的情况下,作者从不同维度先对进程间通信的交互方式进行了分类和归纳。客户端与服务的交互方式(维度一)一对一:每个客户端请求由一个服务实例来处理一对多:每个客户端请求由多个服务实例来处理发布/订阅发布/异步响应客户端与服务的交互方式(维度二)同步模式:客户端需要服务端实时响应,等待响应的过程可能导致阻塞异步模式:...

2020-09-16 17:58:31 116

原创 《微服务架构设计模式》-学习总结02

本篇主要总结第二章:如何拆分服务。什么是软件架构 拆分服务是一个软件架构问题。要讨论如何拆分,就要先弄明白什么是软件架构。作者引用卡耐基梅隆大学软件工程研究所对软件架构下的定义:计算机系统的软件架构是构建这个系统所需要的一组结构,包括软件元素、它们之间的关系以及两者的属性。关键就是软件元素(elements)和这些元素之间的关系(relation)。紧接着,作者隆重推出软件架构的4+1视图模...

2020-09-15 14:12:52 106

原创 《微服务架构设计模式》-学习总结01

最近,新的启动项目准备考虑采用微服务架构来设计和开发。知乎文章推荐了一本好书《微服务架构设计模式》,该书是微服务架构大牛Chris Richardson亲笔力作。刚看完前几章就觉得书中提到的问题和解决方案,真的是非常契合很多小软件公司的现实情况。如果你们公司有遇到下面的问题(特别是从事移动互联网APP或企业Web应用开发的)强烈推荐本书:所有后端功能都集中在一个或少数几个非常庞大、错综复杂...

2020-09-13 13:19:45 198 1

原创 采用卷积神经网络实现斗地主AI

前面几篇中已经讲述过,如果使用MCTS及其变种实现斗地主AI,链结可参考:棋牌AI 这期聊一聊目前采用卷积神经网络(CNN)实现斗地主AI的方案。卷积神经网络 介绍一下卷积神经网络,个人觉得下面几篇文章讲得比较清楚了,有需要请参考:谭庆波:卷积神经网络(CNN)详解深入学习卷积神经网络(CNN)的原理知识 - 战争热诚 - 博客园一文看懂卷积神经网络-CNN(基本原理+独特价值...

2020-09-11 11:58:41 1618

原创 采用全连接前馈神经网络实现-叫地主AI

在学习《神经网络与深度学习》的第一、二章之后,整理了学习笔记,有兴趣可以看看链结如下。玩乐儿童编程:《神经⽹络与深度学习》-自学笔记01 光看别人写的代码是不能真正学会的,所以决定自己尝试一下,用学到的知识解决遇到的问题。在斗地主游戏中,是否叫地主,在很大程度上决定了最后的胜负,能不能用前馈神经网络来模拟真人叫地主的过程呢?顺着这个思路,玩家在发完牌之后,得到17张手牌。可以把手牌排...

2020-08-10 20:03:54 249 1

原创 《神经⽹络与深度学习》-自学笔记01

最近在工作中遇到一个用传统的规则模型无法很好解决的问题,于是才又想起了人工神经网络。终于在好奇心的驱使下,在网上找到了这本很多程序员都推荐的机器学习入门书籍《神经⽹络与深度学习》(英文书名:Neural Networks and Deep Learning),作者Michael Nielsen。目前这本书有团队已经翻成中文了,更加方便学习,知乎上的链结,跳转前麻烦双击屏幕给点赞:红...

2020-08-04 21:09:53 206

原创 斗地主AI-拆牌篇03

在《斗地主ai-拆牌篇01》中介绍了拆牌相关的术语和基本逻辑。玩乐儿童编程:斗地主AI-拆牌篇01在《斗地主ai-拆牌篇02》中介绍了利用递归思想,将手牌拆分为除可带牌型外的所有可能套牌的逻辑。玩乐儿童编程:斗地主AI-拆牌篇02本篇就来阐述一下拆牌逻辑的第三步,根据上一步拆分的结果,对每种结果进行带牌处理,生成所有可带牌组合的逻辑,第三步结束后,拆牌的工作就算完成了。计算带牌逻辑输入:除可带牌型...

2020-07-30 20:15:30 333

原创 斗地主AI-拆牌篇02

在《斗地主ai-拆牌篇01》中介绍了拆牌相关的术语和基本逻辑。玩乐儿童编程:斗地主AI-拆牌篇01本篇就来阐述一下拆牌逻辑的第一步,将手牌拆分为除可带牌型外的所有可能套牌的逻辑。这里主要采用递归的思路,将手牌代入拆牌逻辑中,记录递归过程中的拆出来的套牌,并最终汇总拆牌结果。拆牌逻辑的输入:手牌的一维数组拆牌逻辑的输出:套牌的二维数组,n种拆法(一维),每种拆法包括m个套牌(二维)。举个例子,输入手...

2020-07-21 13:49:49 312

原创 斗地主AI-拆牌篇01

在开篇《斗地主ai-需求篇》中阐述了ai使用场景和主要功能。玩乐儿童编程:斗地主AI-需求篇那么接下来就开始讲如何实现。拿到一手牌之后,首先要让ai读懂牌,知道有哪些套牌,才能进一步分析牌好牌坏,进行策略判定等。所以,无论采用什么方法实现ai都绕不过拆牌,这是实现ai的第一步,拆牌的结果直接影响后续所有步骤的。下边先来约定几个拆牌中常用的术语和概念。什么是手牌?一般指ai获得的牌,是拆牌的输入。手...

2020-07-20 11:00:47 675

原创 斗地主AI-需求篇

对于斗地主AI的兴趣,一方面来源于工作需要,另一方面也是一种自我挑战:能否模拟出类似真人斗地主的思维,并在人机对战中获得更高的胜率和得分。首先来谈谈为什么需要游戏AI?游戏上线运营初期凑人气陪玩。减少玩家匹配等待的时间,让玩家随时能玩。这种陪玩AI一般追求的是模拟真人出牌思维。提升玩家体验。比如,玩家连输次数太多,派AI让玩家虐一局。这种被虐AI一般比较傻,拿的牌也比较差,就是去送的。比赛中补缺。...

2020-07-11 11:43:08 534

原创 golang cpu占用率分析

使用golang进行复杂的组合运算,导致CPU占用率非常高。参考网上一些帖子,自己研究了一下go pprof进行CPU占用率分析和优化。主要使用svg图的方式查看CPU占用率分布。1、问题现象:程序在用户量大、运算量多的情况下出现多核CPU占用率均超过99%的情况,用户端出现明显卡顿和消息响应延迟。使用htop命令查看结果如下:2、调试方法2.1 引入pprof包//在import中添加pprof...

2020-07-11 10:19:13 3266

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除