Commit graph

105 commits

Author SHA1 Message Date
013768ad1c Add PID test 2025-05-27 15:54:04 +03:00
d654443621 Fix cpp file 2025-05-26 22:40:53 +03:00
d2d8f89eb3 Add test 2025-05-23 09:16:41 +03:00
456b4a8b70 Fix bootloader 2025-05-23 09:12:06 +03:00
c0c42339f1 Add bootloader flag in the flash 2025-05-23 09:10:51 +03:00
ec086e2d47 Fix include and add/fixed python test 2025-05-22 18:12:54 +03:00
6844ca9a8d Add bootloader 2025-05-22 18:03:43 +03:00
4f42094b0e Divide code 2025-05-16 21:06:31 +03:00
320eb21de8 Add write pid_p coefficient on FLASH 2025-05-16 14:41:31 +03:00
2a173b836b Fix test CRC 2025-05-16 14:04:21 +03:00
0980243848 Add py test and fix work with float in FLASH 2025-05-15 23:13:07 +03:00
a0800410e0 Update struct and working for FLASH 2025-05-15 17:38:59 +03:00
2e88044e07 Fix angle 2025-05-14 20:06:19 +03:00
3e35fd99a1 For all types 2025-05-14 19:26:10 +03:00
fca10d4140 Fix CRC from read data 2025-05-13 19:05:54 +03:00
1122c97008 Fix CRC 2025-05-13 18:55:55 +03:00
7f29caeb76 Test for angle 2025-05-13 14:43:45 +03:00
ee8b011098 Add to .gitignore rar file 2025-05-13 01:01:23 +03:00
2c1fe86b58 Add to .gitignore rar file 2025-05-13 00:59:08 +03:00
de2534a890 Fix test 2025-05-12 16:37:21 +03:00
ede8525164 Add write param for test 2025-05-12 16:24:12 +03:00
ef911e5cb3 Add write param for test 2025-05-12 16:23:17 +03:00
8ecb1aca43 Fix current address 2025-05-05 14:53:37 +03:00
b36103201c Add flag for CAN 2025-05-04 22:53:42 +03:00
a2f1c2557a translate comment 2025-04-18 12:50:07 +03:00
7ef7228b31 add pid 2025-04-17 16:55:48 +03:00
e65857ca6f Added PID 2025-04-17 16:49:39 +03:00
06aae3981e fix work with float type of angle 2025-04-17 15:53:03 +03:00
317a4c48ea Add setup for angle using SimpleFOC 2025-04-17 14:30:22 +03:00
9c9b182705 Added function for send data 2025-04-17 11:10:56 +03:00
c02006698e Ready for work 2025-04-16 23:09:59 +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