飞行机器人(二)DJI平台软硬件连接

2023-10-31 02:59

本文主要是介绍飞行机器人(二)DJI平台软硬件连接,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

系列文章目录

第一章 飞行机器人(一)DJI平台OSDK简介飞行机器人(一)DJI平台OSDK简介_Techblog of HaoWANG-CSDN博客DJI OSDK/OSDK-ROS for M600Pro技术文档 Version 2.1.1https://haowang.blog.csdn.net/article/details/122336345


目录

系列文章目录

1. 机载设备USB2TTL串口接线方法

2. OSDK 源码编译

3. catkin_make编译osdk_ros3.8.1

4. OSDK版本


1. 机载设备USB2TTL串口接线方法

(#更新 2021-12-17 端口配置与硬件连接)

  1. 连接windows电脑usb,进而利用Assistant2 - M来进行执行仿真模拟;
  2. 使用USB-TTL的转接线才能连接到Ubuntu 机载计算设备(Jetson Xavier NX)的USB插口上;

USB2TTL

C. Ubuntu机载设备USB2TTL连接M600Pro A3 Pro飞控串口

查看USB2TTL端口地址:

ls /dev/ttyUSB*

/dev/ttyUSB0,注意:由于jetson xavier xn上位机的USB串口设备不止一个,具体的端口地址 /dev/ttyUSBX必须以具体的物理器件地址编号为准。

修改usb端口方法:

Linux系统固定USB串口设备名称_WCH_TechGroup的博客-CSDN博客_linux串口设备名称

ttyUSB端口永久权限设置:

参考Linux设置串口永久权限_氢键H-H-CSDN博客_linux串口权限永久

  1. 单次获取端口权限

$ sudo chmod 777 /dev/ttyUSB0

  1. 永久获取端口权限

$ ls -l /dev/ttyUSB0

$ whoami

$ sudo usermod -aG dialout {userName}

重启系统,端口永久权限即可生效。

D. WIN连接飞行器平台调参端口,Linux上位机直连飞控通信端口

注意事项:

①最好跑程序的时候就提前将遥控器打开,并拨到F挡位。注意把无人机旋翼收起来(尽管它也飞不起来)

②使用Onboard SDK前,注意将Ubuntu(执行时不需联网,但是下载onboardSDK时需要联网)通过USB-TTL连接A3飞控,遥控器连接手机,手机连网,windows电脑(联网)连接Micro-USB,首次执行Samples时会在软件DJI Assistant2上面要登陆进行激活。

③注意在Windows电脑下打开Assistant2时选择SDK,并勾选启动API控制,波特率调整和上面UserConfig.txt中填写的一致。调完波特率之后需重新启动一下无人机A3飞控。


2. OSDK 源码编译

  1. 编译&安装OSDK 4.1.0版本不兼容 M600

  • 删除旧版本文件

Sudo xargs rm < install_manifest.txt

获取OSDK App

 开始使用OSDK - DJI Onboard SDK Documentation https://developer.dji.com/cn/onboard-sdk/documentation/quickstart/integrateOSDK.html

  1. 编辑UserConfig.txt


 

3. catkin_make编译osdk_ros3.8.1

dji_sdk_node.launch文件

<launch><node pkg="dji_osdk_ros" type="dji_sdk_node" name="dji_sdk" output="screen"><!-- node parameters --><param name="acm_name" type="string" value="/dev/ttyACM0"/><param name="serial_name" type="string" value="/dev/ttyUSB0"/><param name="baud_rate" type="int" value="921600"/><param name="app_id" type="int" value= "12345"/><param name="app_version" type="int" value="1"/><param name="align_time" type="bool" value="false"/><param name="enc_key" type="string" value="abc123"/><param name="use_broadcast" type="bool" value="false"/><param name="dxc" type="bool" value="false"/></node></launch>

  1. 配置APP id & Key
app_id : app_key : device : /dev/ttyUSB0baudrate : 921600acm_port : /dev/ttyACM0

4. OSDK版本

3.9.0版本

OSDK版本-3.8.1

RELEASE NOTEs for OSDK 3.9.0 and OSDK 3.8.1

DOC dji_sdk - ROS Wiki

ENU Doc : Coordinate Systems

这篇关于飞行机器人(二)DJI平台软硬件连接的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/312340

相关文章

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

python连接sqlite3简单用法完整例子

《python连接sqlite3简单用法完整例子》SQLite3是一个内置的Python模块,可以通过Python的标准库轻松地使用,无需进行额外安装和配置,:本文主要介绍python连接sqli... 目录1. 连接到数据库2. 创建游标对象3. 创建表4. 插入数据5. 查询数据6. 更新数据7. 删除

在 Spring Boot 中连接 MySQL 数据库的详细步骤

《在SpringBoot中连接MySQL数据库的详细步骤》本文介绍了SpringBoot连接MySQL数据库的流程,添加依赖、配置连接信息、创建实体类与仓库接口,通过自动配置实现数据库操作,... 目录一、添加依赖二、配置数据库连接三、创建实体类四、创建仓库接口五、创建服务类六、创建控制器七、运行应用程序八

解决hive启动时java.net.ConnectException:拒绝连接的问题

《解决hive启动时java.net.ConnectException:拒绝连接的问题》Hadoop集群连接被拒,需检查集群是否启动、关闭防火墙/SELinux、确认安全模式退出,若问题仍存,查看日志... 目录错误发生原因解决方式1.关闭防火墙2.关闭selinux3.启动集群4.检查集群是否正常启动5.

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Redis客户端连接机制的实现方案

《Redis客户端连接机制的实现方案》本文主要介绍了Redis客户端连接机制的实现方案,包括事件驱动模型、非阻塞I/O处理、连接池应用及配置优化,具有一定的参考价值,感兴趣的可以了解一下... 目录1. Redis连接模型概述2. 连接建立过程详解2.1 连php接初始化流程2.2 关键配置参数3. 最大连

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.