Hello! This is my first post here.
I have recently started using the Navio2 instead of Pixhawk.
I use a custom ardupilot firmware (based on copter 4.0) and had no problem using the Robotis (Dynamixel) servos when I ran it on Pixhawk. (I followed the instructions from the official wiki) https://ardupilot.org/copter/docs/common-servo-robotis.html
I’ve tried building the same firmware for the Navio2 and connected the UART port (TX and ground) to the servo but it’s not working at all. I’ve checked up on AP_RobotisServo.cpp and it seems that it is unable to identify the port (port == nullptr).
Navio2 can work with servos connected to the servo rail outputs labeled from 1 to 14. As I see, your Robotis Dynamixel servos can work with a TTL data connection only. ArduPilot software won’t be able to control the servo connected to the Navio2 UART port out of the box. So, there might be no easy way to integrate your servo with Navio2. However, I assume it might be possible to do so by writing your own code for it.
Also, I’ve found this ROS node that might be used with your servos. However, I can hardly tell whether it’ll work fine since I’ve not tested it myself.
Thank you for your reply.
I don’t quite understand why the UART port works differently to the Pixhawk though. Is it different hardware wise?
I’ve looked through projects that used ROS as a way to handle the servos so that might be an alternative option.
Navio2 doesn’t support the servos connected to UART on the software side. It can work with the servos connected to its servo rail without additional configurations.