- 博客(6)
- 问答 (1)
- 收藏
- 关注
原创 ROS2中的LifecycleNode生命周期节点
ROS2中的LifecycleNode节点UnconfiguredInactiveActiveFinalizedConfiguringCleaningUpActivatingDeactivatingShuttingDownErrorProcessing实例本文参考:ros2 node_lifecycleros2中加入了一种区别于普通的node节点的管理节点LifecycleNode,这种节点有点像是状态机,会在几种不同的状态中切换。LifecycleNode 节点的状态主要分为基本状态(Primary
2021-12-23 16:25:59 3195 3
原创 Gazebo中使用set_link_state来改变物体位置
Gazebo中使用set_link_state来改变物体位置Gazebo中,可以在运行的时候使用/gazebo/set_link_state服务来改变物体的位置。首先对于要修改位置的物体,一定要记得在.xacro文件中的<gazebo>标签下加入<kinematic>1,表示只进行运动学计算,不涉及运动学,比如<gazebo reference="camera_link"> <material>Gazebo/Black</material&
2021-11-29 11:51:01 2389 3
原创 C++继承
C++继承概念派生类的对象的内存空间概念继承:在定义一个新的类B时,如果该类与某个已有的类A相似(指的是B拥有A的全部特点),那么就可以把A作为一个基类,而把B作为基类的一个派生类(也称子类)。派生类具有基类的全部特点。而且派生类时通过基类进行修改和扩充得到的。在派生类中,可以扩充新的成员变量和成员函数。派生类一经定义后,可以独立使用,不依赖于基类。派生类拥有基类的全部成员函数和成员变量,不论是private、protect、public。在派生类的各个成员函数中,不能访问基类中的private成员
2021-06-28 11:01:20 334
原创 C++强制类型转换
C++强制类型转换static_castreinterpret_castconst_castdynamic_cast有一个问题就是,明明可以用以下的方式来进行强制类型转换,为什么还要用C++提供的四种类型转换呢? float a = 1.0; int b = (int)a;那是因为原来的类型转换不能区分转换风险的高低, 比如指针转换就用interpret_cast或dynamic_cast。这样可以对转换的形式和风险程度分级,这样可以很容易地在程序中搜寻我们在程序中哪里进行了某一类的转换stat
2021-04-03 22:34:06 376 1
原创 学习ROS时遇到的坑
1.ros::NodeHandleros::NodeHandle n("~");这个地方的"~"一定要加,可以是别的字符串,如果没有的话在订阅topic时会无法调用回调函数。2.tf::TransformBroadcasterstatic tf::TransformBroadcaster br;一定要加入static关键字,不然tf发布不出去...
2020-12-08 17:18:51 283
转载 记录一下机械臂逆运动学的PIEPER解法
就是这里!为了避免以后因为网站无法登录而丢失,这里截图保存一下具有参考价值的地方:根据末端执行器位置喝姿态矩阵求解腕部点坐标:
2020-03-04 14:28:46 2726 1
空空如也
使用vscode调试的c++时候不能监视map的具体值
2022-08-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人