ROS2, GoPiGo vs TurtleBot Burger - FOMO and Existential Philosophy

I cannot easily express the swirl of competing desires that continually flood my brain. I am feeling FOMO with ROS2 when I know that I don’t need ROS. As communities go, Ubuntu, ROS and TurtleBots are large, where RaspbianForRobots, GoPiGo3 is “intimate?”

My robot is no where near the limits of the GoPiGo3 platform or the RPi3B processor, yet I find myself buying a Galactic Geochelone t-shirt and building a ROS2 ready 64-bit Ubuntu on GoPiGo3 that most likely would make me one of two or three people in the whole world trying to fit a size 12 foot in a size 9 shoe.

I wrote:

Keith commented:

Really good point. I should not again be intentionally choosing a path that puts unnecessary or unique challenges in my way.

I contemplated purchasing the Turtlebot Burger and diving into ROS. This line of thought exposed that while I could probably use my Mac for the off-board processing and visualization, “ROS life” would be easiest if I added a new laptop running Ubuntu desktop. Of course, I could again choose a less-than-ideal solution and run the Ubuntu desktop in a virtual machine on my Mac. Returning to what are my goals for this? FOMO and not always treading an untraveled path?

I have also been contemplating purchasing:

  • a second GoPiGo3
  • another DI IMU,
  • a third deck so the battery can be mounted over the wheels and still have a platform for the LIDAR,
  • replacing the metal castor with a Pololu Delrin castor)
  • a LIDAR

 
to end up with a $375 ROS robot that:

  • is noisy,
  • has a scary Lithium battery (saw another “only recharge in a fire-proof box if you don’t want this to happen to you” on Twitter this morning.)
  • has no or quite few “run straight out of the box” examples
  • is basically starting over as far as robot functionality.

 

That last point is where the guilt creeps back in. I used to tell folk “There are three types of people - ‘starters’, ‘doers’, and ‘finishers’. Figure out who you are and be the best at it you can be.”
But, I am not happy being only one of those people. I have always been vocal with lots of ideas when starting, (and expressing opinions on what other folk should do), and then I quickly want to quit talking about doing and start actually doing (something), yet almost always I get distracted before finishing a project. I see this happening here. Carl needs love and I’m off flirting with a new robot project.

Life is too complicated. My brain is mush - I forgot to drink the coffee I prepared at breakfast, I keep opening the wrong cabinet or drawer because I’m not actually thinking about what I’m doing. It’s time for lunch and I haven’t remembered to shave yet. I’m really loosing it.

2 Likes

No.

You are NOT “loosing it”.

What you are experiencing is the mental equivalent of adrenal exhaustion.  You have too many things going on in your mind at one time and you are facing mental overload - which is a bad thing.

Part of the problem is that the Dexter 'bot is such a rich environment it’s easy to get lost in the possibilities.  There’s so much you can do with even a simple configuration.

Of course, it’s no turtle-bot, neither is it facebook’s 'bot, neither is it one of @thomascoyle11859’s Mega-Bots, and it is most definitely not the new Xilinx Kira K260 SOM AI evaluation board.

But then again, for right around two bills, ($200-or-so), you get a 'bot that is eminently capable of doing 99% of what the others can do for a LOT less money.  And because it’s “a lot less money” there’s a lot less pressure to succeed - you haven’t thrown a huge grant down the toilet if you fail and there’s no PhD thesis riding on the outcome.

And I completely understand where you’re coming from.  As soon as I set my sights on one project, fifteen other interesting things pop up to distract me - and the ultimate result is that I get nothing done.  Frustration reigns supreme, the angst-meter gets its pointer wrapped around the full-scale stop, I start blowing fuses and get snappy at people, and things generally go down-hill rather rapidly.  The usual result is that I give up entirely and the project joins dozens of other projects in my “unfinished projects” box.

Though I am NOT recommending that people get the coronavirus, I have to say “It’s an ill wind that blows nobody any good”.  The coronavirus, the subsequent neurological damage, and the tremendous rehabilitative efforts I have had to put in to return to even a semblance of “normal” has had one important side-effect:  It forced me to slow down.

I was forced to carefully conserve and portion out the very limited amounts of effort and energy I had to spend.  I just couldn’t afford the 4:00 am “all night” coding sessions I did before.  I couldn’t drink cans of Monster and make like a 20-year-old coder at some software startup.

In short:  I had to prioritize.

Question #1:  Do I want to abandon Charlie?
Answer:  Absolutely not!

