December 29, 2021

PickNik's Getting Started With MoveIt 2 YouTube Series episode 4

by Tyler Weaver

Transcript: Hello, and welcome to another episode of Ross developer notes, where we are going through the move it two tutorial pages. And this one, we are gonna launch our first tutorial, the very first tutorial, quick start in Arvis. We’ll see if it will. Um, you may sound hear a little bit of skepticism in my voice and that’s because the other point of this whole series is to fix the tutorials, to show you how to fix tutorials when you find them that they’re broken, they sometimes do break. And, uh, so we’re gonna try this. All right. Uh, quick start in Arvis. This tutorial will quickly get you into motion planning, using movement, and Arvi in the move it plugin who is a primary visualizer in Ross and is incredibly useful tool for debugging robotics. Um, we use it in all of our projects, really. Uh, Arvi really developing with move it and robotic arms.

That a seems crazy like it is goes hand in hand with using move it. So there’s a Arbis plugin allows you set up virtual environments scenes. Great. And start goal start and goal states for the robot interactively and test various motion planners visualize the right let’s go. So the first thing we gotta do is getting started. I should have seen me do that a few videos ago, not go back and watch it. And then we launched the demo. So you just copy paste this, right. We built, um, tutorials package. So this is in the tutorial package using the roster launch command. Um, come back here. We have to source, uh, the, uh, workspace tutorials. So probably remember I use SSH dash, do whatever you want personal decision. All right. Now we’re gonna paste this in and we’re gonna launch it. Oh, well that didn’t work. laugh we should have seen an Arvis window and instead it just came right back to us with a bunch of errors. So let’s go to the top and see if we can find what failed.

Um, all right. Could not find the resource controller manager of type pages. Um, well I bit this from Ross to control. Oh, so in the first video, remember I had you install Foxy or we installed Foxy from Debbie’s move it and move it to Foxy. Unfortunately doesn’t depend. I bet there’s a missing dependency in, um, in our tutorials. All right. Uh, the package is called of controller manager and let’s go make, go to the web and find that. So if you search for Ross index and then whatever your package name is right, that you need to find, you’ll find this Ross index thing, and it looks like it’s released for Foxy. Um, it’s part of the rust control package. Okay. That makes sense. So, yeah, there’s no release for galactic and rolling. It looks like, uh, or maybe there is for rolling this website. Just doesn’t show rolling. Um, I other, is it older? Yeah, I gonna figure out how to put rolling on this website anyway.

So tutorials should depend on this and I will show you how to add a dependency. So we’re gonna open up the tutorials and I’ll show you to open up poll request if this works. So, uh, I’m gonna use my text editor. I like supply and we’ll open that, bring that window over here. And we’re gonna go into the package Exel. Um, we, it’s an exec exec, depend. I know why these are commented out. I, um, but, uh, it’s called controller manager and that’s what it is. So now we’re gonna try to use raw step to install it. Um, raw step, remember? All right. Yep.

There it goes. All right. So we installed that. Now let’s try to launch again. We’ll see if it works. Um, process has died, um, uh, signal event received before transport. Uh, where else? Ross Mongo not found. All right. One more dependencies that we probably do. Uh, I will add that here. Um, and we’ll try. All right. Woo. Oh, launched over here, getting closer. You know what? I don’t see your, I don’t see your robot. Oh, something else is wrong. Uh, scroll up. Let’s look at this. All right. So start with the warnings move group launch without default. That’s inaudible the name space actually using move group name space. Okay. Deprecated. This should probably be cleaned up, but that’s probably not what our problem is. A 3d sensor plugin defined. Um, other thing that should be cleaned up, but exception while loading OPL interface, OPL planner, according to loaded plugin descriptions to class that the base type that does not exist declared types are available plugins.

Well, where does that come from? That comes from, move it itself. I think. So we’re gonna have to go get a copy of move it and look for that. Um, uh, yeah. Fail to load pipelines from parameters server. All right. Well, that’s unfortunate. Um, so let’s just Google for that thing. Um, move group was unable to load this. Um, so it’ll find the planning plugins properly. Did you install Ross? Indigo? All right. Well, we don’t, it’s Ross, Indigo’s not our thing, but we might have a different exec and I’m gonna add, move it planners. OPL move it planners OPL and see if that is what we need.

