自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (4)
  • 收藏
  • 关注

原创 PX4-Autopilot v1.11.1 Makefile 的一点解读

好久没关注 PX4 的更新进度,最近正好想重新搭一个仿真环境,就下载了最新的代码来看。原本的下载地址https://github.com/PX4/Firmware已经更名为https://github.com/PX4/PX4-Autopilot,目前在浏览器里输入这两个链接都能打开。代码中只有主目录中一个 Makefile ,而且文件长度比原本v1.7.3 之前减少了很多,易读性大大增强。(实际上以前的我从来没看懂过,这次反而十几分钟就看懂了。)主要就干了两件事:1、定义所有可供 ma...

2020-11-08 21:57:48 817

原创 解决直接 apt-get 安装了 realsense2_camera,无法打开USB接口的问题

要使用 intel realsense 的深度相机,之前的流程是先按照官网较长安装 SDK,再下载 ros package 进行编译;现在可以直接一个指令 sudo apt-get install ros-XXX-realsense2-camera 来进行安装了。http://wiki.ros.org/realsense2_camerahttps://github.com/IntelRealSense/realsense-ros然而这样安装之后运行 roslaunch 的话,会报错:fai

2020-10-28 21:47:52 2521 1

原创 在ros中使用 RPLIDAR_A1 激光雷达 8000点/秒 的配置方法

下午拿到一个思岚科技的RPLIDAR_A1,具体版本型号是A1M8-R5。直接在ROS环境下搞起,配置与使用非常简单,但是仔细阅读了源码却发现一些需要注意的地方,在这里罗列下来。1、安装非常简单,只需要一条指令。sudo apt-get install ros-YOUR_ROS_DISTRO-rplidar-ros然后就可以利用 rospack find 指令查看是否安装成功。2、rplidar-ros源码链接利用指令安装后没有源码,可以github查看源码。如果有需要可以下载

2020-09-27 20:57:27 2577

原创 从 EuRoC MAV Dataset 的 .zip 文件生成 .bag 的 python 脚本

EuRoc MAV Dataset 是 VSLAM 和 VIO 常用的一个数据集。每个场景同时保存了 .bag 的 rosbag 文件和 .zip 的压缩文件,但是在国内的网络中下载 .bag 文件异常缓慢,而 .zip 更小,下载要稍快一些。而且 .zip 文件解压后的文件夹中包含了比rosbag 更多的信息,既包括了双目的图像和 imu 信息,还有传感器安装方位和采用外部定位设备获取的姿态和...

2019-12-26 11:57:49 1562 2

原创 利用 kalibr 标定多个相机(>=1)和 IMU 组合系统

目录1、准备工作1.1 编译 kalibr1.2 制作标定板2、 相机标定2.1 相机话题降频2.2 录制rosbag2.3 相机标定3、相机-IMU标定3.1 准备文件3.2 录制相机+IMU的 rosbag3.3 标定附注:官方链接:Kalibr官方 wiki 中的讲解非常清楚,但是需要花些时间好好消化一下。我在这里做一下流程汇总:1...

2019-12-13 22:41:03 1281

原创 英伟达 Jetson TX2 开发板安装Xsens MTi 驱动

TX2 的 ubuntu 18.04 不能自动将 MTi 的 USB 口识别成串口,必须编译内核模块作为驱动程序。第一步,下载内核源码到 TX2 的 /usr/src 文件夹内核源码的下载链接在英伟达官网,对照自己的系统版本来下载就可以,例如 R32.2.3。下载后的文件名称为 public_sources.tbz2 , 经过两次解压后才是源代码,相关指令包括:cd /usr/...

2019-12-05 00:14:44 1451 3

原创 英伟达 Jetson TX2 开发板安装英特尔 D435i 深度相机驱动

经过多番折腾,成功安装并且掌握了规律,在这里详细解释一下,大家可以依葫芦画瓢。授人以鱼不如授人以渔。首先,也是最最最重要的一步,就是要重新编译系统内核,使得内核可以识别 D435i 相机。因为 D435i 是采用 USB3.0 接口与 TX2 连接的,USB 能否识别设备取决于内核中是否有对应于设备 ID 的预置代码,在内核编译的时候,需要打补丁,将 D435i 的 USB 信息添加到内...

2019-11-26 13:10:55 2303

原创 碰到的一个小问题:Linux下 gcc、g++ 以及 CMakeLists.txt 包含库文件的顺序问题

