无人机集群学习
1. natnet sdk4.0 学习
中文介绍:
NatNet SDK - Wiki
示例工程:
NatNet: Sample Projects - NaturalPoint Product Documentation Ver 2.2
如何建立一个client 连接:
NatNet - Wiki
类:
NatNet: Class/Function Reference - Wiki
数据类型:
NatNet: Data Types - Wiki
windows串口函数:
https://www.cnblogs.com/milanleon/p/4244267.html
Windows下串口编程_weixin_30507269的博客-CSDN博客
windows串口通信函数API_windows 串口api_yuyi1204的博客-CSDN博客
C++串口通信编程(异步通信)_c++串口异步通信_龙雪Zzz的博客-CSDN博客
2. mocap
NatNet: Sample Projects - Wiki
NatNet: Class/Function Reference - Wiki
https://docs.optitrack.com/motive/data-streaming
4.树莓派
rock pi x 网卡驱动问题 未解决最终采用外接无线网卡
Rock Pi X安装WiFi驱动教程【WM0048】 - Rock开发板 - 深圳风火轮科技 - Powered by Discuz! (youyeetoo.cn)
(51条消息) Broadcom 802.11 for linux_weixin_30270889的博客-CSDN博客
(50条消息) 【已解决】Ubuntu18.04 更新内核到4.19 后出现的网卡驱动失灵_ubuntu系统网卡驱动未生效_Flying_Dutch的博客-CSDN博客
树莓派串口通信的问题
【树莓派4B】串口配置_树莓派4b串口设置_Cloudy_to_sunny的博客-CSDN博客
树莓派4b串口设置教程(适用于新手)_修改树莓派4b rxtx串口为可编程_playmakerDJ的博客-CSDN博客
树莓派4B串口配置_树莓派4的调试串口_超会偷电瓶车的博客-CSDN博客
socket通信原理及相关函数(详细)总结
通过配置好basalt_ros_vrpn_client并接收到数据后,
可以对接收到的动捕(optictrack)广播的刚体位姿信息进行 remap 这样就可以通过mavros 将接收的数据转发给px4飞控
Relaying/remapping Pose Data
MAVROS provides a plugin to relay pose data published on /mavros/vision_pose/pose to PX4. Assuming that MAVROS is running, you just need to remap the pose topic that you get from MoCap


/vrpn_client_node/ directly to /mavros/vision_pose/pose
PX4固件以及参数配置 - Prometheus使用手册
Pixhawk 飞控接口线序图 & 常用传感器连接设置(QGC) - 知乎 (zhihu.com)
连接飞控 — P系列无人机-wiki 1.0 文档 (prometheus-wiki.readthedocs.io)
仿真平台基础配置(对应PX4 1.13版) (yuque.com)
OptiTrack - Developer Tools Downloads基于PX4、树莓派和Mocap(Optitrack)的室内飞行环境搭建_px4飞控和树莓派_江哥哥的小博客的博客-CSDN博客
rosrun topic_tools relay /vrpn_client_node//pose /mavros/vision_pose/pose
rosrun topic_tools relay /vrpn_client_node/
实现话题的转播
5. 飞控部分
多旋翼无人机进阶教程
px4 仿真
PX4|mavros offboard控制_csdn yangjh542426_yangjh542426的博客-CSDN博客
ROS学习笔记之——PX4开发初入门_px4开发教程_gwpscut的博客-CSDN博客
px4飞控和机载电脑通信:机载电脑接收飞控的自定义px4消息_飞控如何传数据到机载电脑_偏执狂_tao的博客-CSDN博客
gnome-screenshot
在ubuntu中进行简单截屏、专业截屏、自定义截屏操作_ubuntu截屏_2241431065的博客-CSDN博客
2.ros
spin()和spinOnce()__Leveon的博客-CSDN博客
ROS--geometry_msgs/PoseStanped消息解读_geometry_msgs::posestamped_飞同学的博客-CSDN博客
C++中查看数据类型的方法_c++查看数据类型_IT技术学习的博客-CSDN博客
3.stm32实现与linux ros通信
Linux上位机采用ASIO,ASIO不仅支持网络通信,还能支持串口通信。
这里采用boost::asio::write(sp, boost::asio::buffer(buf));发送数据
使用boost::asio::read_until(sp, response, "\r\n",err);
copy(istream_iterator(istream(&response)>>noskipws),
istream_iterator(),buf);
【ROS、STM32】ROS与STM32通信_stm32 ros_亦乐大大的博客-CSDN博客
#查看串口设备
ls -l /dev/ttyUSB*
#添加设备权限
sudo chmod 777 /dev/ttyUSB0启动rosmaster,即在终端中输入roscore
在原终端下运行publish_node节点rosrun topic_example publish_node
Linux 串口工具 cutecom_linux 串口调试工具_乾 乾的博客-CSDN博客
Linux下常用的串口助手 —— minicom、putty、cutecom_linux 串口工具_Mculover666的博客-CSDN博客