Um, I think, yeah. All right. Last step install. Yeah, of course. It’s missing. Um, and we’ll try launching again, right? So no robot on, uh, are you getting further? So exception, we loading that according to the load, simple controller managers face type move it controller manager does not exist. All right. I bet this thing is yet another thing we need to depend on part of it. Um, I wonder if simpler, simpler, simple controller manager. Yeah. I wonder if I should just do this, um, you should just have an exec inaudible move it and will that fix it for us? Um, mood itself is a meta package, which means it comes, it brings in a lot of stuff. I be, this will fix it. Yeah. So, all right.

Still nothing. All right. Let’s go look and see if we can figure out what’s going on. Um, all right. The type Ram, not defined for pan to hand controller loading the controller that, uh, pan to arm controller joint state controller. Right. So we need joint state. Um, and then it looks like there’s something wrong with our YAML. All right. You know, one thing at a time where is joint state controller? That’s part of rust control too. Um, it looks like it’s its own package. We can try depending on that. Uh, and rest install. Yeah. All right. More stuff is installed.

Um, still no robot. All right. So I bet we have a messed up YAML. Now let’s go back to our move at two tutorials. Let’s see. What are we actually launching? It is called demo dot launch, do pie. Oh, launch dot pie. And, uh, so where is, uh, config that is causing us the trouble, uh, pan to hand controller. I’m gonna search you here for, and, uh, and, uh, for controllers in that load controllers, uh, um, this comes when move it resources, Panda Panda control. Uh, it’s not in here. Um, I bet we need the move resources package and we have to fix some thing stream.

Let see how it goes. All right. Uh, repo, clone, cost planning, move it resources. Let’s figure out what branches there are. Uh, resources get checked out. Ross two. All right. Let’s look in here. And, uh, arm Panda Ross controllers. I add it comes from this thing, uh, missing a type position controllers, gripper action controller. Make sure this pander Ross controllers is the one that’s loaded here. Yeah. All right. Ross controller. Um, gr action controllers. Let’s see if that’s what we need to install. So I come back here to this one. Let’s see if installing, uh, that. Yep. That’s one more thing we need. All right.

Let’s see. Uh, loading controllers for pan to arm controller, uh, type parameter is not defined for Panda hand controller, but it is all right. Well now is when we use the RO two parameter system, two per list, ops Crossy list, get the parameters. Um, so what do we care about? What do we care about? We do not care about all these move group things we care about the controller manager, um, us all right. Uh let’s uh, all right, so this is what’s in here. Well, that’s wrong. So we gotta figure out where this files come from because pan to hand controller is not being set correctly and it should be all right, let’s go back here, move it, resources, Panda, move it, config, Panda, move it. Config.

Panda Ross controllers to ya is trajectory. Controller need to be installed. Let me make sure that’s, you know, um, uh, yeah, one more thing. So all okay. Uh, uh, new factor over right existing one. When libraries containing plugin, they’re directly linked against them execute all so on their own library. Okay. Uh, loaded that pipe is not define well now is when I just Google this cause this seems odd. Maybe somebody else is run into this. Um, well, let’s actually, uh, click on build. Maybe the issue is fixed in, uh, uh, the, maybe the issue is what was the release version of our resources package is messed up.

Remember we checked it out, but we didn’t build it. I wanna build it. Make sure we’re using the one locally and well source the install here and we’ll do the raw step to verify and we’ll do the raw two launch. All right. We got a different air. Okay. So this is one more thing. Uh, we do need to release the, that package because obviously it’s not set up correctly. Um, hand controller, um, position controller joint. All right. So it can’t find gripper action controller, uh, joint group position controller. affirmative uh, where does this come from? Like cuz maybe problem is we have to build back.

