运行usv_sim_lsa的 docker

usv_sim_lsa/docs/install_docker.md 在 master ·灾难机器人-ProAlertas/usv_sim_lsa (github.com)

第一步:构建具有usv_sim依赖项的 docker 镜像

cd $HOME/catkin_ws/src/usv_sim_lsa/docker
docker build --network=host --rm -f Dockerfile -t usv_sim .

第二步:构建usv

docker run -it --rm -v $HOME/catkin_ws:/root/catkin_ws/ -v $HOME/.uwsim:/root/.uwsim --net=host --name=usv_sim_test usv_sim bash

注:在此处使用该命令到后面会报错

可以执行官网给的

首先,测试usv_sim图像的 DISPLAY 配置以运行 GUI 应用程序:

export DISPLAY=:0.0
xhost +local:docker
docker run -it --rm --net=host \
    --env="DISPLAY=$DISPLAY" \
    --env="QT_X11_NO_MITSHM=1" \
    usv_sim bash -c "xcalc"

 接着执行这段命令

export DISPLAY=:0.0
xhost +local:docker
docker run -it --rm --net=host --name=usv_sim_test \
    -v $HOME/catkin_ws:/root/catkin_ws/ \
    -v $HOME/.uwsim:/root/.uwsim \
    -v $HOME/.gazebo:/root/.gazebo \
    -v $HOME/.ros:/root/.ros \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    --env="DISPLAY=$DISPLAY" \
    --env="XDG_SESSION_TYPE=x11" \
    --env="LIBGL_ALWAYS_SOFTWARE=1" \
    --env="QT_X11_NO_MITSHM=1" \
    usv_sim_dep bash

 ctrl+c退出,最后执行

./usv_sim_term.sh

在 docker 终端中,运行以下脚本以构建 usv_sim:

cd /root/catkin_ws/src/usv_sim_lsa/docker
./build.sh

第三步:使用 Docker 镜像运行 USV_SIM

#设置了 LIBGL_ALWAYS_SOFTWARE=1 环境变量,这可以强制使用软件渲染

#确保容器内的 DISPLAY 变量正确设置

这一步是防止后面打开gazebo出错

export LIBGL_ALWAYS_SOFTWARE=1  
export DISPLAY=:0.0

运行gazebo

source ~/catkin_ws/install_isolated/setup.bash
roslaunch gazebo_ros empty_world.launch 

仍然在之前使用的同一 docker 终端中,测试一个USV_SIM的基本场景.

打开同一docker命令

docker ps  #查看已有docker名称
docker exec -it usv_sim_test bash   #打开名为usv_sim_test的镜像

测试一个USV_SIM的基本场景:

先执行 gazebo,再执行下面的代码

roslaunch usv_sim airboat_scenario1.launch parse:=true
roslaunch usv_sim airboat_scenario1.launch parse:=false

在执行该命令时,会出错,

内容为

执行

roscd freefloating_gazebo
cd scripts

找到给文件夹下的uwsim_scene_to_gazebo_spawner.py,并添加执行权限

sudo chmod +x uwsim_scene_to_gazebo_spawner.py

然后报错xacro和resource_retriever没有,下载

sudo apt-get update
sudo apt-get install ros-noetic-xacro
sudo apt-get install ros-noetic-resource-retriever

继续报错

对于这个问题的解决方法,下载GitHub - uji-ros-pkg/underwater_simulation: UWSim-NET, the Underwater Simulator

源码到usv_sim_lsa,我使用的环境为ubuntu20.04 noetic,但是该源码只支持ubuntu18.04 melodic,所以目前就卡在这。

uwsim安装步骤:安装 UWSim - UWSim (uji.es)

如果您是首次启动 gazebo,则模拟可能需要一些时间来初始化。如果模拟没有开始,您应该关闭它,单独运行 gazebo(在终端中命令 gazebo),等待 gazebo 打开(它正在下载一些模型),关闭 gazebo,然后尝试再次运行该场景。

第一个命令显示一些红色消息。这很正常。第二个命令启动一个空的 Gazebo 窗口和 UWSIM 窗口,具体情况如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值