PDA

View Full Version : Learning ROS ++



Zenta
08-25-2015, 03:08 PM
Hi,

First, I'm a total noob when it comes to Linux and ROS, but my goal is to learn. Due to little free time my progress will certainly be slow. To be honest I'm a bit frustrated since I've tried writing a lot and suddenly I hit the back button or something and all text are gone, sigh..

A couple of days ago I just finished our 5. outdoor project this summer.
6138

Our 4. project was a new stair.
6139

I've told my wife I'm going to spend some time with my robots too this Autumn..:p

So far I'm still torn between a mcu or a mini computer solution. I do like the old BAP and the newer Teensy3.1. Actually, I soldered 3 more of Kurt's breakoutboards this summer.
6137
But I do see the advantages of going for a robot with more brain capacity, lol. Like face recognition or SLAM. I'll probably play with both.

Anyway, I've decided to try ROS on one of my next robot projects. Greatly inspired by Kevin's awesome Golem I think its about time to learn something new.

At the moment I've only walked through some of the ROS tutorials. But I think it would be a bit more inspiring to see a live hexapod moving around instead of some turtles on my screen..

So, what hardware do I need? I've noticed some are using the RPI, Odroid or a NUC. It's probably a matter of payload capacity when it comes to a NUC solution like Kevin used. I'm thinking I want to try it on my PhantomX at first. So maybe the Odroid XU4 is a good start?

I believe I need some extra stuff like an eMMC module (16 or 32 GB?). I see they come with preinstalled Xubuntu 15.04, does ROS work fine with that version? Also a bluetooth and wifi USB module. A DC plug cable. I do have an UBEC 5v 8A regulator from Turnigy. Maybe the levelshifter board too? Anything else I've forgot?

At the moment I've several Q's spinning in my head. Like how do you interface with the Odroid? external keyboard, mouse and monitor? How does the main ROS program start by itself, is that the launch files?

Well, I think I need to start at one end.

KurtEck
08-25-2015, 04:18 PM
Hi Zenta, Looks like you have had a very productive summer!

I know others can answer some of this much better than I can, but will give it a shot.

A NUC would probably be the easiest thing to use as it is Intel NUC as ROS is setup to mainly run on Intel...

But: I am currently using an Odroid XU3-Lite in my PhantomX. May swap in Xu4 once it arrives... Hoped it would be here Sat... But hopefully some time this week.

I have the 32gp emmc, my guess is you could get away with a 16, but...

I am using Ubuntu 14.04 (02?) on it as I believe all of us our using Ros Indigo, which I don't believe supports 15.04. Ros Jade does, but I have not tried it yet.