Question #2:  Can I afford the energy needed to continue the work I was doing?

Put another way, though I do not want to abandon Charlie, do I need to abandon Charlie in order to recover?

Question 2b:  Will I ever get back to the point where I can devote the effort needed to continue working with Charlie if I “set him aside”?

Answer:  That’s a more difficult question with no easy answer.

  • Obviously I can’t continue full-tilt.

  • Obviously I have to devote considerable effort to “getting well”.

  • Equally obvious is the fact that if I set Charlie aside, abandon the forum here and my research, I may never be able to recover and restart what I was doing.

I was compelled to look at all the projects I wanted to undertake and decide what was the primary goal.  The result of that thought-exercise was that the “Remote Camera Robot” project, (as far as I have defined it), is the foreseeable end-goal.

Given projects “A”, “B”, “C”, (and others) - were they advancing me toward my ultimate goal?  If not, they got pushed off the table.  That includes my project to port Raspbian for Robots to the 64 bit Raspbian images.  Though desirable, and possibly ultimately necessary, I don’t have the resources or time so it went into the bin.

Ultimately, I kept three projects:

  • The multi-boot project.
    (AKA “Project Mercury” - Do the fundamental research and develop the fundamental techniques that everything else depends on.)

  • The development environment/GitHub repo project.
    (AKA “Project Gemini” - Develop the tools and techniques needed to accomplish the end goal.)

  • The Remote Camera Robot project itself.
    (AKA “Project Apollo” - Work toward accomplishing the actual end-goal.)

. . . where each project was an important step toward making the Remote Camera Robot project either possible, or significantly easier to accomplish.

=======================================

As you said once before, sometimes we all need a “rabbi”, and you have blessed me with invaluable advice.  Now it’s my turn to put on my yarmulke and return the favor.

  1. IMHO, what you really need to do is what all engineers do when faced with a crisis:  Go out and get stinkin’ drunk.  After you sober up, (and get out of jail  :wink:), you need to decide what’s important and what’s expendable.  If it’s expendable, no matter how desirable it might be, it has to go entirely off the radar.

  2. You divided people into three broad categories:

    • Starters
    • Doers
    • Finishers.

Before you can start, do, or finish, you have to decide on one specific goal that you want to start, do, and finish.  Then weigh everything in the balance against that one specific goal.  If it advances you toward that goal, it stays.  If not, it goes in the bin.

Here I am assuming that, (at least), some certain part of your research with Carl is the “one specific goal”, and that ultimately you will want Carl to do a specific and definable thing.

  1. This is the important step - deciding on a single specific and definable thing that you want to accomplish.

You will notice I am emphasizing “specific” and “definable”, as the goal needs to be defined with sufficient precision to make it clearly achievable.

Once you have decided on that one specific and definable thing, you can measure things against that standard, keeping things that move you toward it and discarding things that don’t.

Once that goal has been met, you can decide on yet another goal.

=======================

The most important thing to remember is that this is supposed to be FUN.  We do this because we enjoy the challenge and we enjoy contributing to a common goal.

Somehow or other you need to relax and decompress.

Blow a “J”, get drunk, spend a month in Cancun, or whatever you need to recharge YOUR batteries, and then approach this question again.

What say ye?

2 Likes

I don’t think you’re loosing it @cyclicalobsessive. At least not in the way I think you’re worried about. I agree with @jimrh, at least partly. I’ve noticed it myself that when I have a lot of stress I start to get very forgetful. When I notice that I have to force myself to slow down and focus. Not always easy. There are just too many cool things to do, and I have too many unfinished projects. I’m trying to get better about not starting as many things, but also not worrying about hard deadlines for finishing.

I’ve mentioned before my robot YAAR. Once I built it I realized learning ROS was going to take a while - and I think I’m only just getting there. The GoPiGo3 was a little detour to have an actual robot (not just one in a simulated environment) that I could learn ROS on. It’s been great for that, for far less than what buying a Turtlebot would have cost me. Doesn’t bother me for now that some of the software is running on a laptop - ROS is intrinsically a distributed system. I took a class where we used TurtleBots, and we still rans part of the stack on a desktop computer. I think it’s possible to get it to runs most of the stack on the GoPiGo3.

I do want to get back to YAAR with a goal of being able to enter it in RoboMagellan type competitions. For that I’ll need to figure out how to integrate GPS, navigate without lidar, maybe use vision sensors for navigation, and who knows what else at this point. So I’m sure more detours. But as long as I’m enjoying each step along the way I’ve decided not to fret about when I’ll get there. Took me a while to get to that conclusion, but I’m happier for it.

