XTDrone ROS安装

2023-05-16

XTDrone ROS安装

本博客是参考XTDrone内容,进行ROS安装和配置。参考连接:XTDrone\

  1. 梗概ubuntu18的源,并更新。参考:更改ubunut源
sudo apt update
sudo apt upgrade -y
  1. 依赖安装
sudo apt install -y ninja-build exiftool python-argparse python-empy python-toml python-numpy python-yaml python-dev python-pip ninja-build protobuf-compiler libeigen3-dev genromfs xmlstarlet libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
pip2 install pandas jinja2 pyserial cerberus pyulog==0.7.0 numpy toml pyquaternion
pip3 install packaging numpy empy toml pyyaml jinja2 rospkg
  1. ros安装:ROS官网
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt install -y curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt update
sudo apt install -y ros-melodic-desktop-full 
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt install -y python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
sudo apt install -y python-rosdep

rosdep会出错,依照XTDrone的rosdepc进行安装,参考链接:XTDrone ROSDEP

sudo pip install rosdepc
sudo rosdepc init
rosdepc update
roscore  # 进行测试
  1. 新建工作空间
cd
mkdir -p ~/catkin_ws/src
mkdir -p ~/catkin_ws/scripts
cd catkin_ws/src && catkin_init_workspace # 使用catkin-tools话,则为cd catkin_ws && catkin init 
cd .. && catkin_make # 使用catkin-tools话,则为catkin build 
  1. mavros安装
cd
sudo apt install -y ros-melodic-mavros ros-melodic-mavros-extras 		# for ros-melodic
wget https://gitee.com/robin_shaun/XTDrone/raw/master/sitl_config/mavros/install_geographiclib_datasets.sh
sudo chmod a+x ./install_geographiclib_datasets.sh
sudo ./install_geographiclib_datasets.sh #这步需要装一段时间,请耐心等待PX4配置
  1. 重装gazebo
sudo apt-get remove gazebo*  -y
sudo apt-get remove libgazebo* -y
sudo apt-get remove ros-melodic-gazebo* -y  #kinetic noetic对应修改
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get install gazebo9 -y
sudo apt-get install libgazebo9-dev -y
gazebo

如果报错gazebo,是缺少相应的包,百度查询方法

sudo apt upgrade libignition-math2
sudo apt install ros-melodic-gazebo-* #melodic
roscore 
rosrun gazebo_ros gazebo
  1. PX4配置,利用国内gitee
git clone https://gitee.com/robin_shaun/PX4_Firmware
cd PX4_Firmware
git checkout -b xtdrone/dev v1.11.0-beta1
rm .gitmodules
nano .gitmodules
[submodule "mavlink/include/mavlink/v2.0"]
  path = mavlink/include/mavlink/v2.0
  url = https://gitee.com/robin_shaun/c_library_v2.git
  branch = master
[submodule "src/drivers/uavcan/libuavcan"]
  path = src/drivers/uavcan/libuavcan
  url = https://gitee.com/robin_shaun/uavcan.git
  branch = px4
[submodule "Tools/jMAVSim"]
  path = Tools/jMAVSim
  url = https://gitee.com/robin_shaun/jMAVSim.git
  branch = master
[submodule "Tools/sitl_gazebo"]
  path = Tools/sitl_gazebo
  url = https://gitee.com/robin_shaun/sitl_gazebo.git
  branch = master
[submodule "src/lib/matrix"]
  path = src/lib/matrix
  url = https://gitee.com/robin_shaun/Matrix.git
  branch = master
[submodule "src/lib/ecl"]
  path = src/lib/ecl
  url = https://gitee.com/robin_shaun/ecl.git
  branch = master
[submodule "boards/atlflight/cmake_hexagon"]
  path = boards/atlflight/cmake_hexagon
  url = https://gitee.com/robin_shaun/cmake_hexagon.git
  branch = px4
[submodule "src/drivers/gps/devices"]
  path = src/drivers/gps/devices
  url = https://gitee.com/robin_shaun/GpsDrivers.git
  branch = master
[submodule "src/modules/micrortps_bridge/micro-CDR"]
  path = src/modules/micrortps_bridge/micro-CDR
  url = https://gitee.com/robin_shaun/micro-CDR.git
  branch = px4
[submodule "platforms/nuttx/NuttX/nuttx"]
  path = platforms/nuttx/NuttX/nuttx
  url = https://gitee.com/robin_shaun/NuttX.git
  branch = px4_firmware_nuttx-9.1.0+
