- 博客(64)
- 收藏
- 关注
原创 IKPy 库语法(机器人运动学核心语法)
IKPy 的linkLink:基础连杆类,手动创建运动链时使用,需手动指定连杆名称、关节类型、原点坐标、旋转轴等参数;URDFLink:继承自Link,专门用于从 URDF 文件解析连杆信息,无需手动配置参数,内部会自动使用该类创建连杆实例。核心载体类是所有操作的核心,表征机器人运动链;实例创建是最常用方式,自动解析 URDF 构建运动链;结构访问获取所有连杆列表,link.name访问单个连杆属性;核心功能,关节角度→末端位姿;,末端位姿→关节角度;关键特性。
2025-12-30 18:11:07
759
原创 筛选机器人可动关节、校准零位姿态并获取末端执行器位置
核心语法:代码围绕 5 个 PyBullet 函数展开,其中和是获取机器人结构信息的核心,是姿态初始化的关键;筛选逻辑:通过的关节类型(索引 2)排除,得到可动关节索引列表;重置关节为 0 +刷新状态 +读取末端位置,形成完整的零位诊断流程;参数特性:所有函数均以robot_id(模型唯一 ID)为首要参数,关节 / 连杆索引为核心定位参数,返回值多为元组类型,需按索引提取目标属性。
2025-12-30 17:07:25
1093
原创 pybullet.addUserDebugLine
text_id = p.addUserDebugText(text, textPosition, [可选参数]),必选参数仅文本内容和文本位置(颜色)、textSize(大小)、lifeTime(存活时间)、(跟随父物体)是高频使用参数text_id是文本唯一标识,用于手动删除文本(核心特性:文本无物理属性,仅可视化;支持绑定物体跟随移动;需通过 “删除 + 重绘” 实现动态更新常用场景:固定标注、跟随标注、动态参数显示、状态提示等,是 PyBullet 仿真调试和可视化的重要工具。
2025-12-30 16:39:55
627
原创 pybullet.getJointInfo初识
必选参数为机器人 ID 和关节索引robotId是模型唯一标识,jointIndex范围为0 ~ 总关节数-1返回值:元组类型,核心属性需通过索引解析,关节名称需解码、关节类型可与内置常量对应实用技巧:遍历关节用总关节数循环、名称解码、类型常量判断、注意限位参数单位# 导入pybullet仿真核心库,简写为p(行业通用写法,简化后续调用)# 导入pybullet内置模型数据模块,提供plane.urdf、r2d2.urdf等预置模型# 导入时间模块,用于控制仿真循环的帧率,避免仿真运行过快。
2025-12-30 00:40:39
961
原创 pybullet.loadURDF初识
核心语法fileName:路径+文件名,支持相对路径 / 绝对路径的返回值是 body_unique_id-1。
2025-12-29 23:48:33
321
原创 C++多态原理
虚函数表(vTable)编译时生成存储虚函数地址每个类一份,所有对象共享虚表指针(vPtr)每个对象独有位于对象内存起始位置构造函数中初始化动态绑定机制通过指针/引用调用虚函数运行时查虚表确定实际函数实现"一个接口,多种实现"
2025-08-06 15:57:12
443
原创 C++继承
继承允许新类(派生类)基于现有类(基类)创建,保留基类特性并扩展新功能。这实现了类设计层次的代码复用。在上述代码中,继承后基类Person的成员(成员函数和成员变量),都会变为派生类Student的一部分,体现了Student对Person的复用。核心规则:3. 作用域与隐藏同名成员会形成隐藏(重定义):重要:成员函数只需函数名相同即构成隐藏,与参数无关!三、继承VS组合 特性 继承 组合 关系类型 is-a(学生是
2025-07-31 21:31:58
515
原创 只出现一次的数字
给你一个整数数组nums,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。思路:使用异或运算'^'
2025-07-03 21:35:10
739
原创 初始化列表、静态成员、友元
因为A支持用int去构造,所以可以用int类型去构造,同时3是内置类型,不能直接去构造自定义类型,所以需要用3去构造一个临时的自定义类型,再用这个临时的自定义类型去拷贝构造。中,语法上,3会首先构造一个A的临时对象(A(int a)),再将这个临时对象拷贝构造aa3(A(const A& aa)),但当编译器遇到构造+拷贝构造时,会优化为直接构造(A(int a))。可以直接访问类的私有成员,它是定义在类外部的普通函数,不属于任何类,但需要在类内部声明,声明时需要加friend关键字.
2025-06-17 20:18:34
750
原创 赋值运算符重载
运算符重载是一种特殊的函数,通过operator参数是操作符的操作个数,如:比较大小使用双操作符,解引用、取地址、++、--使用单操作符。eg:判断是否相等在上述函数中,将运算符重载成全局,为了访问私有成员,将private改为public,对程序的封装性不友好。
2025-06-13 15:42:48
682
原创 JZ11 旋转数组的最小数字
有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。请问,给定这样一个旋转数组,求数组中的最小值。数据范围:1≤n≤10000,数组中任意元素的值: 0≤val≤100000要求:空间复杂度:O(1) ,时间复杂度:O(logn)
2025-06-06 11:08:46
231
原创 HJ97 记负均正
对于给定的 n 个整数 a1,a2,⋯ ,an统计并计算:∙ ∙负整数的个数;∙ ∙正整数的平均值。输入描述:第一行输入一个整数 n(1≦n≦2×10^3) 代表整数的个数。第二行输入 n个整数 a1,a2,…,an(−10^3≦ai≦10^3)代表输入的整数。输出描述:先输出一个整数,代表负整数的个数;随后在同一行输出一个实数,代表正整数的平均值。题目分析题目要求统计给定整数序列中负整数的个数,并计算正整数的平均值。注意:0既不是负数也不是正数,应被忽略.
2025-06-06 10:58:20
378
原创 C++入门基础
核心目的:创建独立作用域,避免名称污染。1.基本定义语法namespace NamespaceName { // 命名空间名称(通常用项目名/模块名)// 成员列表(可包含任意合法标识符)// 变量// 函数// 类// 结构体2.嵌套命名空间支持多层命名空间,解决复杂模块的命名冲突。namespace Core { // 内层命名空间namespace GUI { // 同级命名空间3.跨文件合并特性同一工程中同名命名空间自动合并。
2025-06-04 23:37:11
1067
原创 【无标题】
等差数列的特点是每一项与前一项的差为固定常数(公差)。对于首项为 2,公差为 3 的等差数列,求前 n 项的和。的计算公式:ai=a0+(i−1)×d。输入一个整数 n(1≦n≦103)。输出一个整数,代表前 n 项的和。
2025-06-04 10:21:14
297
原创 HJ76 尼科彻斯定理
∙ ∙对于 n=4n=4,数列 {13,15,17,19}{13,15,17,19} 的和为 43=13+15+17+1943=13+15+17+19。∙ ∙对于 n=3n=3,数列 {7,9,11}{7,9,11} 的和为 33=7+9+1133=7+9+11;n=4:首项 =4*4−4+1=13=42−4+1=13,数列为 {13,15,17,19}∙ ∙对于 n=2n=2,数列 {3,5}{3,5} 的和为 23=3+523=3+5;根据公式 a0=n*n−n+1确定数列的第一个数。
2025-06-04 10:17:22
189
原创 JZ17 打印从1到最大的n位数
输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。循环i从0到total-1将数字i+1簇内res[i],避免越界。1: 这里returnSize是需要打印个数的变量的指针。输出:[1,2,3,4,5,6,7,8,9]2: 需要返回一个数组首元素的地址。:malloc分配的内存空间。:通过for循环计算最大值。
2025-06-03 10:53:54
195
原创 HJ73 计算日期到天数转换
每一年中都有 1212 个月份。其中,1,3,5,7,8,10,121,3,5,7,8,10,12 月每个月有 3131 天;4,6,9,114,6,9,11 月每个月有 3030 天;而对于 22 月,闰年时有 2929 天,平年时有 2828 天。现在,对应输入的日期,计算这是这一年的第几天。一个年份是闰年当且仅当它满足下列两种情况其中的一种:∙ ∙这个年份是 44 的整数倍,但不是 100100 的整数倍;∙ ∙这个年份是 400400 的整数倍。
2025-06-03 10:39:34
620
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
2