11172022 ROS Lawn Tractor Meeting

11172022 ROS Lawn Tractor Meeting

This video:

Chat:
Al:
Al:
Al:
Al:
Al:
Here is a description of using just GPS and gps_odom.py to do localization.
Vhttps://youtu.be/kHBzMp5E-lU?t=2132

Index:
00:00 Jeff: Shows his axle that he cut to reduce the length.
01:50 Al: Gives a status update. Comments on GPS, encoder.
03:45 Al: Talks about trying to get his Chips IMU running again.
05:30 Al: Watched some GPS videos.
05:55 Al: Mentions the original gps_odom.py code. Posts another link to a navigation video.
06:10 He is thinking about jumping into EKF and applying all of his sensors.
08:45 Al: More details about what he plans to do. PlatformIO, another video
10:00 Jeff: Suggests not jumping into EKF and just using GPS.
12:05 Discussing the “modified” NMEA NavSat driver.
14:50 Jeff: Complains about trying to use Google Drive.
17:20 Jeff: Mentions a script that extracts velocity and heading from a standard navsat/vel message.
Back to gps_odom.py
Mentions this meeting where the multiple copies of gps_odom.py were running:
10082021 Lawn Tractor Automation meeting

20:20 Talk about fixing or removing behavior trees that were added for the stage simulator.
22:35 Jeff: Mentions difference between various navigation packages.
23:20 Jeff: Again complains that he can’t find any of the old data.
29:15 Snow???
29:45 Al: Points out he has his own backups.
33:50 Jeff: Babbles incoherently…
34:35 Al: Says his Teensy code no longer compiles.
41:30 Al: Mentions he is going to use the URDF file from my Gazebo simulator code.
I missed it when he said that, but I caught it when he says it again later…
42:10 Jeff: More excuses for a small robot.
43:25 More reiteration on what Al is about to do.
44:30 Jeff: Asks which computer is running which nodes.
46:30 We start looking at launch files and I suggest going back to the
original launch files and nodes from his RPi.
55:20 Al: Points out he is determined to use some of the shiny new code from my
simulator project, that does not apply. And this is where he says he wants
to use the URDF from the simulator. I said “Don’t”. Part of the confusion may be
due to missing ROS packages.
59:30 “The Punch Line”

Lawn Tractor Automation YouTube page:

Index for Lawn Tractor Automation group:
http://sampson-jeff.com/RosAgriculture/LawnTractorMeetingNotes.txt

Index for the original ROS Agriculture group (~250 videos):
http://sampson-jeff.com/RosAgriculture/readme.txt
http://sampson-jeff.com/RosAgriculture/ros-agriculture-youtube20211026.txt


So I've been I've been going on and on About my my little robot that I'm going To do and I had this shaft like this It's about this long it was longer than That it was actually long enough to put My two back wheels 15 inches apart and What I did was I pulled out my angle Grinder and I cut out a two inch section Out of the middle of the shaft so now The entire shaft is two inches shorter And to join them back together I was one Of the things I was thinking about was Using one of these uh what they call a Coupler it's got a half inch thread Inside I was gonna I was gonna thread The end of the shaft and screw that on There but I can't figure out how to cut Cut threads in this so I just cannot Make that work so what I ended up doing I took one of the other I took one of Those at around a half inch drill bit Through it so now it's smooth inside There's still a little bit threads left But it's it's half inch inside so I can Slide that onto here Like that and take the other shaft and Slide it on here like this And then I just have to figure out some Way to keep that on there and the Quickest thing would be just put some Put some super glue on it to keep it From falling apart since there's no real Forces on this And or I could just drill drill holes

Through and put it put a screw all the Way through or I could I could drill and Tap the face here put set screw make set Screws for it or I could just draw a Clearance hole and drill a hole into the Shaft and tap that so there's various Ways I can do to get that stay on there But that that's how far I got right There I got the shaft cut so I committed Myself and cut my shaft and put that on So now uh when I put the wheels on there Now 13 inches apart instead of four Instead of 15 inches so I just narrowed There up everything by about two inches So it's just a matter of now going Through and Getting a plate to bolt my Motors down To and then just proceed on and then now I know the the width of the back I can Go to the front and do the steering so That's that's where that's at the moment And I don't think I had anything other Than Um I found some some code the stuff Al's Trying to do I found some code on a Computer so when we get that far I'll Mention that So that's all I got to say for this time I guess So it's up to you Or it's to you or whatever Um let's see my current status I'm able to get I mean the GPS is hooked Up and able to get

