aau-ros / aau_multi_robot

Multi-robot exploration by Alpen-Adria-Universität Klagenfurt
https://nes.aau.at/?p=1490
52 stars 37 forks source link

Any brief tutorial??? #16

Open hangil2478 opened 6 years ago

hangil2478 commented 6 years ago

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.

dkkim93 commented 6 years ago

Yes please. If there would be a tutorial or simple example how to run, it would be great! Thank you.

LeoSko commented 6 years ago

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

npapadimitriou commented 6 years ago

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!!

YCH188 commented 5 years ago

@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

LeoSko commented 5 years ago

@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.

YCH188 commented 5 years ago

@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.

LeoSko commented 5 years ago

@YCH188, is there anything in specified log file?

YCH188 commented 5 years ago

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]

LeoSko commented 5 years ago

@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.

YCH188 commented 5 years ago

@LeoSko OK, I will try. Thank you.

Prab09 commented 5 years ago

@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!

LeoSko commented 5 years ago

@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).

Prab09 commented 5 years ago

@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/

SUMMARY

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!

LeoSko commented 5 years ago

@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:

Prab09 commented 5 years ago

@LeoSko, alright I will try that out. Thanks for your help!

Prab09 commented 5 years ago

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

LeoSko commented 5 years ago

@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.

Prab09 commented 5 years ago

Hi @LeoSko So we created position topic and we are able call the service sendposition. image

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.

Prab09 commented 5 years ago

also should this error be concerning

image

LeoSko commented 5 years ago

@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. :)

aa624545345 commented 5 years ago

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.

Siwy31a commented 2 years ago

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?