I run mine with their wifi adapters (http://www.hardkernel.com/main/products/prdt_info.php?g_code=G137447734369)
Bluetooth Adapter (http://www.hardkernel.com/main/products/prdt_info.php?g_code=G141656580698)
I also have one of their debug adapters (actually 2..): http://www.hardkernel.com/main/products/prdt_info.php?g_code=G134111883934
DC Plug adapter (http://www.hardkernel.com/main/products/prdt_info.php?g_code=G141440511056)

I have one of the level shifters, which I have not tried yet: http://www.hardkernel.com/main/products/prdt_info.php?g_code=G143556253995

You need something to drive the servos: I think most of us are using USB2AX boards. Maybe at some point I will try with Arbotix Pro (once they have them released). Or I may use one of my Teensy boards..

You probably need some Remote control to get it up and working. I was using the Playstation 4 controller. R3n33 uses one and it works with stock software for her, I had some luck and then not. So I installed Bluez5, which got this working, but causes other issues.
This last week, I reflashed my emmc and reinstalled everything and I am now using the Playstation 3 controller. There is instructions up on forum for this as well as in this months Odroid online magazine.

Once you have the basics working, you may want some form of IMU. I currently am using one of the: Sparkfun Razor', connected through USB to serial adapter. I believe the Arbotix Pro would also take care of this (assuming there is some ROS driver for it). If I go the Teensy route, I may add either an Adafruit BNO055 board or the sparkfun LSM9DS1 or the like and emulate the Arbotix PRo. Maybe something like:
6140

(Not done yet)... Some of the things I like about the Arbotix Pro, is I believe you have the capability to turn off the power to all of the servos. So I put same stuff on this one, plus same usart protection chip... Right now U1 is setup for DSO055 (as I have one), but may play with adding connections for the Sparkfun as well... But again just having fun!

Also at some point may want to add Camara or Laser...

Zenta
08-26-2015, 06:39 AM
Thanks for your fast reply Kurt!


Hi Zenta, Looks like you have had a very productive summer!
Yeah, it's been busy but fun. Do wish I could be more productive when it comes to robotics though.



I am using Ubuntu 14.04 (02?) on it as I believe all of us our using Ros Indigo, which I don't believe supports 15.04. Ros Jade does, but I have not tried it yet.
For some reason I didn't pay much attention to the ROS version on my laptop so I'm running ROS Jade. Think I'll go for Indigo to be on the safe side then.


I also have one of their debug adapters (actually 2..): http://www.hardkernel.com/main/products/prdt_info.php?g_code=G134111883934
Thanks for the tip, they sure look convenient. As far as I underdstand you get direct access to a terminal and can run, navigate or debug like you do through a normal terminal window in Ubuntu?


You need something to drive the servos: I think most of us are using USB2AX boards.
Yeah, I actually do have one of those. Not yet tried it though.


You probably need some Remote control to get it up and working. I was using the Playstation 4 controller. R3n33 uses one and it works with stock software for her, I had some luck and then not. So I installed Bluez5, which got this working, but causes other issues.
This last week, I reflashed my emmc and reinstalled everything and I am now using the Playstation 3 controller. There is instructions up on forum for this as well as in this months Odroid online magazine. Then I hope to get my PS3 working!


Once you have the basics working, you may want some form of IMU. I currently am using one of the: Sparkfun Razor', connected through USB to serial adapter. I've a couple of them too. I guess you are using one of Sparkfun's FTDI serial adapters (https://www.sparkfun.com/products/9716)? Yeah, making the basics work should be enough challenge for me at first.

I'm not sure if I should place an order at Harderkernel.com or Lilliputdirect.com (http://lilliputdirect.com/odroid-c1-quad-core-computer/odroid-xu4-and-accessories), harderkernel looks a little more updated on product info. example the Lilliput say eMMC 32 GB for XU3 (http://lilliputdirect.com/odroid-c1-quad-core-computer/odroid-xu4-and-accessories/32gb-emmc-module-xu3-linux) but I assume it works fine for the XU4 too. Anyone in Europe that has any advice about Lilliput or others?

Thanks!

KurtEck
08-26-2015, 07:51 AM
Sounds great. I don't know much about Lilliput, but I am very happy with Ameridroid here in the states. There is one problem with them though, it is now too easy to order stuff from them :lol: I have purchased a few other things from them, like the C1, c1+...

Example: Most of my Odroids I have the RTC clock battery. My XU3-lites came with power supply and case. I am not sure if the XU4s come with these, so you might want to verify...

With my C1, I was playing around with their touch screen (http://ameridroid.com/products/c1-32-inch-touchscreen-display-shield). I believe that through the level shifter adapter, might be able to run this on XU4 (http://forum.odroid.com/viewtopic.php?f=97&t=13946&view=unread#unread). Not sure if I will do this yet, but when I was doing stuff with Edison on the PhantomX, I had a simple controller app, I could startup with that would launch the main code, plus display any information I wanted, like Voltage levels...

As for the 32gb emmc being the same. I am quite sue they are the same. There might be one caveat. That is early Ubuntu 14.04 images may not boot on XU4. That is not a big problem, you can download the latest images off of their website and then reflash the emmc with which ever image you want. Next side note: to flash emmc you need some form of adapter to get from a micro SD card to your PC. I have had pretty good luck using standard micro SD to SD adapters (that came with microsd) and then plug it into my SD card slot on my PC... I have had some problems with that. So I also have USB adapters from Insignia. I have had one of the simple ones (SD Only) go bad, so currently I use a multi-slot one I picked up at Best Buy. I also use it on my NUC which does not have a slot.

As to get more feedback, you might look up on the odroid forums to see: http://forum.odroid.com/index.php

Again hope that helps.

Kurt

P.S. - My XU4 should arrive today :D

Zenta
08-26-2015, 03:05 PM
Thanks Kurt.

I ended up ordering the parts directly from South Korea.. Lilliput demanded a VAT number, the problem is that Norway isn't part of EU.

I ordered these parts:


USB-UART Module Kit, WiFi Module 3, 32GB eMMC 5.0 Module XU4 Linux, DC Plug Cable Assembly 5.5mm,Bluetooth Module 2, ODROID-XU4 (opt : 5V/4A PSU Round plug), XU4 Case Base Black, XU4 Case Top Black,
XU4 Shifter Shield
Not sure if I need the case though, but I think it's a bit safer before it's mounted on a robot.

Well, that was the easy part.:o

Zenta
08-26-2015, 03:06 PM
P.S. - My XU4 should arrive today :D

Lucky you!:veryhappy:

Zenta
09-03-2015, 09:09 AM
I just got a package from UPS on our door today! :D

6144
6145

I'm surprised I already got it from South Korea. Not sure if I get much time to test it today, a bit to many activities with the kids.

The overall size amazed me, just about the same as the standard BAP, BotBoarduino, SSC32 or the Teensy breakoutboard. Awesome!

Zenta
09-06-2015, 12:06 PM
I'm a bit unsure what DC-DC converter I should use. So far I've tried the Turnigy 8A UBEC (http://www.hobbyking.com/hobbyking/store/__6233__TURNIGY_8_15A_UBEC_for_Lipoly.html). I'm a bit worried about the 5,17 - 5,2v output though. I posted a Q about it on the Odroid forum (http://forum.odroid.com/viewtopic.php?f=97&t=15425) and the answer I got was that it should probably be OK.

I'm a bit irritated about the voltage output isn't stable 5.0v though. What I recall reading from this forum some of you are using the Pololu 5V, 5A Step-Down Voltage Regulator D24V50F5 (https://www.pololu.com/product/2851)? from this post (http://forum.odroid.com/viewtopic.php?f=97&t=15425#p100586) on the Odroid forum it looks like the Pololu 5V, 9A Step-Down Voltage Regulator D24V90F5 (https://www.pololu.com/product/2866) might be a better solution?

The thread starter ended up with a rather low-cost converter (http://www.dx.com/p/adjustable-step-down-module-blue-dc-dc-12a-242230#.VexxS_ntkSU). I feel that one is a bit large when it comes to size and weight..

My main question of this post is, what DC-DC converter are you using and what are the voltage readings?, and other suggestions are welcome.:happy:

jwatte
09-06-2015, 12:19 PM
5.2V is actually a good idea, because once the 'bot starts drawing power, there will be voltage loss in the wiring.
If you really don't like that, then you have to figure out how much power you really need.
For 1.5A, I use the Murata OKI-78-SR which does fine, except it really needs 7.0V in so a 2S LiPo causes problems at the lower end of charge.
I've also built my own power converter for various needs. It all depends on what your requirements REALLY are.
An inductor and a capacitor on the output of any old converter is likely to clean up the power significantly, for example.

KurtEck
09-06-2015, 01:34 PM
I have been using one of these: http://www.amazon.com/Castle-Creations-Bec-Switching-Regulator/dp/B000MXAR12/ref=sr_1_6?ie=UTF8&qid=1441564302&sr=8-6&keywords=5v+bec

On mine (actually so far I have not tried it on the XU4, but has been fine on my XU3-lite. These can be programmed if you buy one of their programmers, but default to 5.1v.

Kurt

Zenta
09-06-2015, 03:38 PM
Thanks for your input jwatte and Kurt!
Sounds like I should be good then.

My XU4 came with Ubuntu 15.04 so I'm going to replace it with the 14.04.1 20150212 (http://odroid.com/dokuwiki/doku.php?id=en:xu3_release_linux_ubuntu) image. I assume that is the correct one for making ROS work properly.

KurtEck
09-06-2015, 05:15 PM
As I am running Ros Indigo and not Jade, I am running off of the 14.04.1, latest image, I then do all of the stuff to update it to the latest stuff:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

I then run the odroid utility:
sudo odroid-utility.sh

And in there I update all of the kernel components. (I also on the first boot also use this utility to setup to use the whole space on the emmc.

I have also followed many of the steps for building up my ROS image as murrman did in the posting: http://forum.odroid.com/viewtopic.php?f=95&t=7446

In particular I am using the older version of ROS indigo that he uses here and not the more up to date version that listed as the official version up at: http://wiki.ros.org/indigo/Installation/UbuntuARM As I have found that some components like Robot Publisher faults on startup in the official repos...

From the Odroid Ros Image by murrman, building some of the other components from sources can take quite a bit of time and can eat more memory than you have, so I typically setup a swap area for my Odroid. To do this I use the quick method that is shown in: https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04

Good Luck!

Kurt

Zenta
09-06-2015, 05:25 PM
Thanks for the guidance Kurt. This evening didn't go so well. It looks like I need to get a proper microSD USB adapter first.. I think I've one at work that might work.

r3n33
09-11-2015, 03:02 PM
I'm a bit unsure what DC-DC converter I should use. So far I've tried the Turnigy 8A UBEC (http://www.hobbyking.com/hobbyking/store/__6233__TURNIGY_8_15A_UBEC_for_Lipoly.html). I'm a bit worried about the 5,17 - 5,2v output though. I posted a Q about it on the Odroid forum (http://forum.odroid.com/viewtopic.php?f=97&t=15425) and the answer I got was that it should probably be OK.

I'm a bit irritated about the voltage output isn't stable 5.0v though. What I recall reading from this forum some of you are using the Pololu 5V, 5A Step-Down Voltage Regulator D24V50F5 (https://www.pololu.com/product/2851)? from this post (http://forum.odroid.com/viewtopic.php?f=97&t=15425#p100586) on the Odroid forum it looks like the Pololu 5V, 9A Step-Down Voltage Regulator D24V90F5 (https://www.pololu.com/product/2866) might be a better solution?

The thread starter ended up with a rather low-cost converter (http://www.dx.com/p/adjustable-step-down-module-blue-dc-dc-12a-242230#.VexxS_ntkSU). I feel that one is a bit large when it comes to size and weight..

My main question of this post is, what DC-DC converter are you using and what are the voltage readings?, and other suggestions are welcome.:happy:

With the XU3 on ROSie I've been using the 5V 5A step down regulator from Pololu with no problems https://www.pololu.com/product/2851

The voltage reading was about 4.95V.