![]() |
innopolis_vtol_dynamics package from inno_vtol_dynamics repoinnopolis_vtol_dynamics |
|
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | GPLv3 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/InnopolisAero/inno_vtol_dynamics.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2023-12-03 |
Dev Status | MAINTAINED |
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
Additional Links
Maintainers
- Roman Fedorenko
Authors
- Roman Fedorenko
- Dmitry Ponomarev
- Ezra Tal
- Winter Guerra
UAV HITL dynamics
This package is the core of the UAV HITL dynamics simulator. It has an implementation of custom quadcopter vertical takeoff and landing aircraft dynamics.
Innopolis VTOL has UAVCAN onboard electronics based on RaccoonLab Cyphal/DroneCAN sensors and actuators (so it's a good example of full UAVCAN-based onboard control and object for new UAVCAN-HITL simulation approach).
This package contains Innopolis VTOL simulation based on rigid body kinematics and dynamics, CFD analysis and actuators simulation.
The package is used inside a new Cyphal/DroneCAN-HITL .
The node from this package communicates with the flight stack via communicator UAV dynamics
by subscribing and publishing to the following topics:
flowchart LR
actuators[ /uav/actuators, sensor_msgs/Joy] --> F(uav_hitl_node)
arm[ /uav/arm, std_msgs/Bool] --> F(uav_hitl_node)
calibration[ /uav/calibration, std_msgs/UInt8] --> F(uav_hitl_node)
scenario[ /uav/scenario, std_msgs/UInt8] --> F(uav_hitl_node)
F --> temperature[ /uav/static_temperature, std_msgs/Float32]
F --> static_pressure[ /uav/static_pressure, std_msgs/Float32]
F --> raw_air_data[ /uav/raw_air_data, std_msgs/Float32]
F --> gps_point[ /uav/gps_point, sensor_msgs/NavSatFix]
F --> velocity[ /uav/velocity, geometry_msgs/Twist]
F --> imu[ /uav/imu, sensor_msgs/Imu]
F --> mag[ /uav/mag, sensor_msgs/MagneticField]
F --> esc_status[ /uav/esc_status, mavros_msgs/ESCTelemetryItem]
F --> ice_rpm[ /uav/esc_status, mavros_msgs/ESCStatusItem]
F --> ice_status[ /uav/ice_status, std_msgs/UInt8]
F --> fuel_tank_status[ /uav/ice_status, std_msgs/UInt8]
F --> battery_status[ /uav/battery_status, sensor_msgs/BatteryState]
Auxilliary topics might be enabled/disabled in the sim_params.yaml config file. You may implement your own sensors in the sensors.cpp file.
To work in pair with InnoSimulator as physics engine via inno_sim_interface it publishes and subscribes on following topics.
flowchart LR
F(uav_hitl_node) --> actuators[ /uav/actuators, sensor_msgs/Joy]
F --> gps_point[ /uav/gps_point, sensor_msgs/NavSatFix]
F --> velocity[ /uav/velocity, geometry_msgs/Twist]
F --> attitude[ /uav/attitude, geometry_msgs/QuaternionStamped]
actuators --> G(inno_sim_interface)
gps_point --> G
velocity --> G
attitude --> G
Wiki Tutorials
Source Tutorials
Package Dependencies
Deps | Name | |
---|---|---|
1 | message_generation | |
1 | roslib | |
1 | message_runtime | |
1 | catkin | |
2 | roscpp | |
2 | std_msgs | |
2 | sensor_msgs | |
2 | geometry_msgs | |
1 | mavros_msgs | |
2 | visualization_msgs | |
0 | geographiclib_conversions | |
3 | tf2 | |
3 | tf2_ros |
System Dependencies
Name |
---|
yaml-cpp |
Dependant Packages
Launch files
- launch/gazebo.launch
-
- vehicle [default: standard_vtol] — [standard_vtol, iris]
- fcu_url [default: udp://:14540@127.0.0.1:14557] — [udp://:14560@127.0.0.1:14558]
- gui [default: true]
- launch/uavcan_communicator.launch
-
- partial_cyphal [default: false] — [true, false]
- launch/inno_sim.launch
- launch/hitl.launch
-
- logging_type — [standard_vtol, quadcopter]
- vehicle_params — [quadrotor, octorotor, vtol_7kg]
- mixer [default: vtol_13070_mixer] — [vtol_13070_mixer, babyshark_standard_vtol_mixer, direct_mixer]
- dynamics [default: vtol_dynamics] — [vtol_dynamics, quadcopter]
- run_rviz [default: false] — [true, false]
- run_inno_sim_bridge [default: false] — [true, false]
- run_cyphal_communicator [default: false] — [true, false]
- run_dronecan_communicator [default: false] — [true, false]
- launch/sitl.launch
-
- logging_type — [standard_vtol, quadcopter]
- sitl_vehicle — [innopolis_vtol, iris]
- vehicle_params — [quadrotor, octorotor, vtol_7kg]
- mixer [default: vtol_13070_mixer] — [vtol_13070_mixer, babyshark_standard_vtol_mixer, direct_mixer]
- dynamics [default: vtol_dynamics] — [vtol_dynamics, quadcopter]
- run_rviz [default: false] — [true, false]
- run_inno_sim_bridge [default: false] — [true, false]
- run_sitl_flight_stack [default: true] — [true, false]
- launch/dynamics.launch
-
- logging_type — [standard_vtol, quadcopter]
- sitl_vehicle [default: iris] — [innopolis_vtol, iris]
- mixer [default: vtol_13070_mixer] — [vtol_13070_mixer, babyshark_standard_vtol_mixer, direct_mixer]
- dynamics [default: vtol_dynamics] — [vtol_dynamics, quadcopter]
- vehicle_params — [quadrotor, octorotor, vtol_7kg]
- run_rviz [default: false] — [true, false]
- run_sitl_flight_stack [default: true] — [true means sitl, false means do nothing]
- run_sitl_communicator [default: false] — [true means run mavlink communicator, false means do nothing]
- run_hitl_communicator [default: false] — [true means run uavcan communicator, false means do nothing]
- run_inno_sim_bridge [default: false] — [true, false]
- run_cyphal_communicator [default: false] — [true, false]
- run_dronecan_communicator [default: false] — [true, false]
- launch/load_parameters.launch
-
- vehicle_params — [quadrotor, octorotor, vtol_7kg]
- launch/rviz.launch
Messages
Services
Plugins
Recent questions tagged innopolis_vtol_dynamics at answers.ros.org
![]() |
innopolis_vtol_dynamics package from inno_vtol_dynamics repoinnopolis_vtol_dynamics |
|
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | GPLv3 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/InnopolisAero/inno_vtol_dynamics.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2023-12-03 |
Dev Status | MAINTAINED |
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
Additional Links
Maintainers
- Roman Fedorenko
Authors
- Roman Fedorenko
- Dmitry Ponomarev
- Ezra Tal
- Winter Guerra
UAV HITL dynamics
This package is the core of the UAV HITL dynamics simulator. It has an implementation of custom quadcopter vertical takeoff and landing aircraft dynamics.
Innopolis VTOL has UAVCAN onboard electronics based on RaccoonLab Cyphal/DroneCAN sensors and actuators (so it's a good example of full UAVCAN-based onboard control and object for new UAVCAN-HITL simulation approach).
This package contains Innopolis VTOL simulation based on rigid body kinematics and dynamics, CFD analysis and actuators simulation.
The package is used inside a new Cyphal/DroneCAN-HITL .
The node from this package communicates with the flight stack via communicator UAV dynamics
by subscribing and publishing to the following topics:
flowchart LR
actuators[ /uav/actuators, sensor_msgs/Joy] --> F(uav_hitl_node)
arm[ /uav/arm, std_msgs/Bool] --> F(uav_hitl_node)
calibration[ /uav/calibration, std_msgs/UInt8] --> F(uav_hitl_node)
scenario[ /uav/scenario, std_msgs/UInt8] --> F(uav_hitl_node)
F --> temperature[ /uav/static_temperature, std_msgs/Float32]
F --> static_pressure[ /uav/static_pressure, std_msgs/Float32]
F --> raw_air_data[ /uav/raw_air_data, std_msgs/Float32]
F --> gps_point[ /uav/gps_point, sensor_msgs/NavSatFix]
F --> velocity[ /uav/velocity, geometry_msgs/Twist]
F --> imu[ /uav/imu, sensor_msgs/Imu]
F --> mag[ /uav/mag, sensor_msgs/MagneticField]
F --> esc_status[ /uav/esc_status, mavros_msgs/ESCTelemetryItem]
F --> ice_rpm[ /uav/esc_status, mavros_msgs/ESCStatusItem]
F --> ice_status[ /uav/ice_status, std_msgs/UInt8]
F --> fuel_tank_status[ /uav/ice_status, std_msgs/UInt8]
F --> battery_status[ /uav/battery_status, sensor_msgs/BatteryState]
Auxilliary topics might be enabled/disabled in the sim_params.yaml config file. You may implement your own sensors in the sensors.cpp file.
To work in pair with InnoSimulator as physics engine via inno_sim_interface it publishes and subscribes on following topics.
flowchart LR
F(uav_hitl_node) --> actuators[ /uav/actuators, sensor_msgs/Joy]
F --> gps_point[ /uav/gps_point, sensor_msgs/NavSatFix]
F --> velocity[ /uav/velocity, geometry_msgs/Twist]
F --> attitude[ /uav/attitude, geometry_msgs/QuaternionStamped]
actuators --> G(inno_sim_interface)
gps_point --> G
velocity --> G
attitude --> G
Wiki Tutorials
Source Tutorials
Package Dependencies
Deps | Name | |
---|---|---|
1 | message_generation | |
1 | roslib | |
1 | message_runtime | |
1 | catkin | |
2 | roscpp | |
2 | std_msgs | |
2 | sensor_msgs | |
2 | geometry_msgs | |
1 | mavros_msgs | |
2 | visualization_msgs | |
0 | geographiclib_conversions | |
3 | tf2 | |
3 | tf2_ros |
System Dependencies
Name |
---|
yaml-cpp |
Dependant Packages
Launch files
- launch/gazebo.launch
-
- vehicle [default: standard_vtol] — [standard_vtol, iris]
- fcu_url [default: udp://:14540@127.0.0.1:14557] — [udp://:14560@127.0.0.1:14558]
- gui [default: true]
- launch/uavcan_communicator.launch
-
- partial_cyphal [default: false] — [true, false]
- launch/inno_sim.launch
- launch/hitl.launch
-
- logging_type — [standard_vtol, quadcopter]
- vehicle_params — [quadrotor, octorotor, vtol_7kg]
- mixer [default: vtol_13070_mixer] — [vtol_13070_mixer, babyshark_standard_vtol_mixer, direct_mixer]
- dynamics [default: vtol_dynamics] — [vtol_dynamics, quadcopter]
- run_rviz [default: false] — [true, false]
- run_inno_sim_bridge [default: false] — [true, false]
- run_cyphal_communicator [default: false] — [true, false]
- run_dronecan_communicator [default: false] — [true, false]
- launch/sitl.launch
-
- logging_type — [standard_vtol, quadcopter]
- sitl_vehicle — [innopolis_vtol, iris]
- vehicle_params — [quadrotor, octorotor, vtol_7kg]
- mixer [default: vtol_13070_mixer] — [vtol_13070_mixer, babyshark_standard_vtol_mixer, direct_mixer]
- dynamics [default: vtol_dynamics] — [vtol_dynamics, quadcopter]
- run_rviz [default: false] — [true, false]
- run_inno_sim_bridge [default: false] — [true, false]
- run_sitl_flight_stack [default: true] — [true, false]
- launch/dynamics.launch
-
- logging_type — [standard_vtol, quadcopter]
- sitl_vehicle [default: iris] — [innopolis_vtol, iris]
- mixer [default: vtol_13070_mixer] — [vtol_13070_mixer, babyshark_standard_vtol_mixer, direct_mixer]
- dynamics [default: vtol_dynamics] — [vtol_dynamics, quadcopter]
- vehicle_params — [quadrotor, octorotor, vtol_7kg]
- run_rviz [default: false] — [true, false]
- run_sitl_flight_stack [default: true] — [true means sitl, false means do nothing]
- run_sitl_communicator [default: false] — [true means run mavlink communicator, false means do nothing]
- run_hitl_communicator [default: false] — [true means run uavcan communicator, false means do nothing]
- run_inno_sim_bridge [default: false] — [true, false]
- run_cyphal_communicator [default: false] — [true, false]
- run_dronecan_communicator [default: false] — [true, false]
- launch/load_parameters.launch
-
- vehicle_params — [quadrotor, octorotor, vtol_7kg]
- launch/rviz.launch