PDA

View Full Version : [Question(s)] Connecting Roboard to CM-510 running Linux



Ron
10-17-2012, 06:14 AM
Will this work ?
Ok I have Ubuntu 9.04 running on my Roboard if I connect my CM-510 to the robard with a usb to dynamixel than run roboplus server from the darwin package will it work ? I want to be able to log into the Roboard/cm-510 from my PC running Roboplus, through the tcp/ip settings Like you can do with Darwin OP ? If this will not work what do I have to do to make this happen ?

tician
10-17-2012, 07:46 AM
It will not be plug-and-play. The roboplus software in the DARwIn-OP framework is intended to connect to a CM-730 and only a CM-730 (firmware and hardware specific). The CM-730 in the DARwIn-OP uses an ARM Cortex-M3 at a significantly higher clock speed (72 or 96 MHz) and processing capability than the CM-510 (ATmega2561 at 16MHz). Even the CM-530 has significant differences from the CM-730 that would make it unlikely to function in an equivalent manner. Although the CM-530 and CM-730 have the same STM32 at the same clock speed and capable of the same dynamixel bus speeds (greater than the 1/2MBps maximum of the ATmega2561), the CM-530 has no onboard sensors or MOSFET to control power to the dynamixel bus (both pretty important to using the DARwIn-OP framework). There is also the fundamentally different firmware on the CM-730 which is not intended to operate as anything other than a servo controller/pass-through for the fitpc2i (which is also significantly more powerful/capable than the Roboard).

Basically, if you had a CM-530, you might be able to write your own firmware for it that might be compatible with the roboplus software of the DARwIn-OP framework, but the time/money investment is likely significantly more than just emailing robotis and trying to buy a CM-730 alone and installing the correct pre-compiled firmware included with the framework.

Ron
10-17-2012, 02:08 PM
emailing robotis and trying to buy a CM-730 alone and installing the correct pre-compiled firmware included with the framework. I had the idea of buying a cm-730 , will it accept ax12's ? I wonder if robotis would sell one what the cost range is. I can do exactly what I am trying to do with the roboard under XP but XP is so slow compared to linux. Coding my own firmware is beyond my skill set so thats out. I guess I could buy a fitpc-2 or fitpc-3 and run XP on it with enough power, But the FItPC is a lot bigger and heavier than the roboard thus i see possibly having to go to ax18's or better. Thanks for the help.

