-
Notifications
You must be signed in to change notification settings - Fork 0
/
readme.txt
83 lines (56 loc) · 2.56 KB
/
readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
This system is a prove of concept for an autonomous robot composed by a set of microservices over a dotnet core framwework.
The communication between different microservices relies on Redis (http://redis.io), which is installed on a respberry pi board.
The installation is very straightforward (https://amalgjose.com/2020/08/11/how-to-install-redis-in-raspberry-pi/), I just changed the version for the last available in Redis.
Regarding the hardware:
- RoboClaw ST2x45A https://www.basicmicro.com/RoboClaw-ST-2x45A-Motor-Controller_p_27.html
- Encoders https://www.amazon.com/dp/B07MX5DWF3?ref_=cm_sw_r_cp_ud_dp_KMRBPC4NE24PTZ410QZ7
- Jetson Nano
- RPLidar https://www.amazon.com/dp/B082FD34R5?ref_=cm_sw_r_cp_ud_dp_1RJMH4ZFKQ35K4NV25PB
- RaspberryPI (x3) + TouchScreen Display
- Switch
- 2 AGM Batteries 12V 35A
- XBox Controller
Redis Configuration:
nano redis.conf
#comment NETWORKING part to allow connect from outside
#bind 127.0.0.1 -::1
#set protected mode to disabled
protected-mode no
~/redis-62-6/src $ ./redis-server ../redis.conf
DOTNET: Used dotnet sdk 6.0
https://mycsharpdeveloper.wordpress.com/2021/09/21/installing-net-6-on-raspberry-pi-4-and-get-cpu-temperature-via-c/
How change autostart in LXDE:
/etc/xdg/lxsession/LXDE-pi/autostart
Microservices:
CartographerService:
-------------------
Used to MAP. Generates a LOG file with the encoders and Lidar capture.
The idea is to generate and test a mapping from this log in offline mode.
EncoderESP32Service:
-------------------
DEPRECATED. Alternative to read the encoders from an ESP32 connected directly to the encoders.
Now I am using BASICMICRO drive board since it manages the synchronization between the drives and the encoders directly.
GamePadService:
--------------
Exposes the XBox controller movements.
JetsonDetectionService:
----------------------
Exposes the Jetson detection library in a microservices environment (run a dotnet microservice on top of a python image detection library)
LidarService:
------------
Service which exposes the Lidar scans
ManualControlService:
--------------------
Service to control manually, using the XBox controller, the movement of the robot interfacing the XBox services with the RoboclawService.
MappingService:
--------------
SLAM implementation. [working progress]
RoboclawService:
---------------
Service to control the drive and expose the board signals (Current, Alarms, Encoders, Voltage, Speed)
SabertoothService:
-----------------
Deprecated. User before switch to Roboclaw board.
RobotHMI:
--------
Blazor UI HMI. Connects to microservices to show live status.