Work continues on the on IPMechCam.
I have been trickling some smaller updates in the IPMechCam thread in the Trossen Robotics Community forums. This post will serve as a wrap up of all the major updates.
Testing IPMechCam text widget and widget preferences.
IPMechCam has been rolled into a larger software package I am working on for walking robots by the name of UpgraydMech. As of today the only Upgrayd Mech tool available for testing is IPMechCam however.
Four screen widgets are available with a few more in the works. A text widget allows the display of a label along with a value as text. A graph widget displays a value over time in an XY graph. A color scale widget presents a value as a graphical representation similar to a temperature scale. And the simple cross hair widget for gun targeting.
Widget preference settings have had the most improvements. The widgets preferences dialog allows for the creation individual widget instances. It also provides a nice interface for adjusting all the properties of the widgets, managing widget instances, and soon allow the saving and loading of widget settings.
Widgets are able to pull values out of a data stream. This data stream can be accessed by other UpgraydMech tools, robot controllers and robot systems. (Arbotix support? MechWarfare scoring system?)
If you would like to try IPMechCam:
- Download and install Python (either version 2.5 or 2.6 is fine. I use 2.6)
- Download and install wxPython GUI toolkit library.
- Download the current version of UpgraydMech.
- Unzip and run the UpgraydMech.py file.
Just wanted to share a list of features for IPMechCam I am currently working towards and their priorities:
- H – Camera Configuration Dialog (Change IP, username and password without needing to dig into the code)
- H – Global Widget Color (Color picker w/ preview to set color of all HUD widgets)
- L – Local Widget Color (Ability to override the global color setting for individual widgets)
- H – Save and load widget, camera and video preferences (Preferences can be saved to a text file. Preferences are loaded on program startup)
- M – Screen size scaling (Adjust the frame size and have the camera image and widgets scale accordingly)
- L – Keyboard hot keys
I have already made some progress with a color picking interface…
At the moment you can mix red, green, and blue to get your desired color. I am also planning to add a control to adjust the color alpha to hopefully allow semitransparent widgets. Having the option of text input would also be nice if a user knows what color they want.
IPMechCam is a cross platform python program to display a motion jpeg stream from an IP camera. The intent is to provide a powerful, customizable and easy to use application for anyone to use in the Mech Warfare robotics competition.
By default IPMechCam will support the TRENDnet TV-IP100W camera with the option to expand support for other similar IP cameras.
The most interesting feature of IPMechCam will be its support for highly customizable HUD or Heads Up Display widgets. HUD widgets are able to display information in a visual manner over the top of IPMechCam’s camera image. Information can include cross hairs to indicate targeting, sensor and control status relayed back from the mech and even indication of game status such as time remaining in the match and the current health of both you and your opponent.
IPMechCam is the first tool in a line of applications geared for the Mech Warfare robotic competition. Other tools planned include gait visualization and optimization, gait generation, pose/sequence editor and robot control interface.
Current progress can already be viewed in this thread of the Trossen Robotics community forums.