High performance Spacecraft Attitude Dynamics and Control System toolbox with exposed python extention. Scalable toolbox uses Eigen3 for linear algebra and Boost for integration of system ODE . Currently there are three sample systems and more can be added provided that new systems are inherited from IBaseSystem
base interface class and follow same structure. The pyadcs
extention expose C++ classes and functions of ADCS
library to python.
- Compiled final report in pdf format tessi_DEORE_1823670.pdf
- Thesis Report repository VSCMGThesisReport
- System URDF vscmg_description
- Rigid Body - Simple free floating rigid body.
- VSCMG - Variable Speed Control Moment Gyroscope
- RW4 - Satellite with tripod configration of 4 reaction wheels
Install Linux dependencies
sudo apt-get install -y libboost-all-dev
sudo apt-get install -y libeigen3-dev
sudo apt-get install -y python3 python3-pip
Make and install
mkdir build && cd build
cmake ..
make
make install
make uninstall
Executable targets are located in bin
directory
# Rigid Body
cd build/bin
./TestRigidBody
# Variable Speed Control Moment Gyroscope
cd build/bin
./TestVSCMG
Build with python interface wrapper library. Following comand executed in build directory shall build python interface library pyadcs.so
in bin
directory on linux or pyadcs.dll
on windows.
cmake .. -DBUILD_PYTHON_LIB=True
make
To install python interface library with pip, in projecto root directory
pip install .
To uninstall python interface library
pip uninstall adcs
To use library modules in python install library with make install
, and navigate to bin
directory and run sample scripts rigid_body.py
or vscmg.py
, eg.
python rigid_body.py
.
├── include
│ └── ADCS # ADCS Core utils and interface
│ ├── Core
│ │ ├── Controllers.h
│ │ ├── IBaseSystem.h
: : :
│ │
│ └── Systems # Public headers for Systems
│ ├── RigidBody.h
│ ├── RW4.h
│ :
└── src
└── ADCS
├── py_controller.cpp # Python wrapper for controller
└── Systems # targets in Systems are classes
├── RigidBody.cpp # inherited from IBaseSystem
├── RW4.cpp
└── VSCMG.cpp
# Pull latest image from dockerhub
docker pull siddharthdeore/vscmgcpp:latest
# run container in iteractive mode
docker run --rm -it siddharthdeore/vscmgcpp:latest
# Build image from source
docker build --pull --rm -f "Dockerfile" -t vscmgcpp:latest "."
# or
# docker compose -f "docker-compose.yml" down
# run python examples e.g. vscmg
python3 vscmg.py
- Attitude control of a fast-retargeting agile nanosatellite using Neural Network based steering for Variable Speed Control Moment Gyroscopes}
@inproceedings{inproceedings,
author = {Deore, Siddharth and Santoni, Fabio and Piergentili, Fabrizio and Marzioli, Paolo},
year = {2021},
month = {06},
pages = {},
title = {Attitude control of a fast-retargeting agile nanosatellite using Neural Network based steering for Variable Speed Control Moment Gyroscopes}
}
- Design and Manufacturing of Hardware in Loop simulation testbed equipped with Variable Speed Control Moment Gyroscopes
@inproceedings{inproceedings,
author = {Deore, Siddharth and Santoni, Fabio and Piergentili, Fabrizio and Marzioli, Paolo},
year = {2021},
month = {06},
pages = {},
title = {Design and Manufacturing of Hardware in Loop simulation testbed equipped with Variable Speed Control Moment Gyroscopes}
}
This repository is maintained by:
siddharth deore |
---|