Sphero Multi-Agent Robotic Testbed for Matlab (SMART_matlab)
版本 1.0.2 (14.7 MB) 作者:
Kaveh Fathian
A distributed robotic testbed for experimental validation of multi-agent algorithms.
共享 'Sphero Multi-Agent Robotic Testbed for Matlab (SMART_matlab)'
We present a distributed robotic platform for test and validation of multi-agent control strategies. As an example, we use this platform to achieve a desired formation of Sphero robots. The formation control and collision avoidance strategies are fully distributed. Implementation details and code are provided online and free.
引用格式
Kaveh Fathian (2024). Sphero Multi-Agent Robotic Testbed for Matlab (SMART_matlab) (https://github.com/TSummersLab/SMART_matlab), GitHub. 检索来源 .
MATLAB 版本兼容性
创建方式
R2017b
兼容任何版本
平台兼容性
Windows macOS Linux类别
- Robotics and Autonomous Systems > Robotics System Toolbox >
- Engineering > Electrical and Computer Engineering > Robotics >
在 Help Center 和 MATLAB Answers 中查找有关 Robotics System Toolbox 的更多信息
致谢
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!EKF
Formation Control
Helpers
- CameraCheckerboard_Ver1_2.m
- Detect_Sphero_Initial_Ver2_5
- Detect_Sphero_Ver2_5
- FormationControl_FixScale_Ver3_2
- FormationControl_Ver3_2
- FormCtrlDesign_Ver_1_1
- projection
- receive_over_tcpip
- reconstruction
- rgb2cmyk
- send_over_tcpip
- SpheroConnect_Ver1_3
- SpheroControl_Nonhol_Ver3_2
- SpheroControl_Ver3_1
- SpheroDetectionTracking_Ver1_4
- SpheroDisconnect_Ver1_1
- SpheroHeadingSpeedEstim_Ver1_2
- SpheroKalmanFilter_Ver1_2
- SpheroLoadParam_Ver1_4
- SpheroShiftData_Ver1_1
- SpheroStopVideo
- SpheroTCPIPDetectionTracking_Ver1_2
- SpheroTheta0_Ver1_5
- SpheroVideoSetup_Ver1_0
- SpheroVideoStream_Ver1_3
- Sphero_Client_Ver1_2
- Sphero_Server_Ver1_2
- track_Sphero_Ver2_1
Sphero
Sphero/+sphero
Sphero/+sphero/private
Sphero/examples
Sphero/simulink
- getSpheroSetupBlockUserData
- msfun_realtime_pacer
- msfun_sphero_rawmotor
- msfun_sphero_readlocator
- msfun_sphero_readsensor
- msfun_sphero_roll
- msfun_sphero_setup
- sfun3d
- slblocks
cvx
cvx/builtins
cvx/builtins/@cvx
- abs
- blkdiag
- builtins.m
- cat
- conj
- conv
- ctranspose
- cumprod
- cumsum
- diag
- disp
- end
- eq
- exp
- find
- full
- ge
- gt
- hankel
- horzcat
- imag
- isreal
- kron
- ldivide
- le
- log
- lt
- max
- min
- minus
- mldivide
- mpower
- mrdivide
- mtimes
- ne
- nnz
- norm
- permute
- plus
- polyval
- power
- prod
- rdivide
- real
- reshape
- size
- sparse
- spy
- sqrt
- subsasgn
- subsref
- sum
- times
- toeplitz
- transpose
- tril
- triu
- uminus
- uplus
- vertcat
cvx/builtins/@cvxcnst
cvx/commands
- Contents.m
- cvx_begin
- cvx_begin_set
- cvx_cd
- cvx_clear.m
- cvx_end
- cvx_end_set.m
- cvx_expert
- cvx_pause
- cvx_power_warning
- cvx_precision
- cvx_profile
- cvx_quiet
- cvx_solver
- cvx_where
cvx/commands/@cvx
cvx/examples
cvx/examples/antenna_array_design
cvx/examples/circuit_design
cvx/examples/cvxbook
cvx/examples/cvxbook/Ch04_cvx_opt_probs
cvx/examples/cvxbook/Ch05_duality
cvx/examples/cvxbook/Ch06_approx_fitting
cvx/examples/cvxbook/Ch07_statistical_estim
cvx/examples/cvxbook/Ch08_geometric_probs
cvx/examples/cvxbook/Ch11_intpt_methods
cvx/examples/filter_design
cvx/examples/gp_tutorial
cvx/examples/graph_laplacian
cvx/examples/log_exp
cvx/examples/sparse_heuristics
cvx/examples/time_series_analysis
cvx/functions
- berhu
- Contents.m
- det_inv
- det_root2n
- det_rootn
- entr
- geomean
- geo_mean
- huber
- huber_circ
- huber_pos
- inv_pos
- kl_div
- lambda_max
- lambda_min
- lambda_sum_largest
- lambda_sum_smallest
- logsumexp
- logsumexp_sdp
- log_det
- log_normcdf
- log_sum_exp
- matrix_frac
- norms
- norms_largest
- norm_largest
- norm_nuc
- polyenv
- polyval_trig
- poly_env
- pos
- pow_abs
- pow_p
- pow_pos
- quad_form
- quad_over_lin
- quad_pos_over_lin
- rel_entr
- sigma_max
- square
- square_abs
- square_pos
- sum_largest
- sum_log
- sum_smallest
- sum_square
- sum_square_abs
- sum_square_pos
- sym
- trace_inv
- trace_sqrtm
- vec
cvx/functions/@cvx
- berhu
- cvx_recip
- det_inv
- det_rootn
- functions.m
- geo_mean
- huber_pos
- inv_pos
- lambda_max
- lambda_sum_largest
- log_normcdf
- log_sum_exp
- matrix_frac
- norms
- norm_nuc
- pow_abs
- pow_cvx
- pow_p
- pow_pos
- quad_form
- quad_over_lin
- quad_pos_over_lin
- rel_entr
- sigma_max
- square
- square_abs
- square_pos
- sum_largest
- sum_log
- sum_square
- sum_square_abs
- sum_square_pos
- trace_inv
- trace_sqrtm
cvx/keywords
- Contents.m
- dual
- epigraph
- expression
- expressions
- hypograph
- In
- maximise
- maximize
- minimise
- minimize
- subject
- variable
- variables
cvx/lib
- Contents.m
- cvx_accept_concave
- cvx_accept_convex
- cvx_basis
- cvx_bcompress
- cvx_blkdiag
- cvx_c2r
- cvx_check_dimension
- cvx_check_dimlist
- cvx_class
- cvx_classify
- cvx_clearpath
- cvx_collapse
- cvx_constant
- cvx_create_problem
- cvx_default_dimension
- cvx_expand_dim
- cvx_expert_check
- cvx_global.m
- cvx_id
- cvx_ids
- cvx_isaffine
- cvx_isconcave
- cvx_isconstant
- cvx_isconvex
- cvx_isnonzero
- cvx_lasterr
- cvx_pop
- cvx_r2c
- cvx_readlevel
- cvx_remap
- cvx_reshape
- cvx_setpath
- cvx_setspath
- cvx_size_check
- cvx_solve
- cvx_solve_sdpt3
- cvx_solve_sedumi
- cvx_subs2str
- cvx_subsasgn
- cvx_subsref
- cvx_subsref_check
- cvx_use_sparse
- cvx_value
- cvx_values
- cvx_vexity
- cvx_zeros
cvx/lib/@cell
cvx/lib/@cvx
- bcompress
- buncompress
- colon
- cvx
- cvx_basis
- cvx_classify
- cvx_constant
- cvx_isaffine
- cvx_isconcave
- cvx_isconstant
- cvx_isconvex
- cvx_isnonzero
- cvx_readlevel
- cvx_value
- cvx_vexity
- getdual
- in
- keywords.m
- matlab6.m
- setdual
- sets.m
- sparsify
- svec
- type
- value
cvx/lib/@cvxcnst
cvx/lib/@cvxdual
- colon
- cvxaff
- cvxdual
- cvx_basis
- cvx_value
- disp
- display
- dof
- inuse
- isreal
- name
- problem
- size
- subsref
- type
- value
cvx/lib/@cvxin
cvx/lib/@cvxobj
cvx/lib/@cvxprob
- cvxprob
- cvx_value
- disp
- eliminate
- eq
- extract
- index
- ne
- newcnstr
- newdual
- newnonl
- newobj
- newtemp
- newvar
- pop
- solve
- spy
- subsasgn
- subsref
- touch
cvx/lib/@cvxtuple
- apply
- cvxtuple
- cvx_collapse
- cvx_constant
- cvx_id
- cvx_isaffine
- cvx_isconcave
- cvx_isconstant
- cvx_isconvex
- cvx_value
- disp
- eq
- ge
- gt
- in
- le
- lt
- ne
- numel
- subsasgn
- subsref
- testall
cvx/lib/@struct
cvx/sdpt3
cvx/sdpt3/Examples
- Asum
- cheby0
- chebyinf.m
- chebymat
- control
- corrmat
- Doptdesign
- dwd.m
- etp
- geometric_mean
- gpp
- gppschur
- graph
- igmres
- lmiexamp1
- lmiexamp2
- lmiexamp3
- lmifun
- lmifun2
- logcheby
- logchebyRcone
- maxcut
- max_kcut
- mcpschur
- minEpts
- norm_min
- orthbasis
- randinfsdp.m
- randlowranksdp.m
- randmaxdet
- randsdp.m
- sdphankel
- thetaproblem
- ToeplitzApprox.m
- ToeplitzApproxSQQ.m
- viewgraph.m
cvx/sdpt3/HSDSolver
- HSDHKMcorr
- HSDHKMdirfun
- HSDHKMpred.m
- HSDHKMrhsfun
- HSDlinsysolve.m
- HSDNTcorr
- HSDNTdirfun
- HSDNTpred.m
- HSDNTrhsfun
- HSDsqlp.m
- HSDsqlpcheckconvg
- HSDsqlpCpert.m
- HSDsqlpmain.m
- HSDsqlpmisc
- mybicgstab
- sortA
cvx/sdpt3/Solver
- Arrow
- Atyfun
- AXfun
- blkbarrier
- blkcholfun.m
- blkeig
- blktrace
- checkdense
- combine_blk
- convertcmpsdp
- convertRcone.m
- degeneracy
- detect_lblk.m
- detect_ublk.m
- findcoeffsub
- gdcomp.m
- gpcomp.m
- HKMcorr
- HKMdirfun
- HKMpred.m
- HKMrhsfun
- infeaspt
- linsysolve.m
- linsysolvefun.m
- mybicgstab
- mytime
- NTcorr
- NTdirfun
- NTpred.m
- NTrhsfun
- NTscaling.m
- nzlist
- ops
- Prod2
- Prod3
- qops
- qprod
- randmat
- read_sdpa
- read_sedumi
- scaling
- schurmat_lblk
- schurmat_qblk
- schurmat_sblk
- SDPT3data_SEDUMIdata
- SDPT3soln_SEDUMIsoln
- SDPvalBounds
- skron.m
- smat
- sortA
- sqlp
- sqlparameters
- sqlpcheckconvg
- sqlpdemo.m
- sqlpmain
- sqlpmisc
- sqlpsummary
- sqlptermcode
- sqlpu2lblk
- steplength
- svec
- symqmr
- validate.m
- validate_startpoint_startpoint
cvx/sedumi
- ada_pcg.m
- adendotd.m
- Amul.m
- asmDxq.m
- blkchol.m
- bwblkslv.m
- bwdpr1.m
- cellK.m
- checkpars.m
- Contents.m
- ddot.m
- deninfac.m
- dpr1fact.m
- eigK.m
- extractA.m
- eyeK.m
- findblks.m
- finsymbden.m
- frameit.m
- fwblkslv.m
- fwdpr1.m
- getada1.m
- getada2.m
- getada3.m
- getDAt.m
- getDAtm.m
- getdense.m
- getsymbada.m
- givensrot.m
- incorder.m
- install_sedumi
- invcholfac.m
- iswnbr.m
- loopPcg.m
- makereal.m
- mat.m
- maxstep.m
- my_fprintf
- optstep.m
- ordmmdmex.m
- partitA.m
- PopK.m
- postprocessSDP
- posttransfo
- preprocessSDP
- pretransfo.m
- psdeig.m
- psdfactor.m
- psdinvjmul.m
- psdjmul.m
- psdscale.m
- qblkmul.m
- qframeit.m
- qinvjmul.m
- qjmul.m
- qreshape.m
- quadadd.m
- rotlorentz.m
- sddir
- sdfactor.m
- sdinit.m
- sedumi
- sortnnz.m
- sparbwslv.m
- sparfwslv.m
- spars
- sqrtinv.m
- statsK.m
- stepdif.m
- symbchol.m
- symbcholden.m
- symfctmex.m
- tdet.m
- triumtriu.m
- trydif.m
- updtransfo.m
- urotorder.m
- vec.m
- veccomplex.m
- vecsym.m
- vectril.m
- whichcpx.m
- widelen.m
- wrapPcg.m
- wregion.m
cvx/sedumi/conversion
- blk2vec.m
- Contents.m
- feascpx.m
- feasreal.m
- frompack.m
- fromsdpa
- getproblem.m
- prelp.m
- sdpa2vec.m
- sdpasplit
- writesdp
cvx/sets
- complex_lorentz
- Contents.m
- convex_poly_coeffs
- exponential
- geo_mean_cone
- hermitian_semidefinite
- lorentz
- nonnegative
- nonneg_poly_coeffs
- norm_ball
- rotated_complex_lorentz
- rotated_lorentz
- semidefinite
- simplex
cvx/structures
- Contents.m
- cvx_cleanup_structure
- cvx_create_structure
- cvx_invert_structure
- cvx_orthog_structure
- cvx_replicate_structure
- cvx_s_banded
- cvx_s_complex
- cvx_s_diagonal
- cvx_s_hankel
- cvx_s_hermitian
- cvx_s_lower_bidiagonal
- cvx_s_lower_hessenberg
- cvx_s_lower_triangular
- cvx_s_scaled_identity
- cvx_s_skew_symmetric
- cvx_s_sparse
- cvx_s_symmetric
- cvx_s_symmetric_ut
- cvx_s_toeplitz
- cvx_s_tridiagonal
- cvx_s_upper_bidiagonal
- cvx_s_upper_hankel
- cvx_s_upper_hessenberg
- cvx_s_upper_triangular
cvx/structures/@cvx
Sphero/examples
- Getting Started with Sphero Connectivity Package
- Sphero Connectivity Package EXAMPLES
- Sphero Motion Control
- Sphero Simulink Library and Examples
- Troubleshooting Connection Issues with Sphero
cvx/examples
- Builds a norm minimization tradeoff curve
- Builds and solves a simple inequality-constrained linear program
- Builds and solves a simple least-squares problem using cvx
- Builds and solves a simple linear program
- Closest Toeplitz SDP search.
- Equality constrained norm minimization.
- Examples from the CVX Users' guide
- Minimal phase spectral factorization
- Nonnegative matrix factorization
cvx/examples/antenna_array_design
- Minimize beamwidth of an array with arbitrary 2-D geometry
- Minimize sidelobe level of a uniform linear array via spectral factorization
- Minimize sidelobe level of an array with arbitrary 2-D geometry
- Minimize sidelobe level of an FIR broadband far-field antenna array
- Minimize thermal noise power of an array with arbitrary 2-D geometry
- Plot a polar plot of an antenna array sensitivity
- Spectral factorization using Kolmogorov 1939 approach
cvx/examples/circuit_design
- Combined sizing of drivers, repeaters, and wire
- Combined wire sizing and spacing
- Computes the step response of a linear system
- Digital circuit sizing example (GP)
- Digital circuit sizing for an inverter chain (GP)
- Elmore delay sizing for a straight wire (GP)
- LC oscillator design (GP)
- Optimal interconnect wire sizing
- Plots four different taper desings on a single graph.
- Sizing of clock meshes
- Tri-state bus sizing and topology design
- Two-input NAND gate sizing (GP)
- Wire sizing and topology design
cvx/examples/cvxbook/Ch04_cvx_opt_probs
- Exercise 4.27: Matrix fractional minimization using second-order cone programming
- Exercise 4.31: Design of a cantilever beam (GP)
- Exercise 4.38(b): Linear matrix inequalities with one variable
- Exercise 4.3: Solve a simple QP with inequality constraints
- Exercise 4.47: Maximum determinant PSD matrix completion
- Exercise 4.57: Capacity of a communication channel
- Exercise 4.5: Show the equivalence of 3 convex problem formations
- Exercise 4.60: Log-optimal investment strategy
- Plots a cantilever beam as a 3D figure.
- Section 4.3.1: Compute and display the Chebyshev center of a 2D polyhedron
- Section 4.3.1: Compute the Chebyshev center of a polyhedron
- Section 4.5.4: Design of a cantilever beam: recursive formulation (GP)
- Section 4.5.4: Frobenius norm diagonal scaling (GP)
- Section 4.5.4: Minimum spectral radius via Peron-Frobenius theory (GP)
- Section 4.6.3: Find the fastest mixing Markov chain on a graph
cvx/examples/cvxbook/Ch05_duality
- Examples 5.6,5.8: An l_p norm approximation problem
- Exercise 5.19c: Markovitz portfolio optimization w/ diversification constraint
- Exercise 5.1d: Sensitivity analysis for a simple QCQP
- Exercise 5.33: Parametrized l1-norm approximation
- Exercise 5.39: SDP relaxations of the two-way partitioning problem
- Section 5.2.4: Solves a simple QCQP
- Section 5.2.5: Mixed strategies for matrix games
- Section 5.2.5: Mixed strategies for matrix games (LP formulation)
cvx/examples/cvxbook/Ch06_approx_fitting
- Example 6.2: Robust regression using the Huber penalty
- Example 6.3: Optimal input design
- Example 6.4: Regressor selection problem
- Example 6.6: Comparison of worst-case robust, Tikhonov, and nominal least squares
- Example 6.8: Spline fitting
- Example 6.9: Bounding consumer preference
- Figure 6.15: A comparison of stochastic and worst-case robust approximation
- Figure 6.19: Polynomial fitting
- Figure 6.24: Fitting a convex function to given data
- Figure 6.2: Penalty function approximation
- Figure 6.9: An optimal tradeoff curve
- Figures 6.11-6.14: Total variation reconstruction
- Figures 6.21-6.23: Basis pursuit using Gabor functions
- Figures 6.8-6.10: Quadratic smoothing
- Section 6.1.2: Residual minimization with deadzone penalty
cvx/examples/cvxbook/Ch07_statistical_estim
- Computes Chebyshev lower bounds on probability vectors
- Computes Chernoff upper bounds on probability
- Example 7.2: Maximum entropy distribution
- Example 7.4: Binary hypothesis testing
- Figure 7.1: Logistic regression
- Figure 7.1: Logistic regression (GP version)
- Probability estimate using Monte Carlo methods
- Section 7.1.1: Counting problems with Poisson distribution
- Section 7.1.1: Covariance estimation for Gaussian variables
- Section 7.4.3: Probability bounds example with Voronoi diagram
- Section 7.5.2: Experiment design
cvx/examples/cvxbook/Ch08_geometric_probs
- Computes a minimum-perimeter bounding box subject to positioning constraints
- Euclidean distance between polyhedra
- Euclidean distance between polyhedra in 2D
- Euclidean projection on a halfspace
- Euclidean projection on a hyperplane
- Euclidean projection on a rectangle
- Euclidean projection on the nonnegative orthant
- Euclidean projection on the semidefinite cone
- Example 8.3: Bounding correlation coefficients
- Example 8.4: One free point localization
- Example 8.7: Floorplan generation test script
- Figure 8.10: Approximate linear discrimination via linear programming
- Figure 8.11: Approximate linear discrimination via support vector classifier
- Figure 8.15: Linear placement problem
- Figure 8.16: Quadratic placement problem
- Figure 8.17: Fourth-order placement problem
- Figure 8.8: Simplest linear discrimination
- Figure 8.9: Robust linear discrimination problem
- Floor planning
- Maximum volume inscribed ellipsoid in a polyhedron
- Minimum volume ellipsoid covering a finite set
- Minimum volume ellipsoid covering union of ellipsoids
- One free point localization
- Polynomial discrimination
- Polynomial discrimination
- Quadratic discrimination (separating ellipsoid)
- Section 8.1.1: Separating a point from a polyhedron
- Section 8.2.2: Separating polyhedra in 2D
- Section 8.5.3: Analytic center of a set of linear inequalities
- Separating ellipsoids in 2D
- Solve a floor planning problem given graphs H & V
cvx/examples/cvxbook/Ch11_intpt_methods
cvx/examples/filter_design
- Chebychev design of an FIR filter given a desired H(w)
- Design a 1/f spectrum shaping (pink-noise) filter
- Equalizer design example
- Maximize stopband attenuation of a bandpass IIR filter
- Maximize stopband attenuation of a linear phase lowpass FIR filter
- Maximize stopband attenuation of a lowpass FIR filter (magnitude design)
- Maximize stopband attenuation of a lowpass IIR filter
- Minimize order of a linear phase lowpass FIR filter
- Minimize order of a lowpass FIR filter (magnitude design)
- Minimize stopband ripple of a linear phase lowpass FIR filter
- Minimize transition bandwidth of a linear phase lowpass FIR filter
- Spectral factorization using Kolmogorov 1939 approach.
cvx/examples/gp_tutorial
- Box volume maximization
- Digital circuit sizing
- Digital circuit sizing (vectorized)
- Elmore delay sizing for an interconnect network.
- Floor planning with an optimal trade-off curve.
- Optimal doping profile optimization
- Optimal doping profile optimization with current gain constraint.
- Simple power control in communication systems via GP.
cvx/examples/graph_laplacian
- Computes fastest mixing Markov chain (FMMC) edge weights
- Computes the constant edge weight that yields fastest averaging.
- Computes the fastest distributed linear averaging (FDLA) edge weights
- Computes the maximum-degree heuristic edge weights
- Computes the Metropolis-Hastings heuristic edge weights
- FDLA and FMMC solutions for a 50-node, 200-edge graph
- FDLA and FMMC solutions for a 64-node, 95-edge cut-grid graph
- FDLA and FMMC solutions for an 8-node, 13-edge graph
- Generate a cut-grid graph for the ICM 2006 talk example
- Plots a graph with each edge width proportional to its weight.
cvx/examples/log_exp
- Entropy maximization
- Sparse covariance estimation for Gaussian variables
- Sparse covariance estimation for Gaussian variables
- Weighted analytic center of a set of linear inequalities
cvx/examples/sparse_heuristics
- Computing a sparse solution of a set of linear inequalities
- Detecting a small subset of infeasible linear inequalities
- Finding a point that satisfies many linear inequalities
cvx/examples/time_series_analysis
无法下载基于 GitHub 默认分支的版本
版本 | 已发布 | 发行说明 | |
---|---|---|---|
1.0.2 | Added acknowledgments. |
|
|
1.0.1 | Added snapshot. |
|
|
1.0.0 |
|
要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库。
要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
亚太
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)