I kind-of know what you mean. I see that more managing people at work, where projects are largely team efforts. But it also strikes me that for individual projects like these, you have to be all three. In order to finish something, you have to start and to it. And robotics is tricky with regards to this framework. Unlike building a bookshelf, you’re never really done with a robot. There’s always some optimization or improvement that can be implemented. So the ‘starting’ - ‘doing’ - ‘finishing’ comes down to individual sub-projects. Sometimes I do feel like I’m in one of Zeno’s paradoxes - there seems to be an infinite series of “halfway-there” points :slight_smile: . But I can look back and see that I have finished things - I’ve built the physical robot - done. Added lidar - done. Have ROS running - done. Learning navigation - still in the 'doing" phase. So from that perspective I tell myself I’m doing OK.

/K

2 Likes

Last post was more on the philosophical side. On the technical side of things.

I don’t find my robot to be too noisy. But that may just be me.

(updated) @cyclicalobsessive - to compare the sound I uploaded a couple of videos to YouTube:
Finmark without lidar running
Finmark with lidar
Most of the noise comes from the metal caster rolling over the wood in the foyer. Maybe I should look into a delrin caster. At any rate, the first few seconds of the second video you can see the lidar rotating before the robot moves. Really not much sound compared with the motor and caster noise. Hope that helps.

I’ve used LiPo batteries for years in different robotics projects and don’t worry all that much about them. Certainly aware that fires can happen, but given the vast number of batteries out there they seem rare. For the battery pack on my GoPiGo3 I charge it on my desk. Again, maybe I’m being too cavalier, but I am assuming the charging circuits are now pretty well understood, and so relatively low risk. Like driving, there’s a tradeoff between level of convenience and level of risk.

Yep - definite issues. I was really happy that Bernardo Ronquillo Japón wrote Hands-On ROS for Robotics Programming. The ROS interfaces for the hardware along with the instructions made the GoPiGo a viable learning platform for ROS. I had hoped there would be more of community here as people started using it. I still have some URDF files that I need to clean up and submit as a pull-request; I want to use them a bit more with for navigation. And I’ll show my code on my GitHub account. There don’t seem to be many active repositories on GitHub for ROS on the GoPiGo3. So it is very much a start from scratch kind of thing with few examples. No easy way around these issues - you’ll just have to decide if it’s worth the effort/learning curve (which can be steep for ROS).

/K

2 Likes

IMHO
99.999999…99999…9999% of those “seen on Twitter/YouTube/[insert other ‘news’ channel]” are mostly scare tactics - the same way the anti-vaxxers have taken a truly de minimus risk of adverse reactions and turned it into a global thermonuclear crisis.

Lithium batteries are truly ubiquitous. You can’t travel very many feet in any direction without encountering lithium technology of some kind.

Early lithium technology was a bit iffy in the same way that early NiMH technology was iffy.

Things have matured enough that neither technology isn’t any more risky than walking down the street.
/IMHO

Summary: Twitter isn’t exactly the most respected news resource. :wink:

2 Likes

Thank you @jimrh and @KeithW for responding in my little crisis. Indeed there is a very big non-robot stressor affecting my sanity. I’ve lived in my house for 20 years without a single neighbor problem, and now the new neighbor put his fence on my property, installed his pool pump exactly at the head of my bed and left it running 24hrs a day, put fencing/landscaping along my zero lot line that will prevent maintaining my house, and exploded in a rage calling me names when I tried to discuss the pump.

While Carl doesn’t need ROS, it interests me immensely. Long before the “Hands On ROS” book, @Jimrh and I did manage to install ROS Kinetic on our GoPiGo bots, but I didn’t invest to get rviz up on my Mac, so my investigation ended with the installation success.

While I do have ever present tinnitus, my hearing is “too good” when I am in a quiet surrounding. All day long I hear neighbor’s opening their doors, sprinklers coming on and off, the fridge cycling, my A/C pump outside followed by my air handler, and my zero-lot-line neighbor’s A/C pump coming on and off, car’s racing (and crashing) miles away, as well as our coach lights switching on at sundown and off again at 11pm. Oh and every bird and wind gust in the back yard, and that stupid mockingbird four houses down that sings all night. Sorry, TMI.

Thank you Keith for the recordings - The LIDAR is much quieter than I was expecting. Can the motor be turned on and off via command or would it require wiring a relay/electronic switch?

