Commit graph

75 commits

Author SHA1 Message Date
d935263742 ADD persistent parameters (PID, ID), request-response model via CAN bus, Position Control 2025-04-17 17:45:23 +03:00
7b1b5831a4 Add new china motors 2025-03-18 20:56:45 +03:00
9539900322 Return kiplot config to root dir 2025-02-27 16:13:43 +03:00
7af6b04366 Add 2 motor versions & test stand 2025-02-27 16:01:14 +03:00
365124fd91 fix cpplint errors
fix cpplint again
2025-02-17 19:06:28 +03:00
sosiskovich
631cadca26 New PID coefficients; remove legacy 2025-02-12 21:57:27 +08:00
8525854579 Refactor ROS2 actuator with improved CAN handling and logging
- Introduced `rclcpp::Logger` for consistent logging throughout `RbsServoActuator`.
- Renamed joint state and command variables to `hw_joint_angle`, `hw_joint_velocity`, `hw_joint_target_angle`, and `hw_joint_target_velocity` for clarity.
- Added parameters `can_interface` and `can_node_id`, allowing configurable CAN interface and node ID.
- Enhanced CAN initialization and error handling in `on_init` to properly retrieve interface index and bind the socket.
- Implemented structured CAN message handling:
  - Sends activation command when the actuator is enabled.
  - Reads and logs incoming CAN frames for joint state updates.
  - Ensures error handling for failed read/write operations.
- Updated URDF (`simple_robot.urdf`) to include `can_interface` and `can_node_id` parameters for hardware configuration.
2025-02-04 13:41:56 +03:00
74c5b1d12c Enhance CAN bus scripts with argparse and error handling
- Improved error handling in `python_enable_motor.py` by capturing and displaying exception details.
- Ensured proper CAN bus shutdown in `python_enable_motor.py` with a `finally` block.
- Refactored `python_send_angle.py` to accept a command-line argument for the target angle instead of looping indefinitely.
- Refactored `python_send_velocity.py` to accept a command-line argument for target speed and removed infinite loops for better usability.
- Added `send_velocity_impulses.py`, a new script to send alternating velocity impulses over the CAN bus.
2025-02-04 13:41:05 +03:00
d5f772cb6d Adjust serial monitor speed and refine motor control logic
- Changed `monitor_speed` in `platformio.ini` from `115200` to `19200` for compatibility.
- Initialized `MotorControlInputs` struct members with default values.
- Uncommented digital write operations in `doMotor` for proper execution.
- Disabled debug output and monitoring configurations for cleaner operation.
- Adjusted motor tuning parameters by commenting out specific settings.
- Changed `Serial.begin(115200)` to `Serial.begin(19200)` in `setup()` to match the new monitor speed.
- Commented out `_delay(1000)` and `current_angle` variable to remove unnecessary delays and unused code.
2025-02-04 13:40:15 +03:00
47a87711d9 Add README file with instructions for CAN communication scripts
- Added a README file containing instructions for using the Python scripts to test and interact with a CAN bus system.
- Included details on prerequisites, usage, configuration, and troubleshooting.
- Provided step-by-step guidance for running each script, including arguments and behavior.
2025-01-18 18:40:23 +03:00
51e8fac95a Add Python test scripts for CAN communication
- Created `python_can.py`:
  - Implements a CAN message receiver that processes angle, velocity, and enable/disable flags.
- Added `python_enable_motor.py`:
  - Sends enable/disable commands to the motor via CAN.
- Added `python_send_angle.py`:
  - Sends target angle commands over the CAN bus.
- Added `python_send_velocity.py`:
  - Sends target velocity commands over the CAN bus.
- Configured all scripts to use `python-can` library with `socketcan` interface for CAN communication.
2025-01-18 18:34:05 +03:00
1534b854fc Refactor and enhance motor control implementation
- Introduced `MotorControlInputs` struct to centralize motor control state.
- Renamed `sensor` to `encoder` for clarity in naming conventions.
- Added `send_velocity`, `send_angle`, and `send_motor_enabled` functions for modular CAN message handling.
- Updated `setup_foc` to enhance motor initialization with configurable parameters.
- Replaced `run_foc` with `foc_step` for improved motor control logic:
  - Dynamically switches between angle and velocity control based on inputs.
- Enhanced CAN message handling with `read_can_step` to process specific control commands.
- Adjusted current sensing and other configuration values for precision.
- Added placeholders for temperature sensor setup and handling.
2025-01-18 18:28:56 +03:00
0199c1e38f Configure clang tools and update build settings
- Added `.clang-tidy` with custom checks to enforce code style.
- Created `.clangd` with specific compile flag additions and removals.
- Updated `.gitignore` to include new cache, metadata, and configuration files.
- Updated `platformio.ini`:
  - Bumped `Simple FOC` to version 2.3.4 and `STM32_CAN` to version 1.1.2.
  - Added `gen_compile_commands.py` as an extra script.