原本用C语言写好的测试代码,经过测试无误后,封装成了一个静态库 libXXX.a文件,其中使用了多个线程,在后续编译时需要包含 libthread.so 的动态库。先简单记录一下编译静态库的指令。首先将所有 .c 文件编译为 .o 文件,指令是:gcc -c xxx.c xxx.o然后打包静态库,指令是:ar cr libXXX.a xxx1.o xxx2.o xxx...

2019-09-05 22:37:20 709

原创 最简版 ros 联机设置

搞了一整天的 ros 联机,所用两台都是 arm 板,其一是 ubuntu14.04 系统,安装了 ros indigo-base;另一是 ubuntu16.04 系统,安装了 ros kinetic-desktop-full。网上教程乱七八糟,试了很多都没啥用。现将配置过程精简如下:第一:完全不需要去更改 /etc/hosts 文件,这里边ipaddress hostname 只是给 ...

2019-08-19 19:39:46 599

原创 用指令更改 Linux 系统时间

使用嵌入式 Linux 计算机时,每次通电系统时间都会重置,导致代码编译出现问题,出现类似 “clock skew"、"compile incomplete"、"file modified XXXs in the future" 的警告信息。事实上,由于编译器认为目前的文件修改时间在上次文件修改时间之前,并不会真正编译更改后代码,导致更改了代码后编译成功了但是没有产生预期的效果。这里就需要用指...

2019-02-25 19:16:18 3228

原创 从 MAVROS 到 PX4 飞控的数据流向

上一篇分析了 MAVROS 中数据收发的实现方法。当用户发送一个 ros 话题的消息后,对应的 plugin 中的回调函数被处罚,ros 消息被包装成 mavlink 消息,从链路中发送出去。下面以 "/mavros/setpoint_position/local" 话题为例进行分析。一、MAVROS 部分用户代码发送了一个 "/mavros/setpoint_position/loc...

2019-02-21 23:54:09 3161

原创 MAVROS 源码分析

一、安装 MAVROS利用机载计算机对 PX4 飞控进行 OFFBOARD 控制,需要在机载计算机上安装 ROS 的 MAVROS 包。安装方式可以参考 PX4 开发者网站,有二进制文件安装和源码安装两种方式,选择其中一项即可。MAVROS 安装链接其中源码安装之后可以获得 MAVROS 的所有源代码。以下是 MAVROS 的官方 wiki 网址:http://wiki.r...

2019-02-21 17:52:53 4727 1

原创 hikey970 与 PX4 飞控进行 MAVROS 连接

PX4 飞控进行 OFFBOARD 控制必须使用UART接口,是电平 3.3V 的 TTL 串口;而 hikey970 的低速扩展接口中有两个 UART,其中一个连接的是 DEBUG Type-C 的接口,经过测定 电平是 1.8V,而且只能进行输出,无法进行输入,也就是无法通过 COM 口登录到终端;另一个 UART 根本就没有驱动,电平为 0。尝试了好几种 USB-TTL 转换器,均没...

2019-01-23 19:40:25 1279 1

原创 hikey970烧写Ubuntu系统以及修改分区大小

拿到 hikey970 板子几天时间,基本都在尝试烧录系统和修改分区。这里做一下记录。官方网址: https://www.96boards.org/ ,国内网站:http://smartfire.cn/forum-64-4.html系统镜像文件都是免费下载的。目前提供的镜像文件有 Android、Debian、Lebuntu 以及预装了 tensorflow 的 Debian,是由Le...

2019-01-10 14:14:35 2590 1

原创 PX4代码中LIDAR-Lite v3激光测距仪PWM驱动

调试了LIDAR-Lite v3激光测距仪PWM驱动,在这里做一下记录。飞控硬件是pixhawk1,PX4软件版本为1.7.3。按照官方教程进行接线和配置,链接为 https://docs.px4.io/en/sensor/lidar_lite.html。PWM的接线方式为:        这里接了 AUX_PWM 的 CH6 来供电,接 CH5 进行 PWM 捕获。而实际...

2019-01-02 18:07:57 1856

原创 PX4代码中LIDAR-Lite v3激光测距仪I2C驱动

调试LIDAR-Lite v3激光测距仪,通读了PX4代码中驱动相关的部分。在这里做一下记录。飞控硬件是pixhawk1,PX4软件版本为1.7.3。按照官方教程进行接线和配置,链接为 https://docs.px4.io/en/sensor/lidar_lite.html。首先,确保在 cmake/configs/nuttx_px4fmu-v2_default.cmake 文件中 ...

2018-12-25 02:09:18 1602

原创 PX4自动任务飞行AUTO_MISSION的实现流程

