The function for the ultrasonic sensor takes one argument.
That argument represents the pin number to which the sensor is plugged in.
I have also tested it and it works (w/o the
picamera attached as I don’t have one around).
You should have something like this:
ultrasonic_pin = 0 # based on the sensor's location in your photo
if grovepi.ultrasonicRead(ultrasonic_pin) < 100: # here we go
Some code seems impossible to debug, and you end up hitting your head against the table looking for the issue, only to come back a little later and find a miss-spelling or other detail.
Other than that, I see you want to create a surveillance system.
It seems like a really fun project. Maybe you can keep us updated with your work.