Commit graph

90 commits

Author SHA1 Message Date
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
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