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

152 first run of 2024 robot #159

Merged
merged 36 commits into from
Apr 21, 2024
Merged

152 first run of 2024 robot #159

merged 36 commits into from
Apr 21, 2024

Conversation

gdoffe
Copy link
Contributor

@gdoffe gdoffe commented Apr 11, 2024

Batch of set and improvments to make the 2024 robot almost functional.

gdoffe added 5 commits April 8, 2024 16:09
The malloc monitor monitor traces malloc calls (thus new calls too), so
new_guardian is not needed anymore.

Signed-off-by: Gilles DOFFE <[email protected]>
New GPIO mock framework in RIOT prevents spidev from working as gpio_t
is not an integer leading to such kind of errors:

RIOT/cpu/native/periph/spidev_linux.c: In function ‘spi_acquire’:
RIOT/cpu/native/periph/spidev_linux.c:48:24: error: comparison between
pointer and integer [-Werror]
   48 | #define IS_HW_CS(x) (x < UINT_MAX && x >= UINT_MAX - SPI_MAXCS )
      |                        ^
RIOT/cpu/native/periph/spidev_linux.c:162:9: note: in expansion of macro
‘IS_HW_CS’
  162 |     if (IS_HW_CS(cs)) {
      |         ^~~~~~~~
RIOT/cpu/native/periph/spidev_linux.c:48:40: error: comparison between
pointer and integer [-Werror]
   48 | #define IS_HW_CS(x) (x < UINT_MAX && x >= UINT_MAX - SPI_MAXCS )
      |                                        ^~

Signed-off-by: Gilles DOFFE <[email protected]>
All these files are drivers C++ API and should be moved beside their
corresponding low level drivers.
Remove them for now, they will be reactivated at their right place
according to future COGIP needs.

Signed-off-by: Gilles DOFFE <[email protected]>
Since commit 0c2cfe99e69, RIOT-OS now needs to specify native 32 or 64
bits architecture.

Signed-off-by: Gilles DOFFE <[email protected]>
@gdoffe gdoffe linked an issue Apr 11, 2024 that may be closed by this pull request
@gdoffe gdoffe force-pushed the 152-first-run-of-2024-robot branch 3 times, most recently from 90f594f to 353eae3 Compare April 12, 2024 22:16
@ecourtois ecourtois self-requested a review April 14, 2024 16:25
@ecourtois ecourtois self-requested a review April 17, 2024 21:55
Copy link
Contributor

@ecourtois ecourtois left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM after the few pending fixes.

gdoffe added 16 commits April 21, 2024 02:06
Support I2C2 on PA9 and PA8 pins.
Also setup LX servo dedicated UART.

Signed-off-by: Gilles DOFFE <[email protected]>
The GPIO expander is not used anymore, remove it.

Signed-off-by: Gilles DOFFE <[email protected]>
Presence of __dso_handle signal has been solved in RIOT by PR 20348.
Thus removal of -nostartfiles option is no more necessary.
Also CXXEXFLAGS setup can be done before include of RIOT
Makefile.include

[1] RIOT-OS/RIOT#20348

Signed-off-by: Gilles DOFFE <[email protected]>
Remote flashing needs a remote user to copy file through ssh. As COGIP
linux board is a Raspberry Pi4, the user is root.

Signed-off-by: Gilles DOFFE <[email protected]>
As controllers were pushed back, accessing them through an iterator or
by wrong index mix controllers.
Fix this by calling front() and back() to get each controller.

Signed-off-by: Gilles DOFFE <[email protected]>
Add a flag to disable speed filtering, for example for calibration
purposes.

Signed-off-by: Gilles DOFFE <[email protected]>
Use pointer on speed order and check if speed order is upper than
minimal speed.

Signed-off-by: Gilles DOFFE <[email protected]>
Position error sign can only be set if position error is not zero.

Signed-off-by: Gilles DOFFE <[email protected]>
As the deceleration is related to the distance error, it has to be
computed by pose straight filter.
This allows to force a deceleration profile according to the remaining
distance to the target point and the current speed.

Signed-off-by: Gilles DOFFE <[email protected]>
The CAN_EFF_FLAG allows to use 29 bits CAN message identifiers.
If not specified, only 11 bits identifiers can be used.

Signed-off-by: Gilles DOFFE <[email protected]>
The pose straight filter now uses an internal state machine to ensure
transitions between the stages of moving towards a point.
The main difference with the old state machine is that once a stage is
passed, it cannot be revisited without resetting the filter.

Signed-off-by: Gilles DOFFE <[email protected]>
The robot must continue to control its position on the point even when
the point is reached.

Signed-off-by: Gilles DOFFE <[email protected]>
Fix motion control motors parameters according to the new 2024 motion
control platform.

Signed-off-by: Gilles DOFFE <[email protected]>
@gdoffe gdoffe force-pushed the 152-first-run-of-2024-robot branch from 353eae3 to 66b74f6 Compare April 21, 2024 00:17
@gdoffe gdoffe force-pushed the 152-first-run-of-2024-robot branch from 66b74f6 to a69caec Compare April 21, 2024 00:23
gdoffe added 15 commits April 21, 2024 02:30
With CAN bus, there is now several hardware platforms, each one
dedicated to a specific task.
Now that pegasus has been cleaned of actuators, it can be dedicated to
motion control task.

Signed-off-by: Gilles DOFFE <[email protected]>
This platform manage most of 2024 main robot actuators except both front
lifts.

Signed-off-by: Gilles DOFFE <[email protected]>
To keep module name consistency.

Signed-off-by: Gilles DOFFE <[email protected]>
This application relies on pf-robot-actuators and manage most of 2024
actuators, except front lifts.

Signed-off-by: Gilles DOFFE <[email protected]>
This application has become legacy and can be removed.

Signed-off-by: Gilles DOFFE <[email protected]>
This is the application for 2024 PAMI robots.
All PAMIs will share the same application.

Signed-off-by: Gilles DOFFE <[email protected]>
On PAMI there is still three UARTS:
* Console UART
* LX Servo UART
* UartPB UART

Signed-off-by: Gilles DOFFE <[email protected]>
Update configuration after testing.

Signed-off-by: Gilles DOFFE <[email protected]>
…straight filter

As the pose straight filter state machine has changed, it implies some
updates on motion control.

Signed-off-by: Gilles DOFFE <[email protected]>
Update parameters after testing.

Signed-off-by: Gilles DOFFE <[email protected]>
Following tests, all applications need at least nearly 5120 bytes of
main stack. Needs may vary due to architecture
To prevent too tighten size and give flexibility to incoming
development, oversize the stack to 8192 as the remaining flash memory
allows it.

Signed-off-by: Gilles DOFFE <[email protected]>
As each platform handles some specific messages, add a default filter
when initializing CanProtobuf object.
This avoids to process unexpected messages.

Signed-off-by: Gilles DOFFE <[email protected]>
@gdoffe gdoffe force-pushed the 152-first-run-of-2024-robot branch from a69caec to ef9df9f Compare April 21, 2024 00:32
@gdoffe gdoffe merged commit 43db28d into master Apr 21, 2024
1 check passed
@gdoffe gdoffe deleted the 152-first-run-of-2024-robot branch April 21, 2024 07:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

First run of 2024 robot
2 participants