Dji-osdk-ros的配置和使用,获取无人机GPS信号

配置

1、安装开发工具

①gcc

sudo apt-get install gcc
gcc -v

②CMake

sudo apt install cmake
//查看cmake版本
cmake --version
//查看cmake路径
which cmake

③安装ros工具链

//创建ROS工作空间

mkdir catkin_ws
cd catkin_ws
mkdir src
cd src
catkin_init_workspace

注:一键安装ros:

wget http://fishros.com/install -O fishros && . fishros 
rosversion -d//查看ros版本 ubuntu20.04的版本是 noetic

另一台win电脑需要下载dji Assistant 2(Enterprise Series)用于设置和模拟。

2、安装依赖软件

① 安装DJI Onboard SDK4.1.0(GitHub - dji-sdk/Onboard-SDK at 4.1)

在DJI Onboard SDK 目录下使用如下命令安装DJI Onboard SDK。

mkdir build 
cd build 
cmake .. 
sudo make -j7 install

②各种驱动

ACM驱动

内核编译Device Drivers -> USB support ->USB Modem(CDC ACM)

装nema-comms(高级视觉)

sudo apt install ros-noetic-nmea-comms

安装FFmpeg

sudo apt install ffmpeg

安装LibUSB

sudo apt-get install libusb-1.0-0-dev
sudo apt install libsdl2-dev

3、添加UART 读写权限

  • 使用

    sudo usermod -a -G dialout $USER

    (whoami看user名,比如我的catlab)sudo usermod -a -G dialout catlab

  • 命令将用户添加至dialout 组中。

  • 重新登录所添加的账户后,该账户即可获取UART 读写权限。

  • 全部重启(板载电脑和无人机)

添加DJI USB 设备节点:

在/etc/udev/rules.d/目录下创建文件DJIDevice.rules。 在DJIDevice.rules文件中添加:

SUBSYSTEM=="usb",ATTRS{idVendor}=="2ca3",MODE="0666"
sudo udevadm control --reload #加载

4、运行ROS示例代码

①将Onboard-SDK-ROS示例代码复制在src下(4.1版本GitHub - dji-sdk/Onboard-SDK-ROS at 4.1

② 编译示例代码

  1. catkin_ws 目录下,使用catkin_make 命令,编译OSDK 示例代码。

  2. 配置当前工作空间source devel/setup.bash

③更改dji_vehicle_node.launch里面的id和key

//注意要与设置飞机的账号一样//

  • OSDK ROS 4.0 节点配置文件的路径: catkin_ws/src/Onboard-SDK-ROS/launch/dji_vehicle_node.launch

④运行ROS 的主节点:

cd catkin_ws && source devel/setup.bash
roslaunch dji_osdk_ros dji_vehicle_node.launch

运行XX节点:

cd catkin_ws && source devel/setup.bash
rosrun dji_osdk_ros camera_stream_node 
(记得修改ros sleep时间)
或者
rosrun dji_osdk_ros flight_control_node #可以在Assistant模拟飞机飞行

rosbag record -b 4096 /dji_osdk_ros/gps_position 使用rosbag record记录gps数据

查看bag文件信息:rosbag info <name.bag>

将bag文件转成txt文件:rostopic echo -b <name.bag> -p <topic_name> > <file_name.txt>

无人机连线

无人机与win电脑相连,无人机(type-c)->电脑(usb),使用Assistant 注意勾选enabled sdk、baudrate

无人机与板载电脑相连,osdk拓展接口->转接板,转接板(杜邦线)->板载电脑(usb)

整体过程:

1、运行主节点:

cd catkin_ws source devel/setup.bash

roslaunch dji_osdk_ros dji_vehicle_node.launch

2、运行接口节点

source devel/setup.bash

rosrun dji_osdk_ros flight_control_node(Assistant模拟起飞+飞行+降落)

3、记录gps

附加:

运行主节点会出现的问题:

1、第一次运行会出现激活问题,注意在Assistant上出现的弹窗

2、Requesting update policy ... 这个提示不用管

3、注意RX接TX线、注意接口权限

  • 12
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值