To mark NRW 2022 iRobot just announced an educational robot that runs ROS2 (as well as other options)
The Create 3 is also the base for the upcoming Turtlebot4.
/K
To mark NRW 2022 iRobot just announced an educational robot that runs ROS2 (as well as other options)
The Create 3 is also the base for the upcoming Turtlebot4.
/K
Yes, the announcement put the nail in the coffin of my “Create3 Beta Tester” aspiration. Back in October of last year I responded to their request for Create3 hardware beta testers, and while waiting to hear I built up a “ROS2-Ubuntu20.04 Raspberry Pi Mobile Controller” to test their Create3 ROS2 API and Gazebo sim. I found a few issues and had a few suggestions accepted.
It was additional experience using ROS2, but I did not learn anything new about ROS2, nor anything that was useful in my GoPiGo3 ROS2 effort. Actually it burned me that here was a $300 robot that came with bumpers, a speaker, sensors, wall following, a dock and docking intrinsics, and particularly designed to interface and power a Pi4. (It lacks “Grove” sensor family support built-in that the GoPiGo3 features, and a RPi, and the great GoPiGo3 projects/examples library.)
In their defense, they did end up offering a 20% purchase discount for my “interest”, but I’m not going to bite.
And that would bring it down to a discounted price of ONLY $3,000?
I wonder how many GoPiGo3’s with distance sensor and Pi-3 you could buy for the cost of one of these beasties? A fleet, with Carl and Dave as the two carrier-class robots leading a flock of minions?
$300. . . Oooh, that’s bad.
And their junior version:
$200. . .
That GoPiGo-3 is looking a bit long in the tooth. . .
$250. . .
I have to admit that, though the GoPiGo wins hands-down as far as “cute” and possibly “expandable” (but I really don’t know that for sure), there’s no denying that if I were going to plank-down cash for a robot today, the iRobot Create-3 would be one heck of a contender - perhaps to the point of purchase.[1]
The only thing needed (IMHO), to make this THE “Killer Robot” would be if they included the blockly and python programming available in their Root models and had a library of lessons and examples.
If it had all of that, this robot would absolutely CRUSH! - There wouldn’t be a robot within light-years of it.
IMHO, the only “bitch part” is the price. I can’t see a school, (except maybe Oyster Bay Cove, Port Washington, or South Hampton’s school districts), that could afford to populate a classroom with a bunch of robots at three benjamins a pop. Then again, I am sure the folks at iRobot are willing to negotiate a “school district” price.
[1] When I was shopping for a 'bot back in 2018, one of the things that REALLY ATTRACTED me to Dexter Industries in general, (and the GoPiGo series of robots in particular), was the forums. It was a large, vibrant, group of users with both engineering and the Top Brass heavily invested in it.
Though @cleoqc makes a brave front and works hard, (and I respect the living hell outta her), it’s not the same. Except for the occasional student who’s outta their league, there are only three, count-'em, three, non-DI users that are here more often than once a year.
M/R’s decision to move support away from the forum into a more “closed source” environment is really chilling.
If I were someone with cash to plank down on a 'bot - perhaps as an institutional buy - I would have serious second-thoughts about the GoPiGo 'bots after seeing how “intimate” the forums are.
@mitch.kremm - are you listening?
It reminds me of a line, (part of a song), from 1776, where John Adams says:
“Is anybody there? Does anybody care? Does anybody see what I see?”
What say ye?
$240 … which could look like 3000 roofies I guess.
Not bad for a self docking, wall following, left/front/right bumper, six near distance sensors, IMU, wheel drop sensors, front cliff sensor, floor motion sensor, speaker, buttons, lights, a 26Whr Li-Ion battery, with USB-C power and networking, bluetooth and WiFi networking/access point to ROS2 controller running all the necessary ROS2 mobile nodes (sensors, motors, intrinsic behaviors) and separate regulated accessory power.
The GoPiGo3 wins BIG on expandability, comes with a Raspberry Pi, unlimited programming, examples and API in six languages, …
The GoPiGo3 is still a strong and possibly the strongest educational robot today (outside of the ROS education market that Turtlebot has cornered).
Create3 is a half there ROS robot.
How so?
Not that I want to “diss” the GoPiGo, but how so?
It’s expandable, but then again, it needs to be.
With the exception of, (maybe), a pan-and-tilt, the Create-3 already has everything you, (I), put into a GoPiGo to make it usable. The sensors that we add are already there - the bumpers, the distance sensor, floor sensors, speaker, even a perforated top to mount a minion on! It even includes a dock and specialized docking sensors - and I am assuming that docking behaviors are built-in.
The one big advantage I see to the GoPiGo is the accessible Raspberry Pi interface pins on the PCB. If they were to re-design to use something other than SPI-1 as the primary interface, and implement true CE SPI support, then that would open up a world of expandability - everyone depending on SPI-1 makes things difficult.
One other thing is, as you said, the vast library of routines. One additional thing is that, though you can use it with ROS, you are not required to use it with ROS - which (IMHO) makes it accessible to a larger audience - including those, (like me), who are frankly scared away from ROS as a robotics environment.
IMHO ROS is like Python - the very few things “it gets right” are offset by the very large part that “it gets wrong” - but that’s an entirely separate thread.
What makes it “half there”? I’m no expert on ROS, but what’s missing?
There is learning with robots, learning about robotics, and there is learning about ROS.
The GoPiGo3 is strongest in learning with robots, can be used for learning about robotics directly, and is weak for learning about ROS.
The GoPiGo3 allows learning about electricity, analog and digital concepts, from buttons to colors. With I2C, PWM/Servo, Programmable Analog and Digital I/O, and serial interfaces built-in the avenues for learning are immense.
The Create3 does not have a general purpose processor included nor any sensor/effector interfaces built-in, so the Create3 is more narrowly for ROS learning, but since today’s ROS robots tend to rely heavily on either vision or LIDAR or both and the Create3 has no built-in interface for either, nor a processor to run the ROS nodes for additional sensors - I consider the Create3 only half there to being a ROS education robot. The Create2 was also weaker than the GoPiGo3 for learning with robots.
The GoPiGo3 fills more topics in the STEM curriculum than Create2 or Create3. Additionally with the “maker focus” in vogue these days, the GoPiGo3 is a better platform.
All are valid points!
Thanks for enlightening me - I feel better now.
(Charlie, you can come out of that box now, that big, bad, iRobot meanie has gone away. . .)
Charlie hiding with his stand, his favorite blinking light toy, and a bottle of anti-static spray.
Huh?
It comes with a Pi, and has Pi-power specifically built in.
Supposedly not only does it have built-in sensors, etc. - it has a cargo bay and, (if I read the article correctly), it has the ability to add more stuff - including articles on how to do it. And! It already has the ROS nodes for everything built-in to its version of ROS - which as I remember was a large chunk of getting ROS to work on the GoPiGo.
Maybe Keith and yourself can convince M/R to open an ROS repo, or create your own special ROS on GoPiGo-3 repo, and upload stuff to it so that the next poor sod doesn’t have to re-invent the wheel, 'eh?
Charlie was shouting “Get that blinkin thing away from me!” Looks like he needs a “motor box” for protection:
Nah, he like’s ‘em swingin’ free in the breeze - it’s cooler that way. (Sitting near a radiator that’s active almost 9 months out of the year!)
Also, he’s a strictly indoor 'bot.
No RPi included.
Sure, after you add a RPi you have the RPi GPIO. And there is no fan in that cargo bay, so better plan for cutting a hole in that cover for one of those fancy lighted fan liquid coolers.
Actually, installing the GoPiGo3 library onto the ROS2 required Ubuntu 20.04 OS version was the difficult part back then (Python3 install failed). Now that that works smoothly, bringing up a ROS/ROS2 GoPiGo3 is relatively simple:
The hard part now is learning how to set up your laptop or desktop with ROS/ROS2 for all the nodes that consume the GoPiGo3 (or Create3, or Turtlebot) node’s messages and do something with the data.
They do have a blockly-like environment for the Create, as well as Python (and ROS2 as a 3 choice for the most advanced students). And I thought I saw they had lesson materials.
seconded
Sounds like an interesting thread. At least for me Python gets so much right that I’m willing to overlook the parts that annoy me. ROS is more of a mixed bag, but still I think it’s mostly right.
/K
Weeelll…
That’s like music - everybody’s tastes are different.
The “few” things that Python gets wrong are, (for me), such stupid omissions that it really takes away from the language. (I don’t remember them right now - selective amnesia?) - but when I work on things of any complexity at all, it drives me nuts!
ROS scares me because so much isn’t done and I really don’t have an idea where to begin. Then again, after some of the other stuff I’ve done, maybe it’s worth a try down the road?
As I see it, comparing ROS, not even to GoPiGo O/S, but to Legacy Raspbian with the GoPiGo stuff curl’d in, is like this:
Building a house in Legacy Raspbian:
Building the exact same house in ROS:
At least this is how I see it based on what you two had to go through to get the 'bot to even think of itself as a robot - forget the LIDAR and stuff - just the basic 'bot coming on line was a major undertaking.
No disrespect intended but. . .
Why isn’t Dave dancing jigs, walking on water and talking to the angels - and why do you need a “Legacy” install for Dave to be useful for a lot of the stuff you have him do?
I AM still curious about ROS/2, but, (as far as I can see), if I load up Legacy Raspbian and curl the GoPiGo stuff in - I’m done! All my stuff runs, and - with the exception of things that require a secure cert installed and changes to the hosts file - Charlie’s a happenin’ thing.
I’m not there and maybe I don’t remember rightly, but even with a separate 'bot dedicated entirely to ROS, Dave can’t even dock himself - right? And compared to what Carl can do, it seems like Dave has a walker and a handicap placard.
Not wanting to diss Dave, but (so far) it seems like your merry trip down ROS lane has been more frustration and less victory than it’s worth.
So, what am I missing?
P.S.
A moniker for Dave’s home placard:
Dave, A Valiant Endeavor
(and it’s even recursive!)
ROSbot Dave could be considered “done” from the standpoint of what is typically installed on a ROSbot mobile platform. Dave is able to see, walk, talk, and ready to dance! … If the distributed parts of ROS/ROS2, the brainy parts, were not so flexible as to be nearly useless out of the box.
For me the ROS2 world is a smelly pile of software items grabbed from various 2nd hand stores that must be washed and color coordinated to make ROSbot Dave perform a particular dance at a particular event. I thought all the outfits for the fun dances had been figured out, cleaned and ready for “ROSbot Dave” to wear. The ROS2 world is huge, and quite real world-ish.
If I had followed the previously traveled path of ROS instead of ROS2, I would not have had to synthesize a path. I did that to myself - no fault of ROS.
I use Legacy Dave when I specifically need to use the latest version of the GoPiGo3 API, or run forum posted code on a simulated GrovePi or BrickPi environment running Legacy PiOS. I like the Legacy PiOS. It is an officially maintained OS from the Raspberry Pi foundation specifically for the RPi.
(Ubuntu being an “also runs on RPi” OS is much like ROS is an “also runs on RPi” but RPi is not really at the top of the “we care” list for the Ubuntu folk.)
I use GoPiGo OS Dave to repro forum posted code and just to be somewhat familiar with it. I don’t want to update it and be different than other users. I also hate having to fire up my iPad to disable the access point mode and configure the networking the first time, but I do it. (and that garbled audio drives me crazy as well.)
For pure Python investigations, like multi-processing or multi-threading, I tend to just use Carl because he is always awake.
At some point, I want to move Carl off Raspbian For Robots onto Legacy PiOS, (and I might even change his battery chemistry someday and re-write the “Juicer Rules”, if Dave doesn’t burst into flames unexpectedly.) I don’t like that I can’t update Carl’s OS without breaking the working audio, perhaps moving Carl to Legacy PiOS will get me past that issue.
And when Keith makes the jump to ROS2 next year, I will have someone to follow behind in ROS2. Maybe I’ll get out of my slump and forge into mapping and localization myself but it just seems like too much work to figure out the ROS2 Nav2 stack myself. There are tutorials, but I haven’t had the strength to jump into them. I have never wanted a remote controlled robot, but I have wanted to benefit from other people writing robot behaviors.
Some folks like big cars, with big engines. I prefer little cars, little gas tanks, and a long time between fill-ups. Some folks like to mod their car. I just prefer to drive and a “stock” car at that.
“Worth” is pretty hard for me to judge. I’ve had fun with ROS2 so far. I managed to create a ROS2 GoPiGo3 node, a Dave visual model, and connect ROSbot Dave to the remote visualization tool. (It was seeing the “black holes” in the LIDAR scan in rViz2 that clued me into the DI Distance Sensor “off angle” limitations.) I got ROSbot Dave through a “1K ROS2 Run.” True, there has been frustration; Mostly from thinking I could “do it on my own”, skip the training wheels, go straight to mapping the house and find his way back to his charger, then squeeze the fluff out to bring it all “on-board”.
In the meantime I have seen several new ROS2 tutorials that probably could have me mapping the house, avoiding obstacles, estimating location, and navigating to a goal with a few days diligence. I just haven’t had the motivation to invest yet.
Cute.
The Python programming for the Create3 forces neophytes to learn asynchronous programming from the very start, which might be smart but seems scary to me having always to struggle to break out of sequential thinking.
Set up some event responses, then hit “Play” and wait till things “happen”:
# Licensed under 3-Clause BSD license available in the License file. Copyright (c) 2021 iRobot Corporation. All rights reserved.
#
# Very basic example for avoiding front obstacles.
from irobot_edu_sdk.backend.bluetooth import Bluetooth
from irobot_edu_sdk.robots import event, hand_over, Color, Robot, Root, Create3
from irobot_edu_sdk.music import Note
robot = Create3(Bluetooth())
speed = 10
th = 150
async def forward(robot):
await robot.set_lights_rgb(0, 255, 0)
await robot.set_wheel_speeds(speed, speed)
async def backoff(robot):
await robot.set_lights_rgb(255, 80, 0)
await robot.move(-20)
await robot.turn_left(45)
def front_obstacle(sensors):
print(sensors[3])
return sensors[3] > th
@event(robot.when_play)
async def when_play(robot):
await forward(robot)
while True:
sensors = (await robot.get_ir_proximity()).sensors
if front_obstacle(sensors):
await backoff(robot)
await forward(robot)
robot.play()
@jimrh After seeing this, do you still think the GoPiGo3 needs to up its game? I think not.
You all make good points and, as @cyclicalobsessive said, (sort of), not everyone likes the same flavor of ice cream.
It sounds to me, based on what you all have said, that the ads for the “i” Robot, are more fluff than substance. Yes, you get a bot that can do a lot of things, but like an old VW bug I bought years ago, you’d have to:
I was lucky that I had access to a lot of parts from some earlier cars we bought just for the parts as the bodies were rusted out beyond any reasonable attempt to repair - so we got 'em cheap. I was also a college kid short on funds and long on time.
The next car was more like a GoPiGo.
All I had to do was:
I dunno. The Create really comes with pretty much everything in one already integrated package - seems to be closer to your second description.
/K
That’s what I thought too.
@cyclicalobsessive mentioned that it was more of a half-baked solution, so I figured that I’d missed something.