Node missing in rosject

Hello,

I am running software for part I of rosject for this ROS2 basic in 5 days humble c++.

I can have robot running along the wall as expected. However when I check node in another terminal as

ros2 node list

I can not find my node like wall_follow_node. The only node on the list is ros_bridge.

Am I the only one notice this issue?

Any suggestions are very welcome.

Thanks.

Lu

When you open a new terminal, you need to source the applicable ROS files

source /opt/ros/humble/install/setup.bash
source ~/ros2_ws/install/setup.bash

# Then, run your commands
ros2 node list

@bayodesegun
It seems there is no humble in my rosject. There is only foxy.

Okay, then, change the humble part to foxy.

I am not sure
source /opt/ros/foxy/setup.bash
source ~/ros2_ws/install/setup.bash

is the solution. All of a sudden, everything works. I can see all nodes even without those source commands.

Thank you anyway.

Yes, it will work when you take a break from the platform and then come back after a while, because we automatically do the sourcing for you when you launch the course.

The lesson here is that when you have just made changes to your package, recompiled, and sourced on one terminal, the other terminals are not aware of that change until you source the ROS workspace on them. It’s the same whether you are working on The Construct or your local PC.

It would really save you a lot of *ache if you make it a habit to source the ROS workspace every time you want to work on a new terminal.

I have tried to quit the rosject and come back to get a fresh start. However I am not sure I can have everything reset if I come back too soon.

Is there a way I can reset everything in rosject faster? If I have to wait for a while before I come back to rosject, how long should it be?

Thanks.

What exactly do you want to reset? Quitting the rosject and coming back only resets the VM; your files would generally remain intact.

I want to keep my files untouched. By resetting VM, does all environment variables get reset to value like a computer reboot? Or will they keep values from before VM reset?

Thanks.

Every environment variable is reset, except the ones you have defined in ~/.bashrc.

1 Like

It is clear now. Thank you.