Sentences and a fix Um Into Ross if I have my base station Running it gets to rtk Um which is cool I reinstalled the Uh Gazebo What I refer to as Jeff's simulation Stuff Um on the track care laptop just to make Sure that was still Working and I was able to do that Um In the process of Rewriting my Wheel Um Encoder Devices to publish a left and right Wheel Tick here's a Guy that Sort of walks through that Um And with although he uses An encoder that The encoders are different but the Structure is similar so just been Using that I had a chip robotics IMU That was um they had published a Ross Node and I was getting that reworking And they don't sell the Device anymore so it was a little bit of

A challenge to get the software since I Had rebuilt the laptop a couple of times Over But was able to get that from them and Um What was useful about that is The software or the IMU Um Let's use Reset it Um And so I reset it so that pointing East Is producing Zero and When it's pointing West Oopsie Daisy Um Which is you know when Ross speak Negative pi Um it's producing Minus 180 which is you know Radians times 180 divided by pi And so anyway I've got that IMU hopefully working it puts out an IMU Message but I've not really tested it to Make sure that it's the exact same ID Message that Ross is wanting and Expecting Um So there's a little bit of Hope on my Part that that works when it comes time Uh let's see watched a number of GPS Ross videos

Uh this is from robot ignite Academy and Um Yeah I think both of those are from Robotic nighting Academy where they talk About navigating using Ross And I still have The GPS to Odom code that Matt Had provided and I'm sure that works Um But as I was watching Other people now have produced some Videos around using Ross and navigation I'm half thinking that I will Try to get Um Try to get this EKF localization node Working since I have what is hopefully a Good IMU I have a GPS With rtk and I've got encoders that can You know publish the left and right Ticks Um So I guess Although I've never done it and know That it will be with challenges and I'm Uh if it can go wrong it seems to go Wrong for me Um I was going to give this EKF Localization Nowhere to go so at the moment

My Tractor Laptop Catkin workspace Got a package there for the chip Robotics IMU this Hector gazebo myodom Publisher nav Picar Those all came with Uh Installing what I call Jeff simulator Uh this Any nmea nafsat driver Um Was to get the GPS in And then I was Putting a package in for tractor Odom so That I had a place to store my um Scripts that are running on the Teensy as well as the launch file to Launch raw cereal to Pull that data in so And then I have a beginner tutorials Because I use that in order to make sure That Ross was working and installed and Anyway that's just um Used for testing So that's where uh Where I'm at this is just a picture Showing The simulator running and able to drive That around I don't know why I included that Um

But yeah that's um Oh this is Struggling with getting Ross platform IO To work so at the moment I'm programming My onboard Teensies through the Arduino IDE because I couldn't Get that to work I'm getting this File hash string is ambiguous so raw Serial Arduino was a platform IO we're Not playing nice And then uh But that was just a video I watched Because it was interesting he pran Shu Took The other guys Model and I think he gave him an Improved urdf I just thought that was Interesting Um And let's see what else do I have in There oh that was the previous week's Status so That's where I'm at So I'm thinking that rather than jumping Right into EKF you may want to go back And do what you originally had with just Your GPS and the GPS Odom And drive it that way there's a lot less Things you're going to have to you you Don't have to get your IMU running you Don't have to get your odometer running You don't have to figure out ETF and Figure out all the secrets behind that

Because I you know as far as I know it Should go directly from GPS in fact one Time I asked Matt that because he was he Kept implying that and finally in one of The meetings I just said so you're Running GPS only you're not using Anything else he says yeah that's that's What I'm doing so he was able to Take the GPS at his GPS Odom Now there's one other point there I Think it's using um and GPS Odom wants To subscribe to something called heading And I think he might have modified the Navsat driver to put out that heading so He could subscribe to that but other Than that he just had those hooked Together and he was able to Feed that into his move base or whatever Combination move bases running at the Time And that way that gives you your Absolute position of the world and gives You your heading and that should should Allow you to drive around Without figuring out all that other Stuff And you can always add all that other Stuff on later but That would be that that's the way I Would approach it at this point And I can I can certainly try that I mean because It's easy enough to Start with just GPS and yeah he

