My program on ROS1 works perfectly on the RealRobot (ROS Basics in 5 days).
But whith ROS2 it just can’t work with one laser data uptate every (7 to 10)secs…
I think it is the bridge… but is there anything that I can do ?
Just in case : my internet connection is fast (optic fiber) but if it was that it also does not work on ROS1…
I’m a little bit disapointed whith this ROS2 course. In one hand there is for me a lot of improvements in the course whith lot of complete examples, but on the other hand, A LOT of little mistakes (and bad copy paste) and I think too much issue whith the web environnement…
I just never posted with ROS1 and since I passed on ROS2 this is already my third post (1 per day) because of issues…
How can I optained a Certificate in these conditions… This is for what I paid 40€ / mounth ?
Hi, is the laser data coming in that slow in the simulation, the real robot, or both? If it is only in the real robot, then there might be a way to solve this using the parameter_bridge, which only bridges the topics you are interested in.
For this, you need to load the topic names you intend to as ROS parameters before launching the bridge with
source /opt/ros/noetic/setup.bash
source /opt/ros/foxy/setup.bash
ros2 run ros1_bridge parameter_bridge
I am sorry you are disappointed with the course. Please know that our small team works very hard every day to keep improving the student experience.
Let me know if the issue is only with the real robot and I will work on adding a section on how the parameter bridge can be tested
First thank’s for your answer. Yes it’s only with the RealRobot, the simulation works fine.
I tried this but I don’t know ROS parameters (and so the syntax…). So I will pass the real robot exercises for now to go through the course until the ROS1 to ROS2 bridge part (Where I hope to learn about ROS parameters). After that I’ll try again.
I very aware of that, and I was a bit angry when I write this. All the other courses I’ve done are great ! The ROS2 course deserve I think a little bit more attention from your team to become a very great course (you don’t have any serious competitors on the web so continue like this ).
Hi @Riddeen, I will test the real robot to check for issues and will also add the instructions for the parameter bridge. I will get back with you when it’s done.
I’ve tested the real robot and found that you are correct, the frequency at which the topics are bridged to ROS2 is very low. This might be due to the hardware limitations, and will continue to investigate.
I have updated the rosject with the instructions to launch the parameter_bridge. I saw that this increases the scan frequency from ~1Hz to ~8Hz.
To see those changes in your own rosject, you will have to fork a new copy. You can download the work you have done already and then transfer it to this new one:
Thank you for pointing out the error and improving the experience for everyone else
Yes!
So I had to delete my rosject and recreate a new one from the course to be able to see the changes (the “automatic” update didn’t work).
BUT, there is an issue.
First there are these “warns” or “errors” when I launched the bridge with your instructions:
user:~$ ros2 run ros1_bridge parameter_bridge
The parameter 'topics' either doesn't exist or isn't an array
The parameter 'services_1_to_2' either doesn't exist or isn't an array
The parameter 'services_2_to_1' either doesn't exist or isn't an array
Then I tried to launch my node in an other shell and NOTHING! So I checked if the topics were available and…
user:~/ros2_ws$ ros2 topic list
/parameter_events
/rosout
…NOP. And this is the case in the simulation as well as in the real robot lab…
Did a missed something? So i had to cancel my booking after 10min… I don’t even know if I’ll be able to reconnect this week because of the limit of 2 booking/week.
When i did the old command “dynamic_bridge” it worked again but at a very slow rate (I tried to check if my node worked correctly because of the deletion/creation/etc…).
PS: An other issue in the project to correct according to me. The laser in the simulation works with 360 beams and the real one as 720 beams. It’s not very practicle when you pass from one to the other…
Before launching the parameter_bridge node, you need to load the topics parameter into the ROS parameter server (as the error says, this parameter doesn’t exist in your case). As per the notebook instructions, you can do this with the following commands:
Also, could you please point us out some of these errors you have encountered while doing the course? We always want to keep improving our courses so your feedback would be greatly appreciated.
Of course I did the WHOLE instruction block and not the last one…
user:~$ source ~/catkin_ws/devel/setup.bash
ROS_DISTRO was set to 'foxy' before. Please make sure that the environment does not mix paths from different distributions.
user:~$ roslaunch load_params load_params.launch
... logging to /home/user/.ros/log/51131b92-3452-11ed-9b74-0242c0a82007/roslaunch-2_xterm-3773.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://2_xterm:39891/
SUMMARY
========
PARAMETERS
* /rosbridge_topics: [{'topic': '/tf',...
* /rosdistro: noetic
* /rosversion: 1.15.11
NODES
ROS_MASTER_URI=http://2_xterm:11311
No processes to monitor
shutting down processing monitor...
... shutting down processing monitor complete
user:~$ source /opt/ros/foxy/setup.bash
ROS_DISTRO was set to 'noetic' before. Please make sure that the environment does not mix paths from different distributions.
user:~$ ros2 run ros1_bridge parameter_bridge
The parameter 'topics' either doesn't exist or isn't an array
The parameter 'services_1_to_2' either doesn't exist or isn't an array
The parameter 'services_2_to_1' either doesn't exist or isn't an array
If I understand well I have to pass the list of Topics I’m interested in ? But How ? This not mentionned in the course there is just 4 commands and I have to manage by myself to discover the rest ?
How I supposed to know that ?
There is an error in the topics_turtlebot.yaml file (which you can find in ~/catkin_ws/src/load_params/params). You have to change the named of the parameter from rosbridge_topics to topics. So, change from:
rosbridge_topics: [{topic: /tf, type: ...
to
topics: [{topic: /tf, type: ...
This will fix this issue.
PS: This is already solved in the project rosject, but I think you have a copy of the rosject previous to this fix.