Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
239 commits
Select commit Hold shift + click to select a range
917cbb4
Initial commit
hbuurmei Sep 23, 2024
883b42d
Migrate repo from hbuurmei github
hbuurmei Sep 23, 2024
4e90c9d
Docs link
hbuurmei Sep 23, 2024
30bc307
Update readme
hbuurmei Sep 23, 2024
ae4a66a
Clearer naming
hbuurmei Sep 23, 2024
ac2fc5e
Add Trunk img
hbuurmei Sep 23, 2024
1e5cd39
Example sw diagram
hbuurmei Sep 23, 2024
e2e1cde
Update contributions page
hbuurmei Sep 23, 2024
e42297d
Consistency
hbuurmei Sep 23, 2024
eee6258
Add mail link
hbuurmei Sep 23, 2024
afa82a6
Update telem settings reference
hbuurmei Sep 23, 2024
78361d5
update gitignore for ignoring ros2 build files
hbuurmei Sep 23, 2024
3a7833a
Two ROS2 workspaces documented for setup
hbuurmei Sep 24, 2024
0ca304e
Add launch file
hbuurmei Sep 27, 2024
52f85a2
Add details on motor ros2 setup
hbuurmei Sep 28, 2024
a31eeb7
Add cam and gripper ros2 code
hbuurmei Sep 30, 2024
2892f5f
Merge branch 'main' of https://github.com/StanfordASL/trunk-stack int…
hbuurmei Sep 30, 2024
70a39cc
docs cam ws setup description
hbuurmei Sep 30, 2024
8ede936
New ros2 graph
hbuurmei Sep 30, 2024
4265939
Update ros2 grpah
hbuurmei Oct 1, 2024
bb3107c
SRC demo initial data colllection
hbuurmei Oct 17, 2024
7f64028
add aider cache to gitignore
hbuurmei Oct 17, 2024
981fd20
new ik data
hbuurmei Oct 18, 2024
3dedd9d
data collection pt2
hbuurmei Oct 20, 2024
c606d9e
Add data pt3
hbuurmei Oct 20, 2024
0c19a47
Add beta dist input sampling
hbuurmei Oct 22, 2024
827e0b1
Rejection in beta sampling
hbuurmei Oct 22, 2024
b9a428e
Beta rnd data collection
hbuurmei Oct 22, 2024
9cf0673
Update beta dist sampling to being vec based
hbuurmei Oct 24, 2024
ea62471
Src demo beta data collection new params
hbuurmei Oct 25, 2024
f415259
Src demo data with IDs
hbuurmei Oct 25, 2024
e66baee
Add data with seed 7
hbuurmei Oct 25, 2024
f0e794e
update ik learning script
hbuurmei Oct 25, 2024
46c8fe8
Data seed 8 src
hbuurmei Oct 25, 2024
80864b6
Save torch model
hbuurmei Oct 26, 2024
dba7d14
SRC rehearsal demo tweaks
hbuurmei Oct 26, 2024
e6bd96a
fix ik solver node bounds
hbuurmei Oct 26, 2024
2d65918
added knn interpolation controller. sampled targeted inputs seed 0-4
hbuurmei Oct 29, 2024
26a0713
Exponential smoothing of ik interp control inputs
hbuurmei Oct 29, 2024
b4dba95
added circle sampling for all control inputs and generated circle_seed0
markeleone Oct 29, 2024
5993dd7
Update docs regarding running the right commands
hbuurmei Oct 29, 2024
de7e235
Merge branch 'main' of https://github.com/StanfordASL/trunk-stack
hbuurmei Oct 29, 2024
c1ec98d
Update smoothing par
hbuurmei Oct 29, 2024
0d981f0
Add new photo for home page
hbuurmei Oct 29, 2024
029ccb4
Update gains
hbuurmei Oct 29, 2024
a4b32d1
circle sampling seeds 0-10 data collection complete
hbuurmei Oct 30, 2024
1c144be
add options in ik solver
hbuurmei Nov 2, 2024
227b63b
Add slider interface
hbuurmei Nov 2, 2024
d04f045
Add gripper to slider interface
hbuurmei Nov 3, 2024
a9168c1
Add gripper to docs
hbuurmei Nov 3, 2024
962d46c
add new data w beta sampling and circular
hbuurmei Nov 16, 2024
9a55a21
Add manual 200g data
hbuurmei Nov 17, 2024
597c59b
300g and 400g data
hbuurmei Nov 17, 2024
30763ec
Add controlled data 3 masses
hbuurmei Nov 18, 2024
213677a
Add ssmr models 200 300 400g
hbuurmei Nov 19, 2024
4903f71
rm old models
hbuurmei Nov 19, 2024
1ff6bf6
post SRC demo commit, static models working for 200g internal weight
hbuurmei Jan 14, 2025
ac83b26
initial data collection for adiabatic manual
hbuurmei Jan 14, 2025
3b53156
control inputs sampling for automatic adiabatic
Jan 15, 2025
c313c0a
single adiabatic conotrol inputs generation code complete
hbuurmei Jan 16, 2025
dbafdc3
updated sampling script to get rid of jolt
Jan 17, 2025
9cd4878
adiabatic global data collection round 1 done
hbuurmei Jan 17, 2025
5825093
Test
hbuurmei Jan 19, 2025
932abc2
visualized adiabatic step data
Jan 23, 2025
0796389
Merge branch 'main' of https://github.com/StanfordASL/trunk-stack
Jan 23, 2025
6780818
controlled trajectories for adiabatic
hbuurmei Jan 23, 2025
84d703b
Merge branch 'main' of https://github.com/StanfordASL/trunk-stack
hbuurmei Jan 23, 2025
a0741cd
open loop test data collected
hbuurmei Jan 23, 2025
e96053e
Add efficient SSMR model loading
hbuurmei Jan 27, 2025
1e64ad2
Rm import warnings
hbuurmei Jan 27, 2025
fb4dcdb
SSMR model loading tested
hbuurmei Jan 27, 2025
5af0e48
Separate mpc initializer from experiment node
hbuurmei Jan 28, 2025
5e657a6
MPC main loop ok
hbuurmei Jan 28, 2025
ff7910d
visualized data for adiabatic step 2
Jan 29, 2025
0b97c46
Merge branch 'main' of https://github.com/StanfordASL/trunk-stack
Jan 29, 2025
0e2c78f
perlin noise added
Jan 29, 2025
53b7dec
Suppress jax warnings and use CPU as much faster here than gpu
hbuurmei Jan 29, 2025
c1d3b4a
Merge branch 'main' of https://github.com/StanfordASL/trunk-stack
hbuurmei Jan 29, 2025
6fca8e8
Minor docs update
hbuurmei Jan 29, 2025
76bf3d1
recalibrate rest positions
hbuurmei Jan 29, 2025
5ef5cb1
perlin noise collected 200g slow and fast
hbuurmei Jan 29, 2025
08a6bcf
open loop test circles for new hardware
hbuurmei Jan 29, 2025
68e3234
MPC working w/o exec but model too inaccurate
hbuurmei Jan 30, 2025
796504a
Add mat2npz conversion script
hbuurmei Jan 30, 2025
af1a0c5
Add mat model file
hbuurmei Jan 30, 2025
7aeae80
Add full mat model file
hbuurmei Jan 30, 2025
d487365
Working model conversion from matlab
hbuurmei Jan 30, 2025
6dae19f
Debugging extra delay in mpc
hbuurmei Jan 30, 2025
c7e7c94
hysteresis check visualization done
Jan 31, 2025
49b5fb0
initial mpc test
hbuurmei Jan 31, 2025
c0ffc35
Use correct model in MPC
hbuurmei Feb 1, 2025
328be3a
smooth random sampling
Feb 1, 2025
20caf20
Tune MPC
hbuurmei Feb 1, 2025
8379642
Merge branch 'main' of https://github.com/StanfordASL/trunk-stack
hbuurmei Feb 1, 2025
560cef7
smooth random control traj collected
hbuurmei Feb 1, 2025
0909655
smooth random control traj collected
hbuurmei Feb 1, 2025
e2047fe
300g sampling for control and OL test traj
hbuurmei Feb 3, 2025
7a9aaa8
angles readout in data collection
hbuurmei Feb 3, 2025
ac66dd3
Add new 200g models
hbuurmei Feb 3, 2025
76d3c2f
Clean controller code
hbuurmei Feb 3, 2025
e880cdf
Add new 200g models with exponents
hbuurmei Feb 3, 2025
53492ac
Add models
hbuurmei Feb 3, 2025
1e1fe42
Add 300g models
hbuurmei Feb 3, 2025
a4281cf
Add some results
hbuurmei Feb 4, 2025
ea137a5
manual adiabatic decay sampling script ready
hbuurmei Feb 4, 2025
e3cffca
Update motor directions in safety check
hbuurmei Feb 4, 2025
0b4fd93
Add MPC ndoe
hbuurmei Feb 4, 2025
bc8ec78
Add new mpc results
hbuurmei Feb 5, 2025
6f65a01
control traj and OL test for tip only actuation
hbuurmei Feb 5, 2025
f722e6b
updated mpc init node
hbuurmei Feb 6, 2025
a7ac2c0
slow manifold model
Feb 6, 2025
0f5e798
l
hbuurmei Feb 6, 2025
373f1eb
m
Feb 6, 2025
696619f
debugging slow manifold IK
hbuurmei Feb 7, 2025
da6c483
Update naming and add edits John
hbuurmei Feb 11, 2025
8b7d941
Clean MPC node
hbuurmei Feb 11, 2025
3b1254f
Add comments to MPC node
hbuurmei Feb 11, 2025
9042bd1
Add updated MPC test node
hbuurmei Feb 12, 2025
fe7bc8c
Rm time pkg dep
hbuurmei Feb 12, 2025
1320310
Add overlapping windows search
hbuurmei Feb 12, 2025
683befb
Add test MPC logic preds to obs
hbuurmei Feb 12, 2025
47660bf
Working MPC test node
hbuurmei Feb 12, 2025
cba15f0
Add example data mpc test
hbuurmei Feb 13, 2025
3377815
Add visualization code for MPC test
hbuurmei Feb 13, 2025
61ac0e7
Add test mpc data
hbuurmei Feb 13, 2025
e1bb85c
Plot test mpc traj
hbuurmei Feb 13, 2025
9f04274
Tune mpc in sim
hbuurmei Feb 14, 2025
ded81fc
teleop with slow manifold working
hbuurmei Feb 14, 2025
8dc3442
collected hysteresis data
hbuurmei Feb 15, 2025
713bfc1
Add 4D SSM models
hbuurmei Feb 18, 2025
1733a8d
Add converted 4D SSM models
hbuurmei Feb 18, 2025
bf27c6c
Generalize mpc test node in n_z, n_y, n_u
hbuurmei Feb 18, 2025
d754f8e
Add test mpc data
hbuurmei Feb 18, 2025
e8a2262
adiabatic manual data collected for tip motors
hbuurmei Feb 19, 2025
4243b31
Add 4D CL data
hbuurmei Feb 19, 2025
bf245c6
Obs based on rollouts for testing MPC
hbuurmei Feb 19, 2025
f65f5f9
Obs based on rollouts for testing MPC no niose
hbuurmei Feb 19, 2025
9ba89ad
Obs based on rollouts for testing MPC no noise small R
hbuurmei Feb 19, 2025
d0513fd
renamed control input files
Feb 19, 2025
8730ae9
Merge branch 'main' of https://github.com/StanfordASL/trunk-stack
Feb 19, 2025
60a801e
slow manifold test
hbuurmei Feb 20, 2025
4b2c6e5
Add implementation of FF-PID controller
hbuurmei Feb 20, 2025
876658f
Make FF-PID node executable
hbuurmei Feb 20, 2025
d42c8ca
Debugged FFPID
hbuurmei Feb 20, 2025
88ea57f
Add FFPID test results
hbuurmei Feb 20, 2025
37ff14d
Update gusto to allow for slew rate pen
hbuurmei Feb 20, 2025
4729c11
Update data to use for IK
hbuurmei Feb 20, 2025
b29bfa4
Add results OL mpc with R_du cost
hbuurmei Feb 20, 2025
f6e4d1a
Fix data refs ffpid
hbuurmei Feb 20, 2025
0a81a97
Add u0 input to mpc node
hbuurmei Feb 20, 2025
4d05e97
Add OL MPC traj execution
hbuurmei Feb 23, 2025
543044b
Add 2D plot for mpc hw inspection
hbuurmei Feb 23, 2025
d31cc9a
Save CL MPC opt vars
hbuurmei Feb 23, 2025
843573d
Add point tracking option
hbuurmei Feb 23, 2025
4cb8013
Add point tracking result
hbuurmei Feb 23, 2025
9ac47e3
Update controller freq
hbuurmei Feb 23, 2025
8f0668d
Allow MPC to execute multiple control inputs from optimized sequence
hbuurmei Feb 23, 2025
df4b628
Recalibrate rest position
hbuurmei Feb 23, 2025
08a21cd
Add mpc rollouts test
hbuurmei Feb 23, 2025
9c08706
Add mpc rollouts test
hbuurmei Feb 24, 2025
13702a8
Clean up imports
hbuurmei Feb 24, 2025
2b14098
smoothed ref traj before calculating slow manifold
Feb 24, 2025
1af2cfe
Merge branch 'main' of https://github.com/StanfordASL/trunk-stack
Feb 24, 2025
fdc71d4
smoothed ref traj before calculating slow manifold
Feb 24, 2025
324135f
slow manifold tested
hbuurmei Feb 24, 2025
6f144b7
Add dt variation
hbuurmei Feb 24, 2025
fd5f478
Tune parameters
hbuurmei Feb 25, 2025
2cf9453
new motors test data collection
hbuurmei Mar 20, 2025
dd3b026
motorpositions
hbuurmei Mar 20, 2025
360ada4
massless step servo
hbuurmei Mar 20, 2025
fbb760b
massless step servo oscillatory
hbuurmei Mar 20, 2025
7092dda
massless step servo oscillatory
hbuurmei Mar 20, 2025
0a5d9db
first commit of new motors in stack
hbuurmei Apr 10, 2025
58025ba
deleted motors
hbuurmei Apr 10, 2025
99f9c47
motors workspace updated for servos
Apr 10, 2025
cb4615b
motors workspace updated for servos
Apr 10, 2025
7bd8ca7
deleted motors
hbuurmei Apr 10, 2025
73d8ee3
new motors workspace working
Apr 10, 2025
31956ba
control input samplpling for adiabatic on servos
hbuurmei Apr 12, 2025
bf17bd8
updated servo characterization files
Apr 12, 2025
6f32089
initial perlin observations, with offset
hbuurmei Apr 16, 2025
69e37ec
new motors data collection 1
hbuurmei Apr 16, 2025
ee3a24f
motors node updated
Apr 16, 2025
ce3929b
got rid of rest angles in main
hbuurmei Apr 16, 2025
8857a46
zero centered motor commands before sending to dxl
Apr 16, 2025
74984b1
Merge branch 'main' of https://github.com/StanfordASL/trunk-stack
Apr 16, 2025
3b162eb
4/16 data collection motor setup
Apr 17, 2025
6398cf7
4/16 data collection complete
hbuurmei Apr 17, 2025
d27a394
initial weight characterization 100-300g
hbuurmei Apr 19, 2025
225d335
initial weight characterization 100-300g
hbuurmei Apr 19, 2025
81aaa37
updated motor docs
Apr 23, 2025
c40ef0a
updated motor docs
Apr 23, 2025
882f714
motor docs updated
Apr 23, 2025
15fd545
motor docs updated
Apr 23, 2025
1e3d6c6
control augmented motor code
Apr 23, 2025
5d1d69b
control augmented motor code
Apr 23, 2025
cead918
data collection docs updated
Apr 23, 2025
390a0a8
data collection docs updated
Apr 23, 2025
1bf8fa3
resetting after index lock error
Apr 25, 2025
9b69650
resetting after index lock error
Apr 25, 2025
74eac95
data collection updated, fixed adiabatic_global
Apr 25, 2025
bfbd85e
data collection updated, fixed adiabatic_global
Apr 25, 2025
c6a1a4b
control augmented 4 initial data
hbuurmei Apr 25, 2025
9aeb1d6
control augmented 4 initial data
hbuurmei Apr 25, 2025
b9e8138
Merge branch 'main' of https://github.com/StanfordASL/trunk-stack
hbuurmei Apr 25, 2025
7cb0992
Merge branch 'main' of https://github.com/StanfordASL/trunk-stack
hbuurmei Apr 25, 2025
3d0c12c
fixed mocap and test adiabatic
hbuurmei Apr 25, 2025
ce02113
fixed mocap and test adiabatic
hbuurmei Apr 25, 2025
0cb50fc
adiabatic global 0-300g
hbuurmei Apr 25, 2025
e1cebf3
adiabatic global 0-300g
hbuurmei Apr 25, 2025
df1455d
added motor node control augmented option
Apr 25, 2025
623b42f
added motor node control augmented option
Apr 25, 2025
d0aa472
Merge branch 'main' of https://github.com/StanfordASL/trunk-stack
Apr 25, 2025
b65d22e
Merge branch 'main' of https://github.com/StanfordASL/trunk-stack
Apr 25, 2025
d05d914
updated data collection docs
Apr 29, 2025
61336db
updated data collection docs
Apr 29, 2025
8400b06
input sampling with zeros
Apr 30, 2025
616a534
input sampling with zeros
Apr 30, 2025
e128a55
characterize single motor command random smooth response
hbuurmei Apr 30, 2025
4dc6b22
characterize single motor command random smooth response
hbuurmei Apr 30, 2025
7b37c66
record orientation data for rigid bodies
hbuurmei Apr 30, 2025
474ece4
record orientation data for rigid bodies
hbuurmei Apr 30, 2025
dc9c267
latin hypercube for step inputs file added
May 1, 2025
07b8193
latin hypercube for step inputs file added
May 1, 2025
7dd9650
removed large files from git
hbuurmei May 1, 2025
c99da24
removed large files from git
hbuurmei May 1, 2025
2b351d9
adiabatic_global works with orientations pt2
hbuurmei May 1, 2025
ae73adb
Merge branch 'main' of https://github.com/StanfordASL/trunk-stack
May 1, 2025
a43ece6
adiabatic_global_3 and 4 ctrl
May 5, 2025
002eeb7
adiabatic ol test sets
hbuurmei May 5, 2025
429b757
Add motor limits
May 5, 2025
adb94b8
Merge branch 'main' of https://github.com/StanfordASL/trunk-stack
May 5, 2025
4effeee
Rm log file
asltrunk May 16, 2025
1ef7505
latin hypercube controlled 1000 points
May 20, 2025
0bcdb7b
Merge branch 'main' of https://github.com/StanfordASL/trunk-stack
May 20, 2025
8cdbfbb
name changed of controlled_10
May 20, 2025
ce9319d
observations_controlled_10 added
asltrunk May 20, 2025
e0318c3
tested 100hz motor status, motor ctrl on linux
asltrunk May 30, 2025
6dfc434
Updated docs w/ motors ctrl by linux
May 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
**/install/
**/log/

