First prototype components to consider - ImmersiveSystems/net-robo GitHub Wiki
Chassis: My internet searches showed many options are available for the price, size and performance we are targeting.
- I believe the Dagu Wild Thumper chassis is a reasonable compromise of cost, size, space for components, motors, suspension and wheels to support our prototype goals. We can be open to other options if a case can be made they are better, and we may want to have two different ones to get more breadth of experience.
Processor Board: In my opinion, we have two best choices for processor boards,
- Raspberry Pi
- Beaglebone Black
Beaglebone Black has a slight edge over RPi in specs, whereas the RPi has more support and information available.
Motor Controller: Another benefit of the Dagu chassis is an optimized rugged motor controller designed for the chassis.
- Raspberry Pi foundation is selling a motor controller for the Pi, which is an option if we go with the Pi.
Camera(s): Probably one of the most challenging aspects of the robot will be finding an optimal camera set up for meeting user experience targets as well as the technical constraints.
- We have one Logitech Orbit AF 2 megapixel consumer web camera, reported as compatible for Rpi which can be used to start with for either processor board most likely.
- RPI has a an inexpensive camera module, optimized for the board and software, which could be interesting, inexpensive and quick to try, if we go with the Rpi processor board. Alternatively - there may be interesting options available from the RC/drone/QuadCopter market to look up and consider, although we have be careful to have a streaming camera and not a record only camera.
- 360 degree vision real time video cameras are in the works, like the Bublcam, but this one won't be ready in time for us. Later we may start to experiment with depth sensing cameras.
WiFi: Target to use a 802.11n protocol WiFi dongle or board, for best currently available transmission. Robot WiFi with a mast antenna would be beneficial for extended range trials in future, but is not critical for first iteration prototype as the test area will likely be constrained to large room size area.
- We have one Asus USB-N10 WiFi (n) USB dongle reported to be suitable for the RPi. Options need to be researched and purchased. Design and purchase of better Wi-Fi than we expect to need for first iteration prototype is fine and desired.
Battery:
- We have one battery pack which will work with the Dagu chassis and controller. Others will need researched and purchased. My Internet literature searches show how robot builders are tending to use consumer smartphone/tablet battery extender packs as a good choice of price vs performance, size, and easy connectivity such as USB.
Additional:
- A good multi antenna 802.11n Wi-Fi router needs to be researched and purchased.
- Assumption, computers are available for client machines and to act as as the server.
- Windows 7 OS is best for any server code although is not a must. Linux is second choice.
Robot Arms and Grippers:
- Relatively inexpensive DIY robot arm and gripper (& suction gripper) kit on Kickstarter
Robot software:
- The Dagu motor controller has an onboard arduino compatible micro controller and the board is set up to manage both battery charging, and motor control. Some software needs to be written for the uC on the board to communicate with the Linux processor board, and to implement optimized motor control schemes for a great user navigation experience.
- Both the RPi and the BeagleBone Black run Linux distributions. The team can figure out the best distribution and version to run based on internet literature search.
- The RobotOS, or ROS, may be an ideal way to leverage a modular, extensible software platform for the Linux processor boards. I believe there is information already on the internet from people who have installed ROS on RPi and BeagleBone Black Linux distributions. ROS might provide real time video capture and transmission. This needs to be researched.
- Another option for high performance real time audio/video capture and transmission, with the option of including a command control channel on the side, is WebRTC, a developing open standard supported in recent chrome and Firefox browser distributions (hopefully on Linux also?).
- It may be desirable to have a simple web server running in Linux on the robot so that a simple first iteration client interface can be quickly put together as a web page with embedded video and navigation controls.
- Alternatively, if we end up going with a more sophisticated client application, and depending on what ROS already may support (if we use it), we may want to use an existing messaging protocol with provided libraries for the command messages. I mentioned and referenced options in one of the other vision papers.
- The server connected to the router will likely need a web server with simple pages to support selection of robot and launch of the bi-directional connection between robot and client.
User Requirements:
- Prototypes need only operate indoors, or at least only in dry conditions.
- Battery needs to power robot in use for approx. one hour on a charge (just to make testing and demo's practical).
- First prototype, no manipulation (arm or gripper) required. Designing and building the robots keeping in mind the eventual addition of a small arm and gripper is desired.
- Wifi range for the time being can be limited to, say, approximately 30 meters radius.
Additional links: Other robots shown at first meeting:
-
Surveyor SRV-1: http://www.surveyor.com/SRV_info.html
-
Romotive Romo: http://romotive.com/
-
Dagu Wild Thumper Chassis and Motor Control Board: [http://www.robotshop.com/en/dagu-wild-thumper-6wd-all-terrain- chassis.html](http://www.robotshop.com/en/dagu-wild-thumper-6wd-all-terrain- chassis.html)
-
Beaglebone Black Processor Board: http://beagleboard.org/products/beaglebone%20black
-
WebRTC: http://www.webrtc.org/