自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

腿足机器人领域

分享腿足机器人领域相关科研技能

  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 Open Dynamics Engine(ODE)物理引擎教程(3)–ODE仿真框架介绍与重力仿真

上一教程Open Dynamics Engine(ODE)物理引擎教程(2)–项目环境配置与“Hello ODEWorld”((在这一教程中详细讲解了在VS2017中的ODE项目配置过程,并通过简单的代码,运行仿真环境))...

2020-04-16 18:13:58 1924 6

原创 补充“MIT Cheetah 完整开源代码仿真环境”搭建过程中文资料的细节

引言作为世界上最先进四足之一的MIT Cheetah在2019年底被其团队开源了所有软硬件设计。针对此次开源的代码环境搭建过程,虽然该团队给出了非常详尽的安装调试过程,但是在自己安装过程中仍然有许多问题出现。所以在国内还没有详尽的资料的情况下,作者写下这篇博客。最主要目的是结合前人的工作,做具体操作过程的补充,所以读者需要结合文中所引用的资料完成自己环境的搭建。背景介绍当然,具作者了解到,国...

2020-02-29 21:00:26 10394 47

原创 如何解决C++编译错误C2280尝试引用已删除的函数【每天一个小技巧】

本文结构0.引言1.解决方法三级目录0.引言在使用开源优化库QP时,采用了OSQP-EIGEN的包装器,在我的类中想引用他的求解器///// test.hppclass name{ ******* OsqpEigen::Solver solver;}在别的文件中引用这个test.hpp时会报错已被定义,发现是构造函数和析构函数不能放在.hpp文件中,放在.cpp中就可以了。然后就是在程序中初始化,发现报错C2280 ************** 尝试引用已删

2021-09-03 21:21:06 9882 1

原创 【UBUNTU与ROS实战笔记】(四)——基于VSCODE的ROS工作空间配置

