项目树状结构
├── CMakeLists.txt ├── include │ ├── snake.h │ └── ui.h └── src ├── main.cpp └── snake.cpp
CMakeLists.txt
1 | cmake_minimum_required(VERSION 3.0) |
├── CMakeLists.txt ├── include │ ├── snake.h │ └── ui.h └── src ├── main.cpp └── snake.cpp
1 | cmake_minimum_required(VERSION 3.0) |
本文的核心内容为使用机械手xacro模型文件配置gazebo+moveit仿真环境
学习资料来源:古月居 https://www.guyuehome.com/
创建工作空间并将下载的probot_anno机械臂description文件拷贝至src路径下,编译并添加环境变量
1 | mkdir -p visionArm_ws/src |
打开moveit_setup_assistant,导入anno机械臂的xacro模型文件,进行配置
1 | roscore # 终端一 |
学习内容来源:古月居ROS入门21讲
通信机制:松耦合分布式软件框架
Node 节点
ROS Master 控制中心/节点管理器
Topic 话题 -- 发布/订阅式的单向异步通信 && Message 话题内数据 .msg 话题通信适用于数据传输
Service 服务 -- 请求/应答式的双向同步通信 .srv 服务通信适用于逻辑处理
Parameter 参数 -- 全局共享字典服务器,节点使用它来存储和检索运行时的参数,适合存储静态、非二进制的配置参数
文件系统:
Package 功能包
ROS软件中的基本单元,包含节点源码、配置文件、数据定义等,完成某个特定的功能如人脸识别等。
Package manifest 功能包清单
记录功能包的基本信息,包括作者信息、许可信息、依赖选项、编译标志等
Meta Package 元功能包
组织多个用于同一目的的功能包
GNU Compiler GCC/G++ 执行编译工作时分4步:
#define
#include
#if
#ifdef
#pragma
等指令,生成
.i 文件分别编译至 .i/.s/.o/可执行 文件的命令:
1 | gcc -E xxx |
gcc命令只能编译c和c++程序,c程序以.c为后缀,c++程序以.C或.cpp为后缀
用gcc按上述操作编译c++程序时只能编译至生成.o文件,不能生成可执行文件,因为gcc在链接时默认链接到C的标准库。
链接c++标准库生成可执行文件的方式有两种:
1 | gcc xxx -lstdc++ # 使用gcc命令时加上 -lstdc++ 编译选项,设定链接到c++标准库 |
本文总结个人使用hexo遇到的warnings与errors及其解决办法
hexo g
发生了本错误本文全文转载自:https://www.cnblogs.com/linxd/p/4955530.html
本文从math.stackexchange.com上名为MathJax basic tutorial and quick reference的问题翻译而来,并有所改动。主要讲述了如何使用MathJax和相关的Latex语法。
Note Taker:Lightshaker, 2020/3/4
Source:https://web.archive.org/web/20060420154727/http://www.cs.unc.edu/~welch/media/pdf/maybeck_ch1.pdf
Article:Stochastic models, estimation, and control, chapter 1, by Peter Maybeck
Q:Why deterministic system and control theories do not provide a totally sufficient means of performing system analysis and controller design?
Answer:
本文总结了在CLion的C/C++工程中调用Python脚本的配置与使用方法。
配置CMakeLists
1 | include_directories(/usr/include/python3.6) |
配置CLion环境:点击CLion右上方的Edit Configurations
,点击
Environment variables
右侧按钮添加环境变量,其中
Name
填入PYTHONPATH
,Value
填入
.:$PYTHONPATH
本文是个人初学C++基础部分的备忘笔记
常见整数类型:char
,short
,int
,long
,long long(long int)
,对应大小:1,
2, 4, 4, 8(byte)
定义float类型变量时,编译器可能还是会隐式地设置为double类型,所以最好在数值末尾加上“f”或“F”,如float a = 3.2f
定义一个明确返回值类型但是函数体内并没有返回值的函数,在外部不调用该函数返回值的情况下,使用Release模式编译能通过,使用Debug模式编译会报错。(“Debug”意义非常鲜明了 )
返回数组或std:::vector或std::array,返回值均可使用索引值与操作符
[]
获取元素;
1 | // 返回数组 |
本文总结了最小二乘法针对一元线性方程、多元线性方程与多元非线性方程的回归策略,内容笔记向。
a = 0,单变量x,单个未知数 b,求解一元一次方程
模型: \(y = ax + b\)
目标函数:\(y = c\)