# Large files
**/large_files/

# External packages
**/mocap_msgs/
**/mocap4r2/
Expand Down
8 changes: 7 additions & 1 deletion docs/collecting_data.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@ Essentially, all you need to run is contained in:
```bash
cd main/
source install/setup.bash
ros2 run executor data_collection_node
ros2 run executor data_collection_node
```

ROS arguments can be used to change the parameters. For example, to run control trajectory data collection with a control inputs file named "control_inputs_controlled_1.csv" and saving the observations to "observations_controlled_1.csv" you would run:
```
ros2 run executor data_collection_node --ros-args -p data_subtype:="controlled" -p results_name:="observations_controlled_1" -p input_num:=1
```

The data will be saved in the `main/data/trajectories/` directory.
13 changes: 13 additions & 0 deletions docs/gripper.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Gripper
The servo-driven gripper is connected to the Raspberry Pi 4 (4GB RAM), which has Ubuntu 20.04 installed.
Enabling the gripper is optional.

## Usage
To start the gripper, open a terminal and run:
```bash
cd gripper/
source install/setup.bash
ros2 run servo_control servo_control_node
```


18 changes: 18 additions & 0 deletions docs/motors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Motors
The 6 Dynamixel XM540-W150-R motors are connected via a U2D2 to the Linux machine.

