ROS Tutorial for Beginners. Using ROS on a Raspberry Pi 3 for controlling a RC car through the keyboard on a Ubuntu Laptop
We will focus on:
– ROS kinetic installation on Ubuntu
– Raspberry Pi setup
– Installing a package
– Creating a package
– Messages and topics
** WATCH NEXT ONE: https://youtu.be/yaswhaP387I
**** SHOP NOW **********************
https://teespring.com/stores/geekmeup
** Sonar and obstacle avoidance: https://youtu.be/JYnMRKVwBuQ
*** Follow the whole series: https://www.youtube.com/watch?v=N6K2LWG2kRI&list=PLuteWQUGtU9BU0sQIVqRQa24p-pSBCYNv
We will use a Raspberry Pi 3 on a Remotely Controlled car and use an Ubuntu laptop for controlling and programming.
ROS Master runs on the Raspberry Pi board.
We will use SAMBA for haring the folders and develop our script in Python
********* TIME MARKS ********************
00:00 – Let’s start
1:15 – Install ROS on Ubuntu
2:57 – RC Car: parts and setup
3:38 – Raspberry Pi setup
4:53 – Install servo control board package
5:40 – Package structure: messages and topics
7:15 – Topics: introduction and test on the car
10:12 – Python script for low level control
13:13 – First indoor test
13:48 – ROS_MASTER_URI setup
15:23 – Launch file
16:30 – Outdoor madness! complete test
********* SLOWER AND DETAILED HOW TOs ********************
– Build and Launch a Node: https://youtu.be/yaswhaP387I
– Topics and rqt_graph: https://youtu.be/7dV4GBpKG8g
– Create a Publisher Node: https://youtu.be/uip2BbaazjU
– Create a Subscriber Node: https://youtu.be/i4l03Idb-rQ
– Custom messages: https://youtu.be/F3zyAV4alCs
********* FIND THE CODE ********************
– My code: https://github.com/tizianofiorenzani/ros_tutorials.git
– i2cpwm_board package: https://gitlab.com/bradanlane/ros-i2cpwmboard
********* ROS INSTALLATION ********************
– ROS Kinetic: http://wiki.ros.org/kinetic/Installation
– Raspberry Pi image: https://downloads.ubiquityrobotics.com/pi.html
******* DONKEY CAR PROJECT *******
http://www.donkeycar.com/
******* GET A CHEAP RC CAR (AMAZON AFFILIATE LINKS) *******
– Magnet or HSP94186: https://amzn.to/3qNiDYv
– Exceed Racing Desert Blue: https://amzn.to/2QLtrbp
– Exceed Short course: https://amzn.to/2PydaC3
– Exceed Truck: https://amzn.to/2PAp5j3
– Exceed Monster: https://amzn.to/2PyAyj1
******* RASPBERRY PI AND CAMERA (AMAZON AFFILIATE LINKS) *******
– Raspberry Pi 4 (4 GB RAM): https://amzn.to/36GqwXf
– Raspberry Pi 4 (2 GB RAM): https://amzn.to/2Aj7Pg3
– Raspberry Pi 3 Model B: https://amzn.to/2PwbMjn
– Raspberry Pi 3 Model B+: https://amzn.to/2PxkWfn
– Wide angle camera: https://amzn.to/2Pwc6P7
******* NVIDIA JATSON NANO (AMAZON AFFILIATE LINKS) *******
– NVIDIA Jetson Nano 2GB Developer Kit: https://amzn.to/3cyIZrW
– WiFi Adapter: https://amzn.to/3eDRl4u
– Arducam Module 8MP: https://amzn.to/3tjff9j
******* SERVOS (AMAZON AFFILIATE LINKS) *******
– Adafruit 16Ch Servo board: https://amzn.to/2LbxF7b
******** Visit my facebook page
https://www.facebook.com/tizianotutorials/
** Go to my channel: https://goo.gl/BjLGnS
** Check out my latest video: https://goo.gl/ZhcNi4
** Check out my most popular video: https://goo.gl/5KMJnU
, https://i.ytimg.com/vi/iLiI_IRedhI/hqdefault.jpg
source
Don't miss the other videos of the ROS Series: https://www.youtube.com/watch?v=N6K2LWG2kRI&list=PLuteWQUGtU9BU0sQIVqRQa24p-pSBCYNv
5:20 I got 2 errors while doing catkin_make i2c/smbus.h no directory , invoking "make j-2" failed
Will it work on different networks? Means can we control it wherever we r in the world?
Hi,
I receive a no smbus.h error during catkin make. I have installed the libi2c-dev package,however i am unable to locate the i2c folder in the root directories. I searched for available solutions but the servocontrol package as mentioned had all the requisites……. Could you let me know which version of Ubiquity iso you had used here? Ill try with that OS version……..or maybe an alternative help would do.I could locate smbus files but all were python related…No smbus.h
Thank you Tiziano for this video. I am using this video as a reference for studying ROS for the past 8 months almost every weekend. There is a lot of content in this video which was explained in just 18 minutes.
How did you install ROS in raspberry ?
Do use ubuntu or raspbian in raspberry ?
How can we follow a fixed trajectory using a GPS system?
while running teleop_twist_keyboard I get the output: Waiting for subscriber to connect to /cmd_vel.
I checked this topic with rostopic info /cmd_vel, and yes there os a Publisher (/teleop_twist_keyboard) and a Subscriber (dk_llc). I checked this on both sides(robot and local laptop) both are the same. So why does /teleop_twist_keyboard thinks there is no subscriber??
May I ask what the reasoning for the steering being set to z axis?
Great stuff
I am unable to build the i2cpwmboard package. The error shows some files missing i.e i2c/smbus.h and library i2c
rosrun i2cpwm_board ? Where do I get this file
Can you please help building a DIY robot for your all tutorials?
Your shown robot is very expensive (T_T) and I live in another country where the custom charge is more than the product price..
Pleeeeeeeeeeeeeeeeeeeeese help building one. (T_T)
Great work with this video… keep up the good work… i'm watching this at 0.25 playback speed and still its hard to pause and catchup… would greatly appreciate it you could drop the pace in your future tutorials… again… great work!
Excellent tutorial series.
I'm using this to program a SunFounder PiCar-V with ROS. It uses a PCA9685 servo board to control the steering servo and a movable camera, and I was able control the camera and steering directly, but for the two DC motors, it connects to a TB6612 motor driver. Going to look for a DC motor driver to control them next. Thanks a lot!
OK so, I'm 1 minute in and thought I should let you know, you have talked ABSOLUTE gibbering for a minuter. I'm going to go now.
pi@raspberrypi:~ $ sudo apt-get install ros-kinetic-desktop-full
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Unable to locate package ros-kinetic-desktop-full
I can't install….please tell me what is the problem..
How can you see Raspberry Pi folders from your laptop. With ssh? Anyone knows?
Hello Mr. Tiziano. I am trying to use rpi camera with ros melodic. How can i use kinetic packages with melodic. Can you help me ?
Amazing ROS tutorial!
I managed to get it working with Kinetic in the Ubiquity image in the RPi and Melodic in my Ubuntu 18.04. I got problems with the Ubuntu firewall of my PC as it didn't let the RPi connect with the PC keyboard node (but it appeared in rosnode, etc.)… I finally solved it by running "sudo ufw disable" -> https://stackoverflow.com/questions/55316801/ros-communication-from-pc-to-raspberrypi
It's painful to watch you sudo nano.
ŻYd
Thank you very much. I found this very useful 🙂
I have followed your tutorial all the way up to the part where you get the wheels to move. When I run it, I get no errors but the wheels don't move. I thought it might be the batteries or some other hardware issue. So I reinstalled the Donky car software and ran the calibration for 3 hours last night(mainly to make sure the battery was good). I guess I was thinking something might have changed since you made this video. However, I did use the most recent version of of ubiquity which was 2020-11-07-ubiquity-xenial-lxde. Can you think of anything that might cause this odd scenario?
please make a tutorial of how to control the same robot car with ROS kinetic and hand gestures !!!
please do controlling the donkey car via ROS with hand gesture recognition from your laptop webcam!!! A must needed project!!!!
turkish translate please
when I compile "catkin_make"
the following error appears: "error:‘ i2c_smbus_read_byte_data ’was not declared in this scope
oldmode = i2c_smbus_read_byte_data (_controller_io_handle, __MODE1); "
can anybody help me ?
Hi Tiziano, thanks for the great tutorial !
I followed everything you did in the video, but at 14:40 I got this error " Command 'rostopic' not found,"
I checked the ubiquityrobotics's website and I found that they only supports Ubuntu 16.04, and I'm using Ubuntu 20.04. So is there any possible way I can make this work in the version I'm using ?
i will use control L298N Driver with ROS but i don't find the node of L298N driver on github
I am not even half way through this tutorial and I have learned more from this than I did from an entire day of wiki.ros tutorials. Thanks so much for covering the basic connectivity so effectively.
Too fast for beginners
Sir, thank you for sharing this video.
What editor are you using to edit the donkey_llc.py at 10:50, because you have ssh into raspberry pi?
This is FANTASTIC Tutorial, it would be helpful if you could show the circuit / pin level diagram to build the Robot, each pins connecting which components etc
Great video! I have this all working on a 4×4 motor bot and using rostopic pub -1 /servos_absolute i2cpwm_board/ServoArray "{servos:[{servo: 1, value: 1000}]}" works. My motors are 1,3,5 and 7. What I can't work out is how to make them run in reverse!
I am getting an issue with the i2c when using PCA9685 driver. the Arduino IDE is able to detect the i2c connection but it is not accessible from i2cdetect in the terminal. [ROS Melodic on Ubuntu 18.04 in VM] Any leads?
Nice try it in a real car
what the fuck is these transitions. as if i am not stressed enough by all the input my brain takes lol