V1 Result: Your GoPiGo3 on ROS2 in 10 minutes - not…

V1 Result: Did not cloud-init properly. V2 soon…

If you have a spare 8GB or bigger microSD card, and 10 minutes:
(NO ROS Experience/Knowledge Required!)

Please install “ROS2 For GoPiGo3” image by following:

I can’t guarantee you won’t stay up too late playing with it!

2 Likes

Do I need a Pi4 or will the 3B work?
/K

1 Like

Here is a script I should have included:

$ nano check_battery.sh

#!/bin/bash

echo "Checking Battery with ROS2"
echo "ros2 topic echo --once /battery_voltage"
ros2 topic echo --once /battery_voltage
$ chmod +x check_battery.sh

$ ./start_gopigo3_nodes.sh


$ ./check_battery.sh
Checking Battery with ROS2
ros2 topic echo --once /battery_voltage
data: 10.337
---
1 Like

I have not tested on a 3B, but I expect it to work.

1 Like

Great. I had to hunt around a bit this evening to find Finmark - it hadn’t been unpacked since we moved into the new house. I finally found it. I’m recharging the battery pack. Hopefully tomorrow night I’ll have time to do the testing.
/K

2 Likes

Or 2+ hours and still not working, whichever comes later.
The image seems to boot OK (I get a solid green on the GPG3 board), but it doesn’t seem to connect to the wifi network. I can’t see ros2hh on my network control panel, can’t ssh into it by name, and since I don’t see it on the wifi control panel, I have no idea of the ip address. And yes, I did the “turn it on and off” trick to see if anything popped up on my wifi network that might be it somehow. I burned the image twice using the Raspberry Pi setup tool (which is nifty - my first time using it). I also tried including a wpa_supplicant.conf and an empty ssh file on the boot drive manually to see if that would work. No joy.

In the process of testing it seems that my existing card for Finmark (with ROS on it) is corrupted - I don’t get past the flashing green light on the GPG3 red board (and it never shows up on the network). My GoPiGo3 OS card also seems to be corrupted - same thing.

Until I have time to attach a monitor and keyboard so I can see what’s going on, I’m pretty much stuck at this point.

Bummer.
/K

1 Like

Thanks for trying. I hope you can try again. Mysteries with computers are frustrating.

Did the GoPiGo OS offer an access point? If not, the board’s wifi is suspect. I had a Pi3B board that lost wifi, and I had to use a wifi dongle on it (but GoPiGo OS does not support dongle WiFi)

Also, did you check the network-config file in the boot partition after imaging? One time I created the card and it booted to the green light, but no connect. When I mounted it afterward to my Mac, it turned out the network-config file was not on the boot partition. I don’t know why, but I flashed it again w settings, pulled the card, reinserted and edited the network-config file to not have the encrypted password, inserting the plain text password and that got me in.

I also didn’t do the disable ipv6 step once and the system got an ipv6 dhcp but I couldn’t figure out how to specify the ssh, so had to reflash and do the disable step in the cmdline.txt file

2 Likes

Why do these people assume that everyone lives in Japan or Brazil? :man_facepalming:

If your system is giving out IPv6 IP addresses, you need to disable IPv6 in the router wherever it appears.

2 Likes

I didn’t look immediately, but I did add one manually, which didn’t help (but maybe that only works with the first boot).

Now that I’ve had some sleep I realize I also have a network cable sitting at my desk just for this sort of thing - I can connect directly w/o needing wifi to troubleshoot. So that’ll be my work tonight. I also realized my existing Finmark ROS card probably had the wifi to the rental house we were in for a while set up, which would explain why it wasn’t connecting. Maybe it’s not corrupt after all?

I’ve used GoPiGo OS so little in the past I didn’t even try to troubleshoot that.

More to come.
/K

2 Likes

You mentioned the wpa_suppliment.conf and ssh.txt, (which were Raspian headless setup), look for the file named “network-config”.

Btw, When I ran Rasberrypi imager 1.7.3 on Linux the “set up” parameters I entered did not end up on the card as a network-config file and the file that has the host name,username/password, locale, etc. but when I ran it on my Mac the settings it worked.

I did not try to debug the Linux imager issue.

1 Like

I knew there was a way to do it directly from the boot partition - googling led me to the WPA_supplement.conf file. I can try the network-config. May not be tonight - I had forgotten I’ve got an event to attend.
/K

2 Likes

My bad - I took the check of that file out for the “Install From Image” - They were only in the Setup_1_Ubuntu instructions for the “1hr method”:

=== Mount the card to allow headless configuration

  • Pull card out, reinsert for next step

=== Verify WiFi Headless config

  • Browse system-boot partition
  • Show in enclosing folder
  • Open Terminal at folder
  • nano network-config
wifis:  
  wlan0:  
    dhcp4: true  
    optional: true           <-- may want to set to false to make boot wait for complete network  
    access-points:  
      "your_SSID":  
        password: "your_netpswd"  (this will be a long encrypted thing)  
  • exit ctrl-x y

NOTE: this info is “eaten” by cloud-init and put in /etc/netplan/50-cloud-init.yaml

=== Disable ipv6

nano cmdline.txt
ctrl-e to end of line
add at end of line with a space in front: ipv6.disable=1
ctrl-x y

or

sed '$ s/$/ ipv6.disable=1/' cmdline.txt >cmdline.txt.new && mv cmdline.txt.new cmdline.txt  

unmount microSD card

2 Likes

I have updated the Install_From_Image instructions.

On my Linux laptop, Imager v1.7.3 cannot mount the FAT32 system-boot partition after it is created, so the network-config file does not get updated automatically. I added the manual edit and verification step in the instructions.

Tagging @KeithW to get the latest version

2 Likes

Have you tried with Etcher for Linux?

I can’t imagine why (what I am assuming is) RPi imager can’t mount the partition.

2 Likes

No, because I think Etcher just writes the image, but does not have the “Pre-Configure host/usr/pswd/wifi/locale/ssh” option that Raspberry Pi Imager v1.7.3 has.

Using Etcher, would create the image, and then the user needs to remount the card, edit the network-config file, use robots1234 password to ssh into the ubuntu user, and then manually change things as needed. This is the same process for RPi Imager when it cannot write to the system-boot partition after creation.

2 Likes

That makes me a back number - I’ve never seen that before.

I have always made “WYSIWYG” images. You flash 'em and they work.

2 Likes

Yes, they added an OS/version aware “Setup” feature to allow headless setup for PiOS, Ubuntu, Android, and a few other “Supported OS on Raspberry Pi”. It is really a phenomenal feature when flashing for Raspberry Pi.

They also added lots of flavors of Ubuntu images tailored for Raspberry Pi, that Canonical is not responsible for. Raspberry Pi Foundation is continuing to support the Pi well IMO.

2 Likes

Agree. I love Etcher and have used it for quite a while, but the pre-configuration tools with the Raspberry Pi imager are really handy (if I can get them to work :slight_smile: )
/K

2 Likes

I downloaded the new image. Similar result - mostly just had the green flashing LED on the GpG3. One time it did go solid green. Regardless, I wasn’t able to connect via WIFI or via ethernet cable.

/K

2 Likes

That means it was up - and I usually can ssh in about a minute or two later.

You verified the system-boot/network-config had your SSID and net password correct?

It never got a DHCP address from your router?

Thanks for trying it. It seems it might not have been fully baked.

1 Like