GithubHelp home page GithubHelp logo

robocup-ssl / grsim Goto Github PK

View Code? Open in Web Editor NEW
126.0 126.0 128.0 30.69 MB

RoboCup Small Size Robot Soccer Simulator

Home Page: https://ssl.robocup.org/league-software/

License: Other

Java 7.95% C++ 83.12% C 0.94% CMake 7.05% Makefile 0.24% Dockerfile 0.48% Shell 0.22%
grsim robocup robocup-ssl robot-simulator robot-soccer

grsim's People

Contributors

0aqz0 avatar aahsani avatar ali-k avatar andreaswendler avatar bollos00 avatar bucefalog avatar chachmu avatar felipemartins96 avatar g3force avatar gwwatkin avatar hawk777 avatar jansegre avatar jpfeltracco avatar kkimurak avatar mahi97 avatar mani-monaj avatar phibabin avatar renatoosousa avatar renovate-bot avatar rttwente avatar shotaak avatar simlemay avatar spiralray avatar tobiasheineken avatar tosainu avatar voidminded avatar xmuller avatar yuseinaito avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

grsim's Issues

Change number of robots with vartypes in run time

right now, the number of robots that exist in the field is defined in source code and it should be rebuilt every time you want to change the number, Although there's no need to change the number of robots while you can turn them off still changing them inside vartypes make it a lot easier.

is it possible to import a 3d model file?

Hello, I would like to ask a few things:
is it possible to import a 3d model for the robots?
How does the weight gets distributed into the robot?
I noticed, that there are two orange spheres inside the robots, what are they for?

Add 16 Robots Pattern

as ssl-vision add 16 robots pattern #93 ... grsim should add 4 more patterns and also the formation of robots should be changed for 16 robots in both divisions.

Fix compatibility for both divisions

This is a follow-up to #59.