As a gate on whether I was going to continue investigating ROS2, I chose the task of installing ROS2
in a virtual machine on my Mac. After two days of battling flakey installations of Ubuntu 20.04 Desktop, tonight I succeeded to install Ubuntu 20.04 Desktop and ROS2 Foxy Desktop. (“Hello World” C++ talker to a Python Listener.)

It’s decided. I’m going to tackle creating a (yet to be named and specified) ROS2 GoPiGo3 bot.

I’ll need to learn from you how to make a URDF that has a third layer, the battery in the middle, servo/distance sensor on the bottom layer, and perhaps a tilting camera on the middle layer as well, leaving the top for the eventual LIDAR.

2 Likes

Maybe you should lurk the /neighborsfromhell subreddit? :wink:

You may also wish to consult with a real-estate lawyer as you have, (should have), a legally protected right to the “quiet enjoyment” of your property. Unfortunately I don’t know enough about RE law in Florida to be of any other help than that. (My wife was a pretty darn good real estate agent in Massachusetts before she retired, and I had to teach her the subtitles of land ownership in the U.S. that didn’t/doesn’t exist in Russia.)

As far as projects are concerned, “you da’ boss!” but I would sit down and think long and hard before putting additional projects on your plate - it sounds like you need to push things OFF your plate, not heap them on.   However, that’s your choice to make and I will be whatever modest help I can.

2 Likes

You do realize that “them’s fightin’ words!!”

Charlie and Carl are not “actual robot[s]”?!!

(That rumbling noise you’re hearing is legions of GoPiGo 'bots heading to your house to exact revenge for the insult to their dignity!)

Seriously now, though I wouldn’t place my cherished GoPiGo in the same league as a DARPA super-bot, or even a fancy GPS 'bot, but relegating the GoPiGo to the toy box is a bit much. . . .

(Errrrr!!)
:wink:

1 Like

They are most definitely. Looking back I see my wording was ambiguous. What I was trying to say is the GoPiGo3 was a detour so that I was learning ROS on a physical robot (not just Gazebo simulations) as I made my way to programming a bigger robot with less out-of-the-box integration.

And I’m very happy with it.
/K

2 Likes

Ugh - sorry about the house situation. We have great neighbors on one side, and annoying ones on the other, but nothing of that magnitude. Hope you get it sorted (with or w/o legal help, preferably without).

I’m impressed that you got Kinetic running on your own. ROS2 sounds like a real challenge. I haven’t tried to tackle it yet since it’s mostly been C++ oriented, and my C++ skills are terrible. I can do the basic Arduino-level stuff, but beyond that not so much. However it seems like more of ROS2 is accessible with Python. Congrats on getting it running on your VM. It’s funny that ROS2 will run on Linux and actually Windows, but not MAC OS - I gather there wasn’t enough interest to maintain a port. I think Microsoft if helping with the Windows port (seems like I read that somewhere).

I may join you in the ROS2 experiment- as I look forward to my bigger robot, seems to make sense to plan on using ROS2 for it if I can. Although in reality I’m sure ROS 1 will be around for a long time (although hopefully the transition won’t take as long as the transition to Python 3 is taking).

Happy to help with the URDF. I’m mostly finished with the navigation class I’m taking, so I’m looking forward to starting to play more with Finmark. Then I can tweak my current URDF - I plan to submit it as a pull request, although I’ve installed my lidar differently than in the book. I still have my battery in the back (as you could see in the videos). I also need to work on actually using the IMU data - that should help with navigation accuracy.

/K

2 Likes

What?!

Did I miss something?  Or maybe you confused me with @thomascoyle11859?  (Thanks for the compliment, but I don’t think I could be confused for his shoes, let alone his robotics skills.  Nice dream though.)

As far as I recall, the fanciest thing I’ve ever tried was to try and build a R4R instance on a 64 bit Raspbian image, which failed miserably.  And which I’ve had to scrap to stay within my still limited “power budget” (:wink:) post-COVID.

If I DID manage to accomplish that, (and I somehow or other forgot :crazy_face:), please remind me!

2 Likes

Good catch. I had to go back to those posts to check with whom. 2019 seems like 20 years ago for some reason.

2 Likes

As in “Ain’t that the truth!”

Sometimes I wonder when the horror movie will end so I can go home.

Both Svetlana, (the wife), and Charlie, (the “other” wife, so to speak), are working hard to try and keep me sane.

And sometimes it even works! :wink:

2 Likes