Um, this comes from Ross two control Ross, two control. It looks like maybe needs do a, uh, GitHub memory.com. I’m gonna go to Ross two control. Look for this actually position controllers. Um, these AOR is pretty broken, um, pretty down in the weed for us. Two controllers here are position controllers, uh, positioning strollers. And that’s the only one it’s called joint group position. Well, if I come back here and we try joint group position controller to see if that works. Um, so yeah, uh, we have to build again, let made it change, uh, us to launch, um, joints. Parameter is empty. Um, maybe that’s what it wants. Um, but probably wants a list. So there’s a finger joint, one filled again. Okay. We made it further,

Uh, GitHub memory.com. I’m gonna go to Ross control. Look for this actually physician controllers. Um, O these, the AOR is pretty broken, um, pretty down in the weed. Us two controllers here are position controllers, uh, positioning controllers, and, and that’s the only one it’s called joint group position. Well, if I come back here and we try joint group position controller to see if that works, um, yeah, uh, we have to build again, let made a change, uh, us to launch, um, joints. Parameter is empty. Um, maybe that’s what it wants, um, but probably wants a list. So there’s a finger joint, one filled again.

Okay. We made it further, uh, uh, state controller. All right. So there’s another bug. I think, I think it has to do with, uh, I transform actually, um, I don’t only know about this because I don’t put PR, so we’re gonna go and see if that also applies to this, um, to go to the tutorials and the poll requests. So this time we’re going to closed ones. Um, this one affirmative. Oh, this one? Uh, yeah. So what was changed? Something, uh, in the parameters? Uh, no, this is for TF. Uh, um, it doesn’t look like TF has started.

Um, we’ll see if we can pick different base frame. Actually it looks like the motion land and the planning scene. We ran at a planning scene. Yeah. Oh yeah. AR is config. Come on guys. Basic basic things. Uh, we’ll go to link zero. Yep. And the planning scene. All right. And then we need a motion planning, plugin think. Okay. We’re getting there. And then in this one, uh, what do we need to turn on show the robot collision maybe. Oh, that’s not. We need to show the workspace now show quick start. Now there’s some way to turn on this marker that lets us, um, I’m gonna turn on a show trail.

Um, planning group is going to be the Panda arm. Ah, that’s what we needed. These are the basics, basics, basics, guys. Um, I’m close that this seems like a, a much better default. AR is config. So figure out where this Arbis config is coming from. I am that no, I’m going to put this up. This, this is the default view. Uh, what is this? This is in the tutorials. So I’m gonna save this save config and this is gonna be part of my PR. Okay. Um, so let’s test to see if it works. See if we can move the robot arm a little bit and see if we can plan something.

So we say plan. Yeah. We see a plan. Uh, and we say execute. All right. I don’t know what’s going on there. If I go back over here, it looks like all this worked a lot better. Um, so I’ll show you how to submit a PR cause that worked so much better. All right. I’m gonna close that. Uh, uh, see where the dif is. Oh, that really the diff yeah. Diff okay. Uh, let’s that again? Let’s see where Arvi starts up. Well, that seems broken. You initial scene failed, um, pan to hand, right? Uh, okay. This is there’s some race conditions. Um, there’s known issue. I’m not gonna fix it in this one. This one. We’re gonna stop and start this one again. We should note that though.

Um, see if, yeah, so we got it to work once. Oh, it’s in the install. Okay. There’s some raise condition about requesting the initial planning scene that fixed it. Um, you should note that you have to do that as a workaround, but uh, this Panda movement config demo empty. This is what it is. I need to copy the one in install. So if we go back to here, go back to our, uh, where is it? It is in install, CD code, um, install, moving to tutorials there, moving to tutorials, launch, handle that empty to source, move to tutorial.

I gotta find out where this should be. Uh, doc Quickstar Arbis launch doc Quickstar Arbis launch. All right. Now I go back over here. Let’s see. What is it different about it? Um, all right, let the tutorial make sure we’re not missing anything in the tutorial itself. It talks through this. Um, oh, oh, okay. Okay. That’s fair. These getting talk. You’re how to interact with it. Okay. So we don’t actually have to change that, but we should change stuff. We did. So, uh, we’re going to reset this because we don’t actually need to change that.

