- 博客(237)
- 资源 (1)
- 收藏
- 关注
原创 OCS2::legged_robot::LeggedRobotInterface.cpp
这个文件主要是对最优问题的构造。1. setupOptimalConrolProblemvoid LeggedRobotInterface::setupOptimalConrolProblem(const std::string& taskFile, const std::string& urdfFile, ...
2025-01-02 14:13:00
347
原创 OCS2::legged_robot::gait.info
步态文件:1. 步态类型list{ [0] stance 静止 [1] trot 快走,一种快速、稳定的交替对角步态 [2] standing_trot 在交替的步伐中插入静止阶段,增加稳定性 [3] flying_trot 在交替的步伐中插入腾空阶段,增加速度 [4] pace 同侧步态,左右两条腿交替着地,常用于节能的慢速运动 [5] sta...
2025-01-02 10:20:00
331
1
原创 OCS2::MPC 启动流程
1. 创建MPC_ROS_Interface接口,以sqpMpc为例//自定义接口LeggedRobotInterface interface(taskFile, urdfFile, referenceFile);// 创建同步接口auto gaitReceiverPtr = std::make_shared<GaitReceiver>(nodeHandle, i...
2024-12-30 10:54:00
402
原创 OCS2::ocs2_centroidal_model_质心动量模型
1. ModelHelperFunctions.cpp1.1 updateCentroidalDynamics() : 质心动力学更新template <typename SCALAR_T>void updateCentroidalDynamics(PinocchioInterfaceTpl<SCALAR_T>& interface, const Centr...
2024-12-19 17:22:00
903
1
原创 OCS2::legged_robot::SwingTrajectoryPlanner_摆动腿轨迹规划
计算特定时间点指定腿的垂直速度约束\(v_z=trajectory[index].velocity(time)\)scalar_t SwingTrajectoryPlanner::getZvelocityConstraint(size_t leg, scalar_t time) const { const auto index = lookup::findIndexInTimeArray...
2024-12-11 10:59:00
306
原创 OCS2::legged_robot::EndEffectorLinearConstraint_末端线性约束
定义:\(g(xee, vee) = Ax * xee + Av * vee + b\)xee:末端位置vee:线速度值:vector_t EndEffectorLinearConstraint::getValue(scalar_t time, const vector_t& state, const vector_t& input, ...
2024-12-10 15:23:00
182
原创 OCS2::legged_robot::FrictionConeConstraint摩擦锥约束
公式:\(h(F) = u(F_z + F_{gripper}) - \sqrt{F^2_x + F^2_y + \epsilon} >= 0\)\(F_{gripper}\):抓力(如果有)\(\epsilon\):正则化参数,用于避免梯度计算时分母为0vector_t FrictionConeConstraint::getValue(scalar_t time, const...
2024-12-10 15:05:00
370
原创 强化学习理论-第6课-随机近似与随机梯度下降
6.1 motivating example : mean estimation采样足够多进行平均迭代求平均:\(w_{k+1} = w_k - \frac{1}{k} (w_k - x_k)\)6.2 Robbins-Monro algorithmRM算法的优点是:不需要知道方程表达式,也不需要知道梯度信息啥的。随机梯度算法是RM算法的一种特殊情况。求根问题:RM算法求解:RM算法...
2024-12-05 11:20:00
170
原创 强化学习理论-第5课-蒙特卡洛方法
之前的章节都是基于model base,这节是model free的方法。1. model-base to model-free:2. 计算\(q_{\pi k}:\)3. MC base algorithm:step 1和model base是不一样的,后面的步骤是一样的。4. MC exploring starts算法:...
2024-11-18 13:47:00
171
原创 强化学习理论-第4课-值迭代与策略迭代
1. value iteration algorithm:值迭代上一节已经介绍过:1.1 policy update:1.2 Value update:此时,\(\pi_{k+1}\)和\(v_k\)都是已知的1.3 procedure summary:1.4 example:2. policy iteration algorithm:Q1:Q2:Q3:2.1 Polic...
2024-11-13 11:12:00
327
原创 强化学习理论-第3课-贝尔曼最优公式
1. 贝尔曼最优公式:1.1 定义:第2课介绍了贝尔曼公式,里面的\(\pi (a|s)\)策略是固定的,这里我们想求得一个最优的策略,使得state value最好1.2 matrix-vector form:2. 求解贝尔曼公式:公式中,v是一个未知量,\(\pi\)也是要求解的最优策略。假设a有5个action,2.1 Contraction mapping theore...
2024-11-12 15:36:00
158
原创 强化学习理论-第二课-贝尔曼公式
1. return和贝尔曼上图说明从不同状态出发得到的return,依赖于从其他状态出发的returnv是return,将第一张图写成矩阵的形式,r代表immediate reward,是已知的,矩阵P是策略加上state transition,也是已知的,求解v这个公式实际上就是贝尔曼公式在\(S_t\)采用什么样的动作\(A_t\),是有策略决定的,\(\pi\)在\(S_t\)...
2024-11-09 11:20:00
624
原创 强化学习理论-第1课-基础概念
1. state:状态,可以是机器人的位置,速度,加速度等2. action:对于每一个状态,可能的动作3. state transition:状态转移3.1 state transition probability:4. policy:告诉agent在这个状态应该采用哪个action5. reward:状态转移后的惩罚项6. trajectory and return...
2024-11-05 09:58:00
375
原创 可操作度
如上图所示,好的可操作度可以帮助远离奇异点1. 可操作度:\(m = \sqrt{det(J(q) J(q)^T)}\)2. 可操作度雅可比:3. 可操作度控制器QP:
2024-11-04 11:18:00
368
1
原创 青龙源码解析wbc
1. 任务管理:WBC_walk task:"static_Contact"; "Roll_Pitch_Yaw_Pz"; "RedundantJoints"; "PxPy"; "SwingLeg"; "HandTrack"; "HandTrackJoints"; "PosRot"使能:"static_Contact"; "RedundantJoints"; "SwingLeg"; "Ha...
2024-10-18 14:57:00
953
原创 青龙源码解析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
997
原创 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
301
原创 ubuntu相关操作指令
限制进程CPU占用率sudo cpulimit -p 1780(进程号) -l 200脱离终端后台运行程序nohup roslaunch your_package_name your_launch_file.launch &
2024-09-09 19:08:00
127
原创 仿人机器人
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
1138
1
原创 四足机器人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
1015
原创 强化学习分类
Model-free: Q learning, Sarsa, Policy GradientsModel-based: 能通过想象来预判断接下来将要发生的所有情况. 然后选择这些想象情况中最好的那种基于概率:Policy Gradients基于价值:Q learning, Sarsa两者融合:Actor-Critic回合更新:Monte-carlo learning, ...
2024-08-12 19:28:00
339
原创 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
355
原创 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
338
原创 linux清理内存
查看磁盘使用率df -h查看当前目录下每个文件夹的大小du -h -d1查看root目录下每个文件夹的大小du -h -d1 /root
2024-01-31 17:14:00
433
原创 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
487
原创 mpc_local_planner详解
控制器配置Controller::configure(){ //创建机器模型 _dynamics = std::make_shared<UnicycleModel>(); //离散网络,比如多重打靶法。参考点,输入,状态,等变量也会存放在grid里面,会实时更新。而且grid也继承了顶点传入到超图问题构建中 _grid = configureGrid(nh)...
2024-01-15 17:04:00
993
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
469
原创 TEB总结
Non-holonomic kinematics:如上图可视,我们认为每两个离散位姿之间是通过一个圆弧运动的,所以这两个夹角相等,这里使用叉乘来表示等式约束曲率约束:速度和加速度约束:...
2023-12-18 10:43:00
93
原创 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
98
原创 机器人学导论-约翰 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
347
原创 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
123
原创 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
141
原创 原子操作实现无锁栈
//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
131
原创 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
848
原创 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
75
原创 用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
168
原创 vscode设置关键字高亮
下载highlight-words插件在settings.json文件中添加以下代码路径:(文件>首选项>设置>打开设置(json) 图标在右上角)"highlightwords.colors": [ { "light": "#b3d9ff", "dark": "cyan" }, { "light": "#e6ffb3", "dark"...
2023-05-30 11:47:00
1147
机器人学中的状态估计 state estimation for robotics(英文版)
2018-12-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人