rosmsg show geometry_msgs/PoseStampedstd_msgs/Header headeruint32 seqtime stampstring frame_id
geometry_msgs/Pose posegeometry_msgs/Point positionfloat64 xfloat64 yfloat64 zgeometry_msgs/Quaternion orientationfloat64 xfloat64 yfloat64 zfloat64 w
ROS--geometry_msgs/PoseStanped消息解读_geometry_msgs::posestamped_飞同学的博客-CSDN博客
git使用
解决 remote Support for password authentication was removed on August 13, 2021._ASDDAG的博客-CSDN博客
ssh远程连接github
git@github.com: Permission denied (publickey).-CSDN博客
github和git本地仓库的连接
通过 Git 将代码提交到 GitHub(上)_怎么将代码提交的githu_CG国斌的博客-CSDN博客
4.移植mocap数据接收模块到飞控代码
随记:STM32L053LL库LPUART串口DMA接收数据_ll_lpuart_enable_selectedtrigger_惠小厨的博客-CSDN博客
5.catkin_make时候遇到eigen3库报错
很有可能是eigen3的版本问题
fmt+sophus 需要eigen3.3.0以上的版本
Eigen3安装、卸载与重装(包含一键卸载安装指令)_卸载eigen_憨憨2号的博客-CSDN博客
#删除之前版本
locate eigen3
sudo rm -rf /usr/include/eigen3
sudo rm -rf /usr/lib/cmake/eigen3
sudo rm -rf /usr/local/include/eigen3
sudo rm -rf /usr/share/doc/libeigen3-dev
sudo rm -rf /usr/local/share/pkgconfig/eigen3.pc /usr/share/pkgconfig/eigen3.pc /var/lib/dpkg/info/libeigen3-dev.list /var/lib/dpkg/info/libeigen3-dev.md5sums
sudo rm -rf /usr/local/lib/pkgconfig/eigen3.pc
sudo rm -rf /usr/local/share/eigen3
pkg-config --modversion eigen3
# 下载新的编译安装
wget https://gitlab.com/libeigen/eigen/-/archive/3.3.0/eigen-3.3.0.zip
unzip eigen-3.3.0.zip
cd eigen-3.3.0
mkdir build
cd build
cmake ..
sudo make install
sudo cp -r /usr/local/include/eigen3 /usr/includesudo cp -r /usr/local/include/eigen3/Eigen /usr/include
# 检测当前版本
pkg-config --modversion eigen3
6.位姿数据格式
ROS--geometry_msgs/PoseStanped消息解读_geometry_msgs::posestamped_飞同学的博客-CSDN博客
ROS进阶——串口通讯_ros写一个串口节点_white_Learner的博客-CSDN博客
ROS与stm32通信_ros和单片机的区别_deepsleeping的博客-CSDN博客
7。目前采用的serial通信方式
ROS与stm32通信_ros和单片机的区别_deepsleeping的博客-CSDN博客
9.namespace导致launch文件修改参数不能加载到rosmaster里
在simple_serial内的linux_serial_node.cpp中定义的句柄是公共空间
在node标签下定义的param都是私有空间内的;
需要将launch文件中para的定义放在节点标签外面
ROS中节点、话题、参数重命名以及全局、相对、私有命名空间(示例+代码)_ros中的命名空间_肥肥胖胖是太阳的博客-CSDN博客
ROS中节点、话题、参数重命名以及全局、相对、私有命名空间(示例+代码)_ros中的命名空间_肥肥胖胖是太阳的博客-CSDN博客
9.mavlink study
MAVLink学习之路01_认识MAVLink - 知乎 (zhihu.com)
10.xml学习
XML 教程(一文彻底搞懂XML)_骑摩托的蜗牛的博客-CSDN博客
11.sh启动脚本
ubuntu开机自动运行roscor和其他程序的方法(进入ubuntu图形界面)_ubuntu下实现ros自动化测试_恰同学少年_mengmo的博客-CSDN博客
12.sh脚本遇到的问题
run_id on parameter server does not match declared run_id 解决方式
因为roslaunch启动的时候,会尝试获得已有的rosmaster的id,如果没有获得,将会创建一个自己的。这应该是导致runid冲突的原因。
因此,在bash脚本中的roslaunch操作之前,加一个“sleep 3”操作,让它稍微等一下roscore的启动或者之前的别的操作,然后它再启动,错误就会消失。
run_id on parameter server does not match declared run_id 解决方式_rlexception: run_id on parameter server does not m_zkk9527的博客-CSDN博客
linux开机ROS程序自启动报错RLException: run-id on parameter server does..The traceback forsthe exception was_常驻客栈的博客-CSDN博客
13
Github的README中插入图片,Github仓库项目主页显示图片_readme 图片_Mark_md的博客-CSDN博客
14
cmake: Could NOT find Threads (missing: Threads_FOUND) 解决办法_hongge_smile的博客-CSDN博客