2025-01-18 18:27:28 +03:00
328dd0e0aa Removed unnecessary fillets, surfaces, and construction elements from each part; Eliminated duplicate parts; Restructured file and folder organization. 2025-01-13 15:09:31 +00:00
dcf22ec341 Update README.md: add renders 2024-11-16 11:34:21 +03:00
43beaea626 ADD: new tool for stator fasteners assembly & rename other tools 2024-11-11 09:34:36 +00:00
f80a5add65 Added STEP for 70mm 3D-printed servo 2024-11-11 08:09:27 +00:00
cd6aa7feb5 Printed Servos Update; Added two kind of reducers 2024-09-21 11:30:00 +00:00
vanyabeat
36253b1db5 ADDED: naive control implementation from RO2 for a robot roller motor 2024-05-24 10:57:24 +00:00
vanyabeat
e876d7e56c Add sensor AS5045, new PCB 0.4.2 adoption 2024-05-08 10:05:29 +00:00
3fb5246306 Add link to motor winder repo 2024-05-03 19:31:41 +03:00
c96949857e README update, coil winder schema 2024-05-03 19:23:08 +03:00
d003ad7f8e Test tool equipment 2024-05-03 19:05:41 +03:00
5a03517d41 Stator coils in schematics 2024-05-03 19:05:22 +03:00
e127cbf05e Old servo removed 2024-05-03 18:48:18 +03:00
fa328e1e2c Additional magnetic conductor parts 2024-04-26 10:58:42 +03:00
8e2d2dac3b zip for package archive 2024-04-08 11:50:30 +00:00
effb5a33b1 Fabrication Release Archive: tar.gz -> zip 2024-04-08 10:49:44 +00:00
6bda91c63e CI commit tag fix in Pipeline 2024-04-07 13:23:29 +00:00
909ab2f5ee PAD29 GND 2024-04-07 15:20:19 +03:00
d3c6ee749e PCB v0.4.2 2024-04-07 15:08:11 +03:00
eb4f233b3f L1: Footprint, D1: 1N5818 -> RB160M-30 (SOD123) 2024-04-07 15:04:10 +03:00
aebb8167ac Release tag creation fix 2024-04-07 13:42:47 +03:00
83de99841d PCB 0.4.1: Capacitor 4.7uF fix value in schematics 2024-04-06 15:32:34 +03:00
0416fd7af2 PCB: Robotroller v0.4 & KiCAD CI Update 2024-04-05 14:30:40 +00:00
1d15cbbe47 Update upstream .kicad-pipeline.yml 2024-04-02 18:47:20 +00:00
a41a4d015d KiBot 1.6.5 Docker 2024-04-02 18:39:53 +00:00
5cfbcd0f88 KiCAD PCB CI - erc, drc, fabrication 2024-03-24 15:58:27 +00:00
vanyabeat
513cb454b0 ADD: CI + Stable rotations (without shunt resistors)
FIX: file CI

FIX2: Fixing the CI/CD pipeline for the firmware

FIX:2
2024-03-11 21:08:10 +03:00
vanyabeat
00d55a0b35 ADD: SimpleFOC naive + stable motor work 2024-03-11 20:55:56 +03:00
vanyabeat
798b54aa91 modified: firmware/src/main.cpp 2024-03-05 21:00:46 +03:00
vanyabeat
1d998ea45b ADD: SimpleFOC native library and port arduino core to project #15 #7
STAGING

REBORN NEW ARDUINO CORE

ADD: simple FOC, AS5040 driver, commands, work with gui
2024-02-22 16:38:48 +00:00
vanyabeat
bd7f049b75 ADD: dummy foc
SIMPLE

CLEAN: cleanup code and add printf handler

FIX: counters

ADD: motor

ENH: temporary disable can

ADD: dummy foc, but creepy work
2024-02-22 16:38:48 +00:00
3af1d1a710 Merge branch '10-hardware-interface' into 'main'
add initial servo hardware

Closes #10

See merge request robossembler/servo!4
2024-02-21 16:27:29 +00:00
cb4dcbf1d6 add initial servo hardware 2024-02-06 16:58:35 +03:00
fd5d5d156a Merge branch 'migration' into 'main'
Add firmware from Robotroller

See merge request robossembler/servo!3
2024-02-02 13:37:37 +00:00
73b0b07ee5 KiCAD lck files to .gitignore 2024-02-02 16:36:24 +03:00
504ea9870f KiCAD files to .gitignore 2024-02-02 16:33:57 +03:00
79a3164689 Merge remote-tracking branch 'servo/main' into migration 2024-02-02 16:28:20 +03:00
985bf42ab5 Dummy FOC Implementation 2024-02-02 13:16:57 +00:00