daisyStart startup script not working

Hexapods, Balancing Robots, Mobile Bases, anything else
Post Reply
Posts: 1
Joined: Thu Jun 17, 2021 2:52 pm
Location: Pittsburgh, PA

daisyStart startup script not working

Post by Judson35 » Thu Jun 17, 2021 2:57 pm

When the daisyStart startup script runs, the hexapod object does not get created properly resulting in no further progression of the script We think it's a problem with lookup and how the hexapod constructor looks for the modules. The modules are connected and can be accessed and controlled through scope. However, when running the startup script on the same computer it doesn't work. Console output:

searching for modules...
broadcasting on:
stopped any active logs

User avatar
HEBI Official
Posts: 26
Joined: Mon Mar 30, 2020 9:14 am
Location: Pittsburgh, USA

Re: daisyStart startup script not working

Post by matt_tesch » Thu Jun 17, 2021 5:11 pm

Thanks for writing, and for the initial diagnosis. If I understand correctly, Scope successfully fins the modules when run on the same computer as the script fails on, correct?

Here are a couple questions/ideas to hopefully get this tracked down:

- In Scope, are you sure all 18 modules are present? If so, can you pull up a "packet loss" plot for all of these modules? This plot should show essentially no lost packets. If there are lost packets, especially large numbers, this indicates an intermittent connection between two modules.
- What is the output of the `ip a` command (or `ifconfig` on older versions of Ubuntu)? Are there multiple network cards on this system? By default, Scope may be using all of the network ports, but the script may be using a single network port.

C++ code:
- Can you give the git hash of the code that you are running, and let me know if there are any local changes?
- The current code on the main /master branch of the C++ examples repo has some additional debugging info that should print out; can you try this latest code? In particular, note these lines that indicate which modules _have_ been found on the network:
https://github.com/HebiRobotics/hebi-cp ... pp#L38-L52

C++ workarounds (these may allow the system to work, but are probably covering up an underlying intermittent module connection issue):
- One possibility is to turn on "quiet" mode when running the code; this will force the robot to keep trying to create a group. This involves adding `-q` when running the `hexapod_control` executable from within the `startDaisy` script. See: https://github.com/HebiRobotics/hebi-cp ... pp#L38-L49
- Additionally, you could extend the lookup timeout when creating the hexapod group; this parameter is directly above the first code link above.

Hopefully we will find something here to help clarify the issue.

Post Reply