- 博客(17)
- 收藏
- 关注
原创 Gazebo仿真一个Mid360平台并运行FastLio建图(接Z550仿真Mid360)
使用设备及环境:虚拟机Ubuntu20.04+gazebo11+pcl1.10。Gazebo仿真一个Mid360平台并运行FastLio建图(接Z550仿真Mid360)
2024-07-08 11:25:03
867
原创 C++多个.h文件使用相同的命名空间
c++是允许这么操作的,如果一个cpp文件同时引用这两个头文件,若两个头文件的命名空间中对象不一致,直接合并两个命名空间为一个!
2024-03-21 18:16:24
104
原创 Motion Planning回顾:Occupy grid map设置障碍物的原理
在进行motion planning运动规划学习过程中,对代码进行回顾记录。
2024-01-13 10:41:44
488
1
原创 Gazebo中如何添加.png照片(aruco图片)到模型(box)上
您可以使用免费的在线转换工具,如 ✨ OnlineConvertFree ⭐️,将任何svg格式的图片免费转换为png和许多其他格式。在/usr/share/gazebo-9/media/materials/scripts中写入aruco.material文件。待放置的图片保存到/usr/share/gazebo-9/media/materials/textures中。2、在xacro文件中使用:将图片的box连接固定在机器人尖端部分上(直接将图片链接到连接体)通过svgtopng网站转成png图片。
2023-12-01 23:30:59
1188
原创 ZD550搭载Mid360激光雷达Gazebo仿真平台搭建记录
(1)刚开始打算按照XTdrone给出的Livox文件进行修改,将自己的dae文件放置进去,将碰撞模型和可视化模型均改为mid360.dae,仿真发现会出现卡顿的情况,目前还没有解决。(2)当时启动gazebo,仿真的mid360模型文件存在,但并没有点云数据,通过查看终端,发现是 mid360插件不能找到mid360.csv文件,然后最后通过写入绝对路径的方法成功仿真出点云数据,这里将PX4官方提供的velodyne的点云和mid360仿真的点云做了个大致对比,整体效果还行。3.具体仿真出来的模型如图。
2023-11-16 18:59:24
1310
23
原创 PX4 无人机解锁时,电机哔一声但不转的解决方案
1、首先将遥控器打开,油门推到顶,然后给无人机上电,通过观察Here3+或者飞控的指示灯,出现多种颜色混合变化时,拔掉无人机电源。在通过遥控器或者地面站进行解锁命令发布后,发现电机会发出哔一声,地面站显示进入Armed模式,但电机不转,且QGC未报任何错误。2、最后将遥控器油门推到最下面,给无人机上电,这时电调油门行程校准结束,正常通过遥控器和地面站进行解锁电机正常转,胜利!通过查找资料发现是由于电调油门行程没有校准。
2023-11-13 20:58:22
1063
原创 对四旋翼刚体运动学建模过程中基于欧拉角表示方法的推导引发的一些思考
正常而言,其中旋转过程是围绕机体坐标系转动,旋转矩阵叠加过程应该是右乘,上述推导中Z轴角速度叠加两次旋转却是左乘。三次转动过程中,每次转动旋转轴都是绕被转动坐标系的某一轴,每次转动的角度为欧拉角。针对机器人应用中,一般像传感器参数转换(雷达点到车机体转换等)直接左乘就行,因为雷达点转换到车机体下,是以车机体不动,相对固定的坐标系。围绕新的坐标系(机体坐标系)转动,本质上是向量基的变化,右乘。对于上述欧拉角转动,世界坐标系围绕待转动的轴旋转三次和机体坐标系一致,世界坐标系到机体坐标系的旋转矩阵应该是Rz(
2023-11-09 14:04:25
137
2
原创 Linux设备串口号绑定
需要添加devpath信息!ID 1d6b:0002 表示usb设备的ID(由芯片制造商设置,可以唯一表示该设备)对于工程实践中碰到多个设备开机后串口号不固定的问题,通过配置udev别名进行解决。可以看到px4指向ttyUSB口,通过打开/dev/px4使用px4设备。1d6b表示idVendor,0002表示idProduct。根据上面信息撰写udev文件,这里以px4飞控设备为例。通过插拔设备确定插入设备端口号,并输入以下命令。确定端口的devpath值,并加入规则。通过以下命令查看设备udev信息。
2023-10-05 13:58:37
447
原创 C++ this指针使用理解
this指针是一个特殊指针,它指向当前对象的实例。友元函数没有this指针,因为友元不是类成员,只有成员函数有this指针。
2023-09-24 21:44:04
34
1
原创 C++子类与父类的使用理解
public::!!" << endl;public:!!" << endl;通过上述代码定义父类father, 子类son。
2023-09-24 21:18:44
181
1
原创 Linux下静态库和动态库的理解和应用
在Linux中,库文件分成静态库(.a)和动态库(.so)。静态库在连接过程中,从库文件取得所需代码,每次被调用都会对库代码进行一次完整拷贝,多次使用会多份冗余拷贝。动态库在程序运行后调用库函数时才被载入,独立于现有的程序。
2023-09-15 20:33:11
49
原创 ROS1学习_第一个节点
在Linux中,程序是一个具有执行权限的文件。可以是一个脚本.sh文件,也可以是一个二进制文件,不过我们并不限定其后缀名(Windows需要指定为.exe文件)。对于上面所写的程序hello.cpp,转换为可执行文件前需要对其进行编译操作。这里我们介绍几种编译方式:g++编译、cmake编译。
2023-09-15 15:09:52
247
原创 ROS 18.04(melodic)编写topic通信
1、创建工作环境$mkdir -p ~/catkin_ws/src$cd ~/catkin_ws$catkin_make$source devel/setup.bash2、在/catkin_ws/src下创建toplic_example功能包$cd src$catkin_creat_pkg topic_example std_msgs roscpp3、在/catkin_ws/src/topic_example下创建src包,放置publish_node.cpp和subscribe
2022-04-03 16:08:18
141
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人