XTDrone 无人艇机+ Docker开发

XTDrone是基于PX4、ROS与Gazebo的无人机通用仿真平台。支持多旋翼飞行器(包含四轴和六轴)、固定翼飞行器、复合翼飞行器(包含quadplane,tailsitter和tiltrotor)与其他无人系统(如无人车、无人船与机械臂)。在XTDrone上验证过的算法,可以方便地部署到真实无人机上。

但是XTDrone需要的环境比较严格,为了更好的帮助大家开发,我已经将其上传到了Dockerhub中.

第一步:拉取镜像文件。

docker pull bovinyuan/melodic:XTDrone

第二步:

在home下新建一个rocker文件夹
 

mkdir rocker && cd rocker && touch Dockerfile

编写Dockerfile的文件如下:

FROM bovinyuan/melodic:XTDrone
# nvidia-container-runtime
# ENV NVIDIA_VISIBLE_DEVICES \
# ${NVIDIA_VISIBLE_DEVICES:-all}

# ENV NVIDIA_DRIVER_CAPABILITIES \
# ${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics

RUN apt-get update && \
apt-get install -y \
build-essential \
libgl1-mesa-dev \
libglew-dev \
libsdl2-dev \
libsdl2-image-dev \
libglm-dev \
libfreetype6-dev \
libglfw3-dev \
libglfw3 \
libglu1-mesa-dev \
freeglut3-dev \
vim

这里如果没办法运行通过第三步的运行就把RUN下面的全部注释掉,在Docker中慢慢安装,不过镜像中的已经全部安装好了,应该不会有问题。

第三步:

返回到home中运行

docker build -f ./rocker/Dockerfile . -t rocker

第四步:

在终端运行

docker run -it --cap-add SYS_ADMIN --cap-add MKNOD --device=/dev/fuse:mrw --group-add video --volume=/tmp/.X11-unix:/tmp/.X11-unix --env="DISPLAY=$DISPLAY" --name=rocker_drone bovinyuan/melodic:XTDrone /bin/bash

输入gazebo

 可以正常打开,说明没有大问题。

检验在Docker容器中输入:

cd ~/Drone_tools/PX4_Firmware/

roslaunch px4 indoor1.launch

等待gazebo启动后,另开一个终端进入容器

docker exec -it 6d3a89b654c5 bash

然后在容器中输入

cd ~/XTDrone/communication/

python multirotor_communication.py iris 0

重复上述操作另开一个终端,在终端中输入

cd ~/XTDrone/control/keyboard
python multirotor_keyboard_control.py iris 1 vel

然后可以通过键盘对无人机进行操作,按着i键让无人机的向上速度到0.3以上,然后按b键、t键。无人机可以正常起飞,说明成功了!。

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sleeker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值