# skyrover_simulation **Repository Path**: skyrover-research/skyrover_simulation ## Basic Information - **Project Name**: skyrover_simulation - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-22 - **Last Updated**: 2024-05-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # skyrover_simulation This repository contains the world and associated models for simulating the **SkyRover**, a versatile robot capable of performing rover and drone locomotion, in Gazebo. ![](https://gitee.com/skyrover-research/skyrover_simulation/raw/master/assets/skyrover_urban_challenge_sim_demo.gif) ## Requirements - Ubuntu 20.04 - ROS Noetic - PX4 v1.13 - XTDrone installed (please refer to the instructions [here](https://www.yuque.com/xtdrone/manual_cn/basic_config_13)) ## File hierarchy ``` skyrover_simulation |- skyrover_gazebo # a submodule containing SkyRover robot files |- sitl_gazebo |- worlds # a folder containing all the simulation worlds |- models # a folder containing required models |- launch # a folder containing scripts to launch the world and the SkyRover robot |- waypoint_following # a folder containing a demo task |- README.md ``` ## Usage ### Step 1: Clone the repository ``` git clone https://gitee.com/skyrover-research/skyrover_gazebo.git --recursive ``` In case you only want to update submodules, run: `git submodule update --remote`. ### Step 2: Set up the robot model Please refer to the instructions in [skyrover_gazebo](https://gitee.com/skyrover-research/skyrover_gazebo) (see Step 0 to Step 2 in "Usage") for details. ### Step 3: Set up the world Copy the `skyrover_simulation/sitl_gazebo/worlds/*` to your PX4 world path, e.g. `PATH/TO/PX4_Firmware/Tools/sitl_gazebo/worlds`. Copy the `skyrover_simulation/sitl_gazebo/models/*` to your Gazebo model path, e.g. `~/.gazebo/models`. ### Step 4: Launch the simulation You can launch the simulation by running the following command in the terminal: ``` roslaunch px4 dlab_urban_challenge.launch ``` This will load the urban challenge world and spawn the SkyRover robot in it. ### Step 5: Run the control script Go to `skyrover_simulation/waypoint_following/scripts`, open a new terminal and run the following command: ``` python3 iris_offb_fly_node.py ``` This will start the offboard control for SkyRover to follow the waypoints defined in the `skyrover_simulation/waypoint_following/config/mission_waypoints.txt` file (as shown at the beginning). ## List of worlds - `dlab_urban_challenge.world`: a world with a simulated urban environment, including buildings, roads, and trees. The SkyRover robot is spawned on a road. - `dlab_indoor1.world`: a world with a simulated indoor environment, including walls, tables, and shelfs. The SkyRover robot is spawned on an AprilTag on the ground.