[submodule "platforms/nuttx/NuttX/apps"]
  path = platforms/nuttx/NuttX/apps
  url = https://gitee.com/robin_shaun/NuttX-apps.git
  branch = px4_firmware_nuttx-9.1.0+
[submodule "platforms/qurt/dspal"]
  path = platforms/qurt/dspal
  url = https://gitee.com/robin_shaun/dspal.git
[submodule "Tools/flightgear_bridge"]
  path = Tools/flightgear_bridge
  url = https://gitee.com/robin_shaun/PX4-FlightGear-Bridge.git
  branch = master 
[submodule "Tools/jsbsim_bridge"]
  path = Tools/jsbsim_bridge
  url = https://gitee.com/robin_shaun/px4-jsbsim-bridge.git
[submodule "src/examples/gyro_fft/CMSIS_5"]
  path = src/examples/gyro_fft/CMSIS_5
  url = https://gitee.com/mirrors/CMSIS_5
# The 1
git submodule update --init
cd ~/PX4_Firmware/src/drivers/uavcan/libuavcan
rm .gitmodules
nano .gitmodules
[submodule "dsdl"]
	path = dsdl
	url = https://gitee.com/robin_shaun/dsdl
	branch = legacy-v0
[submodule "libuavcan/dsdl_compiler/pyuavcan"]
	path = libuavcan/dsdl_compiler/pyuavcan
	url = https://gitee.com/robin_shaun/pyuavcan
[submodule "libuavcan_drivers/kinetis"]
	path = libuavcan_drivers/kinetis
	url = https://gitee.com/robin_shaun/libuavcan_kinetis.git
# The 2
git submodule update --init
cd ~/PX4_Firmware/Tools/jMAVSim
rm .gitmodules
nano .gitmodules
[submodule "jMAVlib"]
	path = jMAVlib
	url = https://gitee.com/robin_shaun/jMAVlib
	branch = master
# The 3
git submodule update --init
cd ~/PX4_Firmware/Tools/sitl_gazebo
rm .gitmodules
nano .gitmodules
[submodule "external/OpticalFlow"]
	path = external/OpticalFlow
	url = https://gitee.com/robin_shaun/OpticalFlow
# The 4
git submodule update --init
cd ~/PX4_Firmware/platforms/qurt/dspal
rm .gitmodules
nano .gitmodules
[submodule "cmake_hexagon"]
	path = cmake_hexagon
	url = https://gitee.com/robin_shaun/cmake_hexagon
# The 5
git submodule update --init
cd ~/PX4_Firmware/src/drivers/uavcan/libuavcan/libuavcan/dsdl_compiler/pyuavcan
rm .gitmodules
nano .gitmodules
[submodule "dsdl"]
	path = dsdl
	url = https://gitee.com/robin_shaun/dsdl
# The 6
git submodule update --init
cd ~/PX4_Firmware/Tools/sitl_gazebo/external/OpticalFlow
rm .gitmodules
nano .gitmodules
[submodule "external/klt_feature_tracker"]
	path = external/klt_feature_tracker
	url = https://gitee.com/robin_shaun/klt_feature_tracker
git submodule update --init
cd ~/PX4_Firmware
make px4_sitl_default gazebo
  1. 修改bashrc文件
nano ~/.bashrc
source ~/catkin_ws/devel/setup.bash
source ~/PX4_Firmware/Tools/setup_gazebo.bash ~/PX4_Firmware/ ~/PX4_Firmware/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4_Firmware
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4_Firmware/Tools/sitl_gazebo
source ~/.bashrc
  1. PX4飞控连接
roslaunch mavros px4.launch fcu_url:="/dev/ttyACM0:921600"
  1. XTDrone下载
cd
git clone https://gitee.com/robin_shaun/XTDrone.git
cd XTDrone
git submodule update --init --recursive
cp sensing/gimbal/gazebo_gimbal_controller_plugin.cpp ~/PX4_Firmware/Tools/sitl_gazebo/src/
cp sitl_config/init.d-posix/rcS ~/PX4_Firmware/ROMFS/px4fmu_common/init.d-posix/
cp sitl_config/worlds/* ~/PX4_Firmware/Tools/sitl_gazebo/worlds/
cp -r sitl_config/models/* ~/PX4_Firmware/Tools/sitl_gazebo/models/ 
cp -r sitl_config/launch/* ~/PX4_Firmware/launch/
cd ~/.gazebo/models/
rm -r stereo_camera/ 3d_lidar/ 3d_gpu_lidar/ hokuyo_lidar/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XTDrone ROS安装 的相关文章

随机推荐