mit-acl / aclswarm

MIT ACL distributed formation flying using multirotors
https://arxiv.org/abs/2003.01851
MIT License
67 stars 16 forks source link

what if I am using px4? #1

Closed vxgu86 closed 4 years ago

vxgu86 commented 4 years ago

what if I am using px4? I do not have Qualcomm Snapdragon

plusk01 commented 4 years ago

Hi @vxgu86!

Any autopilot can be used as long as you can send velocity commands. The core code is autopilot agnostic. The code that interfaces with the autopilot is in saftey.cpp.

I would suggest writing your own node that subscribes to the /goal topic that comes from safety.cpp (using snapdragon_msgs). Then, use mavros (or whatever) to relay the goal msg to the pixhawk.

vxgu86 commented 4 years ago

@plusk01 I have questions when running simulation. I could post picture here so I send you a email at gmail, could you help me please? thanks, it's about global status error with map error

vxgu86 commented 4 years ago

@plusk01 I still have not solved this error,could you help please

plusk01 commented 4 years ago

From @vxgu86:


hi,really nice job. and thanks for sharing I have got some questions, could you share some idea?

1 you said the following in the github:

To run a simulation (referred to as a trial) use the following incantation. There must not be a roscore running before you run this step. $ rosrun aclswarm_sim trials.sh -f swarm6_3d -i

but if I start a roscore first, the command above could not executed due to that: A roscore is already running. Shutdown roscore and try again.

2 when I click start, the RViz and rqt pop out like in the picture, but I could not see any motors,

there is global status error, nothing show up in the right window. I do not know how to fix this? image

3 you make this great job with Qualcomm Snapdragon Flight, could I say that, the "Qualcomm Snapdragon Flight" is like a mini-computer+pixhawk?

the ros nodes are running on the mini-computer part and send commands like changespeed to the flying control part like pixhawk? and the "Qualcomm Snapdragon Flight" is a mixer that combine them together?

I am not familiar with pixhawk, not to say the "Qualcomm Snapdragon Flight".

4 I recall some algorithm called CBBA, also from MIT, do the consensus have something in common with it?

do you have any explaniation or documents that I can learn from for the job, really great job ,and I want to learn from it.

thanks!!!!!!!!!

plusk01 commented 4 years ago

Thanks for your kind words!

  1. The instructions say: "There must not be a roscore running before you run this step."
  2. I have added an rviz file that automatically configures the sim visualization in a3d00bb1042cbd51c3321674a668f42fbd886dd7. Pull and run the same steps again.
  3. Correct, Snapdragon flight is a mini-computer + pixhawk autopilot. ROS runs on snapdragon flight Linux CPU side, sends motor commands to DSP/low-level microcontroller side.
  4. Yes, we utilize CBAA in our distributed task assignment algorithm. See our paper for more details.

Hope this helps!

plusk01 commented 4 years ago

closing, feel free to reopen if you're still having issues