We are trying to update our software to work with the new field sizes and goal area format (which correspond with grSim, since ssl-vision still hasn't updated), and I noticed that the last checkbox of #59 was not completed. Is there an easy way to switch between divisions right now, I couldn't find any.

Right, now, the field seems to be incorrect for both divisions going off of this diagram for quad and this diagram for double. The goal zone seems to match the quad size goal zone (2.4 by 1.2), but the actual field size seems to match the double field size (6 by 9).

If possible, could we have a switch to easily switch between the leagues? I would be happy to help with updating the config and adding the switch if you would like, but I wanted to get some feedback/guidance first.

grsim.xml ?

There is world=VarXML::read(world,(QDir::homePath() + QString("/.grsim.xml")).toStdString()); line in configwidget.cpp line 130.

Because of that line, BallMass becomes 0 and the program gives ODE INTERNAL ERROR 1: assertion "dMassCheck(mass)" failed in dBodySetMass() error.

What is grsim.xml? and is that line really necessary?

Position for robots are undefined when increasing robots count

Describe the bug
When increase robot count from configuration widget, increased robot are placed to (x, y) = (0, 0) as following gif animation.
This is happen because RobotFomation::setAll() only copies new robot position 0 ~ Robots_Count(), and setAll() is only called when RobotFomation object is created.

To Reproduce
Steps to reproduce the behavior:

  1. Launch grSim
  2. Increase robot count
  3. click somewhere on grSim's window to call restartSimulator()
  4. 💣

Expected behavior

  1. Increase robots count
  2. All robots are placed in formation

Animation that describes expected behavior follows.

Screenshots
Current behavior
grsim current situation

What I want to see
grsim_updated

Desktop (please complete the following information):

  • OS: Fedora 31, Fedora 32, Ubuntu 18.04, Ubuntu 20.04
    (but this behavior not stand on OS, I think)

Additional context
I'm submitting this to ask if it is a bug or feature (written in pull request template)
I've already found solution for this (as I attached image).

grSim not compilling with new version of vartypes

Vartypes was recently updated to version 0.8 and it breaks the compilation of grSim.

The problem is they have defined a VarPtr type, which is a typedef from std::tr1::shared_ptrVarTypes::VarType. As this project uses the std::shared_ptrVarTypes::VarType, this breaks compilation.

The solution I've found is to manually change in configwidget.cpp and .h the 'shared_ptr' for std::tr1::shared_ptr, this made it compile correctly again.

I'd like to know if this is a fine change or if it breaks something during runtime.

grSim doesn’t simulate two cameras

The real field uses two cameras. For realism, grSim should simulate two cameras, allowing testing of:

  • duplicate detections in the overlap area
  • frames lacking some robots/balls (because they are on the other field half)
  • registration error causing the two detections of the same object to be in different places

-std=c++11 required to build due to protobuf generted code

On my system (Archlinux, running protobuf 3.6.1 installed from the official repo) build fails with error messages such as

/home/george/grsim/grSim/build/messages_robocup_ssl_detection.pb.h:285:10: error: ‘constexpr’ does not name a type; did you mean ‘ucontext_t’?
   static constexpr int kIndexInFileMessages =

which really look like a c++ std version problem.

These methods errors come from the files automatically generated by protobuf.

Changin CMakeLists.txt, the lines

# set explicitly the c++ standard to use
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++03")

to

# set explicitly the c++ standard to use
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

does indeed solve the problem. With those changes everything works fine, including the demo client in qt.

Maybe this change should be conditional up on some proprety of protobuf (version maybe), but I couldn't figure out why the generated code is c++11.

Since c++11 is widely supported and backwards compatible, would it be fine to change the line to simply c++ 11?

Requires protobuf-compiler package

For grSim to compile on Debian, the protobuf-compiler package is required to be installed. Please document it in the INSTALL instructions.

gr-sim

hello
I'm looking for a part of gr-sim software that sends packets or data to lan.
Please, replace the parts of the code
Thank you

ODE 0.13 Ubuntu 16.04

At the first start, when I made files there were no problems with ./grsim.
But at the second start, I caught

crafter76@crafter76-dexp:~/grsim_ws/grSim/bin$ ./grsim

ODE Message 2: mass must be > 0 in dMassCheck() [mass.cpp:49]

ODE Message 2: mass must be > 0 in dMassCheck() [mass.cpp:49]

ODE INTERNAL ERROR 1: assertion "dMassCheck(mass)" failed in dBodySetMass() [ode.cpp:485]

And nothing have helped me to fix this error.

Text files update

Read the wiki page I created regarding standards, then

  1. Please move all information regarding changes to CHANGELOG, authors to AUTHORS and installation to INSTALL from README
  2. Update the CHANGELOG based on standards stated in wiki.
  3. Update AUTHORS file based on standards stated in wiki.
  4. Update INSTALL file based on standards stated in wiki.

Gitter ?

@mani-monaj
I think it's good idea that we have some chat about how to solve issues on Gitter if you agree on this, I will setup Gitter for grSim

reset all

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
when there is more than 1 robot fell down. its hard to click on everyone of them and click reset.

Describe the solution you'd like
A clear and concise description of what you want to happen.
you can add a reset all button.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

CAM1, 2 & 3 delayed 1 frame.

I am having a little problem, but I am not sure if it's an issue. The simulator sends 4 packages (one for each camera), and I'm receiving them based on the client example of the ssl-vision repository. I am checking the time elapsed by the client.receive(packet) function, in order to check if it's sending 4 packages 60 times per second, but I get the 1/60 time in the second package (corresponding to the CAM1). And I get the first cam (CAM0) of the next frame with the CAM1, 2, and 3 of the previous frame, so I think it represents a delay of 1 frame for CAMS 1 2 & 3.

This is the log.

-----Received Wrapper Packet---------------------------------------------
-[Detection Data]-
Camera ID=1 FRAME=100014 T_CAPTURE=1667.2640
Wait time -16.000ms
-----Received Wrapper Packet---------------------------------------------
-[Detection Data]-
Camera ID=2 FRAME=100014 T_CAPTURE=1667.2640
Wait time -0.054ms
-----Received Wrapper Packet---------------------------------------------
-[Detection Data]-
Camera ID=3 FRAME=100014 T_CAPTURE=1667.2640
Wait time -0.041ms
-----Received Wrapper Packet---------------------------------------------
-[Detection Data]-
Camera ID=0 FRAME=100015 T_CAPTURE=1667.2790
Wait time -0.027ms
-----Received Wrapper Packet---------------------------------------------
-[Detection Data]-
Camera ID=1 FRAME=100015 T_CAPTURE=1667.2790
Wait time -15.803ms
-----Received Wrapper Packet---------------------------------------------
-[Detection Data]-
Camera ID=2 FRAME=100015 T_CAPTURE=1667.2800
Wait time -0.037ms
-----Received Wrapper Packet---------------------------------------------
-[Detection Data]-
Camera ID=3 FRAME=100015 T_CAPTURE=1667.2800
Wait time -0.012ms
-----Received Wrapper Packet---------------------------------------------
-[Detection Data]-
Camera ID=0 FRAME=100016 T_CAPTURE=1667.2960
Wait time -0.041ms
-----Received Wrapper Packet---------------------------------------------
-[Detection Data]-
Camera ID=1 FRAME=100016 T_CAPTURE=1667.2960
Wait time -18.603ms
-----Received Wrapper Packet---------------------------------------------
-[Detection Data]-
Camera ID=2 FRAME=100016 T_CAPTURE=1667.2960
Wait time -0.022ms
-----Received Wrapper Packet---------------------------------------------
-[Detection Data]-
Camera ID=3 FRAME=100016 T_CAPTURE=1667.2960
Wait time -0.040ms
-----Received Wrapper Packet---------------------------------------------
-[Detection Data]-
Camera ID=0 FRAME=100017 T_CAPTURE=1667.3140
Wait time -0.013ms

installation error, about the ode

/usr/lib/libode.a(collision_libccd.o):在函数‘ccdCollide(dxGeom*, dxGeom*, int, dContactGeom*, int, void*, void (*)(void const*, _ccd_vec3_t const*, _ccd_vec3_t*), void (*)(void const*, _ccd_vec3_t*), void*, void (*)(void const*, _ccd_vec3_t const*, _ccd_vec3_t*), void (*)(void const*, _ccd_vec3_t*)) [clone .isra.2] [clone .part.3] [clone .constprop.7]’中:
/home/henryw/ode-0.16/ode/src/collision_libccd.cpp:322:对‘ccdFirstDirDefault’未定义的引用
/home/henryw/ode-0.16/ode/src/collision_libccd.cpp:339:对‘ccdMPRPenetration’未定义的引用
/home/henryw/ode-0.16/ode/src/collision_libccd.cpp:332:对‘ccdMPRIntersect’未定义的引用

hello, I just install all these dependences, but there are some errors when I "make" grSim, do I get a wrong ode version ?

"Current Robot" widget can select robot that does not exists on field

Describe the bug
Size of ID selection combo box in "Current Robot" widget is defined when RobotWidget object is created, and not updated even robot count is updated.
So, we can select a robot does not exists on field and it causes segmentation fault.

To Reproduce
Steps to reproduce the behavior:

  1. Launch grSim
  2. reduce robots count to some value (less than 8 - this is number that is used to initialize robotwidget)
  3. set current robots id to higher than robot count
  4. Segmentation fault

Expected behavior
Size of Robot id selector shrinks to fit to robot count.
e.g. if robots count is 10, maximum id that shown in selector comboBox should be 9

Screenshots
Current behavior
grsim_crash_selector

What I want to see
grsim_crash_selector_fixed

Desktop (please complete the following information):

  • OS: Fedora 31, 32, Ubuntu 18.04, 20.04

Additional context
Same as #115 . I have solution for this. If accepted (maintainer allows), I can submit pull request soon.

Speedup Simulation time

Hi guys! I'm trying to use grSim to train some Reinforcement Learning algorithms.
The whole environment is already set but I'm stucked with the simulation time problem.
grSim runs in real time and I want it to be something like 30+ times faster.
Is there a way to do this? Have someone already tried?

Thank you in advance!

ODE Mass problem.

I got this error, then I run grsim in bin folder.

XML Parsing error inside file '/home/ozgur/.grsim.xml'.
Error: File not found
At line 0, column 0.

ODE Message 2: mass must be > 0 in dMassCheck() File mass.cpp Line 49

ODE Message 2: mass must be > 0 in dMassCheck() File mass.cpp Line 49

ODE INTERNAL ERROR 1: assertion "dMassCheck(mass)" failed in dBodySetMass() [ode.cpp]
Aborted (core dumped)

OpenGL Window Doesn't Scale on High DPI

Describe the bug

On my 15in 2018 macbook pro, this is what grSim's opengl window is not scaling up.

To Reproduce
Steps to reproduce the behavior:

  1. Use a high dpi machine
  2. Launch grSim

Expected behavior
The robot window should be full screen.

Screenshots

Screen Shot 2019-08-31 at 7 41 21 PM

Desktop (please complete the following information):

  • OS: macos
  • Version 10.14.6

When compiling, err occurs: "Could NOT find ODE" on Ubuntu 18.04 LTS

Describe the bug

I typed "cmake .." as what is instructed by the INSTALL.md file to compile,then err occured: "Could NOT find ODE" , the platform is Ubuntu 18.04 LTS in vmware workstation 15 pro

To Reproduce
Steps to reproduce the behavior:
$ cd /path/to/grsim_ws
$ git clone https://github.com/RoboCup-SSL/grSim.git
$ cd grSim
$ mkdir build
$ cd build
$ cmake ..

Expected behavior
compile successfully

Screenshots
Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find ODE (missing: ODE_LIBRARIES ODE_PRECISION) (found version
"")
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
cmake/modules/FindODE.cmake:32 (find_package_handle_standard_args)
CMakeLists.txt:72 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/drone/Desktop/grSim/build/CMakeFiles/CMakeOutput.log".

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Version [e.g. 22]

Additional context

Better AABB pruning for robots.

Currently in the collision space of ODE all objects are added to the global collision space. Since there is no collision space per robot ODE is performing collision checks between every seperate object. However, making a collision space per robot and using dSpaceCollide2 (see http://ode.org/wiki/index.php?title=Manual#Collision_detection_2 ) would make a lot more sense, since then we would only check if two robots collide if they are close enough to do so, without checking the individual pairs of objects between the two robots. Since most situations of gameplay have limited collisions between robots, this could be a significant speed up in the collision checking of grSim (Ignoring static objects; factor 7x*(7x-1)/(x*(x-1)), where x is the amount of robots. This works out to roughly ~49 for 22 robots). Speedup in the collision checking could possibly be even more due to the possibility of usage of a different data structure for the space.

Build Grsim On Travis(mac)

As brew removed qt4 package and i can't find any other repo that contain it. we need another way to install qt4 inside travis.

Failing to send UDP Socket

Since I first installed grsim following all the instructions, I keep receiving this message when initialize it:
"Sending UDP datagram failed (maybe too large?). Size was: ... "
and I cannot receive packet data from vision port. How can I fix this? This problem seems to be on grSim`s code, but I am not sure.

config files description not available

Firstly i wanted to configure the spinner value such that the robot can rotate around its axis while spinning the ball.. but when I do so the robot leaves the ball .. then I tried to change the torque values which apparently solved the problem but when the robot reaches the ball it turns on the spinner the ball slips and moves forward but once I place the ball in-front of the spinner then it grips it and I can rotate the robot on its axis while gripping it but i cant simulate like that so kindly fix this issue or give some details on the torque values of the spinner so that I might configure it properly.

Secondly there are teams which use different spin values at run-time to dribble the ball, reverse pass etc..so Its a suggestion that instead of the Spin to be Boolean it should be a float/integer so that one can dribble the ball at whatever speed one wants on run-time during the game.

Thirdly There is no description of the config files like
-There are no units defined in any config file
-It is not defined that which wheels are wheel1, wheel2 , wheel3 and wheel4.
-body mass, wheel mass, kicker mass : is it mass or weight is it in kilograms? or is it in newtons ?
-a document with diagrams of each config value will be appreciated although some are understandable like center from kicker, radius etc.. but roller torque factor and roller perpendicular torque factor ..etc are not clear enough...
thank you :)

Compiling issue on MacOS 10.13

[x] dependencies installed
[x] osx-fix branch of lordhippo's vartype repo built and installed
[ ] compile grSim

cmake ..

bryant@Bryants-MacBook-Pro:~/dev/robocup/grSim/build> cmake ..
-- The C compiler identification is AppleClang 9.0.0.9000039
-- The CXX compiler identification is AppleClang 9.0.0.9000039
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenGL: /System/Library/Frameworks/OpenGL.framework
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - not found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - found
-- Looking for QT_MAC_USE_COCOA
-- Looking for QT_MAC_USE_COCOA - found
-- Found Qt4: /usr/local/bin/qmake (found version "4.8.7")
-- Found ODE: /usr/local/include
-- Found VARTYPES: /usr/local/include
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- Found Protobuf: /usr/local/lib/libprotobuf.dylib (found version "3.5.1")
-- Configuring done
CMake Warning (dev) in CMakeLists.txt:
  Policy CMP0071 is not set: Let AUTOMOC and AUTOUIC process GENERATED files.
  Run "cmake --help-policy CMP0071" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  For compatibility, CMake is excluding the GENERATED source file(s):

    "/Users/bryant/dev/robocup/grSim/build/messages_robocup_ssl_detection.pb.h"
    "/Users/bryant/dev/robocup/grSim/build/messages_robocup_ssl_geometry.pb.h"
    "/Users/bryant/dev/robocup/grSim/build/messages_robocup_ssl_wrapper.pb.h"
    "/Users/bryant/dev/robocup/grSim/build/messages_robocup_ssl_refbox_log.pb.h"
    "/Users/bryant/dev/robocup/grSim/build/grSim_Replacement.pb.h"
    "/Users/bryant/dev/robocup/grSim/build/grSim_Commands.pb.h"
    "/Users/bryant/dev/robocup/grSim/build/grSim_Packet.pb.h"
    "/Users/bryant/dev/robocup/grSim/build/messages_robocup_ssl_detection.pb.cc"
    "/Users/bryant/dev/robocup/grSim/build/messages_robocup_ssl_geometry.pb.cc"
    "/Users/bryant/dev/robocup/grSim/build/messages_robocup_ssl_wrapper.pb.cc"
    "/Users/bryant/dev/robocup/grSim/build/messages_robocup_ssl_refbox_log.pb.cc"
    "/Users/bryant/dev/robocup/grSim/build/grSim_Replacement.pb.cc"
    "/Users/bryant/dev/robocup/grSim/build/grSim_Commands.pb.cc"
    "/Users/bryant/dev/robocup/grSim/build/grSim_Packet.pb.cc"
    "/Users/bryant/dev/robocup/grSim/build/qrc_textures.cxx"

  from processing by AUTOMOC.  If any of the files should be processed, set
  CMP0071 to NEW.  If any of the files should not be processed, explicitly
  exclude them by setting the source file property SKIP_AUTOMOC:

    set_property(SOURCE file.h PROPERTY SKIP_AUTOMOC ON)

This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) in clients/qt/CMakeLists.txt:
  Policy CMP0071 is not set: Let AUTOMOC and AUTOUIC process GENERATED files.
  Run "cmake --help-policy CMP0071" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  For compatibility, CMake is excluding the GENERATED source file(s):

    "/Users/bryant/dev/robocup/grSim/build/clients/qt/grSim_Replacement.pb.h"
    "/Users/bryant/dev/robocup/grSim/build/clients/qt/grSim_Commands.pb.h"
    "/Users/bryant/dev/robocup/grSim/build/clients/qt/grSim_Packet.pb.h"
    "/Users/bryant/dev/robocup/grSim/build/clients/qt/grSim_Replacement.pb.cc"
    "/Users/bryant/dev/robocup/grSim/build/clients/qt/grSim_Commands.pb.cc"
    "/Users/bryant/dev/robocup/grSim/build/clients/qt/grSim_Packet.pb.cc"

  from processing by AUTOMOC.  If any of the files should be processed, set
  CMP0071 to NEW.  If any of the files should not be processed, explicitly
  exclude them by setting the source file property SKIP_AUTOMOC:

    set_property(SOURCE file.h PROPERTY SKIP_AUTOMOC ON)

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /Users/bryant/dev/robocup/grSim/build

make

bryant@Bryants-MacBook-Pro:~/dev/robocup/grSim/build> make
Scanning dependencies of target grSim_autogen
[  1%] Automatic MOC for target grSim
[  1%] Built target grSim_autogen
[  3%] Generating qrc_textures.cxx
[  5%] Running C++ protocol buffer compiler on src/proto/messages_robocup_ssl_detection.proto
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: messages_robocup_ssl_detection.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
[  7%] Running C++ protocol buffer compiler on src/proto/messages_robocup_ssl_geometry.proto
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: messages_robocup_ssl_geometry.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
[  9%] Running C++ protocol buffer compiler on src/proto/messages_robocup_ssl_wrapper.proto
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: messages_robocup_ssl_wrapper.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: messages_robocup_ssl_detection.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: messages_robocup_ssl_geometry.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
[ 11%] Running C++ protocol buffer compiler on src/proto/messages_robocup_ssl_refbox_log.proto
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: messages_robocup_ssl_refbox_log.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: messages_robocup_ssl_detection.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
[ 13%] Running C++ protocol buffer compiler on src/proto/grSim_Replacement.proto
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: grSim_Replacement.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
[ 15%] Running C++ protocol buffer compiler on src/proto/grSim_Commands.proto
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: grSim_Commands.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
[ 17%] Running C++ protocol buffer compiler on src/proto/grSim_Packet.proto
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: grSim_Packet.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: grSim_Commands.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: grSim_Replacement.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
Scanning dependencies of target grSim
[ 19%] Building CXX object CMakeFiles/grSim.dir/messages_robocup_ssl_detection.pb.cc.o
[ 21%] Building CXX object CMakeFiles/grSim.dir/messages_robocup_ssl_geometry.pb.cc.o
[ 23%] Building CXX object CMakeFiles/grSim.dir/messages_robocup_ssl_wrapper.pb.cc.o
[ 25%] Building CXX object CMakeFiles/grSim.dir/messages_robocup_ssl_refbox_log.pb.cc.o
[ 27%] Building CXX object CMakeFiles/grSim.dir/grSim_Replacement.pb.cc.o
[ 29%] Building CXX object CMakeFiles/grSim.dir/grSim_Commands.pb.cc.o
[ 31%] Building CXX object CMakeFiles/grSim.dir/grSim_Packet.pb.cc.o
[ 33%] Building CXX object CMakeFiles/grSim.dir/qrc_textures.cxx.o
[ 35%] Building CXX object CMakeFiles/grSim.dir/src/main.cpp.o
[ 37%] Building CXX object CMakeFiles/grSim.dir/src/mainwindow.cpp.o
[ 39%] Building CXX object CMakeFiles/grSim.dir/src/glwidget.cpp.o
[ 41%] Building CXX object CMakeFiles/grSim.dir/src/graphics.cpp.o
[ 43%] Building CXX object CMakeFiles/grSim.dir/src/physics/pworld.cpp.o
[ 45%] Building CXX object CMakeFiles/grSim.dir/src/physics/pobject.cpp.o
[ 47%] Building CXX object CMakeFiles/grSim.dir/src/physics/pball.cpp.o
[ 49%] Building CXX object CMakeFiles/grSim.dir/src/physics/pground.cpp.o
[ 50%] Building CXX object CMakeFiles/grSim.dir/src/physics/pfixedbox.cpp.o
[ 52%] Building CXX object CMakeFiles/grSim.dir/src/physics/pcylinder.cpp.o
[ 54%] Building CXX object CMakeFiles/grSim.dir/src/physics/pbox.cpp.o
[ 56%] Building CXX object CMakeFiles/grSim.dir/src/physics/pray.cpp.o
[ 58%] Building CXX object CMakeFiles/grSim.dir/src/net/robocup_ssl_server.cpp.o
[ 60%] Building CXX object CMakeFiles/grSim.dir/src/net/robocup_ssl_client.cpp.o
[ 62%] Building CXX object CMakeFiles/grSim.dir/src/sslworld.cpp.o
[ 64%] Building CXX object CMakeFiles/grSim.dir/src/robot.cpp.o
[ 66%] Building CXX object CMakeFiles/grSim.dir/src/configwidget.cpp.o
[ 68%] Building CXX object CMakeFiles/grSim.dir/src/statuswidget.cpp.o
[ 70%] Building CXX object CMakeFiles/grSim.dir/src/logger.cpp.o
[ 72%] Building CXX object CMakeFiles/grSim.dir/src/robotwidget.cpp.o
[ 74%] Building CXX object CMakeFiles/grSim.dir/src/getpositionwidget.cpp.o
[ 76%] Building CXX object CMakeFiles/grSim.dir/grSim_autogen/mocs_compilation.cpp.o
[ 78%] Linking CXX executable ../bin/grSim.app/Contents/MacOS/grSim
Undefined symbols for architecture x86_64:
  "_ccdFirstDirDefault", referenced from:
      ccdCollide(dxGeom*, dxGeom*, int, dContactGeom*, int, void*, void (*)(void const*, _ccd_vec3_t const*, _ccd_vec3_t*), void (*)(void const*, _ccd_vec3_t*), void*, void (*)(void const*, _ccd_vec3_t const*, _ccd_vec3_t*), void (*)(void const*, _ccd_vec3_t*)) in libode.a(collision_libccd.o)
  "_ccdMPRIntersect", referenced from:
      ccdCollide(dxGeom*, dxGeom*, int, dContactGeom*, int, void*, void (*)(void const*, _ccd_vec3_t const*, _ccd_vec3_t*), void (*)(void const*, _ccd_vec3_t*), void*, void (*)(void const*, _ccd_vec3_t const*, _ccd_vec3_t*), void (*)(void const*, _ccd_vec3_t*)) in libode.a(collision_libccd.o)
  "_ccdMPRPenetration", referenced from:
      ccdCollide(dxGeom*, dxGeom*, int, dContactGeom*, int, void*, void (*)(void const*, _ccd_vec3_t const*, _ccd_vec3_t*), void (*)(void const*, _ccd_vec3_t*), void*, void (*)(void const*, _ccd_vec3_t const*, _ccd_vec3_t*), void (*)(void const*, _ccd_vec3_t*)) in libode.a(collision_libccd.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [../bin/grSim.app/Contents/MacOS/grSim] Error 1
make[1]: *** [CMakeFiles/grSim.dir/all] Error 2
make: *** [all] Error 2

Problem with ODE installation on travis by brew

==> Installing ode --with-double-precision

==> Using the sandbox

==> Downloading https://bitbucket.org/odedevs/ode/downloads/ode-0.14.tar.gz

==> Downloading from https://bbuseruploads.s3.amazonaws.com/63b3b85f-a69e-4101-a

Error: SHA256 mismatch

Expected: 1072fc98d9d00262a0d6136e7b9ff7f5d953bbdb23b646f426909d28c0b4f6db

Actual: a6e22c3713e656d4c8114415089f4aaa685e24fab3a8ad7f3ee54692e5e8d318

Archive: /Users/travis/Library/Caches/Homebrew/ode-0.14.tar.gz

To retry an incomplete download, remove the file above.

The command "if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install ode --with-double-precision  ; fi" failed and exited with 1 during .

Your build has been stopped.```

Allow changing ball position without changing ball velocity in proto api

Is your feature request related to a problem? Please describe.
RoboJackets soccer program allow's users to kick the simulated ball in a direction using the mouse. This requires being able to send grSim a command to change the ball velocity without changing the ball position.

Describe the solution you'd like
Change proto fields from required -> optional in grSim_BallReplacement, and modify handling code to reuse old position/velocity if it is unspecified in the proto.

Describe alternatives you've considered
API users could wait for ball position to be returned in ssl vision packets, then change then use that old position with velocity information, but that strategy is a little complicated and might not handle cases like latency simulation very well.

Separate Grsim Server and Client

separate grsim physic engine and message publisher from grsim GUI in to project and to run grsim headless and connect any GUI over network.

Docker container

There are a lot of problems which came from the source building. May be the easist way is to build docker container to the project, isn't it?

Some links in documents are old

overview
Some links in documentations seems to be old.

detail
Here is the know list :

  • README.md (branch : master)
    • Section "Software Requirements"
      • VarTypes repository
        current : [VarTypes Library](https://github.com/szi/vartypes)
        It must be : [VarTypes Library](https://github.com/jpfeltracco/vartypes) forked from [Szi's Vartypes](https://github.com/szi/vartypes)
      • Qt
        current : [Qt4 Development Libraries](https://www.qt.io) version 4.8+
        It must be : [Qt5 Development Libraries](https://www.qt.io)
  • INSTALL.md (branch : master, develop)
    • Section "Linux/Unix Installation"
      • grSim repository
        current : $ git clone https://github.com/mani-monaj/grSim.git
        It must be : $ git clone https://github.com/robocup-ssl/grSim.git

P.S. I've wrote this believing INSTALL.md is correct (because it has recently updated)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.