Definitely modified the navset driver Um And I have some jiggery pokery to do Because My heading in the Nema statements is not Stable because even though it gets rtk It does move A little bit and that's enough for the Heading to change so I've got a test to Make sure I'm moving before I use the Heading out of the My GPS You have the uh the modified version That Matt his neimanatsat driver that he Changed is that still posted somewhere Or do you have that so you you can go Back to that I know one point you said When you installed the new stuff you you You took the stock one and put it I Didn't know if you so I had the original Code which if you have the original code You can just figure out which lines need Change and put them in your new stuff That would be another one uh way around That Yeah yes I have it it's the same well I Have what's out on um is still in Ross Agriculture And then I did a comparison Um pulling it up The comparison of those two Um Let me share Small font I have to make it bigger

Come on Oh too big I mean so Um left is rossag Wright is generic It's this HDT Um you can see this Lsf GST Doesn't start until down here in the Generic So he added Basically this Um Yes he's publishing heading as a Quaternion is what he's doing and I Think that's what his other code wants To see so theoretically you just cut That out and stick it into your code you Got now To get around the whole python 2 versus Python 3 just take take the lines out Here you need and put them into your new Stuff and that would probably work Um And um I'd have to change the launch files And try to pull in the right urdf Um I'm just talking out loud here but All the previous launch files were Launching the raw sag I don't know if it was move base or move Base plus Um

See also  Ditching the Petrol with the Milwaukee M18 FUEL Lawn Mower - @Monsta Mowing

Anyway so sort of walking through all That stuff I was digging through the Google Drive And I found where uh people were backing Up their their workspaces and I was Digging through your Raspberry Pi and Your desktop one and for some reason When I'm in there I'll I'll pull up a Thing that says here's a launch file and I'll click on it it says I could not do A preview of this do you want to Download it and I say yes and it it sits There for a couple of you know sits There for 10 seconds with a little Messages flashing by at the bottom it Would never download it so I couldn't There's some stuff in there I just can't Look at and I don't know why I think I would have the option I could Go to the the top and say I want to Download the entire thing as a zip file That that might work but anyway so I was Digging around that finally I was out Digging through the uh the backups of The Ross agriculture uh Slack Channel and that's that's where I Got the pointer to Matt's GitHub or Whatever where he had that uh GPS Odom Stuff Then this morning I was laying in bed Thinking about this stuff and I thought You know I I'm sure I was doing that That that translation even though I Didn't have the navigation stuff running

I was doing the translation because some Of the videos when I was showing my Robot driving around that's I was Showing my front antenna and my back Antenna and that was I was taking the The output of the GPS drivers and Converting that to my offset in you know My XY offset in meters so I pulled Pulled up my computer today and sure Enough that that there is code I've got A directory full of all kinds of little Scripts that I was playing with and Let's see Let's see Yeah just before we started the meeting I tried to get this computer on zoom and It screwed up everything we had to start Over so I can't show you right now what It is but Um I got this uh how many is in here How come they don't just tell me one two Three four five six eighteen Twenty I got 20 21 files in this this Thing it's just a little scripts I was Playing with I see there's some bno 55 And there's some bno 85 And then I've got something that says For velocity rotational velocity to Angle so that might be the one we're Trying to extract out as I was driving Around I wanted to figure out you know As I'm just driving around on the ground It would generate a number saying this

Is the recovered steering angle like This what that one was doing and we Played with that for a while Ah here's a gazebo odometry which again You want to avoid gazebo completely at This point because that's this has Nothing to do with simulation And I got a GPS heading so so I I had a Script that that would extract the Um navsat velocity it it the standard Driver puts that out that's a vector Telling you Um it's like a forward velocity or it's It's an x velocity and Y velocity as a Vector and I was able to take that and Extract out the forward velocity and the Heading from that so just out of the Standard message I can get a heading out Of that and I can get the forward Velocity once you have those two then You can say if your velocity is above Like a tenth of a meter per second Update it and if not don't update it and That effectively latches it when you Stop so I've got something that bat Should run And then that that thing we're talking About before that GPS Odom which is Something Matt wrote and Al has used it And I I took it I think I modified it a Little bit to get to work with my stuff But you know I I had like three copies Of that running so I had one that would Take like the

