Can I read all hedgehog positions locally from connecting one hedgehog?

Frequent questions asked online, offline, in forums are answered here
alex_at_b
Posts: 2
Joined: Sat Jul 22, 2017 5:28 am

Can I read all hedgehog positions locally from connecting one hedgehog?

Postby alex_at_b » Sat Jul 22, 2017 5:37 am

Hi Marvelmind community, I am trying a number of experiments and had the following problem:

Using the ros wrapper I am trying to get the position of all hedgehogs. The publisher beacons_pos_a will give me the positions of all beacons with their addresses and hedge_pos will give me the address of the hedgehog I am connected to, via USB. However, hedge_pos_a will give me only my locally connected hedgehog, and in addition it's address which is a bit useless to me.

If it was planned to receive all hedgehog positions with their addresses locally, was this actually implemented?
If yes, am I doing something wrong or do I need to set something in the dashboard software?


In case you don't see the problem, the layout of the whole thing is this: I have about 4 beacons in my room and 2 hedgehogs. Furthermore one modem with a laptop and the dashboard software. A mobile robot is connected to each of the hedgehogs. Both robots are running Ubuntu. On these ubuntu machines I run the ros wrapper to get the data locally. I can get the own position and the position of the beacons though I need on every robot the data of every other robot or in this system, with each connected hedgehog I need to get the position of every other hedgehog.

Thank you for your help!

smoker77
Posts: 96
Joined: Sat Feb 06, 2016 4:03 pm

Re: Can I read all hedgehog positions locally from connecting one hedgehog?

Postby smoker77 » Sat Jul 22, 2017 3:29 pm

Hello,
In current version of firmware (5.63) only modem outputs coordinates of all hedgehogs. The output has the same format as for hedgehog, so you can use same ROS interface to get data from modem as from hedgehog.
The hedgehog now outputs only own position.
We will add positions of all hedgehogs to the stream of every hedgehog in next release of firmware.

alex_at_b
Posts: 2
Joined: Sat Jul 22, 2017 5:28 am

Re: Can I read all hedgehog positions locally from connecting one hedgehog?

Postby alex_at_b » Tue Jul 25, 2017 12:19 am

Thank's for your answer then I'll wait for that firmware. Do you have already an idea when it's going to be released? Is that feature available if I don't use the Ros Wrapper but another interface?

smoker77
Posts: 96
Joined: Sat Feb 06, 2016 4:03 pm

Re: Can I read all hedgehog positions locally from connecting one hedgehog?

Postby smoker77 » Tue Jul 25, 2017 1:13 am

We plan to release updated software in couple of weeks. This feature will be available not only via ROS, but also via Python or C examples:
http://www.marvelmind.com/downloads/201 ... xample.zip
https://bitbucket.org/marvelmind_robotics/marvelmind.py

n_isti
Posts: 3
Joined: Fri Sep 15, 2017 11:37 am

Re: Can I read all hedgehog positions locally from connecting one hedgehog?

Postby n_isti » Fri Sep 15, 2017 11:45 am

Hello guys!

I'm starting to use marvelmind indoor nav system in my university thesis.

I would like to use it with ROS, but in my virtual linux I can't get the position of active hedgedogs on the system from the modem.
I have
- perfectly built map with 4 stationary beacons and 2 hedgehogs
- v4.5 hardvare (433 MHz), 05. June 2017 firmware installed on the devices (Modem and beacon 5.63)
- https://bitbucket.org/marvelmind_roboti ... nd_package - latest installed ROS marvelmind package
- Ros Indigo Igloo on Ubuntu 14.04 (Trusty Tahr)

The problem is that i only can access one hedgehog's location, if it is connected to the computer via usb. And this is a huge disadvantage if i wanna use this on a quadrocopter!

Thanks in advance!
Steve



smoker77 wrote:Hello,
In current version of firmware (5.63) only modem outputs coordinates of all hedgehogs. The output has the same format as for hedgehog, so you can use same ROS interface to get data from modem as from hedgehog.
The hedgehog now outputs only own position.
We will add positions of all hedgehogs to the stream of every hedgehog in next release of firmware.

smoker77
Posts: 96
Joined: Sat Feb 06, 2016 4:03 pm

Re: Can I read all hedgehog positions locally from connecting one hedgehog?

