simspark
Table of Contents
- SimSpark for SPL
- SimLeague
- Tips of installation
- Task
- fix bug about beam for Dieter
- comiple windows version in DEBUG for Dieter
- the interface to the new SimSpark [100%]
- Image Camera Sensor
- import the mesh for soccerbot
- debug the rsgedit in my system
- release rcssserver3d-0.6 [100%]
- release rcssserver3d-0.5.9 [100%]
- release rcssserver3d-0.5.8 [100%]
- release rcssserver3d-0.5.7 [100%]
- make the external monitor working [100%]
- test multi-threaded ODE in the IBM X4500 [75%]
- Simulation
SimSpark for SPL
TODO rules for SPL
DONE prepation [100%]
- State "DONE" from ""
[X]comiple & test current state[X]merge changes from master[X]make s3d version and spl version work together (copy config files)
DONE intial - ready - set - play
- State "DONE" from ""
WAIT illegal defender
- State "WAIT" from ""
check code from Marcus
:ID: 2e96512d-9108-4c8c-8711-62918c65eaa7
put the ball back after leaving the field
:END:
DONE manually placement after 'ready' state
- State "DONE" from "TODO"
- check which robot is in bad position
- the function finds the most free position
remove unnecessary functions
[X]SPLRule::MoveBall
pushing
SimLeague
DONE 1.0 [100%]
[X]init[X]start[X]readme
Tips of installation
装3d server 好多遍了,几乎换一个软件或者硬件环境就有新的问题出现 -_-!把 这些问题及解决方法记录下来,方便以后。
ODE Message 3: LCP internal error
ODE crashes in single precision! so configure ODE with ./configure --enable-shared --disable-static --enable-double-precision --prefix..
It took me 4 hours to figure it out…
undefined symbol: SDL_Init/SDL_WasInit
After upgrading to ubuntu 11.10, the simspark can be compiled, but when run it, error appeared:
./simspark: symbol lookup error: …/lib/simspark/openglsyssdl.so: undefined symbol: SDLInit
./simspark: symbol lookup error: …/lib/simspark/inputsdl.so: undefined symbol: SDLWasInit
The problem is that the -lSDL is not passed for some reason… so
for quick fix, edit two files:
spark/plugin/openglsyssdl/CMakeList.txt and
spark/plugin/inputsdl/CMakeList.txt, add SDL in
target_link_libraries
Install with ODE TBB support in local folder [2011.03.28]
- install
libtbb2byapt-get - install ODE-tbb
./configure --enable-shared --disable-static --prefix=${installed_dir}make -j2make install
- install SimSpark
cd sparkmd buildcd buildcmake ..it can not find odeccmake .changeCMAKE_INSTALL_PREFIXto${installed_dir}, presscandgmake -j2make install- do the same for
rcssserver3d
- create a start script:
#!/bin/sh installed_dir=... export LD_LIBRARY_PATH=${installed_dir}/lib:${installed_dir}/lib/simspark:${installed_dir}/lib/rcssserver3d ./rcssserver3d
Install in Linux Server (Gruenau) (2010.1.17)
- ruby-1.8.6-p388 and ruby-1.9.1-p378 does NOT work, but ruby-1.8.7-p174 works
- SDL should not init video in InputSystemSDL
Build simspark in Windows (2009.07.24)
Download & Install Software
- Visual C++ 2008 Express Edition
- Boost windows installer
- Ruby In file C:\ruby\lib\ruby\1.8\i386-mswin32\config.h please comment lines 1,2 and 3
- ODE Install guide here and here
- SDL
- DevIL
- CMake
- FreeType Complete package, except sources
Configure
- run cmake-gui
- set source code folder and building folder
- add Entry:
DevIL_ROOT_DIR,BOOST_ROOT… (lots of variables for the libraries) - run "Configure" (if error happens, set the variable manually)
- run "Generate"
Build
- open the solution file with Visual Studio
- build the solution
Notice for Rsgedit
- build wxWidgets with OpenGL: edit
lib\vc_lib\mswd\wx\setup.h:- #define wxUSE_GLCANVAS 0 + #define wxUSE_GLCANVAS 1
- In Visual Studio, select rsgedit -> Properties -> Configuration Properties -> Linker -> System,set SubSystem to Windows(/SUBSYSTEM:WINDOWS)
sfsexp could not read symbols (2007-10-9)
问题
sfsexp的一个版本被直接copy到server的源码中了,但编译时报出
rcssserver3d-0.5.6/utility/sfsexp/libsexp.a(parser.o): relocation RX866432 against `a local symbol' can not be used when making a shared object; recompile with -fPIC /home/co/server/rcssserver3d-0.5.6/utility/sfsexp/libsexp.a: could not read symbols: Bad value collect2: ld returned 1 exit status
解决方法
参考这里。该页将问题讲得很清楚,从基本概念到解决方法。 最后,我使用了Case 3的解决方法,也就是在utility/sfexp/Makefile.am文件 中加入一行
AM_CFLAGS = -fPIC
DevIL库在GCC4.2 on X86_64平台出错 (2007-10-9)
问题
在DevIL库的头文件中使用了
typedef void ILvoid;
该代码在GCC4.2 on X86_64平台出错,也不知道是GCC的bug(检查太严),还是DevIL的问题。
解决方法
- 方法一
参考这里。就是把il.h, ilu.h,devil_internal_exports…… 中所有的ILvoid替换为void。 上面的地址中有个diff文件,可以直接patch上就可以了。
- 方法二(简单)
其实跟不用着这么麻烦地替换所有的ILvoid,只要使用宏将ILvoid定义为viod就 行了,即修改Devil代码中include/IL/il.h- typedef void ILvoid; + #define ILvoid void;
Task
DONE fix bug about beam for Dieter
DONE comiple windows version in DEBUG for Dieter
DONE the interface to the new SimSpark [100%]
- DONE use git to download new source
- DONE the basic interface of NaoTH-2009
- DONE Image Sensor
DONE Image Camera Sensor
- DONE capture the image to file of the current screen
- DONE bind the camera to the robot's head
- CANCEL picture in picture ( render twice(or more) in one monitor)
- DONE send email to the simspark mail list
- the formate of communication
- draft release
CANCELED import the mesh for soccerbot
DONE debug the rsgedit in my system
DONE release rcssserver3d-0.6 [100%]
[X]fix bugs:[X]vision perceptor[X]kick off[X]drop ball[X]move agent
[X]do the release[X]check out the clean source from cvs[X]make & make install & test[X]write README & NEWS[X]increase version, make dist[X]reconfigure & make & make install & test[X]send the preview to other MCs[X]fix bugs reported[X]tag the code in the cvs[X]upload the distribution[X]create the release[X]spread the news
DONE release rcssserver3d-0.5.9 [100%]
[X]implement new features:[X]mesh init effector[X]restrict vision perceptor[X]bounding box[X]camera postion in monitorspark[X]soccerbot with RVP and neck[X]parameters adjustment
[X]do the release[X]check out the clean source from cvs[X]make & make install & test[X]write README & NEWS[X]increase version, make dist[X]reconfigure & make & make install & test[X]send the preview to other MCs[X]fix bugs reported[X]tag the code in the CVS[X]upload source distrubtion- sftp yxu@frs.sourceforge.net
- cd uploads
- put file
[X]create the release[X]spread the news
DONE release rcssserver3d-0.5.8 [100%]
[X]check out the clean source from cvs[X]add textures of Nao to cvs[X]new a naosoccersim.rb with new field[X]scale the old soccersim.rb[X]use new textures from Joschka
[X]scale the soccerbotcomp.rsg to soccerbot058[X]do the release[X]check out the clean source form cvs[X]make & make install & test[X]write the README & NEWS[X]increase the version, make dist[X]reconfigure & make & make install & test[X]send the preview to other MCs[X]wait response from others[X]fix buges reported from other MCs[X]tag the code in the CVS[X]upload source distrubtion[X]create the release[X]spread the news
DONE release rcssserver3d-0.5.7 [100%]
[X]check out the clean source form cvs[X]make & make install & test[X]write the README & NEWS …[X]increase the version, make dist[X]re-configure & make & make install & test[X]send the preview to other MCs[X]commit in the source[X]wait response from others[X]fix bug in sparkmonitor
[X]tag the code in the CVS[X]upload source distrubiton[X]create the release[X]spread the news
DONE make the external monitor working [100%]
[X]make seu-toolkit working with rcssserver3d-0.5.7[X]test the simspark with seu-toolkit[X]make simspark works with seu-toolkit[X]make simspark works with monitorspark
CANCELED test multi-threaded ODE in the IBM X4500 [75%]
[X]test the rounding error fixing[X]install multi-threaded ODE in the IBM X3400[X]install the updated rcssserver3d[ ]running some tests
Simulation
仿真与实物相比
优点
- When working with robots, the usage of a simulation is often of significant importance1.
- On the one hand, it enables the evaluation of different alternatives during the design phase of robot systems and may therefore lead to better decisions and cost savings.
- On the other hand, it supports the process of software development by providing an replacement for robots that are currently not on hand (e. g. broken or used by another person) or not able to endure long running experiments (e. g. learning tasks).
- Furthermore, the execution of robot programs inside a simulator offers the possibility of directly debugging and testing them. This is a great benefit when working with platforms that do not offer any direct debugging facilities, e. g. the Sony AIBO robot.
缺点
各种仿真器比较
| Simulator | Object | Physics Engine | Scene Description | Architecture | GUI | flexibility | Actuators | Sensors | Applications |
|---|---|---|---|---|---|---|---|---|---|
| Simspark | ODE | ||||||||
| Sim Robot1 | any class of mobile robots | ODE | XML | one single application | yes | P/PID servo motors (joints) | Camera(2D RGB pixels),Distance Sensor,Bumper,Actuator State | 4LL, SML,navigation | |
| UCHILSIM2 | RoboCup Four-legged League | ODE | VRML | yes | specific for one RoboCup league | 4LL | |||
| Ubersim3 | high-fidelity, focus on vision-centric robots | ODE | C classes | TCP/IP | no | SML | |||
| Gazebo4 | general 3-D multi-robot | XML | wxPython | code-based modeling in C | |||||
| Webots5 | commercial | ODE | VRML | TCP/IP | yes | ||||
| OpenHRP6 | initiate the exploration of humanoid robotics on an open architecture software and hardware | enhanced VRML97 | CORBA | yes |
各种仿真器简介
Simspark
Sim Robot
- be able to simulate arbitrary user-defined robots in three-dimensional space1.
- includes a physical model which is based on rigid body dynamics.
- allow an extensive flexibility in building accurate models
- follows an user-oriented approach by including several mechanisms for visualization, direct actuator manipulation, and interaction with the simulated world.
Footnotes:
1 Tim Laue, Kai Spiess, and Thomas Rofer SimRobot – A General Physical Robot Simulator and its Application in RoboCup
2 http://www.robocup.cl/uchilsim/
3 http://www.cs.cmu.edu/~robosoccer/ubersim/