I think it would take the the back GPS And just plot out the XY of where it is And I tried to remap that one to base Link and then tried to remap the front One to base link so I had had three Copies of that running putting out all That data and that's if you go back Through our our videos on The YouTube page you can see it's the The one that has all the circles driving Around and that's that's one where I was Doing that that's how I was getting that Information so I think I've got that to Work And I'm not sure that the output of any Of these is actually what the navigation Stuff wants to see but I think I had to The point where I was able to do that And there's some other just random stuff In there that Uh here's a steering feedback And that's where I I soldered a wire Onto my giant RC Servo and had an Arduino that was just reading the analog Value and Publishing that so that's but I just got some stuff like that stuck in There so I I need to go dig through this And see what's what's there and what Seems to be appropriate So I thought I think that would you know A combination of You know either either modifying the uh The original navsat driver to put the Heading in there or use my external

Program that just takes the velocity Message and generates a heading I I Don't know if that's putting out a Heading in like degrees slash radians or If it's putting out the quaternion but You know it could be modified either way To to put all that stuff out So this stuff is on this computer and it Does still exist But I haven't actually tried tied into The navigation stuff first Yeah my simple goal is to be able to Click on the screen and issue a 2d nav Goal and um Then Tune the tune the theory and hopefully For it to Achieve that Another thing I was noticing as I was Digging back through the stuff and I I Was actually on your backup of your uh Workspace This was for I don't remember was on your Raspberry Pi or on your desktop but I look I found A launch file I could view I noticed in That one it was you was calling it the Lawn tractor as opposed to the simulator Or something so you're working towards Doing this and I noticed it's got It's Got it loads the Move base Flex as opposed to move base And then it loads the uh that thing Vinnie was doing with replacing the

Normal stuff with the uh What's that called something Behavior Trees he put that in there and so it's You know it's getting quite a ways away From you know just just making the thing Move and I recall that on the simulator That was running the stage simulator you Could fire it up and you could see the The vehicle on the screen you'd say Drive over here and it would go from Here to drive over here and come to a Stop and then it wouldn't go again you'd Have to reset the whole thing before it Would take any more commands so I think There's something somebody stopped short On that in the behavior tree it needs to Say once you reach the goal and come to A stop that it needs to jump back to the The idle point of the behavior tree Because I uh Juan and I were talking About that one day and one says yeah That does that to me too and he he says I just have to restart the whole thing Every time I try to do a new goal so There's something funny about that I Don't know if it's as simple as removing The lines in your launch file that say Load up the behavior tree if that'll put It back to normal And theoretically you can go all the way Back to move base and not use Move base Flex is that what's called Yeah move base Flex so because going to Move base Flex well I don't know you're

Adding some other stuff on top that Somebody thought you should have and Then then he said well let me replace The the normal internal stuff of the Behavior tree and it just keeps getting Further and further away from the stuff That just just plain works so so just Just keep that in mind that That you might run into that I'm off or Simple And I I hadn't really noticed Um before I just just you know within The last uh six months or whatever you Know where you're looking at stuff and It it turns out you can say load up move Base and the only thing you have to do To get temp planner to work you just There's one line that says replace Something about replace local planner With temp planner and that's all it Takes to get the temp planner to work Inside of move base so you could just Use the standard move base and then load The templator into it and then not put All this extra stuff on top of it but I I don't know I don't I don't have an Example of that here so Maybe the original stuff the original Scripts or launch files that were on the Ross agriculture stuff which I can't Find anything out there anymore and I I Never could Um really find anything but it's gotten The point where I go digging I can't

Find I think one of my problems is I go Out to the Google Drive and it turns out There's probably more stuff that I can't Get to it either because I don't know How to or because I don't have access or Whatever so there's probably more stuff There And then I also noticed that there used To be a Wiki associated It's like anything else when somebody Says let's promote this let's find every Social media site to propone it on let's Take all these different places to store Code and store documents so you know we Just spread out all over the entire World and now as as stuff fell apart We've lost either lost links to it or People just blatantly deleted it or Whatever so it's so I I was digging I Couldn't I couldn't find anything so now That I realize I've got stuff on my Robot computer that does a lot of this Stuff that for me that puts me back in a Position where I don't need to go track All that down but Um the reason I mentioned the wiki is Because when I was uh let's see how did I find on my computer I've got the Backups of the the Ross agriculture Slack Channel and Doug had converted Those into PDF files and so I was Searching through there and it said oh Here's here's this code out to I think It's what I was looking for uh

