Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cvmrs #15

Open
wants to merge 133 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
1765b36
Add loadcell driver
whoenig Feb 19, 2021
c79592e
Allow to configure battery compensation with param motor.batCompensation
whoenig Feb 19, 2021
fb214bd
Added rpm measurement deck driver for the rpm proto deck.
tobbeanton Feb 19, 2021
544c39f
loadcell improvements
whoenig Feb 26, 2021
7cdca48
add nau7802 driver and Python scripts
whoenig Mar 1, 2021
a262401
Merge branch 'master' into dev-systemId
whoenig Mar 3, 2021
ebcd9ff
loadcell drv: do not call i2cdevInit
whoenig Mar 5, 2021
d4d8725
Re-arranged eeprom connecton tests that failed and didn't make sense.
tobbeanton Mar 5, 2021
31ded2c
initial nau7802 device driver (untested)
whoenig Mar 5, 2021
bf9eb04
I2C @ 100k and small change to loadcell driver.
tobbeanton Mar 5, 2021
2149498
nau7802: minor tweaks
whoenig Mar 5, 2021
c97b522
NAU7802 reporting measurements
whoenig Mar 9, 2021
57b695e
add support for data rdy
whoenig Mar 12, 2021
f35d92b
exti cleanup
whoenig Mar 12, 2021
7e3dc50
bcRpm: Fixed rmp mapping and increased crtp queue size.
tobbeanton Mar 12, 2021
29d77fa
Added ACS37800 driver for system-id deck.
tobbeanton Mar 12, 2021
5c1dae5
nau7802: fix i2c bugs caused by wrong i2cwritebits function
whoenig Mar 12, 2021
8f1ff02
add log_start_v2 function to allow sample periods < 10ms
whoenig Mar 12, 2021
add55d7
add motor delay test script
whoenig Mar 12, 2021
4e26b72
Merge branch 'master' into dev-systemId
whoenig Mar 13, 2021
0760296
fix incorrect merge
whoenig Mar 13, 2021
945e0a8
Merge branch 'master' into dev-systemId
whoenig Mar 13, 2021
80d82e4
disable tumble check, since the CF is upside down in force stand
whoenig Mar 13, 2021
f5c74b4
Merge branch 'master' into dev-systemId
whoenig Mar 19, 2021
f0532dd
avoid compiler error for unused isTumbledCheck function
whoenig Mar 19, 2021
fec0e0d
acs37800: fix compiler errors
whoenig Mar 19, 2021
b5f9a8c
Fixed some factional bits in ACS37800 and other improvments.
tobbeanton Mar 19, 2021
dc251e0
new gain and plots
whoenig Mar 19, 2021
287ddd4
Merge branch 'master' into dev-systemId
whoenig Mar 19, 2021
581fa66
updated scripts for use with brushless version
whoenig Mar 19, 2021
ad50f36
Fixed ASC37800 scaling.
tobbeanton Mar 20, 2021
713a16e
update readme
whoenig Mar 23, 2021
a405976
switch pwm to 16-bit
whoenig Mar 23, 2021
3add3cc
Merge branch 'master' into dev-systemId
whoenig Mar 23, 2021
01b7cd9
asc73800: Added milli-volt/amp/watt log variables
tobbeanton Mar 24, 2021
b8c2486
Merge branch 'dev-systemId' of https://github.com/bitcraze/crazyflie-…
tobbeanton Mar 24, 2021
60ae7f3
Merge remote-tracking branch 'origin/master' into dev-systemId
tobbeanton Apr 23, 2021
dc4774f
Merge branch 'master' into dev-systemId
whoenig Sep 14, 2021
0fe12ae
fix build errors after merge
whoenig Sep 14, 2021
50f719c
Merge remote-tracking branch 'bitcraze/master' into dev-systemId
whoenig Sep 21, 2021
4b99fcc
add code to send state information to GAP8
whoenig Jan 21, 2022
e22f980
add neural-swarm2 controllers
whoenig Jan 26, 2022
f7f81c9
add controller prototype
whoenig Jan 28, 2022
9f8ddd2
add code to send state information to GAP8
whoenig Jan 21, 2022
834c0dc
small improvements
whoenig Feb 1, 2022
2a61a86
PID controller: improve handling of changing yaw angles
whoenig Mar 2, 2022
ab9d45f
Merge pull request #1 from IMRCLab/cvmrs_feature_pid_ctrl
whoenig Mar 2, 2022
321640a
Merge branch 'master' into col-trans
whoenig Mar 29, 2022
753e405
fix build error
whoenig Mar 29, 2022
25094c6
Merge branch 'master' into dev-systemId
whoenig Mar 29, 2022
e674618
Merge branch 'dev-systemId' into col-trans
whoenig Mar 29, 2022
3901889
Merge origin/master -> origin/cvmrs
whoenig Mar 31, 2022
5e22987
add dbg
whoenig Apr 21, 2022
78a0d9d
Merge branch 'master' into cvmrs
whoenig Apr 22, 2022
eedef6c
reduce frequency to be able to stream images
whoenig Apr 25, 2022
b8e96e5
usecTime synchronization at first mocap event
whoenig Apr 27, 2022
366b2f4
Merge pull request #2 from IMRCLab/cvmrs-clock-sync
whoenig Apr 28, 2022
d4769f1
two consecutive images
Apr 28, 2022
d3bb1ad
Merge branch 'master' into cvmrs
whoenig May 16, 2022
308ed10
Update cvmrs task freq 1 -> 100
whoenig May 16, 2022
40d7047
Merge branch 'cvmrs' of github.com:IMRCLab/crazyflie-firmware into cvmrs
May 16, 2022
4eeebdd
Merge remote-tracking branch 'bitcraze/master' into cvmrs
whoenig Jun 1, 2022
d2c2b5e
add parameter for yawrate in hlcommander
whoenig Jun 1, 2022
4770f0d
Merge branch 'cvmrs' of github.com:IMRCLab/crazyflie-firmware into cvmrs
Jun 2, 2022
0c5b158
automated flight with auto-yaw
Jun 7, 2022
5df3aff
Merge pull request #4 from IMRCLab/auto-flight-with-auto-yaw
whoenig Jun 7, 2022
8fc634c
Merge pull request #3 from IMRCLab/feature_yawrate
whoenig Jun 7, 2022
fced02f
Switch to UART for STM->GAP8
whoenig Jun 8, 2022
aa27bfd
Merge pull request #5 from IMRCLab/feature_stmgap8_uart
whoenig Jun 8, 2022
90deb54
enable tumble check
whoenig Jun 8, 2022
ae2f5d0
Merge tag '2022.05' into col-trans
whoenig Jun 8, 2022
e5074d9
update power_distribution logic
whoenig Jun 9, 2022
23f8a99
add Lee controller to the bindings
whoenig Jun 9, 2022
1a70465
Merge branch 'cvmrs' of github.com:IMRCLab/crazyflie-firmware into cvmrs
Jun 10, 2022
bbd3682
ability to change exposure settings via params
whoenig Jun 13, 2022
b5e8d37
improved controller gains
Khaledwahba1994 Jun 13, 2022
84a92be
Merge pull request #7 from IMRCLab/feature_better_gains
Khaledwahba1994 Jun 13, 2022
09dd8d9
the update of states should be from rpy and not quaternions
Khaledwahba1994 Jun 13, 2022
bc19c5e
Merge pull request #6 from IMRCLab/feature_exp_ctrl
whoenig Jun 14, 2022
6668e57
Merge branch 'cvmrs' of github.com:IMRCLab/crazyflie-firmware into cvmrs
Jun 14, 2022
da0ce52
fixed bugs and found good gains
Khaledwahba1994 Jun 14, 2022
30e5a44
attitude feedback from quaternions
Khaledwahba1994 Jun 14, 2022
860db28
add jerk to setpoint
whoenig Jun 14, 2022
b21993c
Merge branch 'edit_lee' of github.com:IMRCLab/crazyflie-firmware into…
whoenig Jun 14, 2022
762f3a8
final tuning and changing of logging parameters for lee controller
Khaledwahba1994 Jun 17, 2022
084fa97
Merge pull request #8 from IMRCLab/edit_lee
whoenig Jun 17, 2022
933e196
Merge remote-tracking branch 'bitcraze/master' into cvmrs
whoenig Jun 17, 2022
3538b45
Merge remote-tracking branch 'bitcraze/master' into col-trans
whoenig Jun 17, 2022
37c44a0
Merge branch 'col-trans' into cvmrs
whoenig Jun 17, 2022
5cfc63a
Merge branch 'cvmrs' of github.com:IMRCLab/crazyflie-firmware into cvmrs
Jun 20, 2022
28a0731
revert some unintended changes
whoenig Jun 20, 2022
519f023
add yawrate desired
Khaledwahba1994 Jun 20, 2022
1c238bf
yawrate edit
Khaledwahba1994 Jun 20, 2022
dadd9e7
switch to radians
Khaledwahba1994 Jun 20, 2022
fe6a99f
add integral gains for attitude and position
Khaledwahba1994 Jun 24, 2022
e39187a
add powerDist logging variables to detect motor saturation
whoenig Jun 27, 2022
77be530
edit yaw polynomial final condition
Khaledwahba1994 Jun 27, 2022
bb4b7a1
add framework for lee_payload controller
whoenig Jun 27, 2022
3d2f39c
Merge branch 'lee_payload' of https://github.com/IMRCLab/crazyflie-fi…
Khaledwahba1994 Jun 29, 2022
59e1da2
Merge branch 'saturation_logging' of https://github.com/IMRCLab/crazy…
Khaledwahba1994 Jul 1, 2022
db5c6a3
add lee payload controller
Khaledwahba1994 Jul 1, 2022
b594720
added the lee payload controller and tested in simulation
Khaledwahba1994 Jul 1, 2022
e558402
add the desired omega for cable and to the cable controller, with som…
Khaledwahba1994 Jul 4, 2022
2b0ae80
fix goal yaw when landing and taking off
Khaledwahba1994 Jul 4, 2022
63447b0
add parameters to change from crazyswarm
Khaledwahba1994 Jul 5, 2022
6022da0
testing hovering case
Khaledwahba1994 Jul 8, 2022
806b696
Merge pull request #9 from IMRCLab/add-yaw-lee
Khaledwahba1994 Jul 15, 2022
539a262
add lee Payload controller
Khaledwahba1994 Jul 15, 2022
6f0c97e
Merge pull request #11 from IMRCLab/lee_payload
Khaledwahba1994 Jul 15, 2022
13f4c4e
Merge branch 'col-trans' into saturation_logging
Khaledwahba1994 Jul 15, 2022
514242b
Merge pull request #10 from IMRCLab/saturation_logging
Khaledwahba1994 Jul 15, 2022
646a903
refactor controllerLee to use a state/param struct
whoenig Jul 18, 2022
11b09e1
Merge pull request #12 from IMRCLab/feature_adjustable_gains
Khaledwahba1994 Jul 20, 2022
c44369c
pass all tests (states of payload should be added), edits in payload …
Khaledwahba1994 Jul 25, 2022
d4ae638
final edits for payload lee controller
Khaledwahba1994 Jul 26, 2022
2141106
refactor controllerLeePayload to a use a state/param struct
Khaledwahba1994 Jul 28, 2022
c6eb31f
Merge pull request #13 from IMRCLab/feature_adjustable_gains_payload
Khaledwahba1994 Jul 29, 2022
eab3eee
Merge remote-tracking branch 'bitcraze/master' into cvmrs
whoenig Aug 15, 2022
b069963
fix build error
whoenig Aug 16, 2022
d356bef
Merge remote-tracking branch 'bitcraze/master' into cvmrs
whoenig Aug 22, 2022
e87b3bd
Merge remote-tracking branch 'origin/col-trans' into cvmrs
whoenig Aug 22, 2022
874cf08
fixing Cf+aideck crashes while taking off
Nov 2, 2022
21e6ad4
Merge remote-tracking branch 'bitcraze/master' into cvmrs
whoenig Nov 9, 2022
846b699
cpx: switch state to uncompressed version
whoenig Nov 21, 2022
0a75ab9
fixing zero state info for aideck
Nov 22, 2022
0d0c5db
Merge pull request #16 from IMRCLab/cvmrs-fullstate
whoenig Nov 22, 2022
f1c85dd
switch usddeck.c to IO3
whoenig Jan 19, 2023
fa3ee9f
Params: add missing callback for writeByName
whoenig Jan 11, 2023
cd07d7f
usec: add support for usec.reset
whoenig Jan 20, 2023
4313e96
bugfix when not using ai deck
whoenig Jan 24, 2023
80c5e63
disable motors; allow to set isQuadFlying param
whoenig Feb 9, 2023
cd4548e
improved auto-yaw
whoenig Feb 21, 2023
1c88053
jpeg stream mode
whoenig Feb 27, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
"**/bower_components": true
},
"files.associations": {
"bootloader.h": "c"
}
"bootloader.h": "c",
"controller_lee.h": "c"
},
"C_Cpp.errorSquiggles": "Disabled"
}
46 changes: 46 additions & 0 deletions bindings/cffirmware.i
Original file line number Diff line number Diff line change
@@ -1,6 +1,46 @@
%module cffirmware
%include <stdint.i>

