rmua19_gazebo_simulator repository

simulator gazebo ros2 robomaster

rmua19_gazebo_simulator repository

simulator gazebo ros2 robomaster

rmua19_gazebo_simulator repository

simulator gazebo ros2 robomaster

rmua19_gazebo_simulator repository

simulator gazebo ros2 robomaster rmua19_gazebo_simulator

Repository Summary

Description Gazebo Simulator for RoboMaster University AI Challenge 2019
Checkout URI https://github.com/robomaster-oss/rmua19_gazebo_simulator.git
VCS Type git
VCS Version humble
Last Updated 2023-03-02
Dev Status UNKNOWN
CI status No Continuous Integration
Released UNRELEASED
Tags simulator gazebo ros2 robomaster
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
rmua19_gazebo_simulator 1.0.0

README

rmua19_gazebo_simulator

1. 简介

rmua19_gazebo_simulator是基于Gazebo (Ignition 字母版本)的仿真环境,为RoboMaster University AI Challenge 2019中的机器人算法开发提供仿真环境,方便测试AI算法,加快开发效率。

目前rmua19_gazebo_simulator还不完善,仅提供以下功能:

在rmua19标准机器人(rmua19_standard_robot)上增加相关传感器,构建不同机器人模型:

  • rmua19_standard_robot_a:搭载云台相机industrial_camera和搭载激光雷达rplidar_a2,其中相机放置有在yaw轴。
  • rmua19_standard_robot_b:搭载云台相机industrial_camera和搭载激光雷达rplidar_a2,其中相机放置有在pitch轴。

构建RoboMaster University AI Challenge 2019简易场地(models/rmua19_battlefield):

  • 只有围墙

RoboMaster University AI Challenge 2019标准机器人机器人模型(rmua19_standard_robot)位于rmoss_gz_resources

注意:Gazebo (Ignition 字母版本)目前依然处于快速开发期,仿真功能不完善,且可能存在Bug。

2. 基本使用

环境配置

  • ROS2版本要求: Humble (目前处于开发期,基于ROS2最新版本)
  • Gazebo仿真器版本要求: ` Fortress` (目前新版本Gazebo处于开发期)
# install gazebo dependencies
sudo apt-get install ignition-fortress libignition-cmake2-dev ros-humble-ros-gz
# install xmacro (xml macro tool for sdf)
pip install xmacro
# cd src directory of ros2 workspace 
git clone https://github.com/robomaster-oss/rmoss_interfaces -b humble
git clone https://github.com/robomaster-oss/rmoss_core -b humble
git clone https://github.com/robomaster-oss/rmoss_gazebo -b humble
git clone https://github.com/robomaster-oss/rmoss_gz_resources -b humble --depth=1
git clone https://github.com/robomaster-oss/rmua19_gazebo_simulator -b humble
# cd ros2 workspaces
cd ..
rosdep install -y -r -q --from-paths src --ignore-src --rosdistro humble
# cd ros2 workspace
colcon build

启动仿真环境

# ros2 launch rmua19_gazebo_simulator standard_robot_a_test.launch.py 
ros2 launch rmua19_gazebo_simulator standard_robot_b_test.launch.py 

  • 注意:需要点击Gazebo界面上的橙红色的启动按钮

控制机器人移动

ros2 run rmoss_gz_base test_chassis_cmd.py --ros-args -r __ns:=/red_standard_robot1/robot_base -p v:=0.3 -p w:=0.3
#根据提示进行输入,支持平移与自旋

  • 底盘采用mecanum插件控制

控制机器人云台

ros2 run rmoss_gz_base test_gimbal_cmd.py --ros-args -r __ns:=/red_standard_robot1/robot_base
#根据提示进行输入,支持绝对角度控制

  • 云台采用位置PID控制

机器人射击

ros2 run rmoss_gz_base test_shoot_cmd.py --ros-args -r __ns:=/red_standard_robot1/robot_base
#根据提示进行输入

  • 射击功能基于rmoss_gz中的插件ProjectileShooter
  • 注意:目前存在未解决BUG (某些情况下会使得物理引擎错误,造成Gazebo崩溃)

3. 简易竞赛模式1v1

  • 目前测试中,射击功能存在已知BUG,以及可能存在其他未知BUG,请谨慎使用。

运行Gazebo仿真器

ros2 launch rmua19_gazebo_simulator simple_competition_1v1.launch.py 

运行裁判系统

ros2 run rmua19_gazebo_simulator simple_competition_1v1_referee.py 

  • 弹丸伤害为10,每个机器人HP为500,直到HP为0时,裁判系统输出胜利者,程序退出。(可重新运行开始)
  • 通过解析并处理攻击信息/referee_system/attack_info (包括射击者信息以及击中目标信息)实现裁判功能。

控制机器人-ROS2接口

例如,对于red_standard_robot1,有如下ROS2 topic接口使用,可用于机器人控制和感知。(对于standard_robot_blue1同理)

/red_standard_robot1/robot_base/chassis_cmd
/red_standard_robot1/robot_base/gimbal_state
/red_standard_robot1/robot_base/odom
/red_standard_robot1/robot_base/shoot_cmd
/red_standard_robot1/front_camera/image
/red_standard_robot1/rplidar_a2/scan

4. 维护者及开源许可证

Maintainer: Zhenpeng Ge, zhenpeng.ge@qq.com

rmua19_gazebo_simulator is provided under Apache License 2.0.

CONTRIBUTING

No CONTRIBUTING.md found.

rmua19_gazebo_simulator repository

simulator gazebo ros2 robomaster

rmua19_gazebo_simulator repository

simulator gazebo ros2 robomaster

rmua19_gazebo_simulator repository

simulator gazebo ros2 robomaster

rmua19_gazebo_simulator repository

simulator gazebo ros2 robomaster

rmua19_gazebo_simulator repository

simulator gazebo ros2 robomaster

rmua19_gazebo_simulator repository

simulator gazebo ros2 robomaster

rmua19_gazebo_simulator repository

simulator gazebo ros2 robomaster

rmua19_gazebo_simulator repository

simulator gazebo ros2 robomaster

rmua19_gazebo_simulator repository

simulator gazebo ros2 robomaster

rmua19_gazebo_simulator repository

simulator gazebo ros2 robomaster

rmua19_gazebo_simulator repository

simulator gazebo ros2 robomaster

rmua19_gazebo_simulator repository

simulator gazebo ros2 robomaster

rmua19_gazebo_simulator repository

simulator gazebo ros2 robomaster

rmua19_gazebo_simulator repository

simulator gazebo ros2 robomaster

rmua19_gazebo_simulator repository

simulator gazebo ros2 robomaster