For uh the the GPS Odom stuff and it Said here's a link and sure enough that Took me to Matt's uh GitHub site and I Found that but but the whole point was I Was going to post that I realized it Says it's a link to my hard drive when PDF is and I thought well I'll just go Out go out where it originally was and It was under the Ross agriculture lawn Tractor Wiki and now it could just be But right there it says lawn tractor in The upper left hand corner if you click On that And then normally across the top you're Right there one of those would say Wiki On it and that no longer says that I was Thinking maybe just because Mike I've Got my computer screwed up so bad that Yeah I didn't think of that if you if you Back up to older versions does Would it would it have a link to the Wiki at that point so if you just say uh Branches yeah I I I I didn't go down This path of trying to find somebody Else that has archived it and possibly Yeah there's Right there's this Wiki what's that I think I got it to this point where Yeah you click on Wiki but it just takes You back to the page and it doesn't Actually show you the wiki stuff but Under the wiki there was a bunch of Stuff like like as I say the backups of

See also  20230420 ROS Lawn Tractor Meeting

The backups of the Ross uh Russ agriculture slack Channel And all that stuff but it's it's just Simply I noticed that a lot of stuff has Gotten lost and it's hard to Go track anything down anymore Yeah it's like piecing together uh Puzzle and you can't find the corners Yeah here's a couple of references to That behavior tree Foreign Like back up one level there and look at Launch file and see if it's got the Behavior tree stuff stuck in there And then I've noticed that a lot of this Stuff it's it's trimmed down to the Point where I think all the stuff got Hidden into the docker file and so you Can't you can't actually find the source Code here on the level that you're at Right there and under Docker that I Didn't know what to do with that stuff And I didn't really care I didn't want To learn docker But apparently you could say you know Load the docker compile my computer and Then possibly that expands out and you Can see all the directories and all the Source code and everything but But I have never attempted to use Docker And I didn't really want to learn it so That's just some of the stuff I was Digging through trying to trying to find This stuff

Yeah it definitely looks different than The last time I looked at it So theoretically on on the like that Page you're looking at you should be Able to say you know back up to an Earlier version of this whole mess and Then theoretically firing the uh if if Somebody didn't didn't hack it Completely where it's it's completely Gone but like it's under master they're At the Top If you'd say instead of Master and go see if it gives you older Uh There was a Wiki that showed up there When you were just looking so yeah I had Clicked on me before Oh and that just And that just takes back to the lawn Tractor I think because since the wiki Link has disappeared it just takes you To the main Back to the main page so Now now actually you know you can say Check out an older version and I don't Know if if the versions would be listed Under where it said Master there if That's where the versions are so you Know what they're called But anyway it's Maybe maybe that one says either develop Or feature ad publisher you know maybe One of those would Um Have have more stuff in it but but since It was done on this this same repository

It could be that no that stuff's just Gone so I don't know Foreign Do you have snow on the ground where you Are It is No We had it 24 hours ago but it Came and went But I heard it snowed at least twice Here now so I got snow in my front yard It's I and then they said it's supposed to Get cold like tonight or tomorrow night So it's probably not going to go away But so even if I wanted to go out and Drive around it's it's I get snow on the Ground now See I have that GPS so dumb and my guest As well Okay Just to see if um so you you were smart Enough to back up your own stuff there So you've got it so It didn't occur to me I knew you had That stuff out there I didn't know how To how to get to that Like actually I did know how to get to It just didn't occur to me that I should Go look at that because I know you got Lots of stuff out there I mean he broadcasts an Odom And there was also I thought a TF you

Know there's the Odom broadcaster There was one other TF related thing in There So another question that I had was if You're trying to run this with a Navigation what does it use out of that Odometry message and if you scroll down About a page it was showing it loading That up and it looks like just loading In the uh go Downs further Well it publishes to Odom I know but Down here was building though right There Stop stop moving it says set the Position Let's see it says up above it says build Odometry message go down base link base Footprint and it says set the position It's loading x y and yah into that now Technically Odom also has a a your Recovered forward speed and your Recovered rotational velocity I see That's not getting loaded in there so Either either navigation doesn't care About that or Or people just didn't realize it's Supposed to be in there I yeah if this If the stuff was driving around it's Probably It probably navigation probably just Doesn't care about that so that's that's One thing where there's actually two More fields on that that aren't being

