From 67330c1650595e3dd0ee4e5ab430c02cbb8f674c Mon Sep 17 00:00:00 2001 From: Nicolas Palpacuer Date: Mon, 18 May 2026 19:09:03 -0400 Subject: [PATCH] Upgrade go.viam.com/rdk to v0.126.1 Adapt to the new vision API in customerdetector: vis.Detections now takes *camera.NamedImage instead of image.Image. Wrap the captured frame with camera.NamedImageFromImage before invoking the detector. Co-Authored-By: Claude Opus 4.7 (1M context) --- cup_pickup.go | 10 +++++----- customerdetector/customerdetector.go | 7 ++++++- go.mod | 14 ++++++------- go.sum | 30 +++++++++++++++------------- 4 files changed, 34 insertions(+), 27 deletions(-) diff --git a/cup_pickup.go b/cup_pickup.go index 0592dd5..590e9f0 100644 --- a/cup_pickup.go +++ b/cup_pickup.go @@ -133,11 +133,11 @@ func (s *beanjaminCoffee) observeCupCandidates(ctx context.Context) ([]r3.Vector // (a) partition detections into pickup vs on-shelf by Z and (b) pass // the shelf pose/dims to selectShelfTile without a second lookup. var ( - shelfPose spatialmath.Pose - shelfDims r3.Vector - shelfTopZ float64 - onShelfCups []spatialmath.Geometry - hasShelfCfg = s.cfg.PlaceCupOnShelf + shelfPose spatialmath.Pose + shelfDims r3.Vector + shelfTopZ float64 + onShelfCups []spatialmath.Geometry + hasShelfCfg = s.cfg.PlaceCupOnShelf ) if hasShelfCfg { pose, dims, err := s.shelfTopGeometry(ctx) diff --git a/customerdetector/customerdetector.go b/customerdetector/customerdetector.go index ad31bb1..c28ee97 100644 --- a/customerdetector/customerdetector.go +++ b/customerdetector/customerdetector.go @@ -16,6 +16,7 @@ import ( "sync" "go.viam.com/rdk/components/camera" + "go.viam.com/rdk/data" "go.viam.com/rdk/logging" "go.viam.com/rdk/module/trace" "go.viam.com/rdk/resource" @@ -312,7 +313,11 @@ func (cd *customerDetector) identifyCustomer(ctx context.Context) (map[string]in return nil, fmt.Errorf("captured image has zero area") } - detections, err := vis.Detections(ctx, img, nil) + namedImg, err := camera.NamedImageFromImage(img, "", "", data.Annotations{}) + if err != nil { + return nil, fmt.Errorf("failed to wrap image: %w", err) + } + detections, err := vis.Detections(ctx, &namedImg, nil) if err != nil { return nil, fmt.Errorf("failed to get detections: %w", err) } diff --git a/go.mod b/go.mod index 580d027..5cba181 100644 --- a/go.mod +++ b/go.mod @@ -7,10 +7,10 @@ require ( github.com/golang/geo v0.0.0-20230421003525-6adc56603217 github.com/google/uuid v1.6.0 github.com/viam-labs/motion-tools v1.15.1 - go.viam.com/api v0.1.533 - go.viam.com/rdk v0.119.2 - go.viam.com/utils v0.4.13 - gonum.org/v1/gonum v0.16.0 + go.viam.com/api v0.1.545 + go.viam.com/rdk v0.126.1 + go.viam.com/utils v0.4.19 + gonum.org/v1/gonum v0.17.0 google.golang.org/api v0.271.0 ) @@ -29,7 +29,7 @@ require ( codeberg.org/go-pdf/fpdf v0.10.0 // indirect connectrpc.com/connect v1.19.1 // indirect git.sr.ht/~sbinet/gg v0.6.0 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.30.0 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.31.0 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.55.0 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.55.0 // indirect github.com/a8m/envsubst v1.4.2 // indirect @@ -144,7 +144,7 @@ require ( github.com/pion/logging v0.2.4 // indirect github.com/pion/mdns v0.0.12 // indirect github.com/pion/mdns/v2 v2.1.0 // indirect - github.com/pion/mediadevices v0.9.0 // indirect + github.com/pion/mediadevices v0.10.0 // indirect github.com/pion/randutil v0.1.0 // indirect github.com/pion/rtcp v1.2.16 // indirect github.com/pion/rtp v1.8.26 // indirect @@ -225,7 +225,7 @@ require ( google.golang.org/genproto v0.0.0-20260128011058-8636f8732409 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260203192932-546029d2fa20 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260226221140-a57be14db171 // indirect - google.golang.org/grpc v1.79.3 // indirect + google.golang.org/grpc v1.80.0 // indirect google.golang.org/protobuf v1.36.11 // indirect gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index 0cc5490..1e2e152 100644 --- a/go.sum +++ b/go.sum @@ -69,8 +69,8 @@ git.sr.ht/~sbinet/gg v0.6.0 h1:RIzgkizAk+9r7uPzf/VfbJHBMKUr0F5hRFxTUGMnt38= git.sr.ht/~sbinet/gg v0.6.0/go.mod h1:uucygbfC9wVPQIfrmwM2et0imr8L7KQWywX0xpFMm94= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.30.0 h1:sBEjpZlNHzK1voKq9695PJSX2o5NEXl7/OL3coiIY0c= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.30.0/go.mod h1:P4WPRUkOhJC13W//jWpyfJNDAIpvRbAUIYLX/4jtlE0= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.31.0 h1:DHa2U07rk8syqvCge0QIGMCE1WxGj9njT44GH7zNJLQ= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.31.0/go.mod h1:P4WPRUkOhJC13W//jWpyfJNDAIpvRbAUIYLX/4jtlE0= github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.55.0 h1:UnDZ/zFfG1JhH/DqxIZYU/1CUAlTUScoXD/LcM2Ykk8= github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.55.0/go.mod h1:IA1C1U7jO/ENqm/vhi7V9YYpBsp+IMyqNrEN94N7tVc= github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.55.0 h1:7t/qx5Ost0s0wbA/VDrByOooURhp+ikYwv20i9Y07TQ= @@ -169,6 +169,8 @@ github.com/bluenviron/mediacommon v1.9.2 h1:EHcvoC5YMXRcFE010bTNf07ZiSlB/e/AdZyG github.com/bluenviron/mediacommon v1.9.2/go.mod h1:lt8V+wMyPw8C69HAqDWV5tsAwzN9u2Z+ca8B6C//+n0= github.com/bufbuild/protocompile v0.9.0 h1:DI8qLG5PEO0Mu1Oj51YFPqtx6I3qYXUAhJVJ/IzAVl0= github.com/bufbuild/protocompile v0.9.0/go.mod h1:s89m1O8CqSYpyE/YaSGtg1r1YFMF5nLTwh4vlj6O444= +github.com/caarlos0/env/v11 v11.4.0 h1:Kcb6t5kIIr4XkoQC9AF2j+8E1Jsrl3Wz/hhm1LtoGAc= +github.com/caarlos0/env/v11 v11.4.0/go.mod h1:qupehSf/Y0TUTsxKywqRt/vJjN5nz6vauiYEUUr8P4U= github.com/campoy/embedmd v1.0.0 h1:V4kI2qTJJLf4J29RzI/MAt2c3Bl4dQSYPuflzwFH2hY= github.com/campoy/embedmd v1.0.0/go.mod h1:oxyr9RCiSXg0M3VJ3ks0UGfp98BpSSGr0kpiX3MzVl8= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= @@ -626,8 +628,8 @@ github.com/pion/mdns v0.0.12 h1:CiMYlY+O0azojWDmxdNr7ADGrnZ+V6Ilfner+6mSVK8= github.com/pion/mdns v0.0.12/go.mod h1:VExJjv8to/6Wqm1FXK+Ii/Z9tsVk/F5sD/N70cnYFbk= github.com/pion/mdns/v2 v2.1.0 h1:3IJ9+Xio6tWYjhN6WwuY142P/1jA0D5ERaIqawg/fOY= github.com/pion/mdns/v2 v2.1.0/go.mod h1:pcez23GdynwcfRU1977qKU0mDxSeucttSHbCSfFOd9A= -github.com/pion/mediadevices v0.9.0 h1:3ozqxVjN0PTbb1IfTbZ4af4R/fQ5cSlbYL3euCZag7w= -github.com/pion/mediadevices v0.9.0/go.mod h1:0dGJQq8VCPo7AXWmhqRITIFyw66uylwDecq7oN+G3gM= +github.com/pion/mediadevices v0.10.0 h1:xsOwvucz5ZLBABae11bx4Nzofca8NbMcOHFrwgQPgiI= +github.com/pion/mediadevices v0.10.0/go.mod h1:0dGJQq8VCPo7AXWmhqRITIFyw66uylwDecq7oN+G3gM= github.com/pion/randutil v0.1.0 h1:CFG1UdESneORglEsnimhUjf33Rwjubwj6xfiOXBa3mA= github.com/pion/randutil v0.1.0/go.mod h1:XcJrSMMbbMRhASFVOlj/5hQial/Y8oH/HVo7TBZq+j8= github.com/pion/rtcp v1.2.12/go.mod h1:sn6qjxvnwyAkkPzPULIbVqSKI5Dv54Rv7VG0kNxh9L4= @@ -889,14 +891,14 @@ go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -go.viam.com/api v0.1.533 h1:XxtiKAA8j6y6dyHH7a+oEOTjB9gzcjEFaF1CFehpXHs= -go.viam.com/api v0.1.533/go.mod h1:qSrz3j4+QlXvw7ANs1G2fsX532vUQzLBbgaTxMu3lAw= -go.viam.com/rdk v0.119.2 h1:tUloMFyeupG117M4drB1Wn4FiCJsqXkjsDmRb2U1yIs= -go.viam.com/rdk v0.119.2/go.mod h1:hXERwbNlu0yI5aGAYuX+fnSrU6rdVFIOpuCVhC72ht4= +go.viam.com/api v0.1.545 h1:6+l0shttIsRxC6lyv5V1h5qgRL0LqoDB6J0jr7iEWOM= +go.viam.com/api v0.1.545/go.mod h1:nVe4WXrtc8aupJ8OWXSYx6KhCiOkr3VCbkwxD4D41xQ= +go.viam.com/rdk v0.126.1 h1:8cldxsg9riyP4gRbJdIJoFqRn9cTOrmWJXJPApmLe2Q= +go.viam.com/rdk v0.126.1/go.mod h1:4JIJcijjeR0ONcrFogXv1KLWa6/Y9/pGVL8i+cexhy0= go.viam.com/test v1.2.4 h1:JYgZhsuGAQ8sL9jWkziAXN9VJJiKbjoi9BsO33TW3ug= go.viam.com/test v1.2.4/go.mod h1:zI2xzosHdqXAJ/kFqcN+OIF78kQuTV2nIhGZ8EzvaJI= -go.viam.com/utils v0.4.13 h1:B8I5q0PcsXYkYHaSFj2LUuyDI9AahxdeVx5D2fUdYP4= -go.viam.com/utils v0.4.13/go.mod h1:sS9FW37EoO3o7FjvU9oE0a7mChLrPCBqqr0942QO8pg= +go.viam.com/utils v0.4.19 h1:RK17IbyqwE/Zt2Y+RRoLxlooI74w4kihDSyEeBQ4Zus= +go.viam.com/utils v0.4.19/go.mod h1:dElxHWXNzmITjAm4M9vpCWFXWdtGnAKYmciUm8poHLw= go4.org/unsafe/assume-no-moving-gc v0.0.0-20230525183740-e7c30c78aeb2 h1:WJhcL4p+YeDxmZWg141nRm7XC8IDmhz7lk5GpadO1Sg= go4.org/unsafe/assume-no-moving-gc v0.0.0-20230525183740-e7c30c78aeb2/go.mod h1:FftLjUGFEDu5k8lt0ddY+HcrH/qU/0qk+H8j9/nTl3E= goji.io v2.0.2+incompatible h1:uIssv/elbKRLznFUy3Xj4+2Mz/qKhek/9aZQDUMae7c= @@ -1155,8 +1157,8 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= -gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= +gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= +gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= gonum.org/v1/plot v0.15.2 h1:Tlfh/jBk2tqjLZ4/P8ZIwGrLEWQSPDLRm/SNWKNXiGI= gonum.org/v1/plot v0.15.2/go.mod h1:DX+x+DWso3LTha+AdkJEv5Txvi+Tql3KAGkehP0/Ubg= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= @@ -1228,8 +1230,8 @@ google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTp google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.79.3 h1:sybAEdRIEtvcD68Gx7dmnwjZKlyfuc61Dyo9pGXXkKE= -google.golang.org/grpc v1.79.3/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= +google.golang.org/grpc v1.80.0 h1:Xr6m2WmWZLETvUNvIUmeD5OAagMw3FiKmMlTdViWsHM= +google.golang.org/grpc v1.80.0/go.mod h1:ho/dLnxwi3EDJA4Zghp7k2Ec1+c2jqup0bFkw07bwF4= google.golang.org/grpc/cmd/protoc-gen-go-grpc v0.0.0-20200910201057-6591123024b3/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=