logo logo
Home arrow Forums...
Monday, 21 May 2012
 
 
 
Conscious-Robots.com Forum  


chuycepeda
User

Senior Boarder
Posts: 14
graphgraph
Karma: 4  
Multi-Robot SLAM - 2010/02/27 05:44 How do you think computational cost is increased by extending ExplorerSim service for 3 Pioneers..

I have it now running at 17FPS so it turns really bad...I have Core 2 Duo Centrino at 2.20GHz...

My basic extension is included in the Start() method and with the inclusion of additional ports for managing each LRF separately. Here's the code. Pioneers are running motion commands with very very basic obstacle avoidance, so for now I don't know how to optimize my code... =S

Code:

  #region notification handler setup             MainPortInterleave.CombineWith(                Arbiter.Interleave(                    new TeardownReceiverGroup(Arbiter.Receive<DsspDefaultDrop>(false_mainPortDropHandler)),                    new ExclusiveReceiverGroup(),                    new ConcurrentReceiverGroup(Arbiter.Receive<Get>(true_mainPortGetHandler),                                               Arbiter.Receive<dssp.DsspDefaultLookup>(true_mainPortDefaultLookupHandler))                )             );             if (lrfenable)             {                 MainPortInterleave.CombineWith(                   Arbiter.Interleave(                        new TeardownReceiverGroup(),                        new ExclusiveReceiverGroup(                            Arbiter.Receive<LaserRangeFinderResetUpdate>(true_mainPortLaserRangeFinderResetUpdateHandler),                            Arbiter.Receive<LaserRangeFinderUpdate>(true_mainPortLaserRangeFinderUpdateHandler)                        ),                        new ConcurrentReceiverGroup()                    )                     );             }             if (lrfenable2)             {                 MainPortInterleave.CombineWith(                   Arbiter.Interleave(                        new TeardownReceiverGroup(),                        new ExclusiveReceiverGroup(                            Arbiter.Receive<LaserRangeFinderResetUpdate>(true_mainPort2LaserRangeFinderResetUpdateHandler2),                            Arbiter.Receive<LaserRangeFinderUpdate>(true_mainPort2LaserRangeFinderUpdateHandler2)                        ),                        new ConcurrentReceiverGroup()                    )                     );             }             if (lrfenable3)             {                 MainPortInterleave.CombineWith(                   Arbiter.Interleave(                        new TeardownReceiverGroup(),                        new ExclusiveReceiverGroup(                            Arbiter.Receive<LaserRangeFinderResetUpdate>(true_mainPort3LaserRangeFinderResetUpdateHandler3),                            Arbiter.Receive<LaserRangeFinderUpdate>(true_mainPort3LaserRangeFinderUpdateHandler3)                        ),                        new ConcurrentReceiverGroup()                    )                     );             }             MainPortInterleave.CombineWith(                 Arbiter.Interleave(                     new TeardownReceiverGroup(),                     new ExclusiveReceiverGroup(),                     new ConcurrentReceiverGroup(                         Arbiter.Receive<sicklrf.Reset>(true_lrfNotifyPortLaserResetNotification),                         Arbiter.Receive<sicklrf2.Reset>(true_lrfNotifyPort2LaserResetNotification2),                         Arbiter.Receive<sicklrf3.Reset>(true_lrfNotifyPort3LaserResetNotification3)                     )                 )             );             Activate(                 Arbiter.ReceiveWithIterator<sicklrf.Replace>(false_lrfNotifyPortLaserReplaceNotification),                 Arbiter.ReceiveWithIterator<sicklrf2.Replace>(false_lrfNotifyPort2LaserReplaceNotification2),                 Arbiter.ReceiveWithIterator<sicklrf3.Replace>(false_lrfNotifyPort3LaserReplaceNotification3)             );             #endregion



I'm Mexican, so also Spanish comments could be appreciated !!!
  The administrator has disabled public write access. Please, register to participate in the forum.
Raúl
Moderator

Moderator
Posts: 591
graph
Karma: 10  
Re:Multi-Robot SLAM - 2010/03/02 17:36 Hi,

What I've noticed when doing processing other than artificial vision is that most of the CPU load was due to the simulator (the Microsoft Visual Simulation Environment).

While I don't see now an obvious way to optimize the code in your case, these are the things that come to my mind:

- Using an Ageia PhisX physics hardware accelerator (that should relieve the PC CPU from the physics simulation load).

- Move some services to another DSS node (running in a different computer). Here, there is always a tradeoff between CPU load in the DSS nodes and communication bandwidth required across the nodes.

None of these solutions are any good (in terms of code optimization) as they just consist on adding more hardware.

Another optimization you could try is to decrease the required load by the SLAM algorithm by:

- Considering a lower map resolution.
- Considering a lower LRF angular resolution.

These would be equivalent to lower the resolution of images in vision processing...

If you prefer Spanish, please use the Spanish forum for RDS:

-> Foro de Microsoft Robotics Developer Studio

(I try to keep different languages separated in different forum threads so people don't get confused).

Hope this helps..
Raúl Arrabales Moreno. conscious-robots.com/raul
  The administrator has disabled public write access. Please, register to participate in the forum.
chuycepeda
User

Senior Boarder
Posts: 14
graphgraph
Karma: 4  
Re:Multi-Robot SLAM - 2010/03/02 23:40 Thanks for the post Raul ! I really appreciate how you take time for answering to everyone as well and as good as you can.

For now I'll reduce the angular range, then in a near future I'll use multiple PCs for better definition to the DSS nodes.

I will let you know what I'm doing as better solutions keep on going by.
  The administrator has disabled public write access. Please, register to participate in the forum.
Raúl
Moderator

Moderator
Posts: 591
graph
Karma: 10  
Re:Multi-Robot SLAM - 2010/03/23 20:30 My pleasure Good luck with your project.. Please, keep us posted. Raúl Arrabales Moreno. conscious-robots.com/raul
  The administrator has disabled public write access. Please, register to participate in the forum.





Lost Password?
No account yet? Register
 Conscious Robots RSS FeedConscious Robots RSS Feed

Find us on Facebook

Follow us on TwitterFollow us on twitter
Spotlight

Machine Consciousness Bibliography Database

 

ConsScale
The Cognitive Machine Consciousness Scale

 
Last Posts in Forum
 
CR
miel continental