Loaded and apparently you don't have to Know that because if this was working Then Then you don't have to you don't care I Guess This goes back to the point where you Can generate a standard message in Ross And other nodes may or may not use the Fields that you've put in there so I'm Guessing in this case navigation doesn't Care about The your immediate you know your current Forward velocity and your current Rotational velocity because it's not Being supplied I assume those would just Be zero if you if you look at the actual Odometry message Oh that's running And I I I in the last couple days that Occurred to me that well this thing is Generated an odometry message and you'd Have to come up with that but I see Right here this is showing that no you Don't you don't have to load those and Apparently everybody's happy with it And unless unless it was run better if You put those values in I don't know Yeah Uh I mean I I never got to the point of being able To test Beyond The whole confusion about Command velocity angular

Whatever X or Y whatever it was whether That's a radian or a number or an angle Uh I think there is just a fundamental Um Miss when I was trying to test on what What was supposed to be in that field So just trying to get back to that point Now that I have a Laura based um E-stop and joystick Anyway That's the fun I have to talk about Today Let me make sure I save this chat I Think I think one time I lost the check Completely and I don't know what Happened to it so I I try to get in the Habit of you know before we're done to Save the chat And It's something something I need to do Here before before the hours let me let Me punch up something else here And I need to bookmark this so Foreign And Come on Oh by the way I don't know if it's a Compiler issue or what but um Remember this Remember that code you provided Uh Uh yeah For some reason it stopped working And I tend to think that there's some

Compiler Issue going But since it was magic code I didn't Know how to fix it so does it give you Errors or it just simply doesn't put Anything out Uh I mean it publishes a number the Numbers just Um You know uh nonsensical I mean it's not Like Non-decimal numbers it's just like I'm Looking for 400 and it's producing 65 000 or something And I like I said I think it has There's some compiler dependency Uh it's just a pure guess on my part but Yeah it could be some of those variables Aren't defined as the right size because This is you know expecting the variables To be you know 16 bit or 32-bit or Whatever and it could be when Like like the variables there's one Called bit shift curve pause Uh somewhere uh that had to be defined I don't want to get my bar here at the Bottom Yeah they were all um Yeah specifically says yeah other than Rotational position which was the total Total yeah everything was 16. And to debugging you can put you know in In between there put print statements And say you know you added this now

Print out the value do this print out The value and see if it does stupid Things in between in between steps there That'd be one way to do that Yeah I wouldn't know What would be legitimate or not Legitimate after this statement as an Example That line is in the current position There shift said shifted out of Existence so that uh it's it's it's Multiplying the number by four And when it says shifted out of Existence it could be that it's yeah Just trimming off the upper two bits is What that's doing And then it I was thinking I had to uh Shift it back down well let's see it Says last position So it's doing that to two different Values And it subtracts the two and then slides Them back down where it's supposed to be So Thoughts on my head I can't think what Would cause it to work on one and not The other but It is it because you're trying to Compile us under uh the new so the new Computers so you've got uh Ubuntu 2004 And you've got Python 3 and you've got Whatever else is going on it doesn't Still work on your old computer if you Compile and run it there or is it

Just simply not work at all anymore I.E does it work on one computer and not The other computer that was my question Um Yeah I do not do not know yeah the hex Code that was loaded on The Teensy worked until I Recompiled it So this is not under Linux this is Actually on a Teensy then Which would make the only Linux Connection is the Arduino IDE is running On an Ubuntu 20 You know machine Okay So I assumed it was You know let's just say the Arduino IDE 13z 1.14 and Now I'm at one diet 19. I assumed it was Something in that change Um It didn't like Only because I've had some other very You know peculiar None that I can specify at the moment But in the back of my head I can Remember some other peculiar Issues I think linked to the compiler Um Anyway so this is multiplying times four It it just takes a whole number it Shifts over by two places to the left so If you got I was this a 16-bit number Probably

What whatever whatever it was it just it Shifts it over And You you it just leaves zeros in the Lower lower two positions on because What that's doing So it just it shifts it up so your upper Bits are filled And then when you do your subtract You're you know everything everything is Just simply left shifted and that that Keeps the the binary math happy is what It's doing So when you're all done then after you Subtracted two then it says shifted back Down and put it in normal normal range Again Yeah right hand I can't think why it Should Make a difference You know because you you specifically Defined your variables as as you know 16 Bit signed or 16-bit unsigned so that You know the compiler should be smart Enough to understand that and run with It People So I don't know Anyway So I have Um Had to go down another path to Get data out of my encoder But if I'm just going to use GPS then

