无人机集群学习

 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//pose 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//pose /mavros/vision_pose/pose

实现话题的转播

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/include

sudo 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年)-[成都艾麦克斯科技有限公司]


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部