Compare commits

...

143 Commits

Author SHA1 Message Date
5ab59b9d1b Merge branch 'main' of https://git.passer.life/RoboidControl/RoboidControl-Csharp 2025-03-12 15:32:30 +01:00
1f5e57112b Added BB2B example script 2025-03-12 14:55:55 +01:00
Pascal Serrarens
608b40fa86 Improvements, alignmet with Cpp/Python 2025-03-11 17:35:03 +01:00
2c498a6dd9 Merge commit 'efa9ba852266380641e078741e3f6752c9f0faa7' 2025-03-07 15:23:08 +01:00
efa9ba8522 Updated namespace 2025-03-07 15:20:05 +01:00
c7bce31f34 Restructuring 2025-03-07 14:48:03 +01:00
9ad1ec24d0 Restructuring 2025-03-07 14:48:03 +01:00
6a443e111c Re-organised the repo 2025-03-07 14:32:18 +01:00
f1a550e7f3 Removed dependecies on UnityEngine 2025-03-07 12:23:15 +01:00
Pascal Serrarens
78d0e179df ESP32 ant following trails 2025-02-27 11:19:50 +01:00
Pascal Serrarens
0d115ee65a touch sensor is sending correctly 2025-02-25 17:42:54 +01:00
Pascal Serrarens
6dfbdc7316 Fixed incompatibilities 2025-02-25 16:53:27 +01:00
Pascal Serrarens
15ac8a399b Merge commit 'ac376338de4df35266136050d49e37c4c3f03180' into V2 2025-02-25 16:50:24 +01:00
Pascal Serrarens
f9103758e2 Touch sensor improvements 2025-02-25 16:45:29 +01:00
Pascal Serrarens
ac376338de Implemented all tests, some are failing 2025-02-25 15:46:58 +01:00
Pascal Serrarens
05cdf0328d namespace update 2025-02-25 11:32:34 +01:00
Pascal Serrarens
7d2ffeb11c Merge commit '28d3a98bea156585c804417f43fe49a3b09d88fb' 2025-02-25 11:25:31 +01:00
Pascal Serrarens
f33b105f50 First MSCKF test passed 2025-02-25 11:08:29 +01:00
Pascal Serrarens
28d3a98bea Arduino Ant random walk 2025-02-24 17:42:09 +01:00
Pascal Serrarens
c42c253362 Merge commit '8369450d222e304da8eb2d9e345bd8dd894c917f' into V2 2025-02-24 12:57:01 +01:00
Pascal Serrarens
eca5e698cd First UDP communication is working 2025-02-24 12:54:25 +01:00
Pascal Serrarens
8369450d22 Improved documentation 2025-02-21 15:49:41 +01:00
Pascal Serrarens
c1b9a8c5e6 Port MSCKF complete (from now) 2025-02-21 12:21:12 +01:00
Pascal Serrarens
b628a0c718 Updated Doxyfile 2025-02-19 17:21:39 +01:00
Pascal Serrarens
122ac3360b Remove #nullable 2025-02-19 17:02:30 +01:00
Pascal Serrarens
cd9b4a1e9e namespace change, added doc 2025-02-19 17:01:00 +01:00
Pascal Serrarens
4eb65f1312 Merge commit '383f0c179303e58d859ffe4fb4c05170bed3b1ed' into V2 2025-02-19 16:51:51 +01:00
Pascal Serrarens
383f0c1793 Init Unity documentation 2025-02-19 16:49:54 +01:00
Pascal Serrarens
7b21331afb Completed core documentation 2025-02-19 15:57:44 +01:00
Pascal Serrarens
a1d89ff1f7 Updated namespaces 2025-02-19 14:50:09 +01:00
Pascal Serrarens
d3e12c16f2 Merge commit '9e85419e35233598ba347f4af7da6f5ec033d1d2' into V2 2025-02-19 14:13:39 +01:00
Pascal Serrarens
9e85419e35 Namespace -> RoboidControl, added doc 2025-02-19 13:08:32 +01:00
Pascal Serrarens
a7f6aecb5a Fix Unity errors 2025-02-19 12:27:38 +01:00
Pascal Serrarens
6d37d8cec9 Merge commit 'dcccef221b999eb9cabe377b803fa8d92536ef63' into V2 2025-02-19 12:26:33 +01:00
Pascal Serrarens
dcccef221b Make the unit tests work again (2 are still failing) 2025-02-19 12:23:55 +01:00
Pascal Serrarens
0a75c7f4fd Downgraded to C# 9 2025-02-19 11:21:12 +01:00
Pascal Serrarens
4044b86a9d Unity Compatibility 2025-02-19 11:04:56 +01:00
Pascal Serrarens
062aafd19a Merge commit '0f844f5fad764e47bcd3c5634239e30492405fce' into V2 2025-02-19 11:04:38 +01:00
Pascal Serrarens
0f844f5fad Fixed errors and warnings in generic C# 2025-02-19 10:01:22 +01:00
Pascal Serrarens
f28aea5441 Merge branch 'main' of http://gitlab.passervr.com/passer/csharp/controlcore 2025-02-19 08:53:29 +01:00
Pascal Serrarens
5059dfbe6e Fix Unity references 2025-02-19 08:53:07 +01:00
Pascal Serrarens
86ff02a110 Working ants 2025-02-18 15:05:07 +01:00
Pascal Serrarens
923cb317af Grabbing food 2025-02-17 16:02:29 +01:00
Pascal Serrarens
6551c653c3 Touch & smell sensors 2025-02-17 12:56:39 +01:00
Pascal Serrarens
b10929619d Added initial imu processing 2025-02-17 11:53:32 +01:00
Pascal Serrarens
87744740d4 Fix merge error 2025-02-17 09:05:10 +01:00
Pascal Serrarens
458f256c47 Merge commit '24285831109e32989d22ed58121c9f09d5db940b' 2025-02-17 09:01:47 +01:00
Pascal Serrarens
d88d3a879d Fix merge error 2025-02-17 08:59:22 +01:00
Pascal Serrarens
2428583110 Merge commit '8dab67f620ebd8597b633cae4ce55b3a98f6a922' into V2 2025-02-17 08:58:46 +01:00
Pascal Serrarens
30496197ec Migrated to smell 2025-02-14 17:42:50 +01:00
Pascal Serrarens
8a709e0fd2 Fix all matrix errors 2025-02-14 13:18:23 +01:00
Pascal Serrarens
8dab67f620 completed ComputeResidualAndJacobian 2025-02-14 12:29:38 +01:00
Pascal Serrarens
d96cf9fdb2 Merge commit 'c5dc3b6bf5b8f39e91df49bdfb16fc9d68518679' 2025-02-14 11:07:59 +01:00
Pascal Serrarens
dd23355554 Residual & Jacobian progress 2025-02-14 11:07:30 +01:00
Pascal Serrarens
c5dc3b6bf5 fixed double ToVector3 2025-02-14 11:02:44 +01:00
Pascal Serrarens
1677e64d19 Merge commit 'ed128a443a787ee9f58098631106ef46db816461' into V2 2025-02-14 11:01:54 +01:00
Pascal Serrarens
a017c4de18 Aded focus 2025-02-14 10:56:44 +01:00
Pascal Serrarens
78aed40a9b Multiple ant support 2025-02-14 09:08:08 +01:00
Pascal Serrarens
3e5da90f47 Basic ant behaviour 2025-02-13 12:57:05 +01:00
Pascal Serrarens
8ea28beb42 Ported UpdateEKF 2025-02-12 12:50:53 +01:00
Pascal Serrarens
d337fba6fd completed UpdateWithGoodIds 2025-02-12 11:57:46 +01:00
Pascal Serrarens
b991153b8b Add ChiSquareTest 2025-02-12 11:38:15 +01:00
Pascal Serrarens
ed128a443a Fixes 2025-02-12 09:48:06 +01:00
Pascal Serrarens
5a9d92002d Merge commit '623d3d6156bc2cba12d5846f9e341f157d8ddd79' 2025-02-12 09:41:28 +01:00
Pascal Serrarens
623d3d6156 DistanceSensor working locally 2025-02-11 17:56:01 +01:00
Pascal Serrarens
85a19faeb4 First step to ControlCore 2025-02-11 16:02:28 +01:00
Pascal Serrarens
0307a62ed8 Merge commit '3538b7dcc0710bd848de97e738afe6a34cdba78b' 2025-02-11 14:33:38 +01:00
Pascal Serrarens
0366989199 Extended code 2025-02-11 14:25:57 +01:00
Pascal Serrarens
b56a010725 Ported LinearTriangulate 2025-02-11 11:58:21 +01:00
Pascal Serrarens
f479cfc8fa fixed Vector2Int Distance issue 2025-02-07 14:51:31 +01:00
Pascal Serrarens
dfb5a5af40 Refactoring 2025-02-06 17:33:21 +01:00
Pascal Serrarens
40d542fdc7 Acc is publishing right values 2025-02-05 11:37:22 +01:00
Pascal Serrarens
ac2785a440 Simulation basics 2025-02-05 09:34:54 +01:00
Pascal Serrarens
b1c324f36c Participant things 2025-02-04 17:25:51 +01:00
Pascal Serrarens
425cd8d6f9 Unity thing are starting to work 2025-02-04 17:15:00 +01:00
Pascal Serrarens
246a2b9a3a Simulartion env setup (WIP) 2025-02-04 16:28:20 +01:00
Pascal Serrarens
b2591ca5cc Good SVD from MathNet 2025-01-28 11:43:07 +01:00
Pascal Serrarens
caa53749f3 Further refactoring 2025-01-27 12:13:05 +01:00
Pascal Serrarens
b9d668926c Stuck a essential matrix decomposition 2025-01-24 17:40:12 +01:00
Pascal Serrarens
bed6d95916 Lots of improvements, but RANSAC still does not give the right results 2025-01-23 15:07:24 +01:00
Pascal Serrarens
e178306128 Added RANSAC 2025-01-22 15:39:15 +01:00
Pascal Serrarens
941cdd17db All pipline components present (but untested) 2025-01-21 14:57:48 +01:00
Pascal Serrarens
3538b7dcc0 Performance is better, but score is lower (<1%) 2025-01-16 17:47:45 +01:00
Pascal Serrarens
49f5011823 Bytes -> Binary 2025-01-16 09:24:49 +01:00
Pascal Serrarens
c2aff1ee9a Added AirZeroG Sim, Acc is working properly now 2025-01-15 17:50:05 +01:00
Pascal Serrarens
502a68eaff Added initial Accelerometer 2025-01-15 14:13:51 +01:00
Pascal Serrarens
958cbbd2ed Updated gitignore 2025-01-14 12:08:08 +01:00
Pascal Serrarens
b28a6bd3d9 Merge commit 'a8983f5a7a1bff05017b592a6e8b23208f2aac3c' 2025-01-14 12:06:50 +01:00
Pascal Serrarens
a8983f5a7a thing constuction registration 2025-01-14 09:11:13 +01:00
Pascal Serrarens
e562e2433c Cleanup 2025-01-14 09:10:55 +01:00
Pascal Serrarens
97afb3b730 Cleanup 2025-01-14 09:10:27 +01:00
Pascal Serrarens
dc165edf79 NW PoC works 2025-01-08 17:11:54 +01:00
Pascal Serrarens
735ad3b6dc Added Control Core 2025-01-06 10:35:00 +01:00
Pascal Serrarens
338936ace5 Improve unit tests, cleanup 2025-01-02 10:17:09 +01:00
Pascal Serrarens
02920a56e2 Client/NwId exchange works 2025-01-02 09:30:33 +01:00
Pascal Serrarens
b9e28dc421 Alinged with Python code 2025-01-01 09:58:15 +01:00
Pascal Serrarens
f99d4fb1b7 Fixed issues, added test project 2024-12-31 10:11:08 +01:00
Pascal Serrarens
dd2cbf1646 Merge branch 'main' of http://gitlab.passervr.com/passer/csharp/controlcore 2024-12-31 09:05:00 +01:00
Pascal Serrarens
8bfa6dcea9 Exclude doxygen lof 2024-12-31 09:04:57 +01:00
Pascal Serrarens
d6203e1dd1 ClientMsg code optimization 2024-12-31 09:03:21 +01:00
Pascal Serrarens
478d028c09 Merge commit 'cceba4bbcf61a4ca66eacb5fa5b41de1c99c7da6' into V2 2024-12-31 08:52:32 +01:00
Pascal Serrarens
49920220c3 Local playback is working a bit 2024-12-31 08:46:53 +01:00
Pascal Serrarens
cceba4bbcf Merge branch 'main' of http://gitlab.passervr.com/passer/csharp/controlcore 2024-12-30 15:37:05 +01:00
Pascal Serrarens
2f7bc564a8 Added doxygen 2024-12-30 15:36:29 +01:00
Pascal Serrarens
1429f0a9d6 Make the local things work (somewhat) 2024-12-30 15:35:06 +01:00
Pascal Serrarens
e532f31236 Completed migration to controlcore 2024-12-18 17:02:12 +01:00
Pascal Serrarens
ae6f9fa395 Support Destroy 2024-12-17 12:11:02 +01:00
Pascal Serrarens
9b44918eaf Client->Participant
Custom msg is working now
2024-12-16 12:48:59 +01:00
Pascal Serrarens
b34c536c68 Fixed field order in spherical values in messages 2024-12-14 12:42:14 +01:00
Pascal Serrarens
e975f219f4 Merge commit '17fa48a26673454f22f9c48f76efb5a36c9ffc5a' into V2 2024-12-14 11:51:19 +01:00
Pascal Serrarens
17fa48a266 Ant is hopping around (pose does not look right yet...) 2024-12-13 13:37:53 +01:00
Pascal Serrarens
0d022c26ef Spawned a GLB ant! 2024-12-12 17:42:45 +01:00
Pascal Serrarens
87fbddb2b5 Merge commit '7e80a360274abb6d8f8299cdd2f6ada26bb5ce3c' into pascalV3 2024-12-12 15:46:57 +01:00
Pascal Serrarens
7e80a36027 Improved ControlCore 2024-12-11 15:23:32 +01:00
Pascal Serrarens
1d2da54a17 ControlCore improvements 2024-12-11 14:53:18 +01:00
Pascal Serrarens
0f0fcfdfbf Improved reloading support 2024-12-11 11:29:01 +01:00
Pascal Serrarens
cdd1a7a53f Fix name message 2024-12-09 17:22:30 +01:00
Pascal Serrarens
6e5b923f97 Add networkId to msg constructors 2024-12-09 17:13:38 +01:00
Pascal Serrarens
71ca0eb1f8 Fix modelURl message 2024-12-09 17:03:30 +01:00
Pascal Serrarens
e9a29f253c Added networkId to all relevant messages 2024-12-09 16:59:26 +01:00
Pascal Serrarens
2e4e4c4693 Multiclient is working 2024-12-09 14:02:32 +01:00
Pascal Serrarens
aebe4c0f8e Arduino Ant now works. 2024-12-09 12:06:12 +01:00
Pascal Serrarens
d3cb4c1e47 Merge commit 'fbeed8e80922152c3404fbd5d2b243ae95792ec1' into V2 2024-12-09 10:04:55 +01:00
Pascal Serrarens
fbeed8e809 Used Client override for processing messages 2024-12-09 10:02:19 +01:00
Pascal Serrarens
394dc220ca Merge commit '355dd5c1c519cf07cfb6b9f9200f7f7311e68f20' into V2 2024-12-06 17:50:43 +01:00
Pascal Serrarens
355dd5c1c5 Fixed ThingMsg format 2024-12-06 17:48:55 +01:00
Pascal Serrarens
becb194d64 Merge commit 'f35d60369daf41a4fcd987ef8b31bd384b9536ba' into V2 2024-12-06 17:41:13 +01:00
Pascal Serrarens
9b53eee21e Merge commit 'a48ae12fc2f6d4a99119c128e78bf4b103e607c3' into V2 2024-12-06 17:40:17 +01:00
Pascal Serrarens
f35d60369d Further improvements 2024-12-06 17:38:17 +01:00
Pascal Serrarens
a48ae12fc2 ControlCore mostly works (but I don't see a model on the site server yet) 2024-12-06 16:30:24 +01:00
Pascal Serrarens
d8fc41f1c4 First step for ControlCore support 2024-12-06 15:39:36 +01:00
Pascal Serrarens
673fd3d258 Reimplemented almost everything in C# 2024-12-05 18:06:19 +01:00
Pascal Serrarens
9919aa6578 Replaced use of Thing type with the values 2024-12-05 14:11:58 +01:00
Pascal Serrarens
6f12854d4f Completed messages from Unity Ants 2024-12-05 14:05:54 +01:00
Pascal Serrarens
97ad80e805 Added namespace 2024-12-05 10:41:12 +01:00
Pascal Serrarens
8e6f1b6518 First attempt Messages.cs 2024-12-05 09:55:53 +01:00
Pascal Serrarens
224dd52363 Updated Messages.cs 2024-12-05 09:36:39 +01:00
Pascal Serrarens
7275471e4f Merge commit 'ad6c93258b7441218eca11c9c2aa1fcfbf4a3177' into pascalV3 2024-12-05 09:31:16 +01:00
Pascal Serrarens
ad6c93258b Initial commit 2024-12-05 09:26:20 +01:00
Pascal Serrarens
b16a561587 Removed file again 2024-12-05 09:24:01 +01:00
Pascal Serrarens
2fb932c4cb Add file to subtree? 2024-12-05 09:22:34 +01:00
Pascal Serrarens
4de97dace7 Configure SAST in .gitlab-ci.yml, creating this file if it does not already exist 2024-12-05 07:49:42 +00:00
Pascal Serrarens
8b009003c4 Initial commit 2024-12-05 07:49:41 +00:00
5 changed files with 60 additions and 0 deletions

8
DoxyGen.meta Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1989654e8505b074d9a0280de8649b7d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

7
DoxyGen/Doxyfile.meta Normal file
View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: db5f4144ac032d649994939f1d833737
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: dd31613f75db97f4ca4d408bfce69746
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 186de70a0b3d098409ce1a5ec887b1ae
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

31
Examples/BB2B/Program.cs Normal file
View File

@ -0,0 +1,31 @@
using System.Threading;
using RoboidControl;
class BB2B {
static void Main() {
// The robot's propulsion is a differential drive
DifferentialDrive bb2b = new();
// It has a touch sensor at the front left of the roboid
TouchSensor touchLeft = new(bb2b);
// and other one on the right
TouchSensor touchRight = new(bb2b);
// Do forever:
while (true) {
// The left wheel turns forward when nothing is touched on the right side
// and turn backward when the roboid hits something on the right
float leftWheelSpeed = touchRight.touchedSomething ? -600.0f : 600.0f;
// The right wheel does the same, but instead is controlled by
// touches on the left side
float rightWheelSpeed = touchLeft.touchedSomething ? -600.0f : 600.0f;
// When both sides are touching something, both wheels will turn backward
// and the roboid will move backwards
bb2b.SetWheelVelocity(leftWheelSpeed, rightWheelSpeed);
// Update the roboid state
bb2b.Update(true);
// and sleep for 100ms
Thread.Sleep(100);
}
}
}