## Usage
REQUIRED: To set USB port latency to 1 ms instead of default 16 ms, run:
```bash
echo 1 | sudo tee /sys/bus/usb-serial/devices/ttyUSB0/latency_timer
```

In the same terminal, to start the motors, run:
```bash
cd motors/
source install/setup.bash
ros2 launch trunk_motors launch_motors.py
```



61 changes: 0 additions & 61 deletions docs/motors_gripper.md

This file was deleted.

3 changes: 2 additions & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ nav:
- ROS2 Workspaces: ros2_workspaces.md
- Usage:
- Motion Capture: mocap.md
- Motors and Gripper: motors_gripper.md
- Motors: motors.md
- Gripper: gripper.md
- Collecting data: collecting_data.md
- Video Streaming: video_streaming.md
- Telemetry Viewer: telemetry_viewer.md
Expand Down
3 changes: 3 additions & 0 deletions stack/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"cmake.sourceDirectory": "/home/trunk/Documents/trunk-stack/stack/gripper/src/interfaces"
}
145 changes: 0 additions & 145 deletions stack/main/data/servos/motor_pos_step_0g_oscillations.csv

This file was deleted.

114 changes: 0 additions & 114 deletions stack/main/data/servos/motor_positions_step_200g.csv

This file was deleted.

Loading