Postby smoker77 » Fri Sep 15, 2017 4:51 pm

We tested getting multiple hedgehogs data from modem in the ROS and it worked for us.
Have you frozen the map before connecting modem to ROS system?
The map should be built and frozen from dashboard, after that you can disconnect modem from machine with installed dashboard and connect to ROS machine.
After connecting modem with frozen system to any power source the modem will wake all stationary and mobile beacons and start measurement positions of mobile beacons and output the positions to USB/UART.

n_isti
Posts: 3
Joined: Fri Sep 15, 2017 11:37 am

Re: Can I read all hedgehog positions locally from connecting one hedgehog?

Postby n_isti » Fri Sep 15, 2017 8:23 pm

Dear smoker77,

Thanks for your quick response!
- yes, my map was frozen.

I have a VMware virtual machine (ubuntu trusty tahr 14.04) - the host machine has Win 10. I worked with ros since May, 2017.

My problem is when i connected the modem to the virtual linux (i built the map in the host OS - win 10), it's virtual serial port isn't available (/dev/ttyACM* and /dev/ttyUSB* neither).

Can you tell me which is the modem's default port? Or how can i run the ros node where i can see the position(s) of my hedgehog(s)?
I am interested in a command like this in this tutorial: http://www.marvelmind.com/downloads/mar ... 09_11a.pdf
rosrun marvelmind_nav hedge_rcv_bin

Or can you help me with a sample code which you tested and worked properly with the modem? :)

Am i using the correct ros package? Because I can't find any more informations on the web.
Should i build the map in ubuntu, too?

Thanks for your help!

Steve




smoker77 wrote:We tested getting multiple hedgehogs data from modem in the ROS and it worked for us.
Have you frozen the map before connecting modem to ROS system?
The map should be built and frozen from dashboard, after that you can disconnect modem from machine with installed dashboard and connect to ROS machine.
After connecting modem with frozen system to any power source the modem will wake all stationary and mobile beacons and start measurement positions of mobile beacons and output the positions to USB/UART.

smoker77
Posts: 96
Joined: Sat Feb 06, 2016 4:03 pm

Re: Can I read all hedgehog positions locally from connecting one hedgehog?

Postby smoker77 » Sat Sep 16, 2017 4:16 pm

Hello,
Both modem and beacon are detecting by USB as virtual serial ports.
In Linux they usually appear as /dev/ttyUSBx or /dev/ttyACMx.
The USB devices may be not detected in virtual machines because virtual machine requires some adjustment for using with USB.
Please see this for VMware:
https://www.vmware.com/support/ws45/doc ... sb_ws.html

We tested with the same command as you:
rosrun marvelmind_nav hedge_rcv_bin

n_isti
Posts: 3
Joined: Fri Sep 15, 2017 11:37 am

Re: Can I read all hedgehog positions locally from connecting one hedgehog?

Postby n_isti » Mon Sep 18, 2017 9:59 am

Dear smoker77,

I tried to do as you told it to me. I built the map in another computer. I checked it in the ros host machine, but after that i connected the device properly(VM/Removable devices menu) to the virtual machine.
Now i can detect /dev/ttyACM0 as virtual serial input. The ros node has been started, but no data is displayed on my screen.

Any idea what is wrong? :(

UPDATE: after a few tries the system started to work !

smoker77 wrote:Hello,
Both modem and beacon are detecting by USB as virtual serial ports.
In Linux they usually appear as /dev/ttyUSBx or /dev/ttyACMx.
The USB devices may be not detected in virtual machines because virtual machine requires some adjustment for using with USB.
Please see this for VMware:
https://www.vmware.com/support/ws45/doc ... sb_ws.html

We tested with the same command as you:
rosrun marvelmind_nav hedge_rcv_bin

smoker77
Posts: 96
Joined: Sat Feb 06, 2016 4:03 pm

Re: Can I read all hedgehog positions locally from connecting one hedgehog?

Postby smoker77 » Mon Sep 18, 2017 6:46 pm

Hello,
I am glad you are succeed with this.
I think that the system was started not after first try, because virtual serial port in Linux requires time to become functional after plugging to USB. It may be about 10 seconds or more. ROS node should be run with delay after plugging.


Return to “FAQ”

Who is online

Users browsing this forum: No registered users and 1 guest