Yeah I just should work on my launch Files and Get our videos going and GPS going and Get the urdf From the P car thing that you wrote Because that's probably a better use of My time On the launch files Foreign No other than as I said it snowed so That it puts puts that changes my my View of the world a little bit even Though I wasn't actually doing anything Outside it's It just reminds me that well it's Probably the end of driving anything Around outside for the moment But what's another reason now that I've Got this far on my little robot I can go Ahead and finish that I could actually Drive around in the house Uh and do do basically the same things Inside the house Minus minus the GPS because it it Doesn't work well enough through the Roof to uh for that to work but I can Put on you know put on a lidar or Whatever I want So Yeah so do you have a big expensive Lidar don't you I I do but that's not gonna fit on the Little robot but I've got the little the Little ones off the vacuum cleaners do

See also  Lawn Renovation is in the Air // Fixing My Kikuyu Lawn

Do indeed work and they'll give me a Full 360 degree scan if I choose to do That as long as it's above everything so There's nothing blocking its view it Gives you a full 360 degree scan you Know a 360 degree circle not not a 3D Not a 3D lidar Foreign I'll just try to Maneuver first with GPS and go back to The GPS Odom thing And the only real trick is there is you Know whatever topics those things are Putting out does the next node Understand that and since you had that Full uh stream hooked together at one Point I'm assuming those all should all Be Adequate And it looks like the only thing at this Point you may have to put that if you're Going to use it the way it is you may Have to go back to your new Um Nema navsat driver and put in the lines Of code to publish that heading and I Don't remember if there's anything else That that got done to that But you know putting that in I think it Should be back to where it'll give you The right stuff there Um Foreign When I was digging through your uh your

Your saved uh files that looked like you Were running maybe the navigation stuff Was on your desktop and that the GPS Stuff was on the Raspberry Pi But like it wasn't obvious to me where You were running your different nodes at That point And now your new one if you're gonna run A laptop on your your vehicle Do you do not have A base station anymore Or you know a a Ross base station or if You do or you're just running Arvis on It I haven't gotten to the point of having A base station I was just remoting into The tractor laptop Okay and in the in the RPI world Everything ran on the RPI I just had some um Visualization You know I was just subscribing to some Topics and Publishing them on the base Station Now publishing but reading them okay Because because it's not obvious by Looking at your two workspaces you know You you seem to load the same code on Both mostly the same code on both of Them so I wasn't sure if you're running Part of say running the navigation on The desktop and running the other stuff On the the RPI or you know it wasn't Obvious to me and since most of the

Files I couldn't look at it kept saying They're binary files and You can you have to download it and I Wouldn't download so I was just guessing A lot of that stuff when I was looking At Yeah that's because the I mean in in the Ross agriculture GitHub you just got everything right and So I put everything on both machines and I would never run the simulator off the Archive but Um It's just awake Cloned Okay So this is the launch file In Ackerman vehicle description which is In this P car Source And it Launches That Current vehicle launch Where was that acronym Now that's not actually there Vehicle description launch Sacrament Vehicle launch Which that's probably all for the Gazebo Simulator so you probably don't want any Of that stuff I think you want to back Up to your original files Before you grabbed any of the simulation Stuff that I was working on

So so basically the stuff that was on Your original Raspberry Pi I think That's probably the lunch files and the The nodes you want to use Yeah Hmm Let's see what that's like my And that's one of the few files I could Actually view by going out to the uh Google Drive and looking under your Raspberry Pi backup free workspace and I Went down to where it said launch file And that that one actually popped up so I could see what you're doing there and I so I was thinking that's probably Closer to what you want to do than Trying to take any of the stuff that I Was doing for gazebo because that's Gonna have I I at no point was that Simulation stuff meant to be a tutorial Or meant for anybody else to understand Just after I had it running you said oh Publish that publish that so if I put it Out there so it's you know it's not not Supposed to make sense and it's not Supposed to be at a point where you can Move back and forth between anything so Just be careful about following that Stuff Oh Foreign Tractor directory Oh you've got some files out there Well this is where the raw cereal stuff

Would get fired up Um So there were some parameters in here And then the Ross cereal Or Of speed To pull the front angle from other Angle sensor and then Let's see steer motor Um Yeah forget exactly what Whether that was a Reading or writing or both Um But then Under lawn tractor No that's not Yeah it was about a problem I had trying To figure out where where stuff was Actually stored and I just kept poking At it until I finally ran across you had A launch file that started up Started up the navigation stuff Foreign File with the simulator this was the Launch file what yeah whatever the Directory that's in that was the one I Think that launch file there Yeah so that's that's what I was looking At there So I was looking at this this seems to Start up all of your navigation stuff so Yeah apparently your GPS has started up At a different launch file

