horizonrobotics / socialrobot Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
Currently, it's using the same GPU used for display.
Since alf use absl.logging for logging. SocialRobot should use absl.logging too.
I ran pr2 on two different environments, and found that the camera sensor output is a bit different (images are brighter or darker). Does any body known why ? And is there any other difference
except image that will affect learning performance ?
Env1 : gazebo 9.9, nvidia 410.73, ubuntu 16.04
Env2: gazebo 9.11, nvidia 410.93, ubuntu 18.04
Env3 gazebo 9.9 (compiled) , nvidia 410.93, ubuntu 18.04 (output almost same with Env2)
Env1
, Right: Env2
)Env1
, Right: Env2
)Env1
, Bottom: Env2
)1 . run command below, when training finished ,the main process hangs up, ps aux|grep pr2
info shows that sub processes for environments are still alive
python3 -m alf.bin.train --root_dir=t --gin_file=ppo_pr2.gin \
--gin_param='create_environment.num_parallel_environments=2' \
--gin_param='TrainerConfig.mini_batch_size=200' \
--gin_param='TrainerConfig.num_iterations=1'
and i found process terminate timeout with self._process.join(5)
just replace the line to self._process.join()
, you can see it can not go on
2 . i found it's related to lines below
SocialRobot/pygazebo/pygazebo.cc
Lines 472 to 473 in 88be070
but when i remove these lines , the sub processes can exit, but the main process exit with a segment fault (2 env for collecting data in sub processes, and 1 env for evaluating in main process )
Hi developers,
After I compiled the repo successfully, I tried to run the test script test_simple_navigation.py
.
However, the script didn't work. Some error information could be found below
[Msg] Waiting for master.
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: 192.168.10.20
[Err] [LogRecord.cc:157] LogRecord has not been initialized.
[Wrn] [ModelDatabase.cc:340] Getting models from[http://models.gazebosim.org/]. This may take a few seconds.
Some suggestions and ideas will be appreciated.
Thank you.
Hi, I have installed the gazebo 9.13.2 and pip install the pkg.
However, I cannot run the env correctly.
The error is
SocialRobot/python/social_bot/__init__.py", line 66, in <module>
from . import pygazebo
ImportError: /usr/local/lib/libopencv_imgproc.so.2.4: undefined symbol: _ZNK2cv9Algorithm5writeERNS_11FileStorageE
I'm sure I have written the path as the guidance, my python version is 3.7.
Is there anyone help me?
Currently the configurations of an environment depends on gin-configurations. This way have too much possibilities : combinations of the tasks, agent_type, world file, using image or not, image_with_internal_states or not, with language or not...
But many combinations do not work. For example, some tasks do not support some agent_types, some agent does not support image observations, different tasks need different max_steps or step_time...
It would be better to add a default configuration list of Envs, which specifies the combination of the tasks, agent, world file, using image or not, image_with_internal_states or not, with language or not, and give it a name registered to Gym. The CI test also do the tests accrofing to the list.
The list of tasks does not necessarily add all combinations supported. Only the configurations we are using (like the ones used in experiment or in training examples) should be fine. We can add new configuration to the list when necessary at any time.
Hi developers,
Thanks a lot for your efforts!
I am now using your code to implement my own environments, but I found that the function 'world.insertModelFromSdfString(string)' is not very stable. I ran the exactly same code several times and it succeeded sometimes while failed more often.
May I ask how you guys deal with this? Thanks a lot!
Best,
Wenhua
Hello, I meet a problem when i test "python3 python/social_bot/envs/play_ground.py". It shows:
Traceback (most recent call last):
File "python/social_bot/envs/play_ground.py", line 31, in
import social_bot
File "/home/huang/Project/HIDIO/SocialRobot/python/social_bot/init.py", line 66, in
from . import pygazebo
ImportError: cannot import name 'pygazebo'
I think I install correctly Gazebo9.19.0 and SocialRobot. My system is Ubuntu 18.04. Package is python3.6.
I don't know how to choose Gazebo9.6 version, Is it influence the code? Thankyou.
python3 python/social_bot/envs/grocery_ground.py
Traceback (most recent call last):
File "python/social_bot/envs/grocery_ground.py", line 33, in
import social_bot
File "/home/wangbingjie/anaconda3/lib/python3.5/site-packages/Repo_Root/python/social_bot/init.py", line 89, in
from . import pygazebo
ImportError: /usr/lib/libgdal.so.1: undefined symbol: sqlite3_column_table_name
The current replay buffer at python/social_bot/util/replay_buffer.py uses collections.deque for storage. However, deque can have performance issue when the size is very large. As shown in deque implementation of deque_item https://github.com/python/cpython/blob/3.5/Modules/_collectionsmodule.c#L1123
To access an item, it needs to traverse through all the blocks of size 64, which can be time-consuming when size is large. As I run examples/train_simple_navigation.py, the fps decreases from 45 to 35 and stops decreases after 500,000 steps. It's coincident with the size of replay buffer. So I suspect the longer random accessing time of deque is cause of this problem.
We should use a cycled list to replace deque so that it will not get slower as size gets large.
Hi guys,
Thank you for the good work!
I built the files following the readme.
I use "anaconda3/bin/python3.5" for building the files and also for running the testing script.
However, I ran into the following error:
">>> import social_bot
Fatal Python error: PyThreadState_Get: no current thread
Abort trap: 6"
Does anyone have any idea how to solve this?
Thank you in advance!
Best,
Rui
Currently environment statuses like teacher's internal status are not saved in model checkpoints during training. In settings like curriculum training, if we stopped training in the middle, and resume, everything starts from simpliest level again.
If we can save and load env status into model checkpoints, we can resume training at the appropriate level of the curriculum.
Good to have as we introduce teacher tasks in different levels.
Hi guys,
Does anyone know how solve the following error (and Python quit unexpectedly.):
"$ python3.7 examples/test_simple_navigation.py
[Msg] Waiting for master.
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: 10.181.55.63
[Err] [LogRecord.cc:157] LogRecord has not been initialized.
joint name: pioneer2dx::pioneer2dx::left_wheel_hinge
joint name: pioneer2dx::pioneer2dx::right_wheel_hinge
joint name: pioneer2dx::camera_joint
INFO:social_bot.envs.simple_navigation:joint names: ['pioneer2dx::pioneer2dx::left_wheel_hinge', 'pioneer2dx::pioneer2dx::right_wheel_hinge', 'pioneer2dx::camera_joint']
joint name: pioneer2dx::pioneer2dx::left_wheel_hinge
joint name: pioneer2dx::pioneer2dx::right_wheel_hinge
joint name: pioneer2dx::camera_joint
unable to find sensor: camera
Segmentation fault: 11"
Thanks!
-Rui
Hello. I see some changes such as "Implement gym.Env.seed()". But I still can't get a fix return. My origin code is ALF. When I use Fetch or Ant env, the seed works. So I don't know how to fix SocialRobot seed to get a gix return.
Things to evaluate:
#97
PR97 added all used gazebo model files into repository, but mesh and texture files of the model that are renamed is not used. The link in the sdf is still the original one. Currently we still need to downloading model files to ~/.gazebo/models to get the texture correctly.
example: here is part of the codes pr2_noplugin.sdf
<collision name="torso_lift_link_geom">
<geometry>
<mesh>
<uri>model://pr2/meshes/torso_v0/torso_lift_L.stl</uri>
</mesh>
</geometry>
Either we should change pr2 in the uri to pr2_noplugin, or remove the mesh and texture file and add originlal pr2/pioneer/youbot to the repo.
So that people can get a better idea what are in this project.
Hi @Jialn ,
For the pull request "Grocery ground pr2", which version of tensorfow and tf-agents did you use?
I tried tf-agents (0.2.0rc2) with tensorflow (2.0.0-alpha0), tensorflow (1.13), tf-nightly (1.14) for "Grocery ground pr2".
None of them seems to work...
Thank you!
Best,
Rui
If this is not too difficult, we should support it so that it will be easier to record video with the newly added recording function in alf (HorizonRobotics/alf#105)
If it's too much trouble to support, we can rely on gzclient to do the recording, though it's not very convenient.
Hi developers,
Thank you very much for your wonderful work!
I ran into an error when trying to compile the project by 'make -j'. And the error goes like this:
/home/workspace/SocialRobot/SocialRobot/pygazebo/pygazebo.cc: In member function ‘bool social_bot::Agent::TakeAction(const std::map<std::__cxx11::basic_string, double>&)’:
/home/workspace/SocialRobot/SocialRobot/pygazebo/pygazebo.cc:230:30: error: ‘class gazebo::physics::JointController’ has no member named ‘SetForce’; did you mean ‘GetForces’?
bool ret = controller->SetForce(name2force.first, name2force.second);
May I ask for your help to check with this? I am trying to compile it on Ubuntu 18.04 with gazebo 9.0.
Thanks in advance.
When using image as observation, although we should not use goal states as observation, we can still use some self states (joint angles, velocity, etc.) as observation, similar to pr2.py
Hello. When I run 'python3 test_simple_navigation.py'. It prints ImportError: /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0: undefined symbol: FT_Get_Var_Blend_Coordinates. Do you know how to deal with it? Thank you.
My gazebo is 9.16.0.
Traceback (most recent call last):
File "test_simple_navigation.py", line 5, in
import social_bot
File "/home/huang/Project/HIDIO/SocialRobot/python/social_bot/init.py", line 66, in
from . import pygazebo
ImportError: /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0: undefined symbol: FT_Get_Var_Blend_Coordinates
Hi developers,
Thanks for your amazing job. But I can not compile this repo for my Gazebo 8 (built from source), so I am wondering which version of the Gazebo is tested in your environment. In other words, can you list the details of your developing environment (e.g. the version of the system, is it required ROS)
Thanks in advance. Looking forward to your reply.
There are a lot of gazebo error/warning messages. They are confusing the new users. We should find ways to avoid them:
[Err] [ConnectionManager.cc:472] Data was empty, try again
[Err] [Connection.hh:268] Header is empty
[Err] [LogRecord.cc:158] LogRecord has not been initialized.
Warning [parser.cc:531] Converting a deprecated SDF source[data-string].
[Wrn] [Publisher.cc:142] Queue limit reached for topic /gazebo/default/pose/local/info, deleting message. This warning is printed only once.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.