- 博客(221)
- 资源 (1)
- 收藏
- 关注
原创 青龙源码解析MPC
1. 全身运动学青龙全身共31个自由度。2个7自由度臂,2个头部自由度,3个腰部自由度,每个腿是6个自由度(髋关节3DOF,膝关节1DOF,踝关节2DOF)共7+7+2+3+6+6=31再加上浮动基座6自由度,总共37自由度。2. 变量:输入:13 * 3 = 39的纬度;约束:32 * 3的纬度Ac,Bc,A,B,Cc,C: 状态空间矩阵Ac,A: [12, 12]Bc,...
2024-09-26 11:56:00 711
原创 Dynamic Locomotion in the MIT Cheetah 3 Through Convex Model-Predictive Control
1. Swing Leg Control\(J_i \in R^{3*3}\) 是足端雅可比;\(\tau _{i,ff}\) 是前馈力矩\(\Lambda \in R^{3*3}\)是操作空间惯性矩阵;\(a_{i,ref} \in R^{3*3}\)是机体坐标系下的参考加速度q是关节角度;\(C_i \dot{q}_i + G_i\)是科里奥利力和重力2. Ground Force C...
2024-09-18 19:40:00 227
原创 ubuntu相关操作指令
限制进程CPU占用率sudo cpulimit -p 1780(进程号) -l 200脱离终端后台运行程序nohup roslaunch your_package_name your_launch_file.launch &
2024-09-09 19:08:00 92
原创 仿人机器人
1. ZMP1.1 二维分析:着重看公式3.3,考虑对应于力矩为零时的那个作用点,即满足\(\tau(p_x) = 0\)的点\(p_x\)。1.2 三维分析:力矩为零的作用点:点p就是压强中心,也即ZMP。当机器人运动的时候,一般情况下,z方向的力矩等0并不成立。所以在三维情况下,ZMP定义为:地面作用力的力矩水平分量为零的作用点1.3 双足时的ZMP两脚各自的ZMP位置...
2024-08-27 17:56:00 924
原创 四足机器人MPC+WBC方案
四足机器人MPC+WBC方案一、MPC:系统方程:状态变量:\(x_r = (h_{com}, q_b, q_j) \in R^{24}\), 包含6维质心点动量,6维机身位姿,3*4个关节角度输入变量:\(u = (f_{c1}, ......, f_{c4}, v_j) \in R^{3*4+12}\), 包含4个腿末端的3维力,12个关节速度动力学:其中\(f_{ci}\)是4...
2024-08-14 17:55:00 386
原创 强化学习分类
Model-free: Q learning, Sarsa, Policy GradientsModel-based: 能通过想象来预判断接下来将要发生的所有情况. 然后选择这些想象情况中最好的那种基于概率:Policy Gradients基于价值:Q learning, Sarsa两者融合:Actor-Critic回合更新:Monte-carlo learning, ...
2024-08-12 19:28:00 322
原创 OCS2_mobile_manipulator案例详解
1. 启动共启动3个节点mobile_manipulator_mpc_node //mpc问题构建,计算mobile_manipulator_dummy_mrt_node //仿真,承接MPC的输出,发布Observation, 对于仿真来讲,状态发布也是反馈mobile_manipulator_target //交互发布target2. MobileManipulatorMpcN...
2024-06-21 15:35:00 175
原创 docker 打包镜像推送
使用commit命令将容器保持为一个新的镜像docker commit -a "作者(-a可以不要)" -m "提交信息" 容器名称或ID 新镜像名称:版本docker commit -a "penuel" -m "new commit" old_docker new_image:v0使用docker tag给要发布的镜像添加标签,docker tag new_image:v0...
2024-05-30 15:20:00 316
原创 linux清理内存
查看磁盘使用率df -h查看当前目录下每个文件夹的大小du -h -d1查看root目录下每个文件夹的大小du -h -d1 /root
2024-01-31 17:14:00 406
原创 ubuntu wifi连接设置
1. 扫描可用的wifi网络nmcli device wifi rescan nmcli device wifi list2. 连接到wifi网络nmcli device wifi connect "wifi_name" password "password" ifname
2024-01-29 10:33:00 421
原创 mpc_local_planner详解
控制器配置Controller::configure(){ //创建机器模型 _dynamics = std::make_shared<UnicycleModel>(); //离散网络,比如多重打靶法。参考点,输入,状态,等变量也会存放在grid里面,会实时更新。而且grid也继承了顶点传入到超图问题构建中 _grid = configureGrid(nh)...
2024-01-15 17:04:00 751 1
原创 gbd调试
gdb /home/xu/ZME/obstacle_map/install/obstacle_map/lib/obstacle_map/obstacle_map_nodeset args --ros-args --ros-args --params-file /home/xu/ZME/ChargingPileBackFlushing/install/VMarkTof/share/VMarkT...
2024-01-06 14:19:00 440
原创 TEB总结
Non-holonomic kinematics:如上图可视,我们认为每两个离散位姿之间是通过一个圆弧运动的,所以这两个夹角相等,这里使用叉乘来表示等式约束曲率约束:速度和加速度约束:...
2023-12-18 10:43:00 69
原创 C++11 后的单例写法
template<typename T>class Singleton{public: static T& getInstance() { static T t; return t; } Singleton(const Singleton&) = delete; Singleton& o...
2023-11-27 11:18:00 80
原创 机器人学导论-约翰 J.克雷格
目录第五章 雅可比:速度和静力5.1 刚体的线速度和角速度5.5 机器人连杆运动第五章 雅可比:速度和静力5.1 刚体的线速度和角速度\(V_{BORG}\)是坐标系B在A坐标系下的速度,\(^BV_Q\)是B坐标系下Q的速度,\(^A\Omega\)表示从坐标系A观测时,矢量Q的运动是绕着\(^A\Omega\)旋转的5.5 机器人连杆运动...
2023-10-26 11:32:00 256
原创 docker新建容器脚本
新建一个文件夹,vim docker.sh自动共享该文件夹#!/bin/bashXSOCK=/tmp/.X11-unixxhost +local:rootdocker run -it \ -e DISPLAY=$DISPLAY \ -w /humble_ws \ -v $PWD:/humble_ws \ -v $XSOCK:$XSOCK \ -v $HOME/.Xauth...
2023-10-25 10:08:00 90
原创 nav2_constrained_smoother
平滑cost:template<typename T> inline void addSmoothingResidual( const double & weight, const Eigen::Matrix<T, 2, 1> & pt, const Eigen::Matrix<T, 2, 1> & pt...
2023-10-20 19:33:00 97
原创 原子操作实现无锁栈
//atomic3.cpp 使用CAS操作实现一个无锁栈#include <atomic>#include <iostream>template<typename T>class lock_free_stack{private: struct node { T data; node* next;...
2023-07-07 15:11:00 91
原创 vscode相关问题处理
1. 跳转缓慢,跳转函数,一直转圈圈,比较慢关闭vscode删除索引文件cd ~/.config/Code/User/workspaceStoragerm -rf *2.重新打开vscode即可2. 波浪线报错在确认c_cpp_properties.json没有问题的前提下,考虑有重复的安装包,特别是在/opt/ros/下面有相同的.h文件。vscode会优先找到这个...
2023-07-04 11:28:00 762
原创 vscode插件
bookmarksc/c++c/c++ extension packCMakeCMake ToolsDev ContainersDockerGit HistoryGitLenshighlight-wordsMarkdown All in OneOne Dark ProRemote-SSHROSTodo Treecatkin-tools
2023-06-28 11:03:00 61
原创 用POSIX线程库创建带优先级的线程
#include <iostream>#include <pthread.h>void* threadFunction(void* arg) { // 线程函数逻辑 // ... return nullptr;}int main() { pthread_t thread; pthread_attr_t attr; ...
2023-05-31 13:55:00 137
原创 vscode设置关键字高亮
下载highlight-words插件在settings.json文件中添加以下代码路径:(文件>首选项>设置>打开设置(json) 图标在右上角)"highlightwords.colors": [ { "light": "#b3d9ff", "dark": "cyan" }, { "light": "#e6ffb3", "dark"...
2023-05-30 11:47:00 1010
原创 ROS2指令总结
查看功能ros2 node listros2 topic listros2 service listros2 action list查看节点信息:ros2 node info <node_name>话题ros2 topic echo <topic_name>查看话题的详细信息:ros2 topic info <topic_name>...
2023-05-24 11:53:00 326
原创 MPC
Matlab MPC toolbox : https://www.mathworks.com/products/mpc.htmlμAO-MPC : http://ifatwww.et.uni-magdeburg.de/syst/muAO-MPC/Acado toolkit : https://acado.github.io/YANE : http://www.nonlinearmpc.c...
2023-03-29 16:53:00 78
原创 ADMM
ADMM(Alternating Direction Method of Multipliers,多项式交替方向乘子法)是一种用于求解凸优化问题的迭代算法。该算法是由Gabriel Peyré, Neal Parikh和Mathieu Chanaux等人在2010年左右提出的,是一种分布式算法,适用于大规模数据和分布式计算环境。ADMM的目标是求解以下形式的凸优化问题:\[\min_x f(...
2023-03-13 10:41:00 469
原创 对偶问题
对偶问题是原始优化问题的另一种表述方式。在对偶问题中,优化的目标函数和约束条件都与原始问题不同,但两个问题具有等价的最优解。通过解决对偶问题,可以间接地得到原始问题的最优解,这种方法称为对偶法。对于一个凸优化问题,其对偶问题可以通过拉格朗日对偶性(Lagrange duality)得到。对于原始问题:\[\min f_0(x)\]\[s.t. \quad f_i(x) \leq 0, i=...
2023-03-13 10:41:00 1727
原创 数值优化
Steepest Gradient Descent:constant step size : \(\tau = c\) 固定梯度大小Diminishing step size: \(\tau = c/k\) 每次迭代后,梯度都减小Exact line search \(\tau = \arg \mathop{\min}\limits_{\alpha} f(x^{k} + \alpha ...
2023-03-09 15:42:00 120
原创 frenet坐标系
https://blog.csdn.net/weixin_37395438/article/details/112973098函数实现文件planning/math/frame_conversion/cartesian_frenet_conversion.cc:#include "modules/planning/math/frame_conversion/cartesian_frenet_...
2023-02-21 15:41:00 163
原创 规划类知识树
基于神经网络启发式函数的Hybrid A*openplanner(autoware + 静态存跟踪)fastplannerEM planner(appollo)ros_navigation功能包,astar+动态dwa/动态TEBluba(静态jps+静态存跟踪)lexicographic_planner代价函数一般考虑路径长度、曲率平滑度、速度平...
2023-02-20 16:43:00 193
原创 fast planner总结
一、前端 kinodynamic A*算法动力学路径搜索1.1 路径搜索的主要函数为kinodynamicAstar类的search函数int KinodynamicAstar::search(Eigen::Vector3d start_pt, Eigen::Vector3d start_v, Eigen::Vector3d start_a, ...
2023-02-17 16:40:00 926
原创 非线性优化-NLopt
通过 对 一个 数学 模型 的求解 来介绍 NLopt的使用方法数学模型:这个是目标函数 求满足 条件的情况下 x2的开平方最小边界约束非线性不等式约束如下有两个参数 x1 和 x2 ,其中 a和b是模型的参数可以设为任意的固定值,这个模型设为a1=2,b1=0,a2=-1,b2=1绘制这两条曲线 如下图可行性区域在交汇的上方,最优点在交汇处,最优值大约为0.5443下面通过NL...
2023-02-14 16:47:00 406
原创 docker创建镜像
使用以下指令创建,同时共享文件夹docker run -itd -v /home/penuel/dockershare:/home/dockershare --name=ubuntu18 ros:melodic-ros-base /bin/bash
2022-12-05 11:33:00 278
原创 TEB学习
官方资料:http://wiki.ros.org/teb_local_planner/Tutorialsset up and test Optimization(重要)Inspect optimization feedback(重要)configure and run robot navigation(重要)obstacle avoiddance and robot footprint...
2022-11-22 10:30:00 92
原创 源码下载teb
git clone https://github.com/rst-tu-dortmund/teb_local_planner.gitgit checkout <ros版本分支>git clone https://github.com/rst-tu-dortmund/teb_local_planner_tutorials.gitsudo apt-get install ros...
2022-11-21 18:55:00 354
原创 自抗扰(ADRC)控制原理及控制器设计
https://blog.csdn.net/weixin_43487974/article/details/127163824?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2defaultYuanLiJiHuaPosition-2-127163824-blog-122591196.p...
2022-11-16 14:10:00 618
原创 ubuntu20.04安装systemback
sudo add-apt-repository --remove ppa:nemh/systembacksudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 382003C2C8B7B4AB813E915B14E4942973C62A1Bsudo add-apt-repository "deb http://ppa.l...
2022-11-14 16:29:00 792
原创 ros action详解
https://blog.csdn.net/weixin_45590473/article/details/122525228
2022-11-14 12:08:00 152
机器人学中的状态估计 state estimation for robotics(英文版)
2018-12-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人