From: Hedayat V. <hed...@ai...> - 2008-03-28 10:41:02
|
Hi, I should admit that I have not looked to your code thoroughly enough (so please excuse me if I'm wrong!). But some comments for now: 1. I think it is better for the agent's to be initialized with the init command themselves, like what the current agents do (so they will be initialized with the init effector). 2. It might be better to remove functions like DropBall and MoveAndRotateAgent from TrainControl. A separate method for integrating agents with TrainerCommandParser might be better. 3. I should think a little more about it! But it might be better to control all of the agents using TrainControl. For multi-threaded running, we could apply the same strategy to AgentControl and TrainControl classes. It might be even better to use completely separate classes for multi-threaded running. Well, sorry! I should think before talking!! :) Thanks a lot, and welcome to MC (also to Feng Xue!) :) Hedayat /*Ben <lgp...@16...>*/ wrote on 03/28/2008 07:28:21 AM: > Hi, Markus: > > >The problems I see are hardcoded dependencies to the soccer simulation: > >For example the TrainControl sets up a 'robot part map' and provides > >functions to drop the ball etc. The behavior class implements functions > >[...] > Yes, we should consider the development in the aspect of pure 'train'. > > And I think there are some other problems: > 1. one instance of TrainControl is correspond to one agent? > Should we make TrainControl to manage all the agents just like > AgentControl, > or in order to get some speed improvements in multi-threads mode, we do > one-to-one . > > 2. some actions and decision can be written in Ruby script, they are > executed every cycle, there exists problem for ruby script is only > considered for initialization. > For example, in 'Sparkmonitor::UpdateCached', 'ClearNodeCache' is > called when after running scripts whick result in the failure of logger. > > Best wishes! > Ben > |