ASTA motion capture

From Rsewiki
(Difference between revisions)
Jump to: navigation, search
m (Orient cameras and adjust focus)
(Using NatNet clients (C++ on Ubuntu or C/C++/C#/VB/.Net/Matlab on Windows))
 
(49 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Description ==
+
Back to [[ASTA]]
 +
 
 +
 
 +
== More data ==
 +
 
 +
=== Optitrack's official wiki ===
 +
 
 +
[https://v22.wiki.optitrack.com v22.wiki.optitrack.com]
 +
 
 +
=== Raspberry PI ===
 +
 
 +
[[Optitrack on Raspberry Pi]]
 +
 
 +
=== Calibration test ===
 +
 
 +
[[Optitrack calibration]] test
 +
 
 +
== Specs ==
  
 
[[File:Optitrack.png|600px]]
 
[[File:Optitrack.png|600px]]
  
== Usage ==
+
* Covered area: 16 m x 12 m and camera height 8 m
 +
* Accuracy: < 5 mm
 +
* Repetability: < 1 mm
 +
* Number of cameras: 16
 +
* Camera type: [https://optitrack.com/cameras/prime-17w/ Prime 17W]
 +
 
 +
== Start up ==
 +
 
 +
* Depending on the lighting conditions, switch on the reflectors. The switch stands on the right-hand side after entering through the rotating door.
 +
 
 +
 
 +
[[File:ASTA Reflectors.jpg|400px]]
 +
 
 +
 
 +
* Find the motion capture computer in the central shed, and turn it on by pressing on the "cooling master" logo.
 +
 
 +
 
 +
[[File:ASTA_Optitrack_Computer.jpg|400px]]
 +
 
 +
* Make sure the cameras are on - i.e. the black network switch on the wall outside the shed (combining all the camera cables).
 +
 
 +
== Calibration ==
 +
 
 +
1. Start Motive.
 +
 
 +
 
 +
[[File:ASTA Motive Desktop.png|100px]]
 +
 
 +
Motive is loading the last calibration and rigid bodies last used, and maybe the calibration is sufficient already.
 +
 
 +
The camera truss is hopefully sufficiently stable so that you don't need daily calibration.
 +
 
 +
If your rigid body shows additional reflectors and/or the position of the rigid body flickers too much, then one or more cameras are not sufficiently calibrated.
 +
 
 +
* Existing calibrations can be loaded using 'File->open' - e.g. with a different origin or volume accuracy.
 +
 
 +
=== New calibration ===
 +
 
 +
 
 +
2. Make sure that no reflectors (or reflecting surfaces) are present in the capture volume.
 +
 
 +
 
 +
[[File:ASTA Motive Wanding.png|600px]]
 +
 
 +
 
 +
3. Find the calibration pane on the left-hand side
 +
 
 +
4. Press "Clear Mask"
 +
 
 +
5. Press "Mask Visible"
 +
 
 +
6. Press "Start Wanding"
 +
 
 +
''' When motive is starting, it sometime uses only half of the cameras for calibration.'''
 +
 
 +
''' The messagebox should say "16 of 16 cameras selected for calibration", but then if the number of cameras listed under "Wanding" doesn't total to 16 (the numbering doesn't matter), restart Motive and repeat steps 3-6. '''
 +
 
 +
If the messagebox say e.g. "1 of 16 cameras selected for calibration", then select all cameras by holding down 'shift' and click all cameras and try again.
 +
 
 +
7. Find the calibration wand hanging on the right-hand side of the computer.
 +
 
 +
8. Walk the wand through the capture volume at a speed of 1 m/s. Draw a circle right above the surface of the pool.
 +
 
 +
 
 +
[[File:ASTA_Optitrack_Calibration_Pool.jpg|600px]]
 +
 
 +
 
 +
9. Draw another circle right above the ground on the remaining area.
 +
 
 +
 
 +
[[File:ASTA_Optitrack_Calibration_Low.jpg|600px]]
 +
 
 +
 
 +
10. Draw a third circle higher up.
 +
 
 +
 
 +
[[File:ASTA_Optitrack_Calibration_High.jpg|600px]]
 +
 
 +
 
 +
11. Walk back to the central shed, hang the wand where it was, come back to the motion capture computer, and press "Calculate". The result should be at least "Great", and ideally, "Exceptional".
 +
 
 +
 
 +
[[File:Exceptional.png|600px]]
 +
 
 +
 
 +
12. If it is the case, press "Apply". Otherwise, repeat steps 6-11.
 +
 
 +
''' If the calibration keeps being insufficient, restart Motive and repeat steps 3-11'''
 +
 
 +
13. Fing the L-shaped calibration square on the left-hand side of the computer, and lay it at the center of the capture volume using the white pieces of tapes as guides.
 +
 
 +
 
 +
[[File:ASTA_Optitrack_Calibration_Square.jpg|600px]]
 +
 
 +
 
 +
14. Make sure that the calibration square is leveled by looking at the bubble levels. If it's not the case, adjust the height of the legs.
 +
 
 +
 
 +
[[File:ASTA_Optitrack_Calibration_Bubble_Level.jpg|600px]]
 +
 
 +
 
 +
15. Come back to the motion capture computer, find the "Ground Plane" tab in the "Calibration" pane, and press "Set Ground Pane".
 +
 
 +
* The X-axis (red) is pointing North and the Z-axis (blue) is pointing East (Y (green) is up).
 +
* (The cameras are at the North end of the dome).
 +
 
 +
 
 +
[[File:ASTA_Optitrack_Calibration_Ground_Plane.png|600px]]
 +
 
 +
== Adding an asset ==
 +
 
 +
1. Attach at least 4 markers to the robot (the more, the better) while avoiding symmetries.
 +
 
 +
2. Place the robot next to the origin with its body axis parallel to the fixed axis.
 +
 
 +
3. In Motive, select all the markers associated with the robot, right-click, and select "Rigid Body" > "Create From Selected Markers".
 +
 
 +
 
 +
[[File:ASTA_Motive_Create.png|600px]]
 +
 
 +
 
 +
== Streaming data ==
 +
 
 +
1. Find the "Streaming" pane and enable "VRPN" for use with ROS clients and "Optitrack" for use with "NatNet" (windows only) clients.
 +
 
 +
 
 +
[[File:ASTA_Motive_Streaming.png|600px]]
 +
[[File:streaming_pane.png | 400px]]
 +
 
 +
 
 +
That will enable streaming on the following two networks: ''asta_optitrack'' and ''asta_optitrack_5G'' (using the 5GHz band).
 +
Please contact [davwu@dtu.dk] for authentication information and administration.
 +
 
 +
'''WARNING: If a remote controller uses the same frequency as the wifi network, there might be collisions. Make sure to use the 5GHz wifi if a remote operates on 2.4 GHz and vice-versa.'''
 +
 
 +
 
 +
[[File:ASTA_Optitrack_Router.jpg|600px]]
 +
 
 +
 
 +
=== Using ROS clients ===
 +
 
 +
2. In Ubuntu 18.04 (ROS Melodic) or Ubuntu 20.04 (ROS Noetic), fire up a terminal and install ASTA's ROS workspace collection:
 +
 
 +
git clone https://github.com/DavidWuthier/asta_workspace_setup.git
 +
cd asta_workspace_setup
 +
sudo chmod +x asta_workspace_setup.sh
 +
./asta_workspace_setup.sh
 +
 
 +
3. Chain your current workspace to the VRPN workspace:
 +
 
 +
cd /path/to/your/current/workspace
 +
catkin config --extend ~/asta_ws/vrpn_ws/devel
 +
catkin clean -y
 +
catkin build
 +
 +
4. Launch the client with the server address that can be found under "Local Interface" in the "Streaming" pane:
 +
 
 +
roslaunch vrpn_client_ros sample.launch server:=192.168.1.225
 +
 
 +
 
 +
=== Using NatNet clients (C++ on Ubuntu or C/C++/C#/VB/.Net/Matlab on Windows) ===
 +
 
 +
2. Download the [https://optitrack.com/software/natnet-sdk/ NatNet SDK] and check out the examples.
  
=== ROS client ===
+
This is ported to Raspberry PI at [[Optitrack on Raspberry Pi]]
  
== In case the system needs to be reassembled ==
+
== Archive (in case the system needs to be reassembled) ==
  
 
=== Mount cameras on joints and joints on clamps ===
 
=== Mount cameras on joints and joints on clamps ===
Line 15: Line 194:
 
=== Prepare 16 safety ropes to prevent accidental camera drops ===
 
=== Prepare 16 safety ropes to prevent accidental camera drops ===
  
# Cut to 1 m length
+
# Cut 1 m length of 8 mm nylon rope
 
# Use a lighter at both ends
 
# Use a lighter at both ends
 
# prepare 8-knots as in rock climbing
 
# prepare 8-knots as in rock climbing

Latest revision as of 15:54, 16 September 2022

Back to ASTA


Contents

[edit] More data

[edit] Optitrack's official wiki

v22.wiki.optitrack.com

[edit] Raspberry PI

Optitrack on Raspberry Pi

[edit] Calibration test

Optitrack calibration test

[edit] Specs

Optitrack.png

  • Covered area: 16 m x 12 m and camera height 8 m
  • Accuracy: < 5 mm
  • Repetability: < 1 mm
  • Number of cameras: 16
  • Camera type: Prime 17W

[edit] Start up

  • Depending on the lighting conditions, switch on the reflectors. The switch stands on the right-hand side after entering through the rotating door.


ASTA Reflectors.jpg


  • Find the motion capture computer in the central shed, and turn it on by pressing on the "cooling master" logo.


ASTA Optitrack Computer.jpg

  • Make sure the cameras are on - i.e. the black network switch on the wall outside the shed (combining all the camera cables).

[edit] Calibration

1. Start Motive.


ASTA Motive Desktop.png

Motive is loading the last calibration and rigid bodies last used, and maybe the calibration is sufficient already.

The camera truss is hopefully sufficiently stable so that you don't need daily calibration.

If your rigid body shows additional reflectors and/or the position of the rigid body flickers too much, then one or more cameras are not sufficiently calibrated.

  • Existing calibrations can be loaded using 'File->open' - e.g. with a different origin or volume accuracy.

[edit] New calibration

2. Make sure that no reflectors (or reflecting surfaces) are present in the capture volume.


ASTA Motive Wanding.png


3. Find the calibration pane on the left-hand side

4. Press "Clear Mask"

5. Press "Mask Visible"

6. Press "Start Wanding"

When motive is starting, it sometime uses only half of the cameras for calibration.

The messagebox should say "16 of 16 cameras selected for calibration", but then if the number of cameras listed under "Wanding" doesn't total to 16 (the numbering doesn't matter), restart Motive and repeat steps 3-6.

If the messagebox say e.g. "1 of 16 cameras selected for calibration", then select all cameras by holding down 'shift' and click all cameras and try again.

7. Find the calibration wand hanging on the right-hand side of the computer.

8. Walk the wand through the capture volume at a speed of 1 m/s. Draw a circle right above the surface of the pool.


ASTA Optitrack Calibration Pool.jpg


9. Draw another circle right above the ground on the remaining area.


ASTA Optitrack Calibration Low.jpg


10. Draw a third circle higher up.


ASTA Optitrack Calibration High.jpg


11. Walk back to the central shed, hang the wand where it was, come back to the motion capture computer, and press "Calculate". The result should be at least "Great", and ideally, "Exceptional".


Exceptional.png


12. If it is the case, press "Apply". Otherwise, repeat steps 6-11.

If the calibration keeps being insufficient, restart Motive and repeat steps 3-11

13. Fing the L-shaped calibration square on the left-hand side of the computer, and lay it at the center of the capture volume using the white pieces of tapes as guides.


ASTA Optitrack Calibration Square.jpg


14. Make sure that the calibration square is leveled by looking at the bubble levels. If it's not the case, adjust the height of the legs.


ASTA Optitrack Calibration Bubble Level.jpg


15. Come back to the motion capture computer, find the "Ground Plane" tab in the "Calibration" pane, and press "Set Ground Pane".

  • The X-axis (red) is pointing North and the Z-axis (blue) is pointing East (Y (green) is up).
  • (The cameras are at the North end of the dome).


ASTA Optitrack Calibration Ground Plane.png

[edit] Adding an asset

1. Attach at least 4 markers to the robot (the more, the better) while avoiding symmetries.

2. Place the robot next to the origin with its body axis parallel to the fixed axis.

3. In Motive, select all the markers associated with the robot, right-click, and select "Rigid Body" > "Create From Selected Markers".


ASTA Motive Create.png


[edit] Streaming data

1. Find the "Streaming" pane and enable "VRPN" for use with ROS clients and "Optitrack" for use with "NatNet" (windows only) clients.


ASTA Motive Streaming.png Streaming pane.png


That will enable streaming on the following two networks: asta_optitrack and asta_optitrack_5G (using the 5GHz band). Please contact [davwu@dtu.dk] for authentication information and administration.

WARNING: If a remote controller uses the same frequency as the wifi network, there might be collisions. Make sure to use the 5GHz wifi if a remote operates on 2.4 GHz and vice-versa.


ASTA Optitrack Router.jpg


[edit] Using ROS clients

2. In Ubuntu 18.04 (ROS Melodic) or Ubuntu 20.04 (ROS Noetic), fire up a terminal and install ASTA's ROS workspace collection:

git clone https://github.com/DavidWuthier/asta_workspace_setup.git
cd asta_workspace_setup
sudo chmod +x asta_workspace_setup.sh
./asta_workspace_setup.sh

3. Chain your current workspace to the VRPN workspace:

cd /path/to/your/current/workspace
catkin config --extend ~/asta_ws/vrpn_ws/devel
catkin clean -y
catkin build

4. Launch the client with the server address that can be found under "Local Interface" in the "Streaming" pane:

roslaunch vrpn_client_ros sample.launch server:=192.168.1.225


[edit] Using NatNet clients (C++ on Ubuntu or C/C++/C#/VB/.Net/Matlab on Windows)

2. Download the NatNet SDK and check out the examples.

This is ported to Raspberry PI at Optitrack on Raspberry Pi

[edit] Archive (in case the system needs to be reassembled)

[edit] Mount cameras on joints and joints on clamps

Make sure that the camera is not upside-down.

[edit] Prepare 16 safety ropes to prevent accidental camera drops

  1. Cut 1 m length of 8 mm nylon rope
  2. Use a lighter at both ends
  3. prepare 8-knots as in rock climbing

[edit] Mount cameras on truss and wire them with the two switches

Mount the 16 cameras in the corners and at each 1/4 of the edges. Use the safety ropes, and wire them to the two switches as below.

Asta optitrack wiring.png

[edit] Orient cameras and adjust focus

Once the setup is up-and-running, adjust the focus of each camera using a marker at 2/3 of the working distance. Use a remote desktop app and ethernet connection.

Asta optitrack.png

  • In the corners: the bottom of FoV is parallel to the long edges, and the bottom right corner is vertical.

Asta optitrack type1.png

  • At 1/4 of a short: the top of the FOV is horizontal, and the camera points toward the center.

Asta optitrack type2.png

  • At 1/2 of a short edge: the bottom of the FOV is vertical, and the camera aims downward.

Asta optitrack type3.png

  • At 1/4 of a long edge: the top of the FOV is horizontal, and the camera points toward the center.

Asta optitrack type4.png

  • At 1/2 of a long edge: the bottom of the FOV is vertical, and the camera aims downward.

Asta optitrack type5.png

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox