verlab / hero_common

This project contributes to an open source ROS-based framework for swarm robotics. We propose an low cost, high availability swarm system that could be printed and assembled multiple times without special knowledge or hardware skills.
https://verlab.github.io/hero_common/
58 stars 15 forks source link

Short circuits (Vin/VCC and GND; MUX_X7 and GND) in latest PCB design (v2.7 2023-03-05) #22

Closed Honza0297 closed 5 months ago

Honza0297 commented 9 months ago

In the latest version of the PCB (v2.7, 2023-03-05), there is a short circuit between VCC (specifically VCC pin of capacitor C1) and GND (specifically GND pins of 4051) via B+ route (highlighted in the image). In fact, the whole B+ route seems misplaced, crossing several other routes in the same layer. Please correct me if I am wrong.

image

The issue is present in the real PCB as well. Actually, another issue is present in the physical PCB: route MUX_X7 is shorted to GND (GND pin of capacitor C1). The position itself of of the C1 capacitor seems unfortunate, colliding with Neopixel LED as well.

rezeck commented 9 months ago

Hi @Honza0297

Thank you for bringing this critical issue to our attention. I sincerely apologize for any inconvenience this may have caused. It appears there may have been an error during the upload of updates for version 2.7. This layout is not supposed to be of the PCB version 2.7.

Version 2.7 (2023.10)

image

Gerber: board_2023-10-08.zip

I have now uploaded the corrected files for version 2.7, and after careful review, I did not identify any further issues. Your feedback is invaluable, and if you have any additional suggestions or improvements for the PCB layout, please feel free to submit a pull request. We greatly appreciate your contribution.

Once again, I apologize for any problem this may have caused, and I appreciate your understanding.

Best regards, Rezeck

Honza0297 commented 9 months ago

Wow, thank you for the fast fix, @rezeck! I sent the fixed version to production and once the new PCBs arrive, I'll let you know whether everything works.

rezeck commented 9 months ago

Thanks!! =)

Honza0297 commented 8 months ago

I finally managed to test everything and PCB seems working flawlessly. :)

However, I have run into another issue. When I upload the firmware and try to teleoperate the robot with:

roslaunch hero_bringup hero_bringup.launch
roslaunch hero_bringup hero_teleop.launch id:=0

the robot behaves pretty chaotically, both in real life and rviz. TFs are moving according to real movement etc., but when I command it to go straight, it just chaotically moves around. Am I supposed to tune some parameters? Thanks in advance!

rezeck commented 8 months ago

Hi @Honza0297 ,

Thank you for your reply. It's great that PCB is working now.

Yes! I do not know if you pass through the calibration step here. If not, try calibrating the motor's PWM deadzone and the PID parameters for both the position and velocity controller. You should set the PWM deadzone with the values that fully stop your motors (theoretically 1500). The PID params you can use the ones in the tutorial, as they should be reasonable to start using.

PS.: Use this bringup roslaunch hero_bringup hero_confmode.launch instead.

Also, when you are prompted to command the robot using hero_teleop, try to decrease the linear speed to ~0.1 m/s. Maximum is 0.20 m/s.

If the robot is turning around when you command it forward (keyboard I), you may check these points:

Also try to use the firmware from noetic-devel repository.

Please let me know if you manage it to work.

PS: To calibrate the IR sensors, follow this issue. I could not find time to add this information to webpage tutorial.