I really liked that we are actually starting from scratch and using package create to get the basic required files. So many other tutorials start directly by asking to clone a repo where everything is already present in the source code and we just need to build and run the launch file. Finally got a video covering the fundamentals!
Thanks! Although I will admit that the "Building a mobile robot" tutorial series does do that, but it only starts with a very basic launch file and URDF. The new python launch files are very powerful, but I find the syntax to be a bit opaque for new users/inexperienced programmers.
Thank you for this playlist. It's really helpful. In Windows: Instead of colcon build --symlink-install just use, colcon build (Found a reason where it doesn't work ;D)
I'm a Automation Engineer and I suddenly have to work with ROS2, this series helped me a lot!! I'm really needing some help, how can I make a service to send a image to a client node? Everything I'm doing is going wronggg
Thank you for the video. I don't understand how you establish communication between the Raspberry Pi and PC, and how you can display them on the same screen.
hi, I had this strange issue, why is it wrong syntax? Traceback (most recent call last): File "/home/william/catkin_ws/devel/lib/dart_robot_interface/run_server.sh", line 15, in exec(compile(fh.read(), python_script, 'exec'), context) File "/home/william/catkin_ws/src/DaRT-robot-interface/html/run_server.sh", line 4 source ~/catkin_ws/devel/setup.bash ^ SyntaxError: invalid syntax
Do you have any reason you prefer colcon over catkin or ament (maybe colcon is part of ament)? Still trying to understand the available tools. Docs say they don't want to tether ros2 to a build system, but at the same time the author of that article wrote colcon. I figure best to understand what build tools are before I start diving in too deep
Hi John, presumably you're referring to this page? - design.ros2.org/articles/build_tool.html My understanding is the following - but as you've noted there is a bit of confusion so I might have it wrong: - There is a differentiation between build systems and build tools. A build system builds a single package, a build tool executes multiple build systems to build a set of packages. - ROS 1 (by the end) had catkin as the (C++) build system, with catkin_make and catkin_tools as the build tools (depending on preference) - ROS 2 started with ament_cmake (an upgraded catkin) as the (C++) build system and ament_tools as the build tool (which can build not just ament_cmake packages but other types too) - colcon superseded ament_tools as the ROS 2 build tool (see github.com/ament/ament_tools), but that is separate to ament_cmake. So now colcon is the standard build tool, and it can be used with the following build systems: ament_cmake (ROS C++), CMake (regular C++), and Python. It gets a bit more complicated depending on whether packages have a manifest (package.xml) or not etc. - I think the idea is that colcon is not an official "ROS" tool, it's not part of ROS, you can use it with non-ROS projects (which I have) and you can theoretically use ROS projects without it (which I haven't), but that it is maintained by ROS developers, and is now the de facto standard for building ROS projects. It's worth checking out this article too, which is now very outdated but might clarify some things design.ros2.org/articles/ament.html I hope that helps!
Followed this as best I could however, the files didnt end up here. file 'listener.launch.py' was not found in the share directory of package 'my_package' which is at '/home/clint/dev_ws/install/my_package/share/my_package'
if you guys / anyone else searching still needed help, my problem was that I didnt source the .bashrc file correctly before attempting to launch the program which led it to search in some weird other spot so make sure that you clearly say source install/setup.bash then you can run (when i first tried i said "My_package" instead of "my_package, so be careful") ros2 launch my_package listener.launch.py and then i got it to work perfectly
Thank you for this video series. I want to do what you are doing. I have not a just GL.iNet Router. I have all the other equipment. Is that necessary too much? Because in Turkey it's kinda expensive :(
You definitely don't need that router! In the video on networking I cover a few different approaches you can take. The easiest is just to connect to whatever WiFi network you already have. This is really only a problem if other people on the same network are using ROS, or if you want to take your whole setup and move to somewhere else (e.g. test it at a park). The other alternative mentioned in that video is an ad-hoc network, where you set up either the Pi or the dev machine as an access point and have the other connect to it. I just find the travel router a very convenient solution (although I feel I've had more dropouts with it recently so I'm less impressed). ruclips.net/video/NW97xLF7CYQ/видео.html
I was surprised to see him building the project on the pi rather than the PC. Is that the usual way of things and necessary or was it just done here because of the small project? Another small thing: How come 'listener' used a py package and 'talker' a cpp one? Just to demonstrate that mixing them works?
another issue is that there seems no module which can be installed by pip3, not finding this robot_classes module: Traceback (most recent call last): File "/home/william/catkin_ws/devel/lib/dart_robot_interface/robot.py", line 15, in exec(compile(fh.read(), python_script, 'exec'), context) File "/home/william/catkin_ws/src/DaRT-robot-interface/src/robot.py", line 3, in from robot_classes import SupportedRobot ModuleNotFoundError: No module named 'robot_classes'
I really liked that we are actually starting from scratch and using package create to get the basic required files. So many other tutorials start directly by asking to clone a repo where everything is already present in the source code and we just need to build and run the launch file. Finally got a video covering the fundamentals!
Thanks! Although I will admit that the "Building a mobile robot" tutorial series does do that, but it only starts with a very basic launch file and URDF.
The new python launch files are very powerful, but I find the syntax to be a bit opaque for new users/inexperienced programmers.
This is a wholesome video and the playlist. Thank you so much for this.
ok you're my new favorite robotics RUclipsr
Great video and great job, congratulations!
Thank you for this playlist. It's really helpful.
In Windows: Instead of colcon build --symlink-install just use, colcon build
(Found a reason where it doesn't work ;D)
thank you for your ROS2 series, it is very useful for beginer like me. Thank you, thank you!
Thank you!
You're doing an awesome job mate!
I'm a Automation Engineer and I suddenly have to work with ROS2, this series helped me a lot!!
I'm really needing some help, how can I make a service to send a image to a client node? Everything I'm doing is going wronggg
GREAT WORK!!!!!!!!!
Thank you for the video.
I don't understand how you establish communication between the Raspberry Pi and PC, and how you can display them on the same screen.
He is using SSH I think.
when i tried to build the workspace, it says colcon command not found. Now what do i do?
Thanks a lot dude~!
hi, I had this strange issue, why is it wrong syntax?
Traceback (most recent call last):
File "/home/william/catkin_ws/devel/lib/dart_robot_interface/run_server.sh", line 15, in
exec(compile(fh.read(), python_script, 'exec'), context)
File "/home/william/catkin_ws/src/DaRT-robot-interface/html/run_server.sh", line 4
source ~/catkin_ws/devel/setup.bash
^
SyntaxError: invalid syntax
Do you have any reason you prefer colcon over catkin or ament (maybe colcon is part of ament)? Still trying to understand the available tools. Docs say they don't want to tether ros2 to a build system, but at the same time the author of that article wrote colcon. I figure best to understand what build tools are before I start diving in too deep
Hi John, presumably you're referring to this page? - design.ros2.org/articles/build_tool.html
My understanding is the following - but as you've noted there is a bit of confusion so I might have it wrong:
- There is a differentiation between build systems and build tools. A build system builds a single package, a build tool executes multiple build systems to build a set of packages.
- ROS 1 (by the end) had catkin as the (C++) build system, with catkin_make and catkin_tools as the build tools (depending on preference)
- ROS 2 started with ament_cmake (an upgraded catkin) as the (C++) build system and ament_tools as the build tool (which can build not just ament_cmake packages but other types too)
- colcon superseded ament_tools as the ROS 2 build tool (see github.com/ament/ament_tools), but that is separate to ament_cmake. So now colcon is the standard build tool, and it can be used with the following build systems: ament_cmake (ROS C++), CMake (regular C++), and Python. It gets a bit more complicated depending on whether packages have a manifest (package.xml) or not etc.
- I think the idea is that colcon is not an official "ROS" tool, it's not part of ROS, you can use it with non-ROS projects (which I have) and you can theoretically use ROS projects without it (which I haven't), but that it is maintained by ROS developers, and is now the de facto standard for building ROS projects.
It's worth checking out this article too, which is now very outdated but might clarify some things design.ros2.org/articles/ament.html
I hope that helps!
Followed this as best I could however, the files didnt end up here. file 'listener.launch.py' was not found in the share directory of package 'my_package' which is at '/home/clint/dev_ws/install/my_package/share/my_package'
Hey, Did u fix the issue ?
Any solution found??
In my case, I made a typo by writing ${PROJECT_NAME} as ${PRJECT_NAME}.
if you guys / anyone else searching still needed help, my problem was that I didnt source the .bashrc file correctly before attempting to launch the program which led it to search in some weird other spot so make sure that you clearly say
source install/setup.bash
then you can run (when i first tried i said "My_package" instead of "my_package, so be careful")
ros2 launch my_package listener.launch.py
and then i got it to work perfectly
did you solved it ?
you are number 1
Thanks!
Thank you !!!
amazinggggg.
I hope ur make the ROS 1 version to more understand
May I ask why when I enter "ros2 pkg create --build-type ament_cmake my_package" it will show "ros2: command not found" ?
you should source your bashrc file
As Younes said, either you haven't installed ROS correctly or you haven't sourced /opt/ros/humble(or foxy)/setup.bash (or put it in your ~/.bashrc)
thank you!
love you
Thank you for this video series. I want to do what you are doing. I have not a just GL.iNet Router. I have all the other equipment.
Is that necessary too much? Because in Turkey it's kinda expensive :(
You definitely don't need that router! In the video on networking I cover a few different approaches you can take.
The easiest is just to connect to whatever WiFi network you already have. This is really only a problem if other people on the same network are using ROS, or if you want to take your whole setup and move to somewhere else (e.g. test it at a park).
The other alternative mentioned in that video is an ad-hoc network, where you set up either the Pi or the dev machine as an access point and have the other connect to it.
I just find the travel router a very convenient solution (although I feel I've had more dropouts with it recently so I'm less impressed).
ruclips.net/video/NW97xLF7CYQ/видео.html
10/10
I was surprised to see him building the project on the pi rather than the PC. Is that the usual way of things and necessary or was it just done here because of the small project?
Another small thing: How come 'listener' used a py package and 'talker' a cpp one? Just to demonstrate that mixing them works?
another issue is that there seems no module which can be installed by pip3, not finding this robot_classes module:
Traceback (most recent call last):
File "/home/william/catkin_ws/devel/lib/dart_robot_interface/robot.py", line 15, in
exec(compile(fh.read(), python_script, 'exec'), context)
File "/home/william/catkin_ws/src/DaRT-robot-interface/src/robot.py", line 3, in
from robot_classes import SupportedRobot
ModuleNotFoundError: No module named 'robot_classes'
Can you do this by serial ?