We are considering on using a CTRE pigeon V1 to monitor the position of the “hand” part of our arm. We want the hand to maintain a horizonal position. The pigeon will be plugged into a Talon motor controller that controlled the position of the hand.
Has anyone tried this? Any advise?
Thanks in advance
Just use an absolute encoder? That will let you know the rotation aspect and is a lot simpler than a gyro. Based on where your arm is, use that to figure out what angle you want your hand at. It doesn’t need a gyro.
Any recommendations on absolute encoder?
I recommend the Rev through bore encoders. you’ll get the most “clean” data by mounting it directly to your hand shaft in order to avoid error from backlash in gearboxes and chain/belt if you’re using that as well.
Can I use the encoder built in the NEO 550?
You will find that to be a lot more difficult. The Through Bore Encoder gives you an absolute angle reading, so it’s always the same. With the NEO/NEO 550, you get a relative reading, so it can change based on the angle when you start up the robot. It also won’t be as accurate, as you need to account for backlash in the gearbox and chain (as applicable).
You can also consider more mechanical means, like a virtual 4-bar mechanism. That would remove a motor from the system, likely reduce weight on the end of your arm, and ensure the wrist remains horizontal.
Rev one works great. If you have an extra CAN Coder you can also use this housing from CTRE…
I’m not a mechanical engineer so I may be missing some subtle point (and it doesn’t help that I am very old and very addled from catching Covid this week - moan and groan - it hurts bad) but I see your point of the simplicity of the Pigeon if what you want is “roll.” From 2 (of the 3) accelerometers you get that reported to you without any concern about anything except you want it horizontal - no calibration, no nothing - keep the “roll” at zero, if you are able to mount the Pigeon horizontally, otherwise there will be some offset needed.
Do make sure the accelerometers (roll value) aren’t too noisy for your desired accuracy, otherwise, you’d have to rethink how to get smoother data into the Talon. Maybe it supports that but I have no idea if it does. The accelerometers my team has ever used including the Pigeon 2 would be good enough for us. We’ve never used remote sensors like that but apparently you think it’s possible. We go back to the roboRIO robot program. I’ll have to check out how the TalonFX/SRX can handle that information.