robocup记录-gazebo+XTDrone仿真

PIP环境配置

sudo apt install python-pip
pip install pyquaternion

 解决键盘操控问题

bug记录

px4报错

可能是因为虚拟机未联网

hostname -I

检查是否有IP地址 ,如果没有

reboot

 或者

# 1. 停止network-manager服务
sudo service network-manager stop
# 2. 删除/var/lib/NetworkManager/NetworkManager.state文件
sudo rm /var/lib/NetworkManager/NetworkManager.state
# 3. 启用network-manager服务
sudo service network-manager start

indoor1.launch报错

[ERROR] [1696755605.331327, 1814.801000]: Spawn service failed. Exiting.

 执行以下代码给予权限

chmod +x /home/drone/catkin_ws/src/gazebo_ros_pkgs/gazebo_ros/scripts/spawn_model

gazebo运行报错

killall -9 gzclient
killall -9 gzserver

彻底关闭gazebo,重试

生成随机地图

没有robocup.launch文件:

重新下载XTDrone后

cp -r ~/XTDrone/sitl_config/launch/* ~/PX4_Firmware/launch/

需要的行为如上面代码,但是可以直接下载到对应代码后,用xftp传输到虚拟机上,cp到对应目录,避免重复编译

VINS安装过程问题

cmake切换高低版本问题

cmake压缩包:网址

cmake 指定版本方法:

3.1.2版本:

wget https://cmake.org/files/v3.13/cmake-3.1.2-Linux-x86_64.tar.gz
tar -xzvf cmake-3.1.2-Linux-x86_64.tar.gz
sudo mv cmake-3.1.2-Linux-x86_64 /opt/cmake-3.1.2
sudo ln -sf /opt/cmake-3.1.2/bin/*  /usr/bin/
cmake --version

 可见版本为3.13.0

切回版本同理

 sudo ln -sf /opt/cmake-3.23.1/bin/*  /usr/bin/

ceres使用历史版本(不然VINS编译报错)

删除原版本

sudo rm -r /usr/local/lib/cmake/Ceres
sudo rm -r /usr/local/include/ceres /usr/local/lib/libceres.a

下载新版本

https://codeload.github.com/ceres-solver/ceres-solver/tar.gz/refs/tags/1.14.0

电脑下载上传至虚拟机,或者git clone

依赖项安装

sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev libgtest-dev

 或者按照说明文档安装

然后按照说明文档安装VINS-fusion(切换高版本cmake)

cp -r ~/XTDrone/sensing/slam/vio/VINS-Fusion ~/catkin_ws/src/
mkdir ~/catkin_ws/scripts/
cp ~/XTDrone/sensing/slam/vio/xtdrone_run_vio.sh ~/catkin_ws/scripts/
cd ~/catkin_ws
catkin build

yaml配置

注意按照使用文档他在yaml中添加了pose_graph_save_path,而在后文中有重复内容,所以需要把前面重复的删掉,后面改为对应虚拟机名字的地址

imu_topic: "/iris_0/imu_gazebo"
image0_topic: "/iris_0/stereo_camera/left/image_raw"
image1_topic: "/iris_0/stereo_camera/right/image_raw"
output_path: "/home/drone/catkin_ws/vins_output"
pose_graph_save_path: "/home/drone/catkin_ws/vins_output/pose_graph/"  # save and load path

 比赛的时候应该要把虚拟机的名字改成对于比赛虚拟机的名字

查看节点关系:

rosrun rqt_graph rqt_graph
 rostop查看
rosparam list
rostopic list
rosmsg show 话题名

无人机配置

传感器配置

如果使用它robocup.launch原始的配置,那默认选择为typhoon_h480,则编辑地址为

gedit ~/PX4_Firmware/Tools/sitl_gazebo/models/typhoon_h480

这样它默认会出现6台一模一样配置的无人机,如果要添加自己要的对应无人机,地址为

gedit PX4_Firmware/launch/robocup.launch 

可见代码如下

     <!-- typhoon_h480_1 -->
     <group ns="typhoon_h480_1">
        <!-- MAVROS and vehicle configs -->
            <arg name="ID" value="1"/>
            <arg name="ID_in_group" value="1"/>
            <arg name="fcu_url" default="udp://:24541@localhost:34581"/>
        <!-- PX4 SITL and vehicle spawn -->
        <include file="$(find px4)/launch/single_vehicle_spawn_xtd.launch">
            <arg name="x" value="3"/>
            <arg name="y" value="-3"/>
            <arg name="z" value="0"/>
            <arg name="R" value="0"/>
            <arg name="P" value="0"/>
            <arg name="Y" value="0"/>
            <arg name="vehicle" value="typhoon_h480"/>
            <arg name="sdf" value="typhoon_h480"/>
            <arg name="mavlink_udp_port" value="18571"/>
            <arg name="mavlink_tcp_port" value="4561"/>
            <arg name="ID" value="$(arg ID)"/>
            <arg name="ID_in_group" value="$(arg ID_in_group)"/>
        </include>

将其中

            <arg name="vehicle" value="typhoon_h480"/>
            <arg name="sdf" value="typhoon_h480"/>

value改为你对应的飞机名,如indoor里面的

            <arg name="vehicle" value="iris"/>
            <arg name="sdf" value="iris_2d_lidar"/>

传感器直接对照

gedit PX4_Firmware/Tools/sitl_gazebo/models/iris_2d_lidar/iris_2d_lidar.sdf

进行添加和修改。

激光范围太小,所以需要视觉/3D激光

10.11记录

cd catkin_ws/src/VINS-Fusion/config/xtdrone_sitl/

这个文件夹放xtdrone_sitl里的文件(见群里发的)

cd catkin_ws/src/VINS-Fusion/vins_estimator/launch/

这个文件夹里放VINS_launch里的文件(同名替换)

cd PX4_Firmware/Tools/sitl_gazebo/models/typhoon_h480

这个文件夹放typhoon_h480.sdf这个文件,到此传感器配置结束

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值