tician
10-17-2012, 09:00 PM
The CM-730 comes with the 3-pin connectors populated for AX and MX-T series servos, but with the replacement of the 3-pin connectors with 4-pin connectors (and one or two jumper changes) it can accommodate RX/EX/MX-T series servos (it's an either/or situation). Robotis does sell the entire electronics kit for a DARwIn-OP at their online shop for $1100, but not the CM-730 by itself. I got one free for repeatedly providing assistance on their Q&A site*. I would guess the cost is less than $200, but that may be wishful thinking since they are not produced on as large a scale as the CM-530.

The fitpc2i-sbc in the DARwIn-OP really is not that much larger than a Roboard (a somewhat larger footprint, but smaller thickness - onboard gigabit socket is thickest component), but I would not recommend either (Roboard or fitpc2) if you have the option (available funds and payload) to use a fitpc3. The AMD APU's of the fitpc3 much more capable than the Intel ATOM's of the fitpc2, if only a little bit more power hungry. The Roboard has limited support in newer linux distros as it is an i586 processor without SSE or PXE hardware (Debian is the only one released in the last year or so that I know still has support for i486 kernels).


* (I still have not done anything meaningful with it as I still have not finished my dynamixel-compatible motor driver/controller boards or even bought the new motor/gearbox/encoders for Darsha. Mental health "issues", among others, all reinforcing each other (http://www.penny-arcade.com/2008/2/8/). Consultation next week, and hopefully therapy starts soon after, so maybe I will have finally made some progress on various projects before year's end)

Ron
10-17-2012, 10:10 PM
if you have the option (available funds and payload) to use a fitpc3.

I almost bought a fitpc3 last week, While I was out today I decided in my head I was going to by a fitpc online tonight or tomorrow. I will try and get the fitpc3 instead of the 2, Did you see some of the new Rev of the fitpc2 ? I saw a 2ghz model, still using the atom. I run a really chopped down version of XP on the roboard and am able to pull off a few hacks, so a fitpc2 would work but the 3 does look more appealing.The Roboard would be alot better IMO if it had more Ram. I am also dealing with some "issues" mostly being out of work, but I think I can sell a piece of ham gear and maybe a few robot parts, and I can swing it. I am going to sell my arbotix starter kit. I also want to pick up a cm-530 and use the cm-510 in another robot I built the other night, a 12 DOF wheeled rover. So many ideas >sigh<

tician
10-17-2012, 11:56 PM
I'm partial to the fit-pc3 mostly because my netbook and desktop have the consumer versions of the APU's used in the basic and pro versions of the fit-pc3, respectively. I really like them both (C-60 w/4GB DDR3 and E-350 w/8GB DDR3) compared to the single-core ATOM in the fit-pc2i-sbc in the DARwIn-OP (1GB DDR2 and 4GB of FLASH soldered directly to the board). Only real disadvantage is the lack of CUDA support (CUDA is used by parts of PCL instead of OpenCL) without adding an external video card (being AMD/ATI instead of NVIDIA), but the fit-pc2 is even worse off with only Intel integrated graphics.

I just really do not like the Roboard: too little ram, old processor architecture, no power switch, no onboard ethernet connectors, mini-pci for wifi/video, etc. If they updated the processor to full i686 compatibility (to not need a custom kernel to use ubuntu for ros), I could better tolerate the limited ram (the netbook is barely a year old and replaced a laptop I was still using daily after 6~7 years with only ~550MHz celeron and 128MB ram). I've been sorely tempted to try out a BeagleBone just to see how it compares, but as my assistantship is not guaranteed for next semester I really shouldn't be spending on anything I don't absolutely need.

iBot
10-19-2012, 11:55 AM
I came to this thread from the bottom up which spiked my interest, but when I saw your original post I felt things may have gone off course and be headed way over budget. The reality is, you already have all you need to achieve your goal.
The best thing to do is to relegate your CM510 to provide simply power supply, power monitoring and distribution. Use the Dynamixel interface on the Roboard to drive the AX12 direct without passing through the CM510. This means no CM510 firmware changes are required and the changes to the DARwin framework are much less.
The CM730/CM530 is a "red herring", and adds nothing to your configuration.
The roboard should have enough power to manage the TCP/IP socket connection to Roboplus while running the DARwin motion manager.
This works for me, though I use Raspberry pi not Roboard.
However, this configuration assumes you are able to confident to modify the DARwin framework, but you were headed that way anyway

Ron
10-19-2012, 03:16 PM
I came to this thread from the bottom up which spiked my interest, but when I saw your original post I felt things may have gone off course and be headed way over budget. The reality is, you already have all you need to achieve your goal.
The best thing to do is to relegate your CM510 to provide simply power supply, power monitoring and distribution. Use the Dynamixel interface on the Roboard to drive the AX12 direct without passing through the CM510. This means no CM510 firmware changes are required and the changes to the DARwin framework are much less.
The CM730/CM530 is a "red herring", and adds nothing to your configuration.
The roboard should have enough power to manage the TCP/IP socket connection to Roboplus while running the DARwin motion manager.
This works for me, though I use Raspberry pi not Roboard.
However, this configuration assumes you are able to confident to modify the DARwin framework, but you were headed that way anyway

I have not totally given up on the Roboard yet, I am going to try and do it as you suggested if I run into problems or can not achieve my goal than I will consider another way. Even if I do end up running the fit-pc, This congifuration will not go to waste, I have another project I will put this setup on. I can allready do everythign I am trying to do under windows XP, the problem is roboard lacks the power needed. When I run the roboard under Linux it is a different story, big performance increase, but than I loose some of the functionality due to not being able to bridge the roboard to the cm-510. So thats how I got the idea to look to linux running the darwin op with the roboplus server . The way I do this now is just plug the usbtodynamixil in to the robard under XP and log in remotly with VNC. It works but after that there is not enough power left to handle the video stream. The problem I have with Linux is , while I can set it up , edit basic things like the desktop, change the kernel even compile source code, BUT I am not a coder so often I have to abandon my ideas. I need an onboard computer that can handle my ip or usb camera video stream, run vnc, run roboplus and also play wav files, and ultimatly handle speech to text , maybe even facial recognition or tracking software all at the same time, the roboards 256 mb of ram is not going to cut it.

tician
10-19-2012, 06:54 PM
Yea... I did turn the CM-510/530/730 thing into a bit of a red herring, didn't I? I think I had just gotten too focused on minimizing/eliminating software changes to the DARwIn-OP framework (that and a rather intense dislike of the Roboard). That said, there is a hardware complication if you happen to be unfortunate enough to have a Roboard RB-100: it requires a USB2UART device like the USB2Dynamixel for any dynamixel bus speed over 748800 bps. The Roboard RB-110 has an FT2232H IC to provide two additional COM ports (COM5 and COM6 at up to 12 Mbps) that the RB-100 lacks, so no additional USB2UART device is required.

Roboard SW introduction (http://www.roboard.com/Files/Code/RoBoard_Training_SW_v18b.pdf)

Page 84:
Roboard Native Com Ports
COM1~COM4 can be used as standard COM ports in WinXP, Linux, and DOS
Max Speed:
RB-100: 115200 bps
RB-100RD/RB-110/RB-050: 748800 bps


Page 85:
RB-100RD/RB-110/RB-050’s native COM ports support baudrates up to 750K bps, provided that COM boosting mode is enabled.


I should just shut up now until I get some real sleep. Everything seems fuzzy and I get the feeling my mind is making up crap to fill in a few more blanks than usual. Something about this thread just seems a bit of "off" right now, and I can't really pin down what it is. I think it is related to how the DARwIn-OP framework behaves in a fundamentally different way from the Bioloid/RoboPlus combination. The Bioloid uses predefined motions created in RoboPlus almost exclusively to do anything at all, while the DARwIn-OP framework primarily uses the walking and head tracking motion modules with the occasional special action (waving, kicking, etc.) being executed by playing some predefined motion (in the motion file modified/created by the framework's roboplus program controlled over tcp/ip by RoboPlus Motion).

Ron
10-19-2012, 08:43 PM
Guys I found this tonight , I think it will do exactly what we are talking about for a lot less $ look at this :
http://mike-ibioloid.blogspot.com/2012/10/the-robotis-cm-900-is-now-out.html

Ron
10-20-2012, 03:09 AM
Here is the entire Darwin electronics kit, fit-pc , cm-730 , all the sensors for about $1300, wonder why Trossen does not carry this ?
http://robosavvy.com/store/product_info.php?currency=USD&cPath=21_1202&products_id=3131

iBot
10-20-2012, 10:50 AM
Thx. Tician for reminding us of the difference between the standard Bioloid operating model with CM5/CM510/CM530 where this is controller and the DARwin where the fit-PC is the controller. I guess people get confused when the CM730 is so much more capable, but actually does less (just faster!).
In fact when I read the last sentence from Ron
I need an onboard computer that can handle my ip or usb camera video stream, run vnc, run roboplus and also play wav files, and ultimatly handle speech to text , maybe even facial recognition or tracking software all at the same time, the roboards 256 mb of ram is not going to cut it. I wonder if this is understood.
The Roboplus application runs under windows and is only used in DARwin for the creation and downloading of motions (actions in DARwin speak). Roboplus task has no part in DARwin. The Roboplus program in DARwin is a server allowing TCP/IP socket communication with the windows based Roboplus application during motion development.
In DARwin the Bioloid task part is done with C, C++ or Python code.

I know I prefer to freely hack the DARwin code, when others may not. It's a British thing " open the code before opening the wallet".

Cheers,
Richard

Ron
10-20-2012, 05:08 PM
In fact when I read the last sentence from Ron I wonder if this is understood.
The Roboplus application runs under windows and is only used in DARwin for the creation and downloading of motions (actions in DARwin speak). Roboplus task has no part in DARwin. The Roboplus program in DARwin is a server allowing TCP/IP socket communication with the windows based Roboplus application during motion development.
In DARwin the Bioloid task part is done with C, C++ or Python code.
Richard
Understood but correct me if i am wrong , it acts the same way as roboplus motion editor does on Bioloid in that if I have a motion page loaded and I select a step and hit F7 it executes the motion on the robot, am I correct in assuming this ?

tician
10-20-2012, 06:19 PM
I think it does, but I would have to check that out on Damdeok (DARwIn-OP #2) tomorrow to be certain.

The key point: You do not use RoboPlus Motion except to create/modify the motion pages. Everything else that makes the bot do anything at all is done by task files on the Bioloid (to call motions and read sensors) or kinematics-based gait and motion modules on the DARwIn-OP.

As long as the weight and its distribution do not change, it really does not matter how you get RoboPlus Motion to work. Once you get your poses created, you will never again need RoboPlus Motion. An autonomous bot, like the one you seem to want to create, will not use RoboPlus Motion during normal operation.

Ron
10-20-2012, 07:12 PM
I think it does, but I would have to check that out on Damdeok (DARwIn-OP #2) tomorrow to be certain.
Thanks !


The key point: You do not use RoboPlus Motion except to create/modify the motion pages. Everything else that makes the bot do anything at all is done by task files on the Bioloid (to call motions and read sensors) or kinematics-based gait and motion modules on the DARwIn-OP.

As long as the weight and its distribution do not change, it really does not matter how you get RoboPlus Motion to work. Once you get your poses created, you will never again need RoboPlus Motion. An autonomous bot, like the one you seem to want to create, will not use RoboPlus Motion during normal operation.

I am trying to achieve 2 things an autonomous bot, but in the short term A way to effectively execute my motion files over wifi, I can do that right now but it is not exactly efficent, Here is a video of another bot I built last year, demonstrating , what I want to be able to do without all the overhead this was the concept I was trying to achieve in the OP. Only under Linux.


http://www.youtube.com/watch?v=9I_FDFvOnfw

tician
10-21-2012, 12:38 PM
Wow, that's convoluted. The following assumes getting rid of the USB2Dynamixel since the RB-110 has two built-in high speed UARTs.

If you want to use RoboPlus Task and Motion files, put everything you think you will need (CM-510, Roboard, battery, etc.) on the bot and connect the CM-510 to an external PC via the serial cable and use that for handling RoboPlus Motion. Once you have the motions created, you can use the CM-510 running Task code to play certain motions depending on the data you send over the audio plug serial cable from the RS-232 port (COM1) of the Roboard. Pretty sure you have to send data to it using the zigbee format (Header1, Header2, Data1, ~Data1, Data2, ~Data2; where each item is one byte) at which point the Task program will think it has received a valid zigbee packet and will interact with it exact as if it were received from an RC-100 or ZIG2Serial from the PC. The CM-510 shares a UART between the RS-232 audio connector and the 3.3V TTL for Zigbee, with the audio connector's built-in switch giving complete priority to the RS-232 data (by disconnecting the zigbee via a buffer IC when the audio cable is plugged in). This would give you 2^16 possible commands for the bot to follow depending on what your Roboard decides to do (running whatever OS you want).

If you want to use the DARwIn-OP code for walking, you will need to modify the kinematics definitions and hack the framework to use COM6 (need some buffer ICs with the TXDEN signal to convert the full-duplex UART to half duplex) to directly control all of the servos and not want to use the CM-730. You could then use the roboplus program of the DARwIn-OP framework with RoboPlus Motion exactly as if it were a plain Bioloid controlled by a CM-5/510/530/700 (I checked, it requires only the IP address and port of the PC in the robot that is running the roboplus program) to create a few miscellaneous motions/actions for when the kinematics based gait engine is insufficient.

A third option not for the beginner would be ros with rviz/player/etc. as done by Pi Robot for his bot PiRobot (http://www.pirobot.org/blog/0014/). This would entail creating a program to use COM6 to directly interface with the dynamixel bus to: 1) grab all of the servo positions (joint angles) and 2) set all of the new goal positions. Part 1 would grab the positions and publish them for rviz to create the visual model for you to see how the bot is currently posed. Part 2 would subscribe to a joint angles topic and set the new goal position of each servo. The joint angles could be produced and published by any means you desired, such as pre-defined motions/actions, kinematic gait engine, or even just the "joint state publisher" tool (when combined with the rviz model would be very similar to the 3D model tab of RoboPlus Motion).

Ron
10-21-2012, 05:04 PM
Wow, that's convoluted. The following assumes getting rid of the USB2Dynamixel since the RB-110 has two built-in high speed UARTs.

If you want to use RoboPlus Task and Motion files, put everything you think you will need (CM-510, Roboard, battery, etc.) on the bot and connect the CM-510 to an external PC via the serial cable and use that for handling RoboPlus Motion. Once you have the motions created, you can use the CM-510 running Task code to play certain motions depending on the data you send over the audio plug serial cable from the RS-232 port (COM1) of the Roboard. Pretty sure you have to send data to it using the zigbee format (Header1, Header2, Data1, ~Data1, Data2, ~Data2; where each item is one byte) at which point the Task program will think it has received a valid zigbee packet and will interact with it exact as if it were received from an RC-100 or ZIG2Serial from the PC. The CM-510 shares a UART between the RS-232 audio connector and the 3.3V TTL for Zigbee, with the audio connector's built-in switch giving complete priority to the RS-232 data (by disconnecting the zigbee via a buffer IC when the audio cable is plugged in). This would give you 2^16 possible commands for the bot to follow depending on what your Roboard decides to do (running whatever OS you want).

Ahh HAAA ! I think you just gave me the answer I was looking for, With a little research and trial and error I think this method is doable for me. And also eliminates the need to buy another onboard computer at the moment. Thank you so much for helping me , Your help is greatly appreciated. I am still new to Robotics and it is a lot to learn. It is worth mentioning one of the reasons i want to stay using the roboplus software for motion editing is after a year I am just starting to figure out how to use it's IK engine thanks to a number of videos I have watched on the subject espeically the ones by Unclebob on youtube. I have done a few Pose and capture gaits but they always veer of course after a few steps. Thanks again.

Ron
10-21-2012, 05:08 PM
Wow, that's convoluted.
Lol, it sure was BUT it also worked when I used that method I was about a month into my robot building. :p

tician
10-21-2012, 08:12 PM
Sorry it took so long to get you a satisfactory answer, and many thanks to iBot for pointing out my bit of mental incontinence when I veered way, way more complicated and expensive then needed (really, it's not sarcasm - it happens more often than I would like to admit and I don't always realize it's happening).