ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

[FINALLY FIXED IT]

Reason:

I don't know that I need synchronize time between master (rpi4 ) and slave ( My labtop) . When the router connect to internet, It automatic synchronize time. When disconnect, time between master and slave is different.

How to solve: Reference this youtube link: https://www.youtube.com/watch?v=jxHP0Vycdaw&ab_channel=ICyb3r

Server My labtop

sudo apt install chrony -y
sudo nano    /etc/chrony/chrony.conf

Add these like to the last line in chrony.conf. Allow client Ip to synchronize time

# Step the system clock instead of slewing it if the adjustment is larger than
# one second, but only in the first three clock updates.
makestep 1 3
local stratum 10
#manual
allow 192.168.1.0/24
smoothtime 400 0.01

Client : (Rpi4 board)

sudo apt install chrony -y 
sudo nano    /etc/chrony/chrony.conf

Disable update time from internet and add server Ip (My labtop) by adding # before them and add server 192.168.1.101 iburst prefer at last line:

#pool ntp.ubuntu.com        iburst maxsources 4
#pool 0.ubuntu.pool.ntp.org iburst maxsources 1
#pool 1.ubuntu.pool.ntp.org iburst maxsources 1
#pool 2.ubuntu.pool.ntp.org iburst maxsources 2
server 192.168.1.101 iburst prefer

Check your setup:

sudo nano systemctl restart chrony    
chronyc tracking   
Reference ID    : C0A80165 (192.168.1.101)
Stratum         : 11
If it show like this, it is ok .

[FINALLY FIXED IT]

Reason:

I don't know that I need synchronize time between master (rpi4 ) and slave ( My labtop) . When the router connect to internet, It automatic synchronize time. When disconnect, time between master and slave is different.

And you need export enviroment parameter for ROS Communication:

Slave
export ROS_IP=$(hostname -I | awk '{print $1;}')
export ROS_HOSTNAME=$ROS_IP
export ROS_MASTER_URI=http://192.168.1.100:11311
Master
export ROS_IP=$(hostname -I | awk '{print $1;}')
export ROS_HOSTNAME=$ROS_IP

How to solve: Reference this youtube link: https://www.youtube.com/watch?v=jxHP0Vycdaw&ab_channel=ICyb3r

Server My labtop

sudo apt install chrony -y
sudo nano    /etc/chrony/chrony.conf

Add these like to the last line in chrony.conf. Allow client Ip to synchronize time

# Step the system clock instead of slewing it if the adjustment is larger than
# one second, but only in the first three clock updates.
makestep 1 3
local stratum 10
#manual
allow 192.168.1.0/24
smoothtime 400 0.01

Client : (Rpi4 board)

sudo apt install chrony -y 
sudo nano    /etc/chrony/chrony.conf

Disable update time from internet and add server Ip (My labtop) by adding # before them and add server 192.168.1.101 iburst prefer at last line:

#pool ntp.ubuntu.com        iburst maxsources 4
#pool 0.ubuntu.pool.ntp.org iburst maxsources 1
#pool 1.ubuntu.pool.ntp.org iburst maxsources 1
#pool 2.ubuntu.pool.ntp.org iburst maxsources 2
server 192.168.1.101 iburst prefer

Check your setup:

sudo nano systemctl restart chrony    
chronyc tracking   
Reference ID    : C0A80165 (192.168.1.101)
Stratum         : 11
If it show like this, it is ok .

[FINALLY FIXED IT]

Reason:

I don't know that I need synchronize time between master (rpi4 ) and slave ( My labtop) . When the router connect to internet, It automatic synchronize time. When disconnect, time between master and slave is different. And you need export enviroment parameter for ROS Communication:

Slave
export ROS_IP=$(hostname -I | awk '{print $1;}')
export ROS_HOSTNAME=$ROS_IP
export ROS_MASTER_URI=http://192.168.1.100:11311
Master
export ROS_IP=$(hostname -I | awk '{print $1;}')
export ROS_HOSTNAME=$ROS_IP

How to solve: Synchronize time use Chrony NTP Service [ Local Server ] and Client. Reference this youtube link: https://www.youtube.com/watch?v=jxHP0Vycdaw&ab_channel=ICyb3r

Server My labtop

sudo apt install chrony -y
sudo nano    /etc/chrony/chrony.conf

Add these like to the last line in chrony.conf. Allow client Ip to synchronize time

# Step the system clock instead of slewing it if the adjustment is larger than
# one second, but only in the first three clock updates.
makestep 1 3
local stratum 10
#manual
allow 192.168.1.0/24
smoothtime 400 0.01

Client : (Rpi4 board)

sudo apt install chrony -y 
sudo nano    /etc/chrony/chrony.conf

Disable update time from internet and add server Ip (My labtop) by adding # before them and add server 192.168.1.101 iburst prefer at last line:

#pool ntp.ubuntu.com        iburst maxsources 4
#pool 0.ubuntu.pool.ntp.org iburst maxsources 1
#pool 1.ubuntu.pool.ntp.org iburst maxsources 1
#pool 2.ubuntu.pool.ntp.org iburst maxsources 2
server 192.168.1.101 iburst prefer

Check your setup:

sudo nano systemctl restart chrony    
chronyc tracking   
Reference ID    : C0A80165 (192.168.1.101)
Stratum         : 11
If it show like this, it is ok .