Nuttx的源码构建和编译 Nuttx的源码构建和编译下载源码sudo mkdir Nuttx cd Nuttx 1. Nuttx:git clone https://bitbucket.org/nuttx/nuttx.git 2. apps:git clone https://bitbucket.org/nuttx/apps.git 3. tools:git clone https://bitb
ubunut安装stlink 在ubuntu上面的stlink驱动的安装:依赖包的安装:sudo apt-get install libusb-1.0sudo apt-get install cmakesudo apt-get install libgtk-3-dev下载源码git clone https://github.com/texane/stlink.git编译cd stlinkmake releasema
Nuttx程序测试 前面两篇文章我们讲述了如何编译nuttx和ubuntu下stlink的安装.现在我们继续往下测试程序.硬件环境:stm32f407discovery软件环境:ubuntu14.04 + vim我们首先进入到nuttx/tools目录下执行:sudo ./configure.sh stm32f4discovery/usbnsh 或者sudo ./configure.sh stm32f4d
4.SLAM中计算相关(备忘录) 相关工具:Kalibr是一个工具箱 , 它能够标定多目相机系统、相机 IMU相对位姿和卷帘快门相机 .常用的SFM工具 有Bundler 、 OpenMVG 和 MATLAB 多视几何工具箱等 .Bunlder 增量式地处理一组图像 , 提取其中的特征点进行匹配 , 完成三维重建并输出一个稀疏的场景结构 .OpenMVG 则偏重于多视几何问题的求解 .优化方面 :Sophus 库为三维...
3.相机模型(内参数,外参数) 学习参考:https://www.cnblogs.com/wangguchangqing/p/8126333.htmlslam十四讲相机成像的过程实际是将真实的三维空间中的三维点映射到成像平面(二维空间)过程,可以简单的使用小孔成像模型来描述该过程,以了解成像过程中三维空间到二位图像空间的变换过程。小孔成像模型相机可以抽象为最简单的形式:一个小孔和一个成像平面,小孔位于成像平面和真实的三维...
2.jetbot_ros简单键盘控制 关于jetbot_ros代码,代码仓库位于:https://github.com/dusty-nv/jetbot_ros我们根据github上的描述,很容易测试oled和电机的功能是否正常。然后你就会发现,官方提供的例程真的是要多简单有多简单。这次我也简单加了一个脚本,用于处理键盘控制jetbot小车。我在scripts文件夹下新添加,jetbot_teleop.py文件,内容如下:#!...
1.ROS基础操作以及通信总结 工作环境创建工作空间在上一步安装好ROS后,下一步就是创建工作空间,mkdir -p ~/catkin_ws/srccd ~/catkin_ws/srccatkin_init_workspace编译工作空间cd ~/catkin_ws/catkin_make设置环境变量source devel/setup.bash检查环境变量echo $ROS_PACKAGE_PA...
1.三维空间刚体的旋转 参考资料:视觉SLAM十四讲https://mp.weixin.qq.com/s/De-fkRVlqvYN6W9zYHS1_A概念梳理刚体在三维空间中的运动可以通过如下四种方式描述:旋转矩阵,旋转向量,欧拉角和四元数。标准正交基在线性代数中,一个内积空间的正交基事元素两两正交的基。我们称基中的元素为基向量。假若,一个正交基的基向量的模长都是单位长度1,则称为正交基为标准正交基。正交矩......
0.理解齐次坐标 参考资料:http://www.songho.ca/math/homogeneous/homogeneous.htmlhttps://mp.weixin.qq.com/s/0QHxvTcH4H072U64uDK_2A问题:两条平行线可以相交。在欧氏空间(几何)中,同一平面的两条平行线不能相交,或者不能永远相遇。但是在投射空间中却不是这样。![c79a12fd0ca7725d513ac7c......
0.NANO入门教程之安装ROS 安装ROS其实在nano上面安装ros和在台式机上面安装并无差异:1.sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'2. sudo apt-key adv --keyserver ...
ubuntu编译安卓平台Tengine安装protobuf3.0.0 因为官方给出的protobuf_lib是基于v3.0.0,所有ubuntu本机也需要安装protobuf3.0.0版本;通过下面的地址:https://github.com/google/protobuf/archive/v3.0.0.zip解压后,在v3.0.0版本中的autogen.sh中,需要下载gmock的1.7.0版本。因为有时候网速的问题,在这里我们先把他给下好,然后在auto...
详解shell中>/dev/null 2>&1 shell重定向在计算机领域,重定向是大多数命令行解释器所具有的功能,包括各种可以将标准流重定向用户规定地点的Unix shells。类Unix操作系统的程序可以透过dup2(2)系统调用完成重定向,或者透过缺少一些灵活性但是更高一级层次的freopen(3)和popen(3)来完成。在交互式的程序中,输入来自用户的键盘和鼠标,结果输出到用户的屏幕,甚至播放设备中。而对于某些后台运行...
两种四轴PID讲解 参考资料:爱无人机论坛单级PID:PID算法属于一种线性控制器,这种控制器被广泛应用于四轴上。要控制四轴,显而易见的是控制它的角度,那么最简单,同时也是最容易想到的一种控制策略就是角度单环PID控制器。相应的伪代码如下:以ROLL方向角度控制为例:测得ROLL轴向偏差:偏差=目标期望角度-传感器实测角度ERRO
简单常用滤波算法C语言实现 1.限幅滤波算法(程序判断滤波算法)方法解析:根据经验判断,确定两次采样允许的最大偏差值(设定为A),每次检测到新值时判断:如果本次值与上次值之差如果本次值与上次值只差>A,则本次值无效,放弃本次值,用上次值代替本次值。优点:能有效克服因偶然因素引起的脉冲干扰缺点:无法抑制那种周期性的干扰,平滑度差#define A 10char value;char fi
改进式PID控制以及C语言实现过程 改进式PID控制 如果是在低速模式下,标准的PID基本可以满足控制要求,但随着速度的提升,PID算法要进一步修改和完善才能达到控制要求。因此需要对PID算式进行适当的改进,从而提高控制质量。 积分项的改进 积分项的作用:消除稳态误差,提高控制系统的精度。积分项存在的问题:偏差较大时,积分的滞后作用会影响系统的响应速度,引起较大的超调及
PID连续控制算法的表达式以及C语言实现 1. 数字(离散)PID控制算法的表达式:将PID调节器离散化,用差分方程来代替连续系统的微分方程,分为位置式和增量式两类。重点理解概念如下:a) 基本偏差e(t):表示当前测量值与设定目标值间的差,设定目标是被减数,结果可为正或负值,正值表示未达到目标,负值表示超过设定值。(代表比例)b) 偏差和:即每次测量的差值总和,注意正负(代表积分)c) 基本偏差的相对
PID概述以及在无人机中的应用 PID控制是将误差信号的比例P,积分I,微分D通过线性组合构成控制量,称之为PID控制。但是在很多情况下,往往不一定需要三个单元,但是比例单元是必不可少的。PID控制器难点在于参数的整定,但是很多情况下我们可以直接根据系统的时域响应来调节这三个单元的参数。1. 比例环节(P):直接将误差信号放大或缩小,因此将比例环节参数增大可以提高响应速度并且减小稳态误差,但是,快速性和稳定性总是矛
pixhawk自学笔记之Mixer学习 混合器输出定义控制器的输出是如何映射到电机和伺服输出。所有内置mixer文件位于ROM文件系统的/etc/mixers目录,并编译成固件。Mixer是一组独立的映射器,从控制读入写入,写入执行器输出。一个模块,结合一组根据预先定义的规则和参数的输入,产生一组输出。1.语法:Mixer的定义是文本文件,用一个大写字母后跟一个冒号开头的行。所有其他的行都会被忽略,这意味着解释性文本