ROS - The Robot Operating System for Bioloids


#1

So as you may be aware I am in research mode to see how I will power my Humanoid Robot that I am in the process of building.

My original intent was to run it with an Arbotix-Pro and a Raspberry Pi 3B +. I had the software all installed and compiled and swapped the SD card to my HR-OS1 robot to verify that the software was good. This worked fine. So I designed and build my robot and installed the electronics and wired it up. When I did I found that the Arbotix-Pro was DOA (I had it sitting for almost couple years). I contacted Trossen Robotics to check on my options, I found out the board is no longer available as they stopped manufacturing it in 2016. They had one laying around in the office and offered it to me free of charge but with no guarantee that it will work. I got it and it powers up and can be seen by the OS, but can’t control servos or even see them.

Now to my ROS info. I have the Raspberry Pi 3 B+ which I have Ubuntu installed and ROS installed as well. I have a Arbotix-M that can control the 20 Dynamixel AX-12A actuators. Everything I am reading is suggesting that an Arduino Board is the way to go or is the most commonly used solution.

I am new to this and still reading to play catch up. Is ROS with the Raspberry Pi 3 and the Arbotix connecting over I2C?

Anyone use ROS for a BIOLOID yet? Would I be better with something else and an Arduino? I want the robot to be autonomous as much as possible, but also have vision tracking.

Looking for info / thoughts on ROS vs Other methods.

I know there is going to be a learning curve for me no matter which method I use, so I am not picky as to which method as long as it will do what I after.


#2

I have a few commercial robots that use ROS, such as our MiRo, but to be honest I have never gotten into it. I know some people who swear by it, I tend to swear at it.

I did just have a thought though. If you have the Raspberry Pi for all of the processing, would I be right in assuming that the Arbotix (Pro or M) is just being used to interface to the Dynamixels? If so it may be easier to use either a USB to Dynamixel or TTL to Dynamixel interface board such as this.

It does mean that you will have to have code on the Raspberry Pi to create the control packets but there seem to be libraries out they that should work. I found this one on my first google https://github.com/HumaRobotics/dynamixel_hr - not a recommendation as I haven’t used it but just to show that the python libraries exist.


#3

You are correct, but there is no reason behind this other than my first exposure to this stuff was the HR-OS1 and that us how it did it and where I learned how to use the Dynamixels. So its only because that is what I learned with and know little else in this area.

Funny you mention that, last night when I was going through my things I found 2 of those brand new in their sealed packaging. I bought them but don’t even remember why.

As for the coding, it seems no matter which route I go this is going to be the issue. So at the moment I have no preference as I want to learn as much as possible about Robotics and Coding Robots.

I did a bunch or reading last night on ROS and a little on I2C, mostly because my searches for interfacing the Arbotix-M (Both Arbotix Pros went up in smoke literally last night). I have one more Arbotix Pro but that one is installed in my HR-OS1 and that works so I do not wish to disassemble it for my robot. So I am up for learning any method that will give the desired results.

The easier more beginner method would be preferred until I get started.


#4

If I was picking the easiest route from what you were hoping to do with the Arbotix boards, I would go with the USB to Dynamixel converter. I am sure that would be the most straight forward, only one new technology to learn, the Dynamixel protocol, rather than I2C and the Dynamixel protocol.