iPhone Player/Stage Remote Control
Here’s the iPhone Player/Stage Remote Control project! There’s a .pdf that describes how to setup Xcode in the .zip file.
The goal of this project was to use the Player/Stage robotics code on the iPhone to communicate and control robots. I discuss how to setup the Xcode development environment. There are two example Xcode projects. The first one is an Objective-C project that wraps around the C++ Player/Stage code. The second project is a very primitive C++ program running on the iPhone without any UI. Both of these Xcode projects are fully documented and will serve as a starting point to iPhone Player/Stage development.
iPhone Player/Stage Remote Control Project: iPhonePlayerStage
Feel free to ask questions and let me know how you use the code.
13 Responses to iPhone Player/Stage Remote Control
Leave a Reply Cancel reply
Artwork Evolution
Facebook
@PaulSolt
- I just unlocked the "Super Swarm Sunday" badge on @foursquare! Go team! http://t.co/jg1u7Blz 5 hours ago
- I'm at Super Swarm Sunday w/ @michaelmurphy @aaronfeng @benatnewdigs @unystartups @amblatx1 @skeeterharris @ianmikutel http://t.co/pPsid8Aj 5 hours ago
- RT @mattgemmell: CGPathCreateCopyByStrokingPath() (new in iOS 5 / Lion). I've wanted this function for as long as I've written UI code. ... 2012/02/04
Github
Tags
animation App Store Artwork Evolution Boost Boot Camp C++ cross platform default values development Dual Monitors function pointers Gears of War 2 git GLUT graphics ImagineRIT Impulse inheritance iOS iPad iPhone Macbook Pro Mac OS X MacPorts member functions Objective-C OpenGL PAX 10 player/stage polymorphism programming remote control RIT Robot robotics SCM static methods STL svn 1.6 version control Windows XP Xbox 360 Xcode xcode 3.1.2 XNA









This is an awesome and innovative project. I’m looking over the PDF now, but do you need an iPhone developer license to use it?
You’ll need the developer license to run the Xcode project on your iPhone/iPod Touch. However, you can install the iPhone 3.0 SDK for free and work with the iPhone Simulator.
If you set the IP address correctly on the Simulator you’ll be able to remote control a robot from your Mac. You don’t need the developer license right away. And it’s faster to develop with the Simulator. I only periodically test against the actual device.
RIT’s registered with the iPhone Developer University Program, which is a resource for current students. (http://developer.apple.com/iphone/program/university.html)
[...] 3. Demo: Robot Remote Control: See my previous post [...]
Very interesting stuff! I’m just starting with Player/Stage and I’m a long time Mac user. Have you ever tried using Player 3? Also, would you think it would be possible to create e Player Framework for the Mac to build Cocoa based Player applications for the Mac/iPhone?
The player 2.03 project that I include has both an iPhone version and a Mac version of player/stage.
You can do a project reference in a new Xcode Cocoa application and “import” the code. Then you can create iPhone/Mac applications.
I haven’t used Player 3, since it was released after I worked on the project. I may look into it if I have more time, but the robots here at RIT are still using version 2.03 and 2.1
Hi Paul!
I tried your project on my ipod touch and it works well.
I’m trying to port the playerjoy with a simple interface.
Have you got any idea?
@alfak Can you explain what the issue is with porting it?
I’m not entirely familiar with playerjoy, is that some kind of additional interface for a robot sensor/accessory?
If so, you’ll need to use either the 2.03 or the 2.1 source and then pull out the appropriate headers and fix them so that they reference each other. Those files should be added to the existing 2.03 or 2.1 Xcode projects that I have in the zip. It’s not the cleanest approach, but it was the only way we got things working for this project.
@Paul
playerjoy: “playerjoy allows you to manually drive your (physical or simulated) robot around.”
http://player.sourcearchive.com/documentation/2.0.4-3.2ubuntu2/playerjoy_8cc-source.html
I’m not familiar with Objetive-C and the SDK (i only compile some examples).
@alfak ok, so the sample that I have posted lets you randomly drive a physical or simulated robot around. I use the Position2D class to control the movement. If you look at the Xcode project there are places to change the drive functionality.
You’re going to have to read up on Objective-C and the SDK if you want to understand iphone development. http://developer.apple.com/iphone/
[...] the link to my follow-up post: iPhone Player/Stage Sample Projects Categories: Computer Science Tags: ImagineRIT, iPhone, player/stage, remote control, RIT, Robot [...]
Very nice ! ….. too bad I am not into i-phones ….
Hey Paul,
Could you tell me how I can make my own target files for Player 3? I just got Player 3 installed on my Mac and would like to use it through my iPhone/XCode.
Thanks in advance!
@Shyam Unless they’ve made it easier to build for iPhone in 3.0, you’ll need to play around with getting a subset of the code to compile in stand-alone fashion. I had to change around with the #includes by removing/adding in different places to get it building.
You could start by looking at the subset of classes I have in the zip file and try and extract those files from the Player source. Once you can build them as a subset, you’ll be able to put them in an Xcode project to create a library. The library is something that you can reuse in other Xcode projects using the project reference.