Oh Right but it seems like this is the Stuff that would make sense to go ahead And work with this stuff here And that thing right there was saying uh It's to to replace the old smash code And put in the the new uh The new Behavior tree I don't know if You can just comment those lines out and Not run that in which case it it that Probably would go away or or not I I Didn't I didn't play Within that stuff That he put together so I don't know What you can do on that But you're still gonna have to load a Map you're still going to have to load The navigation you have to stop load all Those configuration files And it is it has already moved base Flex As opposed to move base which I don't Think is going to be a major problem But but just keep in mind if you get it All running and it only runs once and You have to reset everything then Possibly try to remove that uh thing Down below that said Um replace smash with the behavior tree I think it's commenting that line out With probably Yeah that line right the line yeah that Line right there probably comment that Out that would get around that problem Just put you back to a normal normal Driving around but I

Again I haven't I haven't really done Anything with it so I'm not sure if that That will work or not just just keep in Mind you might need to do that Um Okay So I'm thinking if you start up this File that'll start up your whole Navigation thing and then you need Something that launches um Where you can launch your GPS Odom you Have to launch your actual GPS receiver So I assume you have another launch file That did all that because at one point I'm assuming you've typed in something And the thing would drive you know be Drivable at that point I don't know how drivable it was but I Assume we had it all connected together At one point at at this level Yeah but Um I guess there's a decision is is it Going to be move based Flex or move Space I it probably doesn't matter too much at This point because I think move bass Flex simply would let you load in a path Or something and as long as you don't You're not trying to force a path into It I think it'll work the same way So if that if this works then I would Say just just go with what you got here And and try it and see if anything acts

Stupid and if it does then you could Decide to do something else And this says use the vehicle State Publisher In your simulator you have an Ackerman Vehicle Publishers thing Well again keep in mind that's to do Gazebo simulation so you know don't put A lot of faith into anything that I that Was in that stuff I published And so would you use the urdf that you Created or no no I'd use the one that you have Well I don't have any of this because This wouldn't load in um Noetic What what did it do did it complain or Did it just wouldn't run or It's been a while it was a There is a difference between Ross one And Ross two but as far as I know no no Etiques Ross won this should have They should have worked unless it just Simply can't find the packages that Might be the other issue in which case You might just have to manually load the Packages Um I would say go back and run this again And see what the error is and it says I Can't find robot State publisher then You might just have to go out and say You know you know load load that load Robot State publisher and then you know

Choosing it by each one of these Each one that's complaining if that's What the problem is Because these are probably extra Packages loaded back when you're work Doing your old stuff and then when you Move to noetic they're simply you you Haven't loaded those packages yet so if It complains and says I can't find the Package It says it's neither a file nor a launch File nor you know it comes up that Message and that means oh I got to go Out and say app get load you know pseudo App get Uh Ross okay what is it noetic Ross Noetic and whatever package name is to Load those And see you got it all documented here You can just go through and see what it Says here you had to load Yeah it I've forgotten where it blew up But it certainly blew up on one of these And I think it was a Python 3 issue But let me try it again see what it says Yeah I'd say I'd say try it and then you Know copy the error and you know post it Out and see if say what's what what's This complaining about maybe we can Figure it out Foreign Documentation that you did there can you Just search through that and say search For sudo app git install and find out

What package you did manually load that Might might tell you something there if It is missing packages that might give You a list where you have to load it and If it turns out to be a python problem Well then you'd either have to get a Newer version of that node Or you know depending on where your Nodes came from if you if the ones you Manually wrote then you might have to Modify it to work for Python 3 but if It's a standard Ross package it just Seems like you go out to noetic and say Give me this package it'll be the one That's updated to to work with python3 So it's just a you know it's a matter of Looking at it and see what to Complaining about and then try to figure Out how to get around that Hmm Okay well I'll um Foreign About Okay Any final thoughts Nope I was hoping the gazebo thing would Be in the urdf you did would be More intertwined but I guess we'll back Away from that and go back to the raw Sag Now that would be the exactly wrong Thing to do to try to put that into a Physical vehicle Okay well I don't want to be exactly

Wrong Although being exact is good exactly Wrong is it gets next so good well that If it's just partially wrong that you Get a path to figure out why it's Partially wrong so I think you can turn off recording okay

You May Also Like

About the Author: Mowrs