%include "cpointer.i"
%include "carrays.i"
// %typemap(in) float[ANY] (float temp[$1_dim0]) {
// int i;
// if (!PySequence_Check($input)) {
// PyErr_SetString(PyExc_ValueError, "Expected a sequence");
// SWIG_fail;
// }
// if (PySequence_Length($input) != $1_dim0) {
// PyErr_SetString(PyExc_ValueError, "Size mismatch. Expected $1_dim0 elements");
// SWIG_fail;
// }
// for (i = 0; i < $1_dim0; i++) {
// PyObject *o = PySequence_GetItem($input, i);
// if (PyNumber_Check(o)) {
// temp[i] = (float) PyFloat_AsDouble(o);
// } else {
// PyErr_SetString(PyExc_ValueError, "Sequence elements must be numbers");
// SWIG_fail;
// }
// }
// $1 = temp;
// }

%typemap(memberin) float [ANY] {
int i;
for (i = 0; i < $1_dim0; i++) {
$1[i] = $input[i];
}
}

%typemap(out) float [ANY] {
int i;
$result = PyList_New($1_dim0);
for (i = 0; i < $1_dim0; i++) {
PyObject *o = PyFloat_FromDouble((double) $1[i]);
PyList_SetItem($result,i,o);
}
}

// ignore GNU specific compiler attributes
#define __attribute__(x)

