ROS2 GoPiGo3 Dave's 1k Run

Couldn’t find a COTS 1.75” ball caster, and don’t like the thought of pitting the red board’s PID controller against a swivel caster.

2 Likes

While we are talking about the wheels, I would LOVE to find a source for the nice soft, grippy wheels the GoPiGo and the Gigglebot uses.

I have other things that would benefit greatly from wheels like that.

@cleoqc @mitch.kremm
Do you know where I can get wheels like those used on your robots?

2 Likes

I have a ball-bearing swivel caster on Charlie and it works quite well.

Of course it’s a relatively small caster. . . but you have to start somewhere, 'eh?

2 Likes

Google “robot wheels” - quite a selection returned

2 Likes

And the vast majority are harder plastic that don’t grip worth :face_with_symbols_over_mouth:!

The GoPiGo wheels fit what I want to fit and the tires aren’t hard plastic.

I’ll try that though and see what I can find over here.

2 Likes

Thought:

Rig up a cardboard ramp/platform for Dave and place it in front of him as he travels.

2 Likes

Does it affect the repeatability of turn_degrees() calls? There are some low profile 1.5 inch swivel casters available, but I’m not sure how much “swivel room” exists between the encoders and the swivel center of rotation.

I think since 99% of Dave’s existence is indoors and met by the existing caster, finding a suitable location for “the event” is the best solution at the present.

2 Likes

Thought of that. Requires a willing assistant to place and remove the “crack crosser” as the effort progresses. My wife already expressed her objection to me walking Dave around the neighborhood, she certainly is not going to assist the “crazy guy in the neighborhood “

2 Likes

Why?

I would love to have a robot I could drive around!

2 Likes

People that “have a robot” think different than people that have never wanted to have a robot?

2 Likes
  • Tweaked the camera mount angle mechanically for level images, and discovered raspistill needed “-rot 180” instead of “-vf” (vertical flip).

  • Confirmed that raspistill time lapse does not skip frames when running all my ROS2 nodes, even the LIDAR and Ultrasonic which will not be needed during Dave’s record attempt.

  • Confirmed that the LIDAR vibration does not induce motion blur into the images.

rstill_20211002-114617

TODO: Have to test using my phone as a hotspot spoofing my home WiFi SSID/password, so that I can connect to Dave to start and stop everything.

2 Likes

That sounds scary.

Maybe a better solution is to allow Dave to bind to two different SSID’s.

Having two different networks share the same identity is a BAD idea. Especially if they are going to be anywhere near each other.

For one thing, the network won’t be set up the same, (i.e.  Where is the default gateway or primary DNS resolver on the “x” network?")

It’s better if two different networks have different names.

Especially if they’re not going to be on the same subnet or have the same DHCP server.

I’ve done tricks like that in the past, but always on the same subnet, with static IP data, access to the same DHCP server and DNS resolver, static leases, (to match the static IP addresses so DNS resolves properly), and the same default gateway.

Sometimes I even have to dummy up the HOST file to keep things from going to :poop:.

Trying to span multiple, different networks using the same SSID is a problem waiting to happen.

2 Likes

Weeeelll. . . .
I don’t rightly know.

What I do know is that the turn accuracy seems better, but I don’t have a billiard-table smooth surface to test Charlie on.

I place him on a part of the carpet that has a distinctive design feature, line him up as carefully as I can by eye, and then hit “spin one rotation” on the Dexter control panel.

I suspect that I may have to tweak the gopigo wheel rotation constants as the robot never seems to be able to drive in an absolutely straight line when I run the 2m linear travel test - but he never deviates the same direction/distance twice in a row.

However!  Charlie is on an uneven floor that’s covered in a throw-rug, and I don’t expect millimeter accuracy.

I’m happy if he gets from here to there.

2 Likes

Where’s Dave’s dock?

You’d think with all the fancy ROS, LIDAR, IMU, distance sensor, (etc.), stuff he’d have docking knocked ice cold!
:thinking:

Or, are you holding out on Dave??!

2 Likes

That depends on how smart Dave proves capable of without using any off-board processing.

If he ends up smart enough to share the juice bar, I’ll give Dave the straws to drink.

2 Likes

On a regular Raspberry Pi I know there is a way to list preferred networks, so that it joins the highest ranked one available. So if the mobile hot spot isn’t available you’d join the home network, but if the mobile network is, then that is joined preferentially. I’ve actually done that - but I’m not home, and I don’t recall the details.
/K

2 Likes

Poor, sad, unimaginative souls.  They have my pity.

At least you don’t have to housebreak your 'bot. :wink:

1 Like

That’s pretty much what I am talking about.

You make the infrequent network the highest ranking network so that - when you turn it on for Dave - he jumps on it.

Otherwise, he’s on the normal Wifi network.

1 Like

I did that now for the home net first and the iPhone hotspot second, with unique SSIDs.

/etc/netplan/50-cloud-init.yaml:

network:
    ethernets:
        eth0:
            dhcp4: true
            optional: true
    version: 2
    wifis:
        wlan0:
            access-points:
                SSIDHOME:
                    password: pwhome
                SSIDHOTSPT:
                    password: pwhotspot
            dhcp4: true
            optional: false

Tested that and Dave connects in both situations successfully.

I had trouble with remoting into Dave from the iPhone, I think because Termius doesn’t know Dave’s IP when connected via the hotspot. iOS lets you see the hostname of connected devices, but not their IP.

I installed a network scanner on my iPhone to find the IP.

Doing the ssh again with the IP instead of the host name worked. (My guess is there is no name service for the hotspot?)

Solution:

  • install the iNet Pro app
  • after bot connects to hotspot, run iNet Pro network scan to determine the bot IP
  • Tell Termius the bot’s hostname is that IP
  • ssh to the bot, authorize the unknown key, and I’m in!
2 Likes
  • Course Signage
  • Committee (Wife) approval of the proposed “Around The Lake” location
    (Far From Gossipy Neighbors To Protect Dave’s Reputation…)

TODOs:

  • Scout the proposed location for safety
  • Check schedule for hurricanes and thunder storms
  • Arrange safe transportation method for Dave

2 Likes