Open hangil2478 opened 6 years ago
Yes please. If there would be a tutorial or simple example how to run, it would be great! Thank you.
For others who also want to see at least something unless maintainers respond here. Some time ago our team created a couple launch-files that at least work and can be used for a start.
The first one is just one robot in stage, which explore it by itself (here). The other most point we reached was grouping several robots manually using adhoc_communication services, where we used this file to start with.
_Beware that it needs my own modification of teleop_twistkeyboard
Do anyone may have any .launch file for real hardware?? I use 2 turtlebot2 with indigo but their exploration is reaaally slow and I am having difficulties in understanding if I have to start more nodes that in simulation mode or if there are any parameters that I have to configure inside source files . Thanks in advance!!
@LeoSko Hello,I run the roslaunch explore explore_one.launch but get errors Could you help tell me what is the prolem and how to solve it? Thanks a lot!
[robot_0-4] process has died [pid 2432, exit code 1, cmd /home/ych/adhoc/multibot/adhoc_communication/build/devel/lib/adhoc_communication/adhoc_communication /robot_0/adhoc_communication/new_robot:=/adhoc_communication/new_robot /robot_0/adhoc_communication/remove_robot:=/adhoc_communication/remove_robot /robot_0/base_pose_ground_truth:=/base_pose_ground_truth /robot_0/adhoc_communication/send_frontier:=/adhoc_communication/send_frontier /robot_0/adhoc_communication/send_auction:=/adhoc_communication/send_auction name:=robot_0 log:=/home/ych/.ros/log/5db71998-1327-11e9-a4f9-2c337a5bf879/robot_0-4.log]. log file: /home/ych/.ros/log/5db71998-1327-11e9-a4f9-2c337a5bf879/robot_0-4*.log [robot_0-4] restarting process process[robot_0-4]: started with pid [2914] socket():: Operation not permitted [ INFO] [1546939542.503405243, 0.500000000]: Loading from pre-hydro parameter style [ INFO] [1546939542.562599330, 0.500000000]: Using plugin "static_layer" [ INFO] [1546939542.578536548, 0.500000000]: Requesting the map... [robot_0-4] process has died [pid 2914, exit code 1, cmd /home/ych/adhoc/multibot/adhoc_communication/build/devel/lib/adhoc_communication/adhoc_communication /robot_0/adhoc_communication/new_robot:=/adhoc_communication/new_robot /robot_0/adhoc_communication/remove_robot:=/adhoc_communication/remove_robot /robot_0/base_pose_ground_truth:=/base_pose_ground_truth /robot_0/adhoc_communication/send_frontier:=/adhoc_communication/send_frontier /robot_0/adhoc_communication/send_auction:=/adhoc_communication/send_auction name:=robot_0 log:=/home/ych/.ros/log/5db71998-1327-11e9-a4f9-2c337a5bf879/robot_0-4.log]. log file: /home/ych/.ros/log/5db71998-1327-11e9-a4f9-2c337a5bf879/robot_0-4*.log [robot_0-4] restarting process process[robot_0-4]: started with pid [3107] socket():: Operation not permitted
@YCH188 for sure, this is some permissions problem (socket():: Operation not permitted
). It has been a long time, but I remember you should try using sudo
or root
user to launch packages. This is needed because adhoc_communication uses raw unix sockets that are not available for usual users.
@LeoSko Thank you. Another problem is that in the launch file, the [robot_0-4] isn't started, why it says [robot_0-4] process has died.
@YCH188, is there anything in specified log file?
The log are as below: the robot_0-4 died and restart.
[robot_0-4] process has died [pid 2432, exit code 1, cmd /home/ych/adhoc/multibot/adhoc_communication/build/devel/lib/adhoc_communication/adhoc_communication /robot_0/adhoc_communication/new_robot:=/adhoc_communication/new_robot /robot_0/adhoc_communication/remove_robot:=/adhoc_communication/remove_robot /robot_0/base_pose_ground_truth:=/base_pose_ground_truth /robot_0/adhoc_communication/send_frontier:=/adhoc_communication/send_frontier /robot_0/adhoc_communication/send_auction:=/adhoc_communication/send_auction __name:=robot_0 __log:=/home/ych/.ros/log/5db71998-1327-11e9-a4f9-2c337a5bf879/robot_0-4.log]. log file: /home/ych/.ros/log/5db71998-1327-11e9-a4f9-2c337a5bf879/robot_0-4*.log [robot_0-4] restarting process process[robot_0-4]: started with pid [2914]
@YCH188, if this is the only content of /home/ych/.ros/log/5db71998-1327-11e9-a4f9-2c337a5bf879/robot_0-4*.log
, then I suggest you to look up how to increase logLevel for components to the most verbose (TRACE probably) and see if there is something useful.
@LeoSko OK, I will try. Thank you.
@LeoSko Hello, I am getting this error: ERROR: cannot launch node of type [adhoc_communication/adhoc_communication]: can't locate node [adhoc_communication] in package [adhoc_communication] when I launch adhoc_communication. How do I solve this? Thanks!
@Prab09, this is a basic error - ROS can't locate module (aka node) or package. You need to get used to ROS packages system first. Carefully read packages wiki page and complete tutorials first (Beginners №№1-5, Intermediate №1).
@LeoSko alright fixed that issue. Thanks! However, when I run the file adhoc_communication.launch, I get the following error. prab@prab-VivoBook-ASUS:~/catkin_ws$ roslaunch adhoc_communication adhoc_communication.launch... logging to /home/prab/.ros/log/1407f2c8-697f-11e9-952e-80c5f2ca1789/roslaunch-prab-VivoBook-ASUS-9485.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://prab-VivoBook-ASUS:42567/
PARAMETERS
NODES / adhoc_communication (adhoc_communication/adhoc_communication)
auto-starting new master process[master]: started with pid [9495] ROS_MASTER_URI=http://localhost:11311
setting /run_id to 1407f2c8-697f-11e9-952e-80c5f2ca1789 process[rosout-1]: started with pid [9509] started core service [/rosout] process[adhoc_communication-2]: started with pid [9525] Error for wireless request "Set Tx Power" (8B26) : SET failed on device lo ; Operation not permitted. [ERROR] [1556433025.021522716]: Cannot create directory "/adhoc_communication/prab-VivoBook-ASUS/".
I am also in root. Any idea how to fix this would be much appreciated. Thanks!
@Prab09, that is a tricky one. Since it was a long time ago, the only thing I remember is that username or PC's name for current computer should not contain dashes (-
), this is probably the case here (who knows, why?😞).
You could also try to:
/adhoc_communication/prab-VivoBook-ASUS/
by yourself@LeoSko, alright I will try that out. Thanks for your help!
Hi @LeoSko!
Hoping you could help us with our issue.
We are trying to use the adhoc communication package to publish other robots positions to a topic.
The adhoc_comm.cpp file states that there is a field for the topic to publish the message.
publishMessage(pos, p->topic_position)
(assuming this is the field from the publishpacket function)
We also edited the packet cpp and h file that includes the topic to publish.
Also, created a topic in the header file.
When we run the simulation_2..launch and do rostopic echo /robot_0/adhoc_communication/position
we get the following: no messages received
Thank you! Prabjot
@Prab09, since it was more than 3 years ago can't guarantee anything, but can take a look at your code if you provide a link to specific commit/branch to make it more specific.
Hi @LeoSko
So we created position topic and we are able call the service sendposition.
Seems like it is publishing correctly. We will now try to create a callback function within the node as well as a topic for the messages to be published to.
If we receive any error I will post it to this forum.
also should this error be concerning
@Prab09, I see that you are making progress - very good. However, I can't help you anymore since I never dug this far into sources. In the last error it is obvious client topic expects another datatype, but I'm sure you already read that. :)
Hello, i try many times but still can not launch the file successfully, can anyone tell me how this project implement the adhoc communition? use service or topic? Thanks so much.
Hello, I know it's been a long time but maybe someone can help me. I am trying to communicate using adhoc_communication package but I am not sure if I am using it correctly. Which lounchfile should I use to do decentralized communication: adhoc.launch, adchoc_communication.launch or maybe adchoc_communication.cpp? When I run adhoc_communication.alunch on two computers, I can see that they are visible to each other, but I don't know if correct:
NODES / adhoc_communication (adhoc_communication/adhoc_communication)
ROS_MASTER_URI=http://localhost:11311
process[adhoc_communication-1]: started with pid [18976] [ERROR] [1648132387.364590053]: NEW NEIGHBOR: NAME[turtlebot2-lenovo-1]
Should the Topics of both robots be visible to each other now? Maybe someone has some tutorial on how to use the adhoc_communication package?
Hi.
It seems that the source code is not maintained after sometime.
Could you please explain us with some examples to demonstrate how we can run the multi-robot exploration example just like shown in your video (https://www.youtube.com/watch?v=md29t2Xbdug)?
We just want to run it in virtualized world first.
Thanks.