Expand All @@ -19,6 +59,9 @@
#include "num.h"
#include "controller_mellinger.h"
#include "power_distribution.h"
#include "controller_sjc.h"
#include "controller_lee.h"
#include "controller_lee_payload.h"
%}

%include "math3d.h"
Expand All @@ -30,6 +73,9 @@
%include "imu_types.h"
%include "controller_mellinger.h"
%include "power_distribution.h"
%include "controller_sjc.h"
%include "controller_lee.h"
%include "controller_lee_payload.h"

%inline %{
struct poly4d* piecewise_get(struct piecewise_traj *pp, int i)
Expand Down
3 changes: 3 additions & 0 deletions bindings/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@
"src/modules/src/controller_mellinger.c",
"src/modules/src/power_distribution_quadrotor.c",
# "src/modules/src/power_distribution_flapper.c",
"src/modules/src/controller_sjc.c",
"src/modules/src/controller_lee.c",
"src/modules/src/controller_lee_payload.c",
]

cffirmware = Extension(
Expand Down
3 changes: 3 additions & 0 deletions configs/cf2_defconfig
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
CONFIG_PLATFORM_CF2=y
CONFIG_APP_ENABLE=y
CONFIG_APP_PRIORITY=1
CONFIG_APP_STACKSIZE=350
Loading