第一步,进入方式。    与之前分析的POSCTL模式类似,主要有遥控器开关和指令两种模式,实现过程完全相同。    最终都是调用了main_state_transition()函数将新模式写入到internal_state.main_state中。第二步,导航模式和控制模式的选择。    在commander的主循环中,set_nav_state()来设定导航模式。由于自动任务飞行需要使用各种传...

2018-06-22 19:58:20 5552

原创 PX4飞控手动位置控制POSCTL模式的实现流程

第一步,POSCTL模式的进入    1、从遥控器模式开关进入。    首先在PX4IO的主循环中调用了io_publish_raw_rc(),从IO芯片获取遥控器的各通道输入,发布input_rc消息;    然后,在Sensors的主循环中调用rc_poll()函数,获取input_rc消息的内容,按照通道映射和校准信息将遥控器输入值重新计算并写入manual_control_setpoint...

2018-06-13 21:48:32 2389 1

原创 PX4遥控器控制量和模式开关的实现

    上一篇文章讲到了PX4FMU通过问答的方式从PX4IO获取所需的所有信息。在px4io.cpp文件中的task_main()的任务循环里,可以看到读取和发布IO芯片的函数有:1、io_get_status()——从IO芯片获取状态信息,并发布safety消息;2、io_publish_raw_rc()——从IO芯片获取遥控器所有输入通道的原始数据,并发布input_rc信息;3、io_pu...

2018-06-06 18:21:31 2923

原创 PX4FMU如何从PX4IO芯片读取数据

上一篇文章分析了PX4IO芯片中的数据接收和发送实现方式。得出结论是:PX4IO不会主动向PX4FMU发送任何数据,所有的发送都出于接收到数据之后的回复。那么PX4FMU究竟如何从PX4IO芯片读取数据,实现过程是怎样的,下面就结合代码进行分析。一、文件的位置。    上篇已经讲过,位于Firmware/src/drivers/px4io文件夹,主文件是px4io.cpp,任务入口函数是PX4IO...

2018-06-02 22:14:19 1447 2

原创 PX4IO的编译过程、代码构架以及与PX4FMU的通讯分析

看到很多教程中讲到PX4飞控的协处理器的作用,包括各类遥控器信号的输入、PWM信号输出、以及与FMU的通讯。但是究竟如何实现的,最近几天自己看代码总算搞懂了,在这里分享一下。一,代码的组成和编译过程。    原始代码的主要代码位于 Firmware/src/modules/px4iofirmware文件夹中。打开CMakeList.txt文件,可以看到包含的文件还有位于其他文件夹中的部分源文件,以...

2018-06-02 17:48:12 4690 1

原创 Windows环境下,如何为TensorFlow-GPU选择正确的CUDA版本和cuDNN版本

又双叒一次重新安装系统,不得不再次安装Python3和TensorFlow-GPU。其实如果在Python下只安装的是TensorFlow-CPU版本的话,非常简单,直接在命令行内敲:        pip3 install tensorflow就行。然而,有英伟达显卡,肯定就要发挥其功能,果断安装GPU版本的TensorFlow。第一步:假设已经安装好了Python3,直接在命令行内敲     ...

2018-05-31 16:57:29 10256 7

bagcreater.py

从EuRoC MAV Dataset .zip 文件生成 .bag 的 python 脚本 EuRoc MAV Dataset 是 VSLAM 和 VIO 常用的一个数据集。每个场景同时保存了 .bag 的 rosbag 文件和 .zip 的压缩文件,但是在国内的网络中下载 .bag 文件异常缓慢,而 .zip 更小,下载要稍快一些。而且解压后的文件夹中,既包括了双目的图像和 imu 信息,还有传感器安装方位和采用外部定位设备获取的姿态和位置的真值信息,对于算法初始化和后续验证算法准确性是非常必要的。 因此可以只下载 .zip 文件,然后利用解压后的图像和 IMU 数据来生成自己的 rosbag 。 这里参考了 kalibr 源码中 kalibr_bagcreater 的 python 脚本,只需要稍稍修改即可实现。

2019-12-24

hikey970 64GB 分区镜像文件

hikey970 64GB 分区镜像文件,将原本的根目录不足4GB的分区空间扩展到接近64GB。

2019-01-10

hikey970 USB串口windows驱动,完美解决驱动安装失败问题

原本的 hikey970 USB串口windows驱动无法安装,且风火轮网站提供的方法无效。经过自己研究,已经解决驱动安装失败问题,下载之后直接安装即可。

2019-01-05

卡尔曼滤波经典教材

老外写的卡尔曼滤波经典教材,里面包含了很多编程实现卡尔曼滤波算法的例子。

2018-05-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除