I had been trying to get into ROS and couldn’t find my way into it. Thanks to you I have now started in RoboIgnite Academy. This series has just become more fascinating! What an amazing display of software abilities.
@gregoryskaltsas18584 жыл бұрын
Excellent! You covered a semester in a few minutes. I will recommend your videos to students.
@CodeBUNNY4 жыл бұрын
He should put a biting head on it
@mikeydk4 жыл бұрын
Can't stop hearing it as ROSberry Pi :D
@SCU3A_S7EVE4 жыл бұрын
I hear it as “green needle.”
@cmacks954 жыл бұрын
Rosberry Pi is the Ros image for raspberry pi 4
@kamathsblog4 жыл бұрын
I've been using ROS for a few years now, and I'm stoked to see one of my favourite youtubers also getting into it. Can't wait to see the openDog doing cool autonomous stuff using ROS.
@jamesbruton4 жыл бұрын
thanks, that is the eventual aim.
@aryaanand7594 жыл бұрын
can you suggest some free tutorials
@benjaminc57574 жыл бұрын
Same here !
@marklagana27694 жыл бұрын
@@aryaanand759 do the ros tutorials!
@marianaurel3 жыл бұрын
i'm not sure if people realize and appreciate enough the work you do, in the sense that just reducing the gear ration from the motors, converting that into code, calibrate the 2 motors (which are opposite to each other) to match each other's speed, get the accurate reading from the encoders, and this is not even talking about the communication and translation between devices when you are using ros or electronics, etc, is just talking about that small part on wheels+encoders+arduino IDE. Well done!
@patrickjdarrow4 жыл бұрын
Graduating soon(ish), COVID willing, and I can't help but thank you for your awesome work which has been a huge part of what inspired my to pursue engineering. Cheers James.
@sammflynn67514 жыл бұрын
This series will become the most view robotics realated video on youtube crystal clear explnation
@jamesbruton4 жыл бұрын
thanks!, Part 2 gets a bit more hectic though ;-)
@sammflynn67514 жыл бұрын
@@jamesbruton Are you allright? everything ok? no video this week ? :(
@anglerfish614 жыл бұрын
man you got me into Arduino, then I got interested in pi, and now you introduce ROS. Im gonna go bankrupt this way lol. I actually applied for different jobs for the sole purpose of funding this hobby xD. Thanks haha
@adamwishneusky4 жыл бұрын
I love how you build things up one chunk and interface at a time, debugging each before moving to the next
@emoutraspalavras-marloncou44593 жыл бұрын
I don't if you take it as compliment (I hope so), but you're far better than Iron Man himself! Thank you for the lesson!
@bennedictbyy4 жыл бұрын
This video is really informative. I had a similar project a year ago for a University subject. However seeing how you done it makes me want to improve so so more! Thanks for sharing!
@binukanishadbamunuge63894 жыл бұрын
Thumbs up for the crystal clear explanation.. Waiting for part 2 🤘
@marknaeem4 жыл бұрын
This will be the best series ever! Just read a comment about the VM for ROS. It's not really the best option. neither is the other workstation xD. You can switch to ROS2 which can run on windows (it's newer than ROS and does not have much documentation and support as ROS so it's a good step to start with ROS). Or you can use dual boot. you will get both windows and ubuntu running on the same machine (you get to choose which OS to load when booting).
@CerebralDad4 жыл бұрын
Congrats on getting through that James - I know how hard ROS is to learn! This is very exciting to see this developed.
@jamesbruton4 жыл бұрын
thanks, part 2 is a bit more hectic!
@CerebralDad4 жыл бұрын
Systems Planet Unless you’re trying to be innovative. The competitor would have had to learn that which was hard to learn in order to make it easier to learn
@eekee60342 жыл бұрын
Oh I want that T-Shirt! :D _checks description..._ Ooh goodie! There's a store.
@finallyfunctional4 жыл бұрын
Awesome. Correct me if I'm wrong, but ROS essentially looks like a standardized communication API for robotics. Can't wait to see more and what useful robots you can make with this!
@jamesbruton4 жыл бұрын
Pretty much, the main advantage for me is that there are so many ready-made nodes that can immediately make the robot intelligent.
@Takon_pilot4 жыл бұрын
When open dog v2 can walk properly he should put a lidar scanner on it
@BurningApple4 жыл бұрын
Yes! OpenDog 2 with full autonomy would be epic!
@dafoex4 жыл бұрын
Maybe one of those OpenNI depth cameras, too. I think Orbec is the company that makes the "Astra" one I've seen and liked the look of before.
@dafoex4 жыл бұрын
If it helps anyone, the way I think of ROS topics is less "pipes" and more "pigeon-hole message box". A ROS node can theoretically subscribe to any topic it wants and go to collect the latest data whenever required.
@ToddChevrier4 жыл бұрын
Ooo...I love this! This will be PERFECT for an autonomous lawn mower / Weed wacker! Actually I have been thinking and designing one already...LIDAR is what I am missing.
@jamesbruton4 жыл бұрын
The challenge with lawns is that there's lots of open space, so the LIDAR might not see anything
@travisash81804 жыл бұрын
@@jamesbruton Not even a toothbrush ?
@ToddChevrier4 жыл бұрын
@@jamesbruton I was thinking using the sonar you get from Adafruit and then once it detects, then kick on the LIDAR. That should work?
@rverm1000 Жыл бұрын
nice i didnt know there was so much learning courses on the subject. definitely going to check it out.
@nathaniellangston51304 жыл бұрын
I'm usually sad when you work on projects that aren't your spectacular robot dogs! But I love the idea of one of these on the dog that I'm going to be even more thrilled if it works out really well!!
@bgrant15124 жыл бұрын
Fantastic coverage of ROS. Looking forward to the next video on this
@jamesbruton4 жыл бұрын
The next one is not as straight forward ;-)
@bgrant15124 жыл бұрын
@@jamesbruton Ive been working on a tracked rover and looking at ROS. This video unlocked a couple issues I was stuck on. Im using the same LIDAR you are so Im going to be following very closely
@satibel24 күн бұрын
I looked into ROS because I started using O3DE and it supports ROS, which is interesting because in theory you can debug your robot in a simulated environment. (I'm not sponsored and it's a FOSS project anyway.)
@RupertBruce4 жыл бұрын
I like your debug setup!
@Seth-mb9nt4 жыл бұрын
When I was at University I started out studying MechE, but was particularly interested in robotics, so I was curious if maybe software was a better route. I managed to get a job in the Robotics and Artificial Intelligence Lab for a summer where I had to learn to work with ROS for 3 months. After that, I was 100% confident MechE was the right choice for me! Even as someone who knows their way around Python and a bit of C, that was a gauntlet of fire... Even other people I know who are software developers tell me they hate working with ROS.
@avejst4 жыл бұрын
Great update video Great update project Thanks for sharing 👍😀
@jamesbruton4 жыл бұрын
thanks!
@NathanBuildsRobots4 жыл бұрын
I’m looking forward to your video on ROS with a laser scanner for mapping. I just ordered a laser scanner but I have no idea how to use it yet!
@offbeatrobotics4 жыл бұрын
For a rolling vehicle on a flat surface the static traction (tires not slipping) is solely determined by the coefficient of friction of the tires and the force (weight) applied to those tires. This is because as the contact patch is increased in size the relative pressure is decreased proportionally and therefore grip remains the same. If you need more traction and wear isn't a concern you can just switch to a softer durometer gripper tire. If wear is a concern then a softer durometer and a wider tire. This all gets way more complicated when considering something like a race car going around a track with contact patches changing size dynamically, uneven road surfaces, changing coefficient of friction with temperature and track surface. But for slow robots things are nice and simple.
@dgb58202 жыл бұрын
Hi James Fantastic video, really appreciate it
@GeorgeHawkins Жыл бұрын
The site for the free ROS book seems to have gone offline. But the actual book was always on Dropbox and is still available there - unfortunately, KZbin usually censors comments with links so, I'll just say you can find everything via the Wayback Machine. In any case, the book covers ROS Kinetic Kame which came out in 2016 and belongs to the old ROS 1 series of releases. ROS 2 came out in 2017 and has been stable for a long time - so, it's probably best to start on a book or tutorial that covers it. James's videos are still a great place to get a high-level intro to the general ideas.
@twobob4 жыл бұрын
First! LUL , Oh baby. You the man James. This series is the best
@jamesbruton4 жыл бұрын
thanks!
@christophermacier4 жыл бұрын
You are so smart it blows my mind.
@tiporari4 жыл бұрын
You could easily build up an optical mouse style sensing apparatus to determine ground travel direction and velocity. Whether using "mouse" type circuits or a camera and computer vision it's a straightforward way to establish accurate ground tracking.
@jamesbruton4 жыл бұрын
I was hoping I could do it with the lidar...
@gerokatseros4 жыл бұрын
so interesting! ty ... looking forward for next part
@adog83554 жыл бұрын
Just subscribed Came from Mark Rober
@steubens7 Жыл бұрын
rosserial doesn't work in ROS2 & everything is quite a bit different, but each participant is a full node & there's auto discovery. so it's harder to use an 8 bit part, but something slightly bigger like an esp32 or pi pico is a first class node. i dunno if you got the returns you were looking for in your ROS videos but i'd love to see more. mundane stuff like buttons and LEDs got a lot tougher to just throw in there
@smartsensingandroboticslab7898 ай бұрын
Please help to answer a few quiz questions for this video: 1: What is the purpose of a ROS-enabled robot? A. To play music B. To do mapping and navigation C. To cook food D. To clean windows 2: Which Arduino board was used in the robot setup? A. Arduino Uno B. Arduino Mega C. Arduino Nano D. Arduino Due 3: What type of power bank was used to power the Raspberry Pi? A. 10 amp hour B. 15 amp hour C. 20 amp hour D. 25 amp hour 4: What is the purpose of a PID controller in robotics? A. To regulate motor speed B. To control temperature C. To measure humidity D. To adjust lighting 5: Which Linux distribution was used in the setup? A. Ubuntu Mate B. Fedora C. Arch Linux D. Debian 6: What is the purpose of a catkin workspace in ROS? A. To store cat pictures B. To organize source code C. To manage hardware components D. To control robot movement 7: Which topic is used for driving robots around in ROS? A. Velocity topic B. Acceleration topic C. Position topic D. Rotation topic 8: What is the purpose of the ROS serial node in the setup? A. To send messages to the Arduino B. To control the laser scanner C. To communicate with the Raspberry Pi D. To debug data from the Arduino 9: Which tool was used for PCB manufacturing and assembly? A. PCB Maker B. Circuit Builder C. PCB Way D. Electronics Pro 10: What is the purpose of the tf transform in ROS? A. To transform images B. To control motor speed C. To provide odometry data D. To debug Arduino code
@bakonuroff44484 жыл бұрын
hello from Qazaqstan!
@sarthaknimbalkar58684 жыл бұрын
Hey buddy your work is awesome :D
@pimhan4 жыл бұрын
I like this video with more of a software focus!
@clonkex4 жыл бұрын
18:15 "It is Captain Speed, as I say..." lol
@chromosundrift4 жыл бұрын
“Capped in speed” heh
@ed.puckett4 жыл бұрын
Very impressive. As usual....
@TheRealFrankWizza4 жыл бұрын
Great video! I appreciate the detail.
@NASTYcraftX4 жыл бұрын
Man my boss would be so happy if I commented my code like James lol
@zenithparsec4 жыл бұрын
I think he'd be disappointed if you coded your code like James though.
@SLLabsKamilion4 жыл бұрын
I'd certainly be disappointed. Needs more comments, all over.
@myoldskoolmixedwhits4 жыл бұрын
Robots will make our human society better! Please make them more and more !Just learn it if u want u will find information!Believe your self those who are reading this message.
@chromosundrift4 жыл бұрын
Nice job explaining a much more complex set of abstractions than usual. I notice you don’t tend to use diagrams. Have you considered a bit of white boarding for this Ros stuff?
@Techn0man1ac3 жыл бұрын
Меня так умиляет, когда он говорит "йЭбАнтУ"
@twobob4 жыл бұрын
To be fair the resources at wiki.ros.org/ROS/Tutorials are well worth working through. by the time you make it to wiki.ros.org/ROS/Tutorials/ExaminingServiceClient you have all the knowledge required to "understand" what James is talking about here. In /some/ depth if you actually build and follow through the code examples as the wiki suggests. Certainly enough to follow along so far. Hope that helps.
@cerebralm4 жыл бұрын
Ever consider doing an ROV/submersible robot? Doing optical/photogrammetric SLAM in short-visibility with an ROV seems like a really interesting challenge :D would be super useful for archeology, cheap, safe, automated photogrammetry of underwater sites.
@jamesbruton4 жыл бұрын
Yes I'm doing research for that now.
@curiouslittledroid12344 жыл бұрын
Looks like you are using classic ROS I think. For us ROS newbies, Would be great to understand why you chose classic ROS over ROS2.
@jamesbruton4 жыл бұрын
Documentation and existing examples mainly.
@cool20guitar4 жыл бұрын
Loved the video
@HERETIC5294 жыл бұрын
Love the series keep it up :)
@Alex_Lotor4 жыл бұрын
Awesome video! Any chance of a future VR project? You did some great ones in the past. Wandering if it was possible to create a really cheap and light strap on exoskeleton for full body tracking without any external detection systems...
@RobReynolds4 жыл бұрын
It would be interesting to hear why you're adding in the Arduino Mega and not driving the motors from the pi itself. (Not critiquing what you've done, interested in hearing your analysis of pros Vs cons)
@jamesbruton4 жыл бұрын
Mainly because I'm better at Arduino and most of my projects have been Arduino based. That said, I also prefer handling hardware like encoders without the o/s in the way.
@zenithparsec4 жыл бұрын
@@jamesbruton Use the Teensy then... same code, faster processor. You already know this though... and could get the encoders working at high speed, which means you could put them on the correct side of the gearing, which means you wouldn't need to do the integral hack with the PIDs, and if you also put a thicker tire on the wheel, you could have made it work pretty much perfectly, and the whole video would have made things a lot easier to understand. Obviously. (And people stop saying obviously when things might not be obvious to people. Obviously not everyone knows as much as you do, or comes so the obvious thing to do is not make them feel stupid. But obviously you already know that.)
@LucasHartmann4 жыл бұрын
VirtualBox is an open source alternative to VMware Player.
@SLLabsKamilion4 жыл бұрын
It's not fully open source, and Oracle's been chasing people down to pay for the PUEL licenced extension pack. If you want open source, go with Xen or qemu.
@kyootfox4 жыл бұрын
Use cssh to connect to sets of servers and run the same command on all of them at the same time.
@TimB334 жыл бұрын
There's a cmd_vel publisher in Android store called 'ros control'. Which means you can use your phone to steer it if you want
@jamesbruton4 жыл бұрын
I tried it but it won't go forwards?
@dsbupadrasta23854 жыл бұрын
Thanks for sharing ebook
@jeffGordon8522 жыл бұрын
I like your tshirt man
@ViniciusCZanini4 жыл бұрын
Nice video! Thank you 🙏🏻
@TheRealFrankWizza4 жыл бұрын
This is what I need I think .
@KevinToppenberg4 жыл бұрын
I'd like to see this turned into super roomba vacuum
@Xhand712z2 жыл бұрын
Why do you need the 5 V regulator , already having the l298 like motor controllers? Confusing only because there are no schematics .Thanks.
@simonvandenbossche98043 жыл бұрын
I can't find the code of the project, what"s the name of the repository on Github?
@munimshafi254310 ай бұрын
did you find it, i also couldn't find it
@munimshafi254310 ай бұрын
From where I can source the code for wheel encoder testing? i can not find it on your github
@dodoonlineshop7973 Жыл бұрын
What's the best and cheapest raspberry pi alternate? Because I can't seem to find them at a good price anywhere.
@r0nam1454 жыл бұрын
Raspian is built off of Debian (Which Ubuntu is also built off of) and everything Debian already uses Aptitude as its package manager, the thing that changes which packages are available for the system is the architecture of the processor the package is compiled for and the source list for APT. As far as I can see ROS is available on Raspian by default, so I wonder what went wrong when you tried it?
@jamesbruton4 жыл бұрын
It also won't let me install ROS kinetic on Ubuntu 18.04 or Melodic on 16.04 by default. So this was the easiest way to do it. Bear in mind that my experience in limited.
@TheRealFrankWizza4 жыл бұрын
FYI, I have compiled ros from source on a pi0w. Just the build time alone was almost 30 hours.
@jstro-hobbytech2 жыл бұрын
Is the board on the previous kit that reads the arduino sensors based on the stm32?
@JasonLuksTech4 жыл бұрын
Hi Bouton, this is a nice work on your video. I am working on a project with serial communication between Raspberry Pi and Arduino as well. However I discovered there is a half second delay for sending a letter, and 3~5 second delay for sending a string. I glad to know how would you going to solve it.
@akshatsrivastava30502 жыл бұрын
Unable to find the repo for this exact project. Can you help me ?
@batuturhan8784 жыл бұрын
This what am ı looking for, thanks!
@Goblingoi Жыл бұрын
Hi sir, can you display the codes and the packages of ros in the libraries with proper arrangements?
@cyberstar2514 жыл бұрын
i hade an idea for your next robot, a telepresence robot that can go a fair distance from your home if needed.
@yomnahamad90672 жыл бұрын
Thank you very much for this video. May you please upload the Arduino code? I know you have uploaded the updated version but I need this code specifically. Thank you very much.
@leroidelabagarre4 жыл бұрын
Great again! What if you put the rotary encoders on non powered wheel to avoid bad encoder data when powered wheels drifted on the floor ?
@lambsauce54453 жыл бұрын
What a pro. Win 7 huh? I use Win XP.
@BlackMax884 жыл бұрын
I've got always the problem with episodes that include a lot of talking about coding because I just know basic english. But thats of course no critiscm, it's just the reason I prefer the videos with focus on building the actual robot
@dragtec3973 жыл бұрын
Hello I really live your work can i ask under what name did you upload your package in the github link
@dw36953 жыл бұрын
Hello James, thank you for making this video. Do you have the code for this particular robot uploaded to github? I can't seem to find it any where.
@usamazaheer3109 Жыл бұрын
did anyone find the code??
@lets.make.robots4 жыл бұрын
Cool. I am trying to do something similar in my native language as well
@dexattech4 жыл бұрын
😍😍 amazing
@JohnDlugosz4 жыл бұрын
Even in future projects that don't use ROS, studying software in general will help you. As a software engineer, I've noticed that your coding skill is nowhere near the same level as your hardware and design.
@commander_red4 жыл бұрын
9:54 i think you are a better programmer than me so I would like to ask you if there is a "fault" with switch case because you are using else if
@jamesbruton4 жыл бұрын
do you mean in the code from the Arduino website?
@_stve_4 жыл бұрын
Neat!😄
@nishantsharma44654 жыл бұрын
you are the best
@BadalKumar-fk9iz4 жыл бұрын
can you please tell me about motor driver , what motor driver are you using for it . i am getting motor driver with only one pwm and one DIR pin confg. but in your case each pin is getting directly PWM pulses.
@sanjuansteve4 жыл бұрын
I'd like to make a similar robot able to roll around a home or business mapping the walls, ceilings, doors, windows, base trim, etc and then paint the space autonomously.
@jakobfriedl30984 жыл бұрын
finally a "real" robot ;)
@carlwestman93434 жыл бұрын
I didn´t quite get the part where you made a connection between the raspberry pi and the workstation. Did you set the ROS_MASTER_URI to the workstation and ROS_IP to the raspberry IP on the robot?
@germimonte4 жыл бұрын
2 interrupts per encoder? is that wrong or is there some advantage over using an interrupt and a normal pin and polling the non interrupt pin on interrupt?
@jamesbruton4 жыл бұрын
There are two phases on each one?
@muhammadshazaib96013 жыл бұрын
Hi there I am following your code to differential drive a robot but my robot does not stop it follows all the command related to drive forward, rotate but its does not stop.
@DEADB33F4 жыл бұрын
How do these LIDAR thingys work outdoors around foliage and other obstacles not composed of hard flat surfaces?
@pedroparamodelvalle67514 жыл бұрын
You know it is easier to build a velocity controller on the wheels and use the differential robot kinematic model to work out the velocity vectors. Meaning your node computes the wheels velocity from the kinematic model and the Arduino simply runs the PID controller
@jamesbruton4 жыл бұрын
Yes it possibly is. Part 2 gets even more hectic and then I'll be taking what I learned to build a much better V2 from the hardware up.
@Shadow__X4 жыл бұрын
you should make a channel for this stuff that's called Ros Creations
@sebbe95m3 жыл бұрын
Great content, could you make a robot then explain odometry ? :)
@lemmonsinmyeyes4 жыл бұрын
If you are limiting the speed of the motors, then could the encoders be attached directly to the motors? You said you didn’t because they were moving too fast (unregulated/limited) but now that they are, is it feasible?
@jamesbruton4 жыл бұрын
from experience it's on the edge of the MEGA being able to read them accurately.
@lemmonsinmyeyes4 жыл бұрын
James Bruton ah just curious. Thanks for awesome content dude !
@vipatl81834 жыл бұрын
Awesome 🌹
@awosog574 жыл бұрын
Do you still have the code from this video? I don't see it on GitHub.
@Im_Derivative2 жыл бұрын
Is there a good tutorial somewhere where I can learn how to set up the motor controls the way they were in this video?
@jamesbruton2 жыл бұрын
Check out my Really Useful Robot series. That one works much better and the code is on Github.
@Im_Derivative Жыл бұрын
@@jamesbruton I figured out the issue. I ordered motors without encoders. I have been able to successfully read the new motors output now! Time to create my PID system!
@pranav3984 жыл бұрын
The videos is really great!! Thank you for the information. I'm already working on ROS I have connected RPlidar and Arduino Mega to Jetson nano. The /dev/ttyUSB0 and 1 continuously switches between Mega and Nano causes error. How can I define particular port to Mega and Nano. Or How can i read wheather its a Mega or Nano. Please if possible mention the same in the next video. Thank you.
@jcugnoni4 жыл бұрын
Hi, you can write a small udev rule to assign a given 'device' name to your USB serial device (Arduino or else). Link: unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name