No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robomaster-oss/rmoss_core.git
VCS Type git
VCS Version humble
Last Updated 2023-04-17
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

robomaster tool package for projectile motion,it's helpful to develop application like Auto-Aim,etc.

Additional Links

No additional links.

Maintainers

  • zhenpeng ge

Authors

No additional authors.

rmoss_projectile_motion模块

简介

rmoss_projectile_motion是rmoss_core中的一个基础功能包,对子弹在飞行过程的弹道进行建模,根据目标位置,计算出云台所需要的转角。

  • GimbalTransformTool : 云台转角计算工具,给定目标点,利用弹道模型计算射击所需要云台的pitch, yaw角度,需要传入弹道逆运动求解器。

目前rmoss_projectile_motion提供了两种求解器:

  • GravityProjectileSolver : 考虑重力的弹道逆运动求解器 (抛物型模型)
  • GafProjectileSolver : 考虑重力和空气阻力的弹道逆运动求解器 (近似模型,不稳定)

GravityProjectileSolverGafProjectileSolver都是基于数值迭代实现的求解器,定义不同的弹道运动模型,然后通过使用IterativeProjectileTool实现求解过程。

使用方法

该包不支持ROS节点单独运行,只能通过库依赖的方式被调用。

// 创建基于重力弹道模型的求解器,GravityProjectileSolver,参数代表子弹速度为25m/s
auto graviry_solver = std::make_shared<rmoss_projectile_motion::GravityProjectileSolver>(25);

// 创建考虑重力和空气阻力的求解器,GafProjectileSolver,参数代表子弹速度为25m/s,空气阻力系数为0.1
auto gaf_solver = std::make_shared<rmoss_projectile_motion::GafProjectileSolver>(25, 0.1);

// 创建gimbal_transform_tool,传入graviry_solver求解器
auto projectile_tansformoss_tool =
  std::make_shared<rmoss_projectile_motion::GimbalTransformTool>(graviry_solver);

// 求解例子
Eigen::Vector3d position(6, 2, 2);
double pitch, yaw;
projectile_tansformoss_tool->solve(position, pitch, yaw);

// 更换求解器
projectile_tansformoss_tool->set_projectile_solver(gaf_solver);

// 更改求解器的参数
graviry_solver->set_initial_vel(15);
gaf_solver->set_initial_vel(15);
gaf_solver->set_friction_coeff(0.2);

  • position坐标系为右手坐标系,枪口为x方向

迭代弹道模型数学原理 : rmoss_tutorials/projectile_motion_iteration

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmoss_projectile_motion at Robotics Stack Exchange

No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.