onlytailei / gym_ped_sim Goto Github PK
View Code? Open in Web Editor NEWA ros gazebo plugin for pedestrians (Raw depth social compliant navigation through GAIL) ICRA 2018
License: BSD 2-Clause "Simplified" License
A ros gazebo plugin for pedestrians (Raw depth social compliant navigation through GAIL) ICRA 2018
License: BSD 2-Clause "Simplified" License
Hi, Tailei!
Firstly thanks for your wonderful job.
When I lauch the defult.launch with a maze.world, I find that the actor can walk through the wall of the maze and the laser cann't detect the body neither. The pedestrains are like the air.
So how could I prohibit the pedestrians walk through the wall?
Thanks for any suggestion!
Hi Lei Tai,
Thank you for the good work and for providing your code to the public. When I downloaded the dataset you provided in the read.me file, I found that no rgb information is available in the file.
In the read.me file:
The collected pedestrian navigation dataset contains:
However, I can only find the following: (no rgb data, checked by loading the files using pytorch)
I followed all the instruction you provided on the main page of the repository. When I ran catkin_make in my workspace, I received such error:
as well as:
Maybe this error could be the cause of the ones above?
Warnings << turtlebot3_gazebo:cmake /home/lukas/catkin_ws/logs/turtlebot3_gazebo/build.cmake.001.log
CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:166 (message):
catkin_package() DEPENDS on 'gazebo' but neither 'gazebo_INCLUDE_DIRS' nor
'gazebo_LIBRARIES' is defined.
Thank you!
Hi
The learning alg released by you and jingwei doesn't include GAIL, where is gail?
Hi Lei
I have a problem, we want to change the behavior of peds. We want the ped walks in cycles. Do you have any idea about that?
In fact, if we add actor_plugin/lib/libactorplugin_ros.so file to a .world file, the ped disappears!! If we keep, home/kai/catkin_ws/src/Gazebo_ROS...(i.e. original so). The ped appears, however, we can't program on the ped.
Hi guys,
In case anyone using gazebo 9 you will have an error during compile about < no gzmath.hh > found.
Just switch to gazebo 8 it will work.
And thanks for the package!
Hi Lei Tai,
During the installation I've faced with the following problem.
fatal error: data_collection/DataCollectionService.h: No such file or directory
...
/home/coh/condatest4/devel/.private/data_collection/include/data_collection/DataCollectionServiceRequest.h:5:0: error: unterminated #ifndef #ifndef DATA_COLLECTION_MESSAGE_DATACOLLECTIONSERVICEREQUEST_H
If any suggestion, please let me know.
process[master]: started with pid [31193]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to 36417c1c-3834-11eb-b3ba-3cf862ce8e2f
process[rosout-1]: started with pid [31207]
started core service [/rosout]
process[create_world-2]: started with pid [31227]
process[tfped2defaultworld-3]: started with pid [31232]
process[gazebo-4]: started with pid [31233]
[create_world-2] process has finished cleanly
log file: /home/pzc/.ros/log/36417c1c-3834-11eb-b3ba-3cf862ce8e2f/create_world-2*.log
[ INFO] [1607308248.198177438]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1607308248.198784815]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[ INFO] [1607308249.689958644, 0.021000000]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1607308249.738404240, 0.034000000]: Physics dynamic reconfigure ready.
The terminal stays in this interface all the time.
when I rosrun rqt_graph, there have gazebo, /tfped2defaultworld, gazebo/model_state node.
Hi lei
thx for your wonderful job for this interface. I meet a problem of building actor_plugin, when i use catkin build, it says
Errors << actor_plugin:make /home/yu/zxy/catkin_ws/logs/actor_plugin/build.make.002.log
In file included from /home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc:29:0:
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/./include/ActorPlugin.hh:132:16: error: ‘TrajectoryInfoPtr’ in namespace ‘gazebo::physics’ does not name a type
physics::TrajectoryInfoPtr trajectoryInfo;
^
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc: In member function ‘virtual void gazebo::ActorPlugin::Load(gazebo::physics::ModelPtr, sdf::ElementPtr)’:
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc:52:39: error: ‘class gazebo::physics::Actor’ has no member named ‘WorldPose’
this->start_location = this->actor->WorldPose().Pos();
^
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc:85:33: error: ‘class gazebo::physics::Actor’ has no member named ‘SkeletonAnimations’
auto skelAnims = this->actor->SkeletonAnimations();
^
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc:93:11: error: ‘class gazebo::ActorPlugin’ has no member named ‘trajectoryInfo’
this->trajectoryInfo.reset(new physics::TrajectoryInfo());
^
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc:94:11: error: ‘class gazebo::ActorPlugin’ has no member named ‘trajectoryInfo’
this->trajectoryInfo->type = WALKING_ANIMATION;
^
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc:95:11: error: ‘class gazebo::ActorPlugin’ has no member named ‘trajectoryInfo’
this->trajectoryInfo->duration = 1.0;
^
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc:96:18: error: ‘class gazebo::physics::Actor’ has no member named ‘SetCustomTrajectory’
this->actor->SetCustomTrajectory(this->trajectoryInfo);
^
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc:96:44: error: ‘class gazebo::ActorPlugin’ has no member named ‘trajectoryInfo’
this->actor->SetCustomTrajectory(this->trajectoryInfo);
^
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc: In member function ‘ignition::math::Vector3d gazebo::ActorPlugin::SocialForce(ignition::math::Pose3d&, ignition::math::Vector3d) const’:
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc:148:44: error: ‘class gazebo::physics::World’ has no member named ‘ModelCount’
for(unsigned int i = 0; i < this->world->ModelCount(); i++) {
^
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc:149:51: error: ‘class gazebo::physics::World’ has no member named ‘ModelByIndex’
physics::ModelPtr currentAgent = this->world->ModelByIndex(i);
^
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc:162:58: error: ‘class gazebo::physics::Model’ has no member named ‘WorldPose’
ignition::math::Vector3d currentPose = currentAgent->WorldPose().Pos();
^
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc: In member function ‘void gazebo::ActorPlugin::OnUpdate(const gazebo::common::UpdateInfo&)’:
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc:232:46: error: ‘class gazebo::physics::Actor’ has no member named ‘WorldPose’
ignition::math::Pose3d pose = this->actor->WorldPose();
^
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc:281:20: error: ‘class gazebo::physics::Actor’ has no member named ‘WorldPose’
this->actor->WorldPose().Pos()).Length();
^
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc:285:16: error: ‘class gazebo::physics::Actor’ has no member named ‘SetScriptTime’
this->actor->SetScriptTime(this->actor->ScriptTime() +
^
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc:285:43: error: ‘class gazebo::physics::Actor’ has no member named ‘ScriptTime’
this->actor->SetScriptTime(this->actor->ScriptTime() +
^
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc: In member function ‘bool gazebo::ActorPlugin::SetPoseCallback(actor_services::SetPose::Request&, actor_services::SetPose::Response&)’:
/home/yu/zxy/catkin_ws/src/gym_ped_sim/actor_plugin/src/ActorPlugin_ros.cc:341:46: error: ‘class gazebo::physics::Actor’ has no member named ‘WorldPose’
ignition::math::Pose3d pose = this->actor->WorldPose();
^
make[2]: *** [CMakeFiles/actorplugin_ros.dir/src/ActorPlugin_ros.cc.o] Error 1
make[1]: *** [CMakeFiles/actorplugin_ros.dir/all] Error 2
make: *** [all] Error 2
cd /home/yu/zxy/catkin_ws/build/actor_plugin; catkin build --get-env actor_plugin | catkin env -si /usr/bin/make --jobserver-fds=6,7 -j; cd -
.............................................................................................
Failed << actor_plugin:make [ Exited with code 2 ]
Failed <<< actor_plugin [ 3.5 seconds ]
[build] Summary: 1 of 2 packages succeeded.
[build] Ignored: 2 packages were skipped or are blacklisted.
[build] Warnings: None.
[build] Abandoned: None.
[build] Failed: 1 packages failed.
[build] Runtime: 3.6 seconds total.
yu@yu:~/zxy/catkin_ws$
thx!!
Hi how can I get the actors to avoid walls?
Hey,
I clone your code to my compute,and I find a place in "actor_plugin/src/ActorPlugin_ros.cc"
that make me puzzled.In 170 row, you user"diffDirection = diff.Normalize()" to get the direction of "diff",however, Normalize()function will make diff be a unit. I think this may influence the computation of scocial force. The Normalize() source code is below.
By the way, when I use social force model to Simulate human behavior, I find in complex enviroment, such as many actors, it's diffcult to completely avoid collision ..Do you find similar problem in your experiment?
/// \brief Normalize the vector length
/// \return unit length vector
public: Vector3 Normalize()
{
T d = this->Length();
if (!equal<T>(d, static_cast<T>(0.0)))
{
this->data[0] /= d;
this->data[1] /= d;
this->data[2] /= d;
}
return *this;
}
Hey,
I wanted to use this Simulation for a project at my university, where we try to simulate actors withe human behavior. I followed exactly your steps in the readme file but if i launch the default.launch my Actors spawn all in the same place and only walk two meters and then being reseted. As I tried to understand the code i recognize the actor_plugin is missing. It would be nice if you could do an reupload with a working simulation.
BR,
Max
Hi, i am trying to publish messages to teleop the actor
any help would be great
thanks in advance
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.