'robot netplan/' has the files to set the robot's network. See readme inside.
'celeste/' is the ROS2 workspace on Host PC:
- 'celeste/launch/' has the ROS2 launch file
- 'celeste/src/' has all codes of ROS2 on Host PC. Build needed.
- 'celeste/scripts/' contains all codes to analysis data and make plots. All can run directly.
- 'celeste/scripts/csv/' has all csv files genrated from row data in 'celeste/my_bags/' by 'creat_csv.py'
- 'celeste/scripts/plots/' has all circle plots created by 'plot_csv.py'
- 'homebound.py' is for calculating the distance in 'homebound.csv' when homebound and return a latex table.
- 'homebound_records.csv' were recorded manually and copy to 'homebound.csv' for computing.
- 'models.py', 'plot_csv.py', 'circstats.py', 'analysis.py' are files to plot circle plots.
- 'rmse.csv' 'rmse.ipynb' is to make the rmse table in latex.
- 'rmse.csv' is generated by 'create_csv.py' from row data in 'celeste/my_bags/'
- 'plot.py' is to generate 'compass VS IMU' plots in 'celeste/my_bags/'
- 'celeste/my_bags/' has all row data collected and recorded by ROS2 bags.
Raspberry Pi Version: Raspberry Pi 4 Model B
Robot: TURTLEBOT3 Burger (2022)
Raspberry Pi OS: Ubuntu 22.04 Server
Host PC OS: Ubuntu 22.04 Desktop
ROS: Humble
Raspberry Pi USERNAME: nash
Raspberry Pi PASSWORD = celestial
ROS_DOMAIN_ID = 133
TurtleBot3_MAC_ADDRESS = D8:3A:DD:58:91:B1
Suitable MIN_TURN_SPEED = 0.1
Robot Static IP: 10.42.0.133
To get ip address:
check hotspot panel
or $ sudo hostname -I
or $ sudo arp-scan -l | sort
, then look for MAC address.
TurtleBot static IP address:
192.168.137.133
when connect to 'TurtleBotBurger'(Windows)
10.42.0.133
when connect to 'turtlebot_remote_ubuntu' on Ubuntu
`gateway4` has been deprecated, use default routes instead
https://unix.stackexchange.com/questions/681220/netplan-generate-gateway4-has-been-deprecated-use-default-routes-instead
Similar problems: https://bugs.launchpad.net/ubuntu/+source/wpa/+bug/1972790
Solution:
TL;DR: do not use a password https://askubuntu.com/a/1407833
Turn off the wifi, via the drop down top menu. Then go to:
Show Applications --> Advanced Network
Then in "Network Connections" dialog:
1. Remove the Hotspot connection
2. Add a new one (+ sign)
3. choose WIFI for type of connection
4. Name it and give it a SSID
5. Change MODE to Hotspot
6. Save Then restart the wifi via the top menu, and try to connect with your phone.
I didn't mess much with a passwords as I don't need them.
solving reference: https://superuser.com/questions/1764148/ssh-into-device-through-wsl-when-connected-via-hotspot?newreg=ee5035b5bbba4b90b391249d9ff4969a
- edit
.wslconfig
inC:\Users\Nash Xu
with:[wsl2] networkingMode=mirrored
- open WSL
$ ssh "nash xu"@localhost
I2C-0 pins not working on Raspberry Pi 4B: "Error: Could not open file /dev/i2c-0' or
/dev/i2c/0': No such file or directory"
edit /boot/firmware/overlays/README
add new line dtparam=i2c_vc=on
*This has been tested without pulling up and failed.
edit /boot/firmware/overlays/README
with new line dtoverlay=i2c-gpio,bus=2,i2c_gpio_sda=17,i2c_gpio_scl=27
More information see/boot/firmware/overlays/README
You need to ensure that you have suitable pulls to 3V3 on all the GPIO used to bit bang I2C. For information GPIO 2/3 have 1k8 pulls to 3V3.
Reference: https://forums.raspberrypi.com/viewtopic.php?t=108653#p1563253
Also see https://forums.raspberrypi.com/viewtopic.php?t=353041 for pull up