Beginner questions


#1

Hi. I am considering getting the GoPiGo in the near future, but wanted to get some clarification on a few details.

I have programming experience with C/C++ (though I do not consider myself an expert), no prior experience working with the Raspberry Pi. I plan to use C with the GoPiGo to demonstrate the capabilities of my C++ AI system. I will be getting the Raspberry Pi camera and wish to mount it by the ultrasonic sensor. I would also like to get a few additional sensors mounted on it, at minimum a button-triggered “touch” sensor mounted a few inches in front of it. I will likely be attaching a wired mic and speaker to the pi for the purposes of voice synthesis/recognition.

I noticed that there aren’t example projects in C (only Python and Scratch), but I did find the code examples at github, and they seemed nice and simple compared to other robot kits out there. I will be using a few other libraries out there for voice synthesis, voice recognition, and basic image processing. OpenCV is way over my head, so I plan to create my own simpler system for object recognition, something distance and color-based. I just need the camera pixels and ultrasonic sensor readings.

If I comprehend, there are 3 possible ways I could develop for it:

  • Connecting a display directly to the Pi and compiling and everything straight from its OS
  • Compiling on a computer and then moving it to the OS SD card
  • Interfacing over wifi somehow so that the GoPiGo takes instructions from a program on the PC and sends data back to it.
  1. I’m not sure how to go about the wifi connection interface, so I’m thinking my best bet is to compile everything directly on the Pi 2 at first to see if it can handle the performance demands of what I’m doing. I realize the newer Pi 3 model is more powerful, but heard that the power demands may be an issue for the battery pack that the GoPiGo includes. Is my understanding correct about developing and compiling directly on the Pi?

  2. Can I connect Grove sensors directly to the Pi/GoPiGo board, or would I need the Grove Pi for this? My understanding is that the Grove Pi simply adds a bunch of ports for someone who needs a lot of sensors. I’m not entirely sure what ports are available for additional sensors or inputs on the GoPiGo.

  3. The site mentions that Lego Technic can be attached to it. I assume this means that the casing has small holes that lego can connect to, not that it has the ability to interface with Mindstorms like the BrickPi does?

  4. I read that the wheel servos may not move properly if the GoPiGo is set to too slow. Is it still capable of moving fairly slow without this happening? I’m just concerned that I would only be able to operate it at fast speeds. Precision is important for my goals.

  5. Lastly, what would you pitch as advantages of GoPiGo over similar robot kits at the $200 price point?

Thanks for help with my questions.


#2

Hi Jeremiah,

This is quite the forum post! I’m going to try to answer everything, if I miss something please let me know.

First, we highly recommend compiling directly on the Pi. I think it’s best practice to just compile to binary in the environment you’re going to be working in. gcc is already on the Pi, and it’s setup correctly for the Pi.

You can certainly interface over wifi; in fact, that’s how we recommend you do this. But you’ll also need to natively compile on the Pi probably, to be able to run motors.

1). I think you’re right. However, remember you can run the Pi headless. So if you have a comfortable computer development environment, you can SSH in or remote desktop with noVNC into the Pi.

2). You can put Grove sensors directly into the GoPiGo. Absolutely. You may want to be careful about which sensors you’re going to put on the GoPiGo, but just about any sensor can be accomodated.

3). That’s correct! Along the sides of the GoPiGo and in the Front, you’ll see a few small holes that are the size and spacing of Lego technic; you can snap lego beams and parts in there.

4). Precise movements (such as you might need for a robot that draws on the ground) aren’t really a capability. If you look a picture of the gopigo encoders, you’ll only get a few degrees accuracy on the wheels with them.

5). I’m not an awesome salesman, so this might be hard. But you have the power of the Raspberry Pi, combined with a bunch of sensors, explained code, wide support.

Hope that helps! Best,

John