Uh, um, but our package Jel, it seems pretty broken. Um, I’m gonna go back to the bag Jel and we’re gonna clean it up a little bit. This move. It depend includes that. Oh, we don’t need that. I may think it includes that, but you should just list what you use. These are all the new ones. Um, I am going to alphabetically sort this because that’s a thing. Um, it’s nice when things are alphabetically sorted, uh, it’s easier to read if you’re on sublime, the hack is hit F nine and it’ll alphabetically sort. So what is missing? Get D all right. Um, get, check out.

Uh, let’s see. And so I’m gonna call my branch get, add that, get commit, add missing CS PR create, this is a really awesome feature. Um, I’m gonna push into my fork, add missing dependencies body, uh, continuing browser, um, to be installed when I tried doing the first, uh, out installing, um, source instead using raw step to install S of the, of this package. Um, I’m ecentric to cause he’s been so helpful with this. Stuff’s how you tag or review, um, I wanna merge domain. That is how you contribute. It’s that simple? Um, uh, I’ll add a comment. All right. Uh, there’s another issue, uh, raise condition in harvest.

Um, um, the AR when Arvis is loading the for, uh, prescription, I think we here, I should actually fill that stuff out the back. I think when I, on the first two or now I, this there is my air, uh, um, there are a bunch of other things, uh, that I am using Foxy, uh, um, binary, what version? All right. How do I figure that out? Um, uh, I think I can figure that out by going to somewhere in here. Uh, uh, all right. It’s version 2, 2, 1. You’re like, how do you find that? Uh, two, one, uh, and range of tutorials proxy, and on, uh, first tutorial, what am I running?

I’ll show you how I found this. Um, I am in inaudible Foxy share, move it in the share directory. There are all the packages and in packages are the, um, XLS and you can see what it is. Um, let’s look through my history. What am I running? I’m running this over and over. I don’t know why there’s a new line at the end of it. There shouldn’t be a new line at the end of it. Um, of, uh, I save the AR is big and rerun. What happens I end up in this state, went to a screenshot, takes a little while, uh, grab the current window screenshot. Um, I scene warning.

Um, you shouldn’t air, uh, say the art is a rerun, the, uh, demo, or it started up like this. Uh, alright. We gotta find that pictures. I bet. Scene warning. Um, to clear the scene warning, I can change the robot description to something else. And, uh, so coming here, number, change this to two, um, they got another screenshot, I guess, uh, grab current window and we fix it the current window. Um, description two, I add that one and then fixed. This is a bug and maybe good versus you. I don’t know. It has something to do with primary learning. It’s not super, um, intuitive how to fix this, but this is how you spend an issue, uh, real bugs, like this, help us find the, um, the problems, uh, and, um, we need your help solving these problems. And only way we can get help solving these problems is free. Help us find the bug. So submit this new issue.

Um, remember there was also an issue. So in the moving resources, um, that it needs to be released for Foxy. Let’s look in here, uh, release, uh, um, uh, remember what the issue was. The issue is in, uh, Panda Ross controllers in the east version of Foxy, which acts the, uh, Oreo that way missing type or, uh, pan to hand controller. Um, build this package from source. You start, uh, new that you a new issue where it blames about not existing, as far as I can go. That’s not a controller in the position controllers baggage from Ross two. Uh, here we can link to that important. You provide as much useful information as possible. That way the person who goes and tries to fix this actually can fix it. Um, so we need to go find that raw two control thing in Ross, two controllers and position controllers. Um, two, one time that is in there, uh, and the finds below like this, and you get this air from the air, right? Uh, uh, uh, hand to hand controller

Control our hand for client pen, hand controller of gr command. Um, there is an issue that is how you submit an issue, undo those with, do this with us. We need, need these to be able to fix this. Hopefully the next episode I actually fix this, but until then, um, or maybe somebody else does before I record the next episode, um, come help us figure out these issues. This is, uh, this is greatly needed. If people are gonna start using move it to too, that these issues get fixed. Um, if this, uh, video has raised your us IQ, please like comment, subscribe, fix an issue. Maybe this one, um, you find me on discourse and discord. We have a move it to discord or move it discord, um, until next time. Thanks for watching.