Python Library for starting and managing simulations in the Intelligent Quads Cloud
Project description
Python-IQ-Sim
This repo is a python library for controlling starting stopping and managing simulations running in the Intelligent Quads Cloud.
Installation
pip install python-iq-sim
Generate Docs
pydoc-markdown -I iq_sim -m iq_sim --render-toc > docs/iq_sim.md
Documentation Available
https://intelligent-quads.gitbook.io/python-iq-sim-documentation/
Example
import iq_sim
import os
from pymavlink import mavutil
token = os.getenv("IQ_SIM_TOKEN")
api = iq_sim.iq_sim(token)
sim_id = api.start_sim()
api.wait_for_sim_ready(sim_id)
connection_info = api.get_connection(sim_id)
print(connection_info)
conn_str = f"tcp:{connection_info['ip']}:{connection_info['port']}"
mavlink_conn = mavutil.mavlink_connection(conn_str)
mavlink_conn.wait_heartbeat()
print("Heartbeat from system (system %u component %u)" % (mavlink_conn.target_system, mavlink_conn.target_system))
# add pymavlink script here
api.stop_sim(sim_id)
Customize Simulation Configuration
Simulation Configuration is in the form of:
{
"sim_config": [
{
"sim_type": "default-sitl",
"vehicle_type": "ArduCopter",
"vehicle_model": "X",
"instances": "1",
"flight_controls": "Ardupilot",
"fc_version": "Copter-4.2.3",
"latlonaltheading": [
"-35.363261",
"149.16523",
"584",
"353"
]
}
]
}
the default config is available by accessing iq_sim().sim_config. This can be modified and passed to the start_sim method as shown below:
import iq_sim
import os
from pymavlink import mavutil
token = os.getenv("IQ_SIM_TOKEN")
api = iq_sim.iq_sim(token)
config = api.sim_config
config["sim_config"][0]["instances"] = "2"
sim_id = api.start_sim(config)
api.wait_for_sim_ready(sim_id)
connection_info = api.get_connection(sim_id)
print(connection_info)
conn_str = f"tcp:{connection_info['ip']}:{connection_info['port']}"
mavlink_conn = mavutil.mavlink_connection(conn_str)
mavlink_conn.wait_heartbeat()
print("Heartbeat from system (system %u component %u)" % (mavlink_conn.target_system, mavlink_conn.target_system))
# add pymavlink script here
api.stop_sim(sim_id)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file python-iq-sim-0.0.4.tar.gz.
File metadata
- Download URL: python-iq-sim-0.0.4.tar.gz
- Upload date:
- Size: 3.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa12829d5a7c4575b7697a70472ea08ca678e95f4c1a52f7f2e0453da8cb3889
|
|
| MD5 |
e767dcecdbb534eddb40f454f95059d3
|
|
| BLAKE2b-256 |
1c6011320a4046e9cb5430f443c7086052bc6d28fc3b6c5e41feb74314438e5f
|
File details
Details for the file python_iq_sim-0.0.4-py3-none-any.whl.
File metadata
- Download URL: python_iq_sim-0.0.4-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98a7bae3bab3f2c391b7f51194143cee0ca7efbe077225796d3259eb34ad6c54
|
|
| MD5 |
721673e3bb0bfb6a917628ecd7d6778f
|
|
| BLAKE2b-256 |
d26da8566d2321b25bc29271a934ce14e8e534782c21cdd671cae11883d76519
|