Skip to content

DHZ627/RME_IBVS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

项目名称 / Project Name

RME_IBVS

项目简介 / Project Introduction

本项目是一个基于PX4和ROS Noetic的无人机仿真项目,结合Gazebo仿真环境和视觉伺服控制技术,实现无人机的目标跟踪与控制。通过ROS节点实现图像处理、视觉伺服、观测器以及目标控制等功能。

This project is a UAV simulation project based on PX4 and ROS Noetic, combining the Gazebo simulation environment and visual servoing control technology to achieve target tracking and control of UAVs. ROS nodes are used to implement image processing, visual servoing, observer, and target control functions.


前置条件 / Prerequisites

在运行本项目之前,您需要安装以下软件和环境:

Before running this project, you need to install the following software and environments:

  1. PX4 Autopilot: 无人机飞控软件。

  2. ROS Noetic: 机器人操作系统。

  3. Gazebo: 仿真环境。

    • 通常与ROS Noetic一起安装。
    • Gazebo: Simulation environment.
      • Usually installed with ROS Noetic.
  4. QGroundControl (QGC): 地面站软件,用于控制无人机。


准备工作 / Preparation

  1. 将ROS启动文件 my_UAV_sitl.launch 复制到 \PX4-Autopilot\launch 目录中。

    • Copy the ROS launch file my_UAV_sitl.launch to the \PX4-Autopilot\launch directory.
  2. 将世界文件 my_sim_world.world 复制到 \PX4-Autopilot\Tools\simulation\gazebo-classic\sitl_gazebo-classic\worlds 目录中。

    • Copy the world file my_sim_world.world to the \PX4-Autopilot\Tools\simulation\gazebo-classic\sitl_gazebo-classic\worlds directory.
  3. 下载 obvs_ws 工作空间到本地,并使用 catkin_make 进行编译。

    • Download the obvs_ws workspace to your local machine and compile it using catkin_make.
    cd ~/obvs_ws
    catkin_make
    
  4. 编译完成后,使用以下命令设置环境变量:

  • After compilation, set up the environment variables using the following command:

    source devel/setup.bash
    

运行项目 / Running the Project

  1. 启动仿真环境:

    • Launch the simulation environment:
    roslaunch px4 my_UAV_sitl.launch
    

仿真环境截图 / Simulation Screenshot

  1. 打开QGroundControl (QGC) 地面站:

    • Open QGroundControl (QGC) ground station:
      • 启动QGC应用程序,并连接到仿真无人机。
      • Launch the QGC application and connect to the simulated UAV.
  2. 控制无人机起飞至7米高度:

    • Control the UAV to take off to a height of 7 meters:
      • 在QGC界面中,选择“起飞”模式,并设置目标高度为7米。
      • In the QGC interface, select the "Takeoff" mode and set the target altitude to 7 meters.
      • 点击“起飞”按钮,无人机将自动起飞至指定高度。
      • Click the "Takeoff" button, and the UAV will automatically take off to the specified altitude. QGC地面站 / QGC
  3. 打开图像处理节点:

    • Start the image processing node:
    rosrun ibvs_proj image_processor_node
    

下视相机图像(上图为原始图像、下图为虚拟相平面图像) / Downward-facing camera images (top: raw image, bottom: virtual image plane image).

  1. 打开视觉伺服节点:

    • Start the visual servoing node:
    rosrun ibvs_proj ibvs_node
    
  2. 打开观测器节点:

    • Start the observer node:
    rosrun ibvs_proj observe_node
    
  3. 运行目标控制节点:

    • Run the target control node:
    rosrun block_controller block_controller

结果展示 / Results

使用 rqt 查看运行结果。 Use rqt to view the running results.

方形轨迹 / Square trajectory 圆形轨迹 / Circular trajectory


话题描述 / Topic Description

  • 话题 /ground_target_Vel/twist/linear 为目标真实运动速度。

    • The topic /ground_target_Vel/twist/linear represents the true motion velocity of the target.
  • 话题 /target_est_vel_velocity/twist/linear 为估计器对目标运动速度的估计。

    • The topic /target_est_vel_velocity/twist/linear represents the estimated motion velocity of the target by the estimator.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published