set(CMAKE_THREAD_LIBS_INIT "-lpthread")
set(CMAKE_HAVE_THREADS_LIBRARY 1)
set(CMAKE_USE_WIN32_THREADS_INIT 0)
set(CMAKE_USE_PTHREADS_INIT 1)
set(THREADS_PREFER_PTHREAD_FLAG ON)
8
ROS实操入门系列(九)Param和Launch的实际应用_roslaunch param_野马くん的博客-CSDN博客
ROS 学习笔记(七)—— roslaunch 详解_zxxRobot的博客-CSDN博客
rosparam和ROS参数服务_培培哥的博客-CSDN博客
视觉SLAM3学习之ORB_SLAM3(三)eigen3.2的安装_eigen 3.2_清笔客的博客-CSDN博客
14 ros2功能包自动安装
wget http://fishros.com/install -O fishros && bash fishros
5.github
15.解决本地仓库连接不上远程仓库的问题

(78条消息) 解决 remote Support for password authentication was removed on August 13, 2021._ASDDAG的博客-CSDN博客
6.ros2
16 ros2 发布者订阅者
【ROS2教程】( 3 ) 简单TOPIC的发布和订阅_ros2 如何发送topic_残云补天233的博客-CSDN博客
17.ros2自定义消息
(78条消息) ROS2学习笔记(六)-- 自定义消息和服务实现控制指令优化以及在线换图_ros2 自定义消息_溪风沐雪的博客-CSDN博客
18.colcon 单独编译一个功能包
编译一个单独的包可以采用
colcon build --packages-select
但这个指令并不会编译该包的依赖,往往会报错。可以用下面这条指令进行包和其依赖编译
colcon build --packages-up-to
7.ROS2接口介绍 (fishros.com)
(80条消息) 开源图传介绍_openhd_捡垃圾的工程师的博客-CSDN博客
OpenHD/AirTelemetry.cpp at 2.3-evo · OpenHD/OpenHD · GitHub
svpcom/wfb-ng: WFB-NG - the next generation of long-range packet radio link based on raw WiFi radio (github.com)
originbot_demo/originbot_demo/echo_status.py · 古月居_GuYueHome/originbot_desktop - Gitee.com
C++ 多线程 | 菜鸟教程 (runoob.com)
Advanced Features | PX4 User GuideEZ-WifiBroadcast低成本远距离高清图传系统基础教程 - 开源技术讨论-5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)-[成都艾麦克斯科技有限公司]
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