本文结构0. 引言1. VSCODE安装1.1 解析安装过程1.2 测试2. ROS工作空间配置小结该博文是【UBUNTU与ROS实战笔记】系列的第四篇文章,写这个的过程中我也正一步一步的实际操作,如果你对该内容有兴趣,欢迎留言交流。随着笔记数量上去和内容的深入,本专栏将转成付费专栏,9.9定价只是手工劳作的码字价格,知识是免费的,希望大家谅解。0. 引言同学你好,感谢你阅读本博文。在上一文中我们安装好了GAZEBO系统(https://www.gazebosim.org/)以及其与ROS的接口插

2021-04-05 00:58:03 776 2

原创 【UBUNTU与ROS实战笔记】(三)——GAZEBO安装及其与ROS的接口配置

本文结构0. 引言1. GAZEBO安装1.1 解析安装过程1.2 GAZEBO环境设置2. GAZEBO与ROS的接口小结该博文是【UBUNTU与ROS实战笔记】系列的第三篇文章,写这个的过程中我也正一步一步的实际操作,如果你对该内容有兴趣,欢迎留言交流。随着笔记数量上去和内容的深入,本专栏将转成付费专栏,9.9定价只是手工劳作的码字价格,知识是免费的,希望大家谅解。0. 引言同学你好,感谢你阅读本博文。在上一文中我们安装好了ROS系统(https://www.ros.org/)并配置了环境。本

2021-04-04 18:41:00 3800

原创 【UBUNTU与ROS实战笔记】(二)——系统ROS安装与配置

本文结构0. 引言1. ROS系统安装1.1 解析安装过程该博文是【UBUNTU与ROS实战笔记】系列的第二篇文章,写这个的过程中我也正一步一步的实际操作,如果你对该内容有兴趣,欢迎留言交流。0. 引言同学你好,感谢你阅读本博文。在上一文中我们安装好了Ubuntu系统,接下来我们进行ROS系统(https://www.ros.org/)的搭建。1. ROS系统安装在Ubuntu18.04中习惯使用ROS melodic版本,我们将按照官方教程进行安装,这里我强烈建议你也安装这个版本,因为很多东

2021-04-04 16:04:45 534

原创 【UBUNTU与ROS实战笔记】(一)——计算机系统装机

本文结构0. 引言1. 系统安装1.1 制作系统启动盘安装系统如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入该博文是【UBUNTU与ROS实战笔记】系列的第一篇文章,写这个的过程中我也正一步一步的实际操作,如果你对该内容有兴趣,欢迎留言交流。0. 引言同学你好,

2021-04-04 15:00:54 332

原创 如何将PPT中的图片无改变矢量图插入word中以及matlab矢量图插入word方法【每天一个小技巧】

本文结构引言PPT图片转word文档矢量图matlab图像转word文档矢量图总结引言对于搞科研的我来说,喜欢在PPT中画图,但是有时候要写成word文档,那么图片粘贴复制后会改变,图片又不清晰,这是一个很棘手的问题。在一个matlab出图想在word中矢量使用怎么办?本文统统告诉你PPT图片转word文档矢量图这里我们需要一个软件叫Visio,有的同学该说了,都用这个还用什么PPT画图,老实说,我用不惯visio,对我来说很难用!但是我又需要矢量图,于是有了这个文章!有需要的同学看下去。其实很简

2021-03-25 21:55:25 2330 1

原创 如何使用cmake生成除.exe之外的可执行文件如RTX的.rtss文件【每日一个小技巧】

本文结构引言方法总结引言通常使用cmake帮助生成.exe比较方便,直接使用add_executable()即可。但是如果执行文件需要别的类型,而不是exe该怎么办呢?如.msi等等方法起始Cmake已经为我想到这一点了,如下两句即可生成RTX的可执行文件.rtss。add_executable(main main.cpp)set_target_properties(main PROPERTIES OUTPUT_NAME "main" SUFF

2020-12-15 22:46:11 360

原创 为什么pybullet启动后没有模型图像,啥也没有的问题【每日一个小技巧】

首先,我是使用VMware workstation pro 15搭建的Ubuntu 18.04系统环境。使用python3.5.6 和 pip3 安装的pybullet(sudo) pip3 install pybullet然后运行任意一个示例的时候,环境中没有物理模型,但是程序是在运行的。比如说import pybullet as pimport timeimport pybullet_dataphysicsClient = p.connect(p.GUI)#or p.DIRECT fo

2020-10-20 19:24:06 1391 3

原创 这是我能想到最简单的限幅代码了!【每天一个小技巧】

本文没有结构0. 引言1. 直接上代码0. 引言设想存在一个数a,如果大于正NUMBER或小于负NUMBER,就让它不超过这个正负值,就是给一个数正负限幅。可能你想到的是用if判断。1. 直接上代码以下就是我能想到最简单的代码限幅了#define PNAUJ(a) (a>=0?1:-1) //取一个数的正负号#define NUMBER 10double dTemp; dTemp = (fabs(dTemp)>=NUMBER?(PNAUJ(dTemp)*NUMBER):dTemp

2020-08-20 18:12:22 1137

原创 如何解决matlab保存图片为pdf时不完整问题【每天一个小技巧】

本文结构0. 引言1. 问题描述2. 解决方法3. 总结0. 引言习惯使用matlab出图的人都会发现,当我们的图中有大量信息的时候,保存成的pdf是不完整的,总是缺一部分,是怎么回事呢?那么接下来就教你一招。1. 问题描述比如说有一个图:按照正常的流程保存成pdf,打开会是这样子:虽然这是矢量图,但是是不全的。我们需要设置一下matlab的输出设置。2. 解决方法点击图片左上角中的文件,然后点击打印预览:在跳出的页面中,先点击手动确定大小及位置,然后点击最优,最后点击刷新。注意这里

2020-08-06 20:12:00 14070 1

原创 如何从PDF(矢量图)获得300、800dpi高清jpg或eps图片【每天一个小技巧】

本文结构0.0.

2020-08-06 19:47:20 8940 2

原创 波士顿动力的狗狗开始出售了,听说一个狗能买两辆特斯拉

2020年6月16日。波士顿动力更新了视频。又有黑科技出来了~~~

2020-06-22 10:27:21 210

原创 如何在WORD中插入图片自动编号,并引用图号【每天一个小技巧】

本文结构0. 引言1. 解决方法1.1 插入图片并编号1.2 在文字段中插入图片编号1.3 添加新图片自动更新编号2. 总结0. 引言好汉别走!!!!文本编辑是必不可少的技能,而插入图片,编辑图片编号,像如图***所示引用更是经常用到的方法。但是你是不是有因为插入新图片而打乱整个编号的烦恼经历。别慌,这里你会找到新技能。1. 解决方法1.1 插入图片并编号首先在word中插入一张图片。在图片上点击鼠标右键。选择插入题注:通过标签属性能够选择你需要的图片编码格式:这里我们选择图 1-,系

2020-06-22 10:18:03 60316 2

原创 Open Dynamics Engine(ODE)物理引擎基础教程(V)——刚体(RIGID BODY)函数

上一教程Open Dynamics Engine(ODE)物理引擎基础教程(IV)——世界(WORLD)函数本文结构0. 引言1. 刚体(Rigid Body)1.1 创建和销毁实体1.2 位置和姿态1.3 质量和力1.4 运动状态1.5 附加函数1.6 自动启用和禁用1.7 阻尼1.8 其他功能2 总结0. 引言在讲解了世界创造以及相关参数设定方法后,需要向仿真世界添加刚体(Rigid Body)。而本文就是在英文教程基础上增加注释,讲解刚体创建相关的内容。1. 刚体(Rigid Body).

2020-06-21 11:02:47 642 1

原创 Open Dynamics Engine(ODE)物理引擎基础教程(III)——基本数据类型

上一教程Open Dynamics Engine(ODE)物理引擎基础教程(II)——相关概念(介绍了ODE的背景以及用到的刚体关节接触等概念)本文结构0. 引言1. 数据类型和约定1.0 基础数据类型1.1 对象和ID1.2 参数的约定2. C与C++3. 调试4. 总结0. 引言在ODE环境建立过程中,有很多新定义的数据类型帮助建立仿真引擎。本文就来仔细辨别这些数据类型1. 数据类型和约定1.0 基础数据类型ODE库可以使用单精度或双精度浮点数。单精度计算速度更快,占用的内存更少,但模.

2020-05-31 11:21:46 690

原创 Open Dynamics Engine(ODE)物理引擎基础教程(IV)——世界(WORLD)函数

上一教程[Open Dynamics Engine(ODE)物理引擎基础教程(III)——基本数据类型(介绍了ODE中用到的数据类型。)本文结构0. 引言1. 世界(World)1.1 普通函数1.2 步长函数(积分求解)1.3 阻尼(Damping)1.4 接触参数2. 总结0. 引言在ODE中,所有的物体都被放置在世界(WORLD)类的对象中。世界对象是刚体和关节的容器,不同世界的物体不能相互作用,例如两个不同世界的刚体不能碰撞。那么这一博文中介绍创建世界对象的相关函数。1. 世界(Wor.

2020-05-31 11:20:56 793

原创 机器人学:Matlab实现实时多次贝塞尔曲线(Bézier Polynomials)插值

本文结构0. 引言0.1 最终效果1. 贝塞尔插值1.1 Matlab代码实现1.2 测试代码0. 引言有时候对于三次、五次实时插值并不满足我们的控制需求,而贝塞尔曲线插值越来越受到关注。0.1 最终效果1. 贝塞尔插值对于一维M次贝塞尔曲线的公式为:b(s)=∑k=0MαkM!k!(M−k)!sk(1−s)M−kb(s) = \sum\limits_{k = 0}^M {{\alpha _k}} \frac{{M!}}{{k!(M - k)!}}{s^k}{(1 - s)^{M - k}}b

2020-05-25 21:28:20 2803

原创 看英文论文,你还这样翻译吗?用了这个方法一天看100篇文献不是梦【每天一个小技巧】

本文结构0. 引言举个例子1. 好用的方法2. 总结0. 引言作为搞科研的你,是不是经常头疼英文论文,大段大段的看不懂!然后Ctrl+C和Ctrl+V往某度、某道翻译里扔,而那些双栏文章中翻译出来的中文杂乱无序!每一次删除句子之间的回车仿佛怀疑人身。。。作为科研狗的你,心不会痛吗??举个例子下面图中是双栏论文中的一段,当你粘贴复制进翻译器中时它是这样的,熟悉的味道Table 1 lists the most important system code parameters including

2020-05-21 00:24:09 861 2

原创 完美解决“error rpc failed curl 18 transfer closed with outstanding read data remaining”问题【每天一个小技巧】

本文结构0. 引言1. 解决方案0. 引言在使用Git clone或者coinbrew fetch获得网络代码仓库的时候,经常出现类似如下错误:Cloning into '*****'...remote: Counting objects: 20248, done.remote: Compressing objects: 100% (10204/10204), done.error: RPC failed; curl 18 transfer closed with outstanding rea

2020-05-16 19:32:11 7734 2

原创 完美解决CMake时“could not find any instance of Visual Studio”的问题【每天一个小技巧】

本文结构0. 引言1. 解决思路1.1 环境变量的设定1.2 程序的修复2. 成功解决3. 总结0. 引言当使用CMake为Visual Studio生成工程项目时,会报如下错误(我使用的是VS2017版本):CMake Error at CMakeLists.txt:3 (project): Generator Visual Studio 15 2017 could not find any instance of Visual Studio.Configuring incompl

2020-05-14 20:31:04 61869 24

原创 Open Dynamics Engine(ODE)物理引擎基础教程(II)——相关概念

上一教程Open Dynamics Engine(ODE)物理引擎基础教程(I)——特点介绍(介绍了ODE的背景与相关概念。)本文结构0. 引言1. 刚体(Rigid bodies)2. Islands和禁用刚体3. 积分求解4. 力累积器5. 关节和约束6. 关节组7. 碰撞处理8. 经典仿真代码流程0. 引言这一小节我们介绍物理引擎会用到的基本概念,包括刚体是什么?关节是什么?碰撞怎样实现?如何检测等等概念。更好的理解,其实大部分物理引擎都是基于这些概念搭建的。基础教程英文原版链接【ht.

2020-05-10 00:27:17 604 1

原创 看这里!每日一个小技巧助力科研敲代码!——【总目录】

0. 引言你会有这样的感觉,当遇到码代码或者科研问题时某度搜索会有很多解决方案,当你一个一个看的时候又会遇到其他的坑,就这样一个坑一个坑的填,一天时间就过去了,所以需要一个真正经历了问题并解决了问题的专栏,这样才是有效的解决方案。该专栏记录日常学习中经常遇到的问题,总结前人经验当成功解决的时候留下笔记,以供后者参考。求关注,持续更新。。。1. 专栏目录1.1 码代码类1、 完美解决V...

2020-05-06 12:18:11 262

原创 完美配置Windows装机必备软件提高工作效率【每天一个小技巧】

0. 引言对于一个搞科研的人来说,电脑中总有几个很实用的小程序帮助自己提高工作效率,博主总结自己给出非常实用的软件列表。1. 软件列表截图类 “Win+shift+S”截图,或者使用“截图工具”,再或者使用微信截图可以进行编辑,如框框箭头文字等等。录屏类 ScreenToGif 录屏工具,可以保存很多格式画质清晰,软件免费。搜索类 Everything是进行全盘类...

2020-05-04 11:56:45 593

原创 Open Dynamics Engine(ODE)物理引擎教程 (0)——总目录

本文结构0. 引言1. 基本内容2. 综合应用实例3. 第三方扩展4. 后记0. 引言Open Dynamics Engine(ODE)物理引擎系列教程涵盖ODE基本内容、综合实例应用以及第三方功能扩展。是全网最全的ODE中文教程,并由博主持续更新中。相关内容禁止转载,合作请私信联系。1. 基本内容基础教程详细介绍ODE的内部函数与特性,动力学模型、关节、摩擦、碰撞以及图形显示的各个函数...

2020-05-04 11:24:42 1615 1

原创 最完美解决C/C++中外部导入(Extern)结构体struct【每天一个小技巧】

本文结构0. 引言1. 解决方案1.1 举个例子2. 总结0. 引言在C/C++中由于结构体的方便性,如构建相同属性不同名称的变量或作为复杂函数的返回值等等。但会遇到从外部引入结构体的情况,这时候如果导入形式不对会出现无法引入的外部命令错误。1. 解决方案我们为什么要建立结构体?当然是为了方便整合属性变量,这时候其实就相当于你自己在基本变量基础上定义了属于自己的变量类型。而你想要外部导入结...

2020-05-03 23:41:55 11791 2

原创 Open Dynamics Engine(ODE)物理引擎教程(B)–图表形式动态显示仿真结果(C++调用python第三方库)

上一教程Open Dynamics Engine(ODE)物理引擎教程(A)–c++调用python函数实现数据可视化(上一教程中我们讲解了如何在C++中初步调用python函数)本文实现的效果更新中。。。本文结构上一教程本文实现的效果0. 引言1. C++调python第三方库(Matplotlib的配置)1.1 pip安装依赖1.2 文件的拷贝1.3 C++主函数的修改1.4 测...

2020-04-30 22:36:47 501 1

原创 Open Dynamics Engine(ODE)物理引擎教程(A)–c++调用python函数实现数据可视化

下一教程Open Dynamics Engine(ODE)物理引擎教程(B)–图表形式动态显示仿真结果(在这个教程中将在C++调用python函数的基础上,实现ODE物体状态的图标动态绘制功能)本文结构0. 引言1. C++调用Python函数方法1.1 安装python1.2 配置Python1.2.1 文件的拷贝工作1.2.2 工程项目属性配置1.3 测试Python1.3.1 py...

2020-04-30 12:29:08 907

原创 Open Dynamics Engine(ODE)物理引擎基础教程(I)——特点介绍

下一教程Open Dynamics Engine(ODE)物理引擎基础教程(II)——相关概念(在这一教程中将学习刚体、关节、碰撞的概念在ODE中的特点)本文结构引言介绍特点使用ODE总结引言本文翻译自ODE官方教程英文版,有些地方增加了自己的理解。这一节介绍ODE的相关概念。基础教程英文原版链接【http://ode.org/wiki/index.php?title=Manua...

2020-04-25 20:11:20 1321

原创 完美解决VS工程文件复制时占用巨大内存的问题【每天一个小技巧】

本文结构引言解决方案实例分析方法总结引言本文给出一种简单快速解决VS工程文件复制时占用巨大内存问题的方法。通常在我们想将一个工程文件复制给别人时,你会突然发现明明几M的文件变成几百M甚至上G,这无疑是非常崩溃的会耗费很多时间复制,对于强迫症很难受,所以这里给出一个简单有效的解决方案。解决方案实例分析例如我这里有一个工程文档:总大小2.4M左右,但是在复制工程时:突然变成了959M...

2020-04-23 18:06:15 2425 1

原创 Open Dynamics Engine(ODE)物理引擎教程(2)–项目环境配置与“Hello ODEWorld”

上一教程Open Dynamics Engine(ODE)物理引擎教程(1)–下载与安装准备本文结构上一教程引言VS2017 工程建立工程添加ODE库include文件夹lib文件夹src文件夹工程属性配置ODE头文件配置未完待续!!引言看到这里的读者恭喜你,你应该已经成功生成并编译出了属于自己平台的库函数,本文将在此基础上,生成自己的项目VS2017 工程在工程中我们将建立基于O...

2020-04-15 00:22:05 1237 20

原创 window 10 安装OpenGL依赖教程

引言为了安装DrawStuff依赖,需要安装OpenGL依赖包。项目主页:【https://www.opengl.org/】项目教程:【https://www.khronos.org/opengl/wiki/Getting_Started#Downloading_OpenGL】...

2020-04-02 20:42:03 1672

原创 最完美解决Latex表格绘制问题【每天一个小技巧】

引言对于科研人员来说Latex方便了论文的书写以及图标的自动排放。但是对于非常复杂的表格代码编写是非常不方便的。比如你想绘制如下形式表格:你会发现需要编写很多代码绘制,非常头疼。表格代码参考% 你需要在文档中添加功能包 \usepackage{multirow} %这是表格代码\begin{table}[]\begin{tabular}{|l|l|l|l|l|l|l|l|l|l|...

2020-03-28 20:17:30 2964

原创 Open Dynamics Engine(ODE)物理引擎教程(1)--下载与安装准备

引言ODE是一个免费的工业级库,用于模拟关节式刚体动力学,例如地面车辆、腿部生物和虚拟现实环境中的移动对象。它具有快速、灵活、健壮和独立于平台的特点,具有先进的关节、摩擦接触和内置的碰撞检测功能。项目主页:http://www.ode.org/线上手册:http://ode.org/wiki/index.php?title=Manual本教程为博主亲自亲测过程的总结,转载请注明出处!...

2020-03-26 17:09:19 1689 5

原创 机器人学:物体转动角度变化率与其世界坐标系下角速度的关系推导

引言一个物体在空间中的六个自由度中有三个旋转角度,如下图所示所有坐标系遵循右手规则。我们定义该物体的欧拉角[r p y]表示:绕x轴的为r (roll)即翻滚角,绕y轴的为p (pitch)即俯仰角,绕y轴的为y (yaw)即偏航角。那么物体在世界坐标系中的角速度是不是:w = [dr dp dy]推导我们定义物体欧拉角的旋转轴rax,pax,yax,通过物体在世界坐标系中的旋转矩阵...

2020-03-10 18:13:25 4758 1

原创 仿人机器人现状

引言仿人机器人是仿照人类运动和智能行为在形式和功能上的一种统一仿生机电自动化系统,由于类人运动和功能的多样性、复杂性以及高维度性,所以仿人机器人是一个非常具有挑战性的研究方向。国际现状从机械结构与控制系统上说,世界范围内可以分为两个主要的研究方向,也是极具代表性的两种仿人机器人类型。一种是以日本本田公司研发的ASIMO为代表的位置控制仿人机器人,其特点是机械机构以u型架、板件支撑、宽大...

2020-03-06 16:12:55 1855

原创 完美解决“无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-f”的问题

引言我们在使用Ubuntu系统时经常性使用sudo apt install命令安装所需要的软件库,偶尔会出现如下问题:E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正占用它?这个问题会妨碍接下来的一系列安装,所以掌...

2020-02-26 14:30:15 23260 9

原创 机器人学:实时五次插值推导

引言最近在算法中想实现给定机器人关节起始末尾角度、角速度、角加速度,求解过程中时间t时刻的角度、角速度和角加速度,而不是返回整个插值曲线中的值,也不依赖采样频率。网上比较普遍的算法如[多项式轨迹--五次多项式轨迹](https://blog.csdn.net/libing403/article/details/78715418)确实也给出了详细过程,但是经过一番功夫后发现是错误的,例如你将条件中...

2020-02-17 17:42:03 1490 3

原创 解决ubuntu16.04 无法使用python 建立虚拟环境(venv或virtualenv)的问题

问题背景我在ubuntu16.04中想建立虚拟环境运行Django进行网络部署,发现无法使用python -m venv venv_name进行虚拟环境的建立。我使用的是python3.5.6版本。在网上找了很多博客,都没有成功。例如使用virtualenv venv_name建立虚拟环境,(这又是一个坑,会有很多问题,虽然网上有解决办法,但是我仍然无法建立虚拟环境)。正当我准...

2018-10-10 01:32:33 15941 10

Raibert hopping legged robot matlab code

使用matlab代码实现了Raibert早期的单腿蹦跳机器人的平面与三维平衡控制,可实现速度与位置的精确控制,值得学习

2020-03-05

空空如也

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

TA关注的人

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