精华内容
下载资源
问答
  • 平衡计分卡理论案例对一个HR的帮助是很大的,能够帮助更好的管理公司,让事情变得更加简单,小编提供平...该文档为平衡计分卡理论案例,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 之前,现代控制理论,研究过一些倒立摆和自平衡小车,现在用ROS+Gazebo环境尝试一下。 找了一些案例都是kinetic,Gazebo7及以前的版本适用。为了能使melodic和noetic都可适用,做了适当的修改。 当然urdf基本是...

    之前,现代控制理论,研究过一些倒立摆和自平衡小车,现在用ROS+Gazebo环境尝试一下。

    ROS自平衡机器人仿真(机器人操作系统+现代控制理论融合案例)

    找了一些案例都是kinetic,Gazebo7及以前的版本适用。为了能使melodic和noetic都可适用,做了适当的修改。

    当然urdf基本是通用的。最重要的网址:

    丑萌模式:

    唉,不忍直视!!!

    然后更改了配色:

    拖车模式--机器人拖着摆漫游

    平衡模式--摆垂直


    这是一个学习ROS机器人和现代控制理论最高效的案例:

    如需查阅之前资料 :现代控制理论课程专栏


    教程链接,但是为kinetic版本:

    Gazebo 9 API文档:

    Ignition Math文档:


    如果直接编译Github上面的源码,画风是这样的!!!

    基本可以断定与Gazebo版本升级有关,这也是为何博客以Igniton Gazebo更新为主的原因。

    简要分析并调试

    对于GetSimTime这一类报错,查看API文档,已经更新为SimTime,在源码中替换错误接口即可。

    对于math无法找到的原因,查看上图,已经更新为ignition::math::Vector3d。对于修改即可。

    Pose同理,这些都更新到ignition::math。

    恩,问题变了……那么继续吧。依据上述方式修改如Rot(),Pos()。

    经过漫长的一点点修正,最后见到曙光:

    :~/RobTool/rsv_balance_simulator$ catkin_make
    Base path: /home/relaybot/RobTool/rsv_balance_simulator
    Source space: /home/relaybot/RobTool/rsv_balance_simulator/src
    Build space: /home/relaybot/RobTool/rsv_balance_simulator/build
    Devel space: /home/relaybot/RobTool/rsv_balance_simulator/devel
    Install space: /home/relaybot/RobTool/rsv_balance_simulator/install
    ####
    #### Running command: "make cmake_check_build_system" in "/home/relaybot/RobTool/rsv_balance_simulator/build"
    ####
    ####
    #### Running command: "make -j8 -l8" in "/home/relaybot/RobTool/rsv_balance_simulator/build"
    ####
    [  0%] Built target std_msgs_generate_messages_nodejs
    [  0%] Built target std_msgs_generate_messages_lisp
    [ 13%] Built target rsv_balance_gazebo_control
    [ 13%] Built target std_msgs_generate_messages_cpp
    [ 13%] Built target std_msgs_generate_messages_py
    Scanning dependencies of target gazebo_rsv_balance
    [ 13%] Built target std_msgs_generate_messages_eus
    [ 13%] Built target _rsv_balance_msgs_generate_messages_check_deps_SetMode
    [ 13%] Built target _rsv_balance_msgs_generate_messages_check_deps_SetInput
    [ 13%] Built target _rsv_balance_msgs_generate_messages_check_deps_State
    [ 39%] Built target rsv_balance_msgs_generate_messages_nodejs
    [ 39%] Built target rsv_balance_msgs_generate_messages_lisp
    [ 56%] Built target rsv_balance_msgs_generate_messages_eus
    [ 82%] Built target rsv_balance_msgs_generate_messages_cpp
    [ 91%] Built target rsv_balance_msgs_generate_messages_py
    [ 91%] Built target rsv_balance_msgs_generate_messages
    [ 95%] Building CXX object rsv_balance_gazebo/CMakeFiles/gazebo_rsv_balance.dir/src/gazebo_rsv_balance.cpp.o
    [100%] Linking CXX shared library /home/relaybot/RobTool/rsv_balance_simulator/devel/lib/libgazebo_rsv_balance.so
    [100%] Built target gazebo_rsv_balance
    

    但这并非就ok了,在运行时还有如下错误。

    安装:

    • sudo apt install ros-melodic-python-qt-binding

    并修改

    /home/relaybot/RobTool/rsv_balance_simulator/src/rsv_balance_rqt/src/rsv_balance_mode/balance_mode_widget.py:

    #from python_qt_binding.QtGui import QWidget
    from python_qt_binding.QtWidgets import QWidget

    启动平衡车案例:

    :~/RobTool/rsv_balance_simulator$ roslaunch rsv_balance_gazebo simulation_terrain.launch 
    ... logging to /home/relaybot/.ros/log/613e7c6e-fb51-11ea-9752-ba9c53c9fb50/roslaunch-TPS2-30059.log
    Checking log directory for disk usage. This may take a while.
    Press Ctrl-C to interrupt
    Done checking log file disk usage. Usage is <1GB.
    
    started roslaunch server http://TPS2:45073/
    
    SUMMARY
    ========
    
    PARAMETERS
     * /gazebo/enable_ros_network: True
     * /robot_description: <?xml version="1....
     * /rosdistro: melodic
     * /rosversion: 1.14.7
     * /use_sim_time: True
    
    NODES
      /
        gazebo (gazebo_ros/gzserver)
        gazebo_gui (gazebo_ros/gzclient)
        robot_state_publisher (robot_state_publisher/robot_state_publisher)
        urdf_spawner (gazebo_ros/spawn_model)
    
    auto-starting new master
    process[master]: started with pid [30073]
    ROS_MASTER_URI=http://localhost:11311
    
    setting /run_id to 613e7c6e-fb51-11ea-9752-ba9c53c9fb50
    process[rosout-1]: started with pid [30084]
    started core service [/rosout]
    process[gazebo-2]: started with pid [30090]
    process[gazebo_gui-3]: started with pid [30096]
    process[robot_state_publisher-4]: started with pid [30101]
    process[urdf_spawner-5]: started with pid [30102]
    [ WARN] [1600613754.174422899]: The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia.  As a workaround, you can add an extra dummy link to your URDF.
    [ INFO] [1600613754.549975972]: Finished loading Gazebo ROS API Plugin.
    [ INFO] [1600613754.551410505]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
    [ INFO] [1600613754.597940953]: Finished loading Gazebo ROS API Plugin.
    [ INFO] [1600613754.599289678]: waitForService: Service [/gazebo_gui/set_physics_properties] has not been advertised, waiting...
    [INFO] [1600613755.167975, 0.000000]: Loading model XML from ros parameter robot_description
    [INFO] [1600613755.172976, 0.000000]: Waiting for service /gazebo/spawn_urdf_model
    [ INFO] [1600613755.599306658]: waitForService: Service [/gazebo/set_physics_properties] is now available.
    [ INFO] [1600613755.620806608]: Physics dynamic reconfigure ready.
    [INFO] [1600613755.777683, 0.000000]: Calling service /gazebo/spawn_urdf_model
    [INFO] [1600613756.714908, 0.001000]: Spawn status: SpawnModel: Successfully spawned entity
    [ INFO] [1600613756.750089801, 0.001000000]: Starting plugin RsvBalancePlugin(ns = //)
    [ WARN] [1600613756.750285869, 0.001000000]: RsvBalancePlugin(ns = //): missing <rosDebugLevel> default is na
    [ INFO] [1600613756.751423093, 0.001000000]: RsvBalancePlugin(ns = //): <tf_prefix> = 
    [ INFO] [1600613756.755910578, 0.001000000]: RsvBalancePlugin(ns = //): Subscribed to cmd_vel!
    [ INFO] [1600613756.759582292, 0.001000000]: RsvBalancePlugin(ns = //): Subscribed to tilt_equilibrium!
    [ INFO] [1600613756.760707215, 0.001000000]: RsvBalancePlugin(ns = //): Advertise odom on odom !
    [ INFO] [1600613756.761440019, 0.001000000]: RsvBalancePlugin(ns = //): Advertise system state on state !
    [ INFO] [1600613756.762112803, 0.001000000]: RsvBalancePlugin(ns = //): Advertise joint_states!
    [urdf_spawner-5] process has finished cleanly
    log file: /home/relaybot/.ros/log/613e7c6e-fb51-11ea-9752-ba9c53c9fb50/urdf_spawner-5*.log
    [ INFO] [1600613764.060165362, 7.205000000]: RsvBalancePlugin(ns = //): Mode: balance
    [ INFO] [1600613764.257566606, 7.397000000]: RsvBalancePlugin(ns = //): Mode: balance
    [ INFO] [1600613764.442336366, 7.580000000]: RsvBalancePlugin(ns = //): Mode: balance
    [ INFO] [1600613764.627132079, 7.762000000]: RsvBalancePlugin(ns = //): Mode: balance
    [ INFO] [1600613764.929249870, 8.059000000]: RsvBalancePlugin(ns = //): Mode: balance
    [ INFO] [1600613765.106441473, 8.232000000]: RsvBalancePlugin(ns = //): Mode: balance
    [ INFO] [1600613765.273507683, 8.396000000]: RsvBalancePlugin(ns = //): Mode: balance
    [ INFO] [1600613765.449217113, 8.567000000]: RsvBalancePlugin(ns = //): Mode: balance
    [ INFO] [1600613765.601345806, 8.719000000]: RsvBalancePlugin(ns = //): Mode: balance
    [ INFO] [1600613765.736628865, 8.852000000]: RsvBalancePlugin(ns = //): Mode: balance
    [ INFO] [1600613812.917726058, 55.328000000]: RsvBalancePlugin(ns = //): Mode: balance
    [ INFO] [1600613813.102688301, 55.509000000]: RsvBalancePlugin(ns = //): Mode: balance
    [ INFO] [1600613813.273348434, 55.677000000]: RsvBalancePlugin(ns = //): Mode: balance
    [ INFO] [1600613813.432053232, 55.833000000]: RsvBalancePlugin(ns = //): Mode: balance
    [ INFO] [1600613813.722674889, 56.122000000]: RsvBalancePlugin(ns = //): Mode: balance

    使用rqt工具:


    最后,上传一些和现代控制理论密切相关的代码吧。

    A, B, C, D(定义)。

    extern const float g_fWheelRadius;
    extern const float g_fBaseWidth;    // Half of Base width
    extern const float g_fI3;           // I3, horizontal inertia
    
    // System matrices
    extern const float A[4][4];          // A matrix
    extern const float B[4][2];          // B matrix
    extern const float C[4][4];          // C matrix
    extern const float L[4][4];          // L matrix
    extern const float K[2][4];          // K matrix
    extern const float A_BK[4][4];       // A-BK matrix

    平衡控制(算法):

    #include "rsv_balance_gazebo_control/balance_gazebo_control.h"
    
    namespace balance_control
    {
    
    BalanceControl::BalanceControl() {}
    
    /*!
    * \brief Resets all state and control variables.
    *
    * Useful when instantiating and reseting the control.
    */
    void BalanceControl::resetControl()
    {
      t = 0;
      for (int i=0; i < 4; i++)
      {
        x_hat[i] = 0;
        x_adjust[i] = 0;
        x_r[i] = 0;
      }
      u_output[0] = 0.0;
      u_output[1] = 0.0;
    }
    
    /*!
    * \brief Integrates control and models.
    *
    * Integrates control with Euler method.
    * \param dt       Step period.
    * \param x_desired        Input array[4] for goal state
    * \param y_fbk       Array[4] for sensor readings
    */
    void BalanceControl::stepControl(double dt, const double (&x_desired)[4], const double (&y_fbk)[4])
    {
      t += dt;
      //**************************************************************
      // Set reference state
      //**************************************************************
      x_reference[theta]  = x_desired[theta]  + x_adjust[theta];
      x_reference[dx]     = x_desired[dx]     + x_adjust[dx];
      x_reference[dphi]   = x_desired[dphi]   + x_adjust[dphi];
      x_reference[dtheta] = x_desired[dtheta] + x_adjust[dtheta];
    
      //**************************************************************
      // State estimation
      //**************************************************************
      // x_hat - x_ref
      float x_hat_x_ref[4];
      x_hat_x_ref[theta]  = x_hat[theta]  - x_reference[theta];
      x_hat_x_ref[dx]     = x_hat[dx]     - x_reference[dx];
      x_hat_x_ref[dphi]   = x_hat[dphi]   - x_reference[dphi];
      x_hat_x_ref[dtheta] = x_hat[dtheta] - x_reference[dtheta];
    
      // A*(x_hat-x_ref)
      dx_hat[theta]   = A[0][0]*x_hat_x_ref[theta] + A[0][1]*x_hat_x_ref[dx]
                      + A[0][2]*x_hat_x_ref[dphi]  + A[0][3]*x_hat_x_ref[dtheta];
      dx_hat[dx]      = A[1][0]*x_hat_x_ref[theta] + A[1][1]*x_hat_x_ref[dx]
                      + A[1][2]*x_hat_x_ref[dphi]  + A[1][3]*x_hat_x_ref[dtheta];
      dx_hat[dphi]    = A[2][0]*x_hat_x_ref[theta] + A[2][1]*x_hat_x_ref[dx]
                      + A[2][2]*x_hat_x_ref[dphi]  + A[2][3]*x_hat_x_ref[dtheta];
      dx_hat[dtheta]  = A[3][0]*x_hat_x_ref[theta] + A[3][1]*x_hat_x_ref[dx]
                      + A[3][2]*x_hat_x_ref[dphi]  + A[3][3]*x_hat_x_ref[dtheta];
    
      // + B*u_output
      dx_hat[theta]  += B[0][0]*u_output[tauL] + B[0][1]*u_output[tauR];
      dx_hat[dx]     += B[1][0]*u_output[tauL] + B[1][1]*u_output[tauR];
      dx_hat[dphi]   += B[2][0]*u_output[tauL] + B[2][1]*u_output[tauR];
      dx_hat[dtheta] += B[3][0]*u_output[tauL] + B[3][1]*u_output[tauR];
    
      // y - C*x_hat - x_desired
      float yC[4];
      yC[0] = y_fbk[theta]  - (C[0][0]*x_hat[theta] + C[0][1]*x_hat[dx] + C[0][2]*x_hat[dphi] + C[0][3]*x_hat[dtheta]);
      yC[1] = y_fbk[dx]     - (C[1][0]*x_hat[theta] + C[1][1]*x_hat[dx] + C[1][2]*x_hat[dphi] + C[1][3]*x_hat[dtheta]);
      yC[2] = y_fbk[dphi]   - (C[2][0]*x_hat[theta] + C[2][1]*x_hat[dx] + C[2][2]*x_hat[dphi] + C[2][3]*x_hat[dtheta]);
      yC[3] = y_fbk[dtheta] - (C[3][0]*x_hat[theta] + C[3][1]*x_hat[dx] + C[3][2]*x_hat[dphi] + C[3][3]*x_hat[dtheta]);
    
      // L*(y-C*x_hat)
      dx_hat[theta]  += L[0][0]*yC[0] + L[0][1]*yC[1] + L[0][2]*yC[2] + L[0][3]*yC[3];
      dx_hat[dx]     += L[1][0]*yC[0] + L[1][1]*yC[1] + L[1][2]*yC[2] + L[1][3]*yC[3];
      dx_hat[dphi]   += L[2][0]*yC[0] + L[2][1]*yC[1] + L[2][2]*yC[2] + L[2][3]*yC[3];
      dx_hat[dtheta] += L[3][0]*yC[0] + L[3][1]*yC[1] + L[3][2]*yC[2] + L[3][3]*yC[3];
    
      // Integrate Observer, Euler method:
      x_hat[theta]  += dx_hat[theta]*dt;
      x_hat[dx]     += dx_hat[dx]*dt;
      x_hat[dphi]   += dx_hat[dphi]*dt;
      x_hat[dtheta] += dx_hat[dtheta]*dt;
    
      //**************************************************************
      // Reference model
      //**************************************************************
      float x_r_x_ref[4];
      x_r_x_ref[theta]  = x_r[theta]  - x_reference[theta];
      x_r_x_ref[dx]     = x_r[dx]     - x_reference[dx];
      x_r_x_ref[dphi]   = x_r[dphi]   - x_reference[dphi];
      x_r_x_ref[dtheta] = x_r[dtheta] - x_reference[dtheta];
      x_r[theta]   += (A_BK[0][0]*x_r_x_ref[theta] + A_BK[0][1]*x_r_x_ref[dx]
                        + A_BK[0][2]*x_r_x_ref[dphi] + A_BK[0][3]*x_r_x_ref[dtheta])*dt;
      x_r[dx]      += (A_BK[1][0]*x_r_x_ref[theta] + A_BK[1][1]*x_r_x_ref[dx]
                        + A_BK[1][2]*x_r_x_ref[dphi] + A_BK[1][3]*x_r_x_ref[dtheta])*dt;
      x_r[dphi]    += (A_BK[2][0]*x_r_x_ref[theta] + A_BK[2][1]*x_r_x_ref[dx]
                        + A_BK[2][2]*x_r_x_ref[dphi] + A_BK[2][3]*x_r_x_ref[dtheta])*dt;
      x_r[dtheta]  += (A_BK[3][0]*x_r_x_ref[theta] + A_BK[3][1]*x_r_x_ref[dx]
                        + A_BK[3][2]*x_r_x_ref[dphi] + A_BK[3][3]*x_r_x_ref[dtheta])*dt;
    
      // Adjust theta based on reference model
      float e_r_dx;
      // e_r_dx = x_r[dx] - x_hat[dx];
      e_r_dx = x_r[dx] - y_fbk[dx];
      x_adjust[theta] += (.025*e_r_dx)*dt;
    
      //**************************************************************
      // Feedback control
      //**************************************************************
      u_output[tauL] = -(K[0][0]*(x_hat[theta]-x_reference[theta]) + K[0][1]*(x_hat[dx]-x_reference[dx])
                      + K[0][2]*(x_hat[dphi]-x_reference[dphi]) + K[0][3]*x_hat[dtheta]);
      u_output[tauR] = -(K[1][0]*(x_hat[theta]-x_reference[theta]) + K[1][1]*(x_hat[dx]-x_reference[dx])
                      + K[1][2]*(x_hat[dphi]-x_reference[dphi]) + K[1][3]*x_hat[dtheta]);
    }
    
    /*!
    * \brief Set up the output array.
    *
    * Returns the address of the actuator torque array[2]
    */
    double *BalanceControl::getControl()
    {
      return u_output;
    }
    }  // namespace balance_control

    具体模型(参数):

    #include "rsv_balance_gazebo_control/control.h"
    
    const float g_fWheelRadius = 0.19;
    const float g_fBaseWidth   = 0.5;
    const float g_fI3 = .85;
    
    const float A[4][4] = {
      { 0, 0, 0, 1 },
      { -1.2540568855640422, 0, 0, 0 },
      { 0, 0, 0, 0 },
      { 6.059985836147613, 0, 0, 0 }};
    
    const float B[4][2] = {
      { 0.0, 0.0 },
      { 0.1635280961687897, 0.1635280961687897 },
      { -0.09719802837298575, 0.09719802837298575 },
      { -0.15573631660299134, -0.15573631660299134 }};
    
    const float C[4][4] = {
      { 1.0, 0.0, 0.0, 0.0 },
      { 0.0, 1.0, 0.0, 0.0 },
      { 0.0, 0.0, 1.0, 0.0 },
      { 0.0, 0.0, 0.0, 1.0 }};
    
    const float L[4][4] = {
      { 28.04011263,  -2.25919745,  -0.        ,  10.92301101 },
      { -2.25919745,  28.93520042,  -0.        ,   5.07012978 },
      { 0.,  0.,  20.,  0. },
      { 10.92301101,   5.07012978,  -0.        ,   5.48639076 }};
    
    const float K[2][4] = {
      {-117.29162704,  -14.14213562,   -7.07106781,  -53.23791934},
      {-117.29162704,  -14.14213562,    7.07106781,  -53.23791934}};
    
    const float A_BK[4][4] = {
      {  0.        ,   0.        ,   0.        ,   1.        },
      { 37.10689605,   4.62527303,   0.        ,  17.41179119},
      { 0.        ,   0.        ,  -1.3745877 ,   0.        },
      {-30.47314609,  -4.40488822,  -0.        , -16.58215492 }};

    -Fin-


     

    展开全文
  • 社交网络之平衡理论

    千次阅读 2020-02-08 18:36:04
    海德等人与20世纪40年代开始研究,并提出了平衡理论(时间和人名资料来源于百度百科)。在现实生活中,人们喜欢平衡的关系,举个简单的例子。三角恋的关系是不长久的,Why? 从平衡理论的角度出发, 三角恋好比上图...

           海德等人与20世纪40年代开始研究,并提出了平衡理论(时间和人名资料来源于百度百科)。在现实生活中,人们喜欢平衡的关系,举个简单的例子。三角恋的关系是不长久的,Why? 从平衡理论的角度出发,

    1

    三角恋好比上图(本图来源于Signed Graph Convolutional Network)所示的Unbalanced Triangles(c), 女一k是男一号和男二j共同喜欢的对象,当然女一k对男一和男二那也是喜欢的关系,但是现实生活告诉我们i和j 是存在敌对关系的,所以造成了Unbalanced Traiangles(c)的这种敌对关系, 当然这种不平衡会随着时间的推移走向新的平衡。平衡理论直观的讲可以描述为朋友的朋友是你的朋友,敌人的朋友是你的敌人。只有这样,这种平衡才不会被打破,即Balanced Traingels(A)Balanced Traingels(B)的结果。

        好了,谈到这里,我们可以说说社交网络了,社交网络中人人都是男一号啊。在这样一个群体中,人与人直接的关系是错综复杂的,就像看爱情电视剧,发现男一号喜欢女一号,突然有一天男一号被自己妈逼着去相亲(相亲对象竟然是女一号),我去!!!对于我们人这样一个群体,人与人之间具有关系,无非两种(好与坏,或者说信任与不信任),非常感谢爬数据的科学家,毕竟自己去做这种事,真的是浪费时间,最起码咋得术业有专攻吧。数据叫做Epinions, 当然百度直接搜索可以搜索到,里面的Extended Data 包含了很多信息,对于后期实验进展给予了很大的帮助。

    展开全文
  • 上个世纪初,奥地利及德国的心理学家创立了格式塔理论(Gestalt),该理论旨在解释人类的行为是如何与视觉经验产生关联的。格式塔理论解释了我们的眼睛对一个事物及对象的理解是一个综合的体验,而不仅仅是我们所见...

     这个世界上到底没有设计的法则?上个世纪初,奥地利及德国的心理学家创立了格式塔理论(Gestalt),该理论旨在解释人类的行为是如何与视觉经验产生关联的。格式塔理论解释了我们的眼睛对一个事物及对象的理解是一个综合的体验,而不仅仅是我们所见的简单叠加,它还包括我们以前对该事物及对象曾经有过的感受。

     

           我们不是心理学家,但作为一个设计者,了解格式塔理论对你在设计的把握却非常有帮助。

     

    平衡无处不在


           无论你是有意还是无意,平衡感对我们的视觉判断产生非常深刻的影响。格式塔理论关于平衡的原则阐述了人类在观看任何东西时其实都是在寻找一种平衡稳定的状态。


    17135149295.jpg

     

           如果你仔细观察,平衡对称稳定的状态在自然界中是无处不在的。留意上面的几个图,我们在观察这些对象时,当我们的视线集中在中心位置时总是会感到最舒服。这是平衡理论最重要的要点。

     

    在元素中产生平衡


           水滴,其最基本也是最简单的形态其实就是一个圆点,一个圆点会引导你的视线去到中心位置。其中在很多设计中,包括很多著名的标志及商标的设计都可以看到这一点。

     

    17135336630.jpg

     

           平衡稳定的状态使到上面这几个标志显得平稳持久。每一个标志都能够吸引你的眼睛,因为这些图案都会引导你的视线去到中心点上。

     

    位置上的平衡


           当我们的眼睛在观察一个区域时,我们的视线仍然会很自然地去到中心点。在这个区域如果放上某个元素,不同的位置摆放会在我们的心理产生不同的感应。


    17135421670.jpg

     

    17135577055.jpg

     

    17135588219.jpg

     

           在上面的几个例子中,我们不能忽视一点的是,上面的白色纸张并不是一个被动的载体,空白的平面在任何结构上都是一种能够产生互动的积极元素。


    在版面中产生平衡


           每一个元素都涉及到形态、方向及数值。要让整个版面产生一种平衡感,其实就是通过对元素的安排及调整将视觉重心放在中心位置上。当然,你也可以故意制造紧张的版面结构——这同样是一种有价值的设计。


    17135655032.jpg

     

    17140030624.jpg

     

    17140223650.jpg

     

           平衡理论看起来似乎非常简单,但很多设计师在设计中对平衡的把握仍然是出于一种无意识的运用状态,而没有更主动地将其作为设计一种手法。希望本文能够使你在面对设计时能够更有意识地将平衡理论理论运用到你的设计中。

     

    转载于:https://www.cnblogs.com/qudaxueyuan/p/4827261.html

    展开全文
  • 平衡计分卡在电商企业的应用研究基于“三只松鼠”战略评估案例-论文.zip
  • 纳什平衡的经典案例

    2019-12-06 20:20:55
    关于案例,显然最好的策略是双方都抵赖,结果是大家都只被判1年。但是由于两人处于隔离的情况,首先应该是从心理学的角度来看,当事双方都会怀疑对方会出卖自己以求自保、其次才是 亚当·斯密 的理论,假设每个人都...

    囚徒困境

    (1950年,数学家塔克任斯坦福大学客座教授,在给一些心理学家作讲演时,讲到两个囚犯的故事。)

    假设有两个小偷A和B联合犯事、私入民宅被警察抓住。警方将两人分别置于不同的两个房间内进行审讯,对每一个犯罪嫌疑人,警方给出的政策是:如果一个犯罪嫌疑人坦白了罪行,交出了赃物,于是证据确凿,两人都被判有罪。如果另一个犯罪嫌疑人也作了坦白,则两人各被判刑8年;如果另一个犯罪嫌人没有坦白而是抵赖,则以妨碍公务罪(因已有证据表明其有罪)再加刑2年,而坦白者有功被减刑8年,立即释放。如果两人都抵赖,则警方因证据不足不能判两人的偷窃罪,但可以私入民宅的罪名将两人各判入狱1年。

    囚徒困境博弈

    A╲B

    坦白

    抵赖

    坦白

    -8,-8

    0,-10

    抵赖

    -10,0

    -1,-1

     

    关于案例,显然最好的策略是双方都抵赖,结果是大家都只被判1年。但是由于两人处于隔离的情况,首先应该是从心理学的角度来看,当事双方都会怀疑对方会出卖自己以求自保、其次才是亚当·斯密的理论,假设每个人都是“理性的经济人”,都会从利己的目的出发进行选择。这两个人都会有这样一个盘算过程:假如他坦白,如果我抵赖,得坐10年监狱,如果我坦白最多才8年;假如他要是抵赖,如果我也抵赖,我就会被判一年,如果我坦白就可以被释放,而他会坐10年牢。综合以上几种情况考虑,不管他坦白与否,对我而言都是坦白了划算。两个人都会动这样的脑筋,最终,两个人都选择了坦白,结果都被判8年刑期。

    基于经济学中Rational agent的前提假设,两个囚犯符合自己利益的选择是坦白招供,原本对双方都有利的策略不招供从而均被判处一年就不会出现。这样两人都选择坦白的策略以及因此被判8年的结局,纳什均衡”首先对亚当·斯密的“看不见的手”的原理提出挑战:按照斯密的理论,在市场经济中,每一个人都从利己的目的出发,而最终全社会达到利他的效果。但是我们可以从“纳什均衡”中引出“看不见的手”原理的一个悖论:从利己目的出发,结果损人不利己,既不利己也不利他。

    展开全文
  • 平衡零售支付系统中的合作与竞争:拉丁美洲案例研究的经验”介绍了拉丁美洲四个案例研究(阿根廷,巴西,哥伦比亚和墨西哥)的研究结果,这些案例研究了不同零售支付市场中的合作与竞争问题。 ,例如自动票据交换...
  • 在采用针对儿童和产妇诊所的新的具有洞察力的平衡计分卡并结合SWOT分析,Blue Ocean策略和7s Mckinsey理论之后,一种合适的动态策略在医疗保健行业创造了巨大价值。 创建了增值动态战略,解决了低赔付的保险支付...
  • 一,分析平衡二叉查找树有什么意义?  平衡二叉查找树是对二叉查找树的改进,那二叉查找树哪些地方是不尽人意的呢? 在分析二叉查找树的平均查找长度时,会发现,二叉查找树的平均查找长度与二叉查找树 的形态有...
  • 平衡自行车-理论

    千次阅读 多人点赞 2021-02-23 17:25:48
    本人是一名16届智能车比赛单车组的备赛学生,竞速组选择的是单车拉力组,从单车群车友的链接找到三篇文章学习,这是其中的第二篇,这一篇对平衡自行车的算法进行理论分析,包括模型分析、姿态检测方法、PID算法,...
  • 其次,我们指出,在这种低效的平衡中,代表性艺术家和工程师的信念是不一致的。 最后,我们认为,如果我们脱离“代表艺术家和工程师”的构造,而将注意力集中在以连续体为模型的整个创意阶层人口上,那么上述的低...
  • 在这项研究中,多种机器学习分类技术应用于由信用卡交易组成的高度不平衡的数据集。 就保护支付交易而言,“芯片和密码”被认为是当今可信赖的机制之一,但即使这种机制也不能阻止虚拟销售点节点或电子邮件订单上的...
  • 阐述地铁中央空调系统的组成和工作原理,论述水系统的动态平衡调试的重要性,研究水系统动态平衡调试的理论性方法及其在实际使用中存在的问题。以广州地铁万胜围站为例,介绍采取模拟系统运行工况调节管路阻力的方法,...
  • 本分布式事务系列主要讲分布式事务从 理论-> 解决方案 -> 使用框架 -> 实现及原理 -> 案例实战 ->... ACID酸碱平衡理论 CAP帽子原理 分布式事务案例分析--支付接口 Base理论 一、分布...
  • 一个明显的例子是手性磁效应(CME)。 为了在重离子碰撞中产生的夸克-胶子等离子体中寻找CME,已经做出了积极的努力。 一个关键的挑战是,此类碰撞中的极强磁场可能仅持续一会儿,而CME电流可能必须在如此早期阶段...
  • 参加完16届智能车竞赛单车拉力组,最终止步华南赛区,比赛成绩为58.7s,没能进国赛挺遗憾的,单车组作为16届新出的赛题,制作难度较大,尤其是车模的平衡控制。在此我打算总结一下我们大半年来做车的经验,让实验室...
  • 方法在A. 加尔斯。 “配电系统的线性三相负载流”,IEEE 电力系统汇刊。 第 31 卷第 1 期。2016 年 1 月( http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7027253 )。 三相负载流包括电压调节器...
  • 人体生命动态平衡

    千次阅读 2009-08-08 21:24:00
    人体生命动态平衡一、人体生命动态平衡概论人体生命是一个相对恒定的系统,人在一定的环境中生存,人体的各项生理活动都受着外界环境的影响,同时,人体通过各种生命活动影响着环境,人与环境组成一个相对稳定的...
  • 平衡二叉树

    2019-11-11 16:47:43
    前言 上篇文章里面,我们已经学习了二叉搜索树的...究其原因,是因为二叉搜索树退化成链表的时候,树的高度与节点的个数相等,也就是成正比,所以为了优化这种情况,就出现了具有平衡能力的二叉搜索树,其中AVL树是...
  • 案例使用的数据为...此案例为不平衡二分类问题,目标为最大化auc值(ROC曲线下方面积)。目前此比赛已经结束。 竞赛题目链接为: https://www.kaggle.com/c/santander-customer-satisfaction 2.建模思路 本文档...
  • 三元平衡系统与月球起源 杨林 联系方式:972567831@qq.com、syyz972567831@protonmail.com 摘要:有关月球起源的假说,大致可归纳为共振潮汐分裂说、同源说、俘获说和撞击成因说,共4种类型。其中,前三种月球起源...
  • 案例来源:@雷锋网 案例地址: https://www.leiphone.com/news/201807/b1qadmWOWgBYVs1b.html   1. 背景:现有推荐算法(如今日头条、netflix)容易让用户进入“过滤泡泡”,高度同质化的信息流阻碍人们认识...
  • 博弈与纳什平衡

    千次阅读 2007-10-09 11:12:00
    博弈(game theory)对人的...纳什(John Nash)编制的博弈经典故事"囚徒的困境",说明了非合作博弈及其均衡解的成立,故称"纳什平衡"。所有的博弈问题都会遇到三个要素。在囚徒的故事中,两个囚徒是当事人(play
  • ZZ博弈和纳什平衡

    千次阅读 2010-11-07 20:52:00
    <br />搜索:博弈与纳什平衡 作者:车东 发表于:2005-04-12 20:04 最后更新于:2006-01-08 23:01 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。...
  • 数据不平衡

    千次阅读 2018-04-26 16:00:56
    这几年来,机器学习和数据挖掘非常火热,它们逐渐为世界带来实际价值。...数据不平衡问题虽然不是最难的,但绝对是最重要的问题之一。 一、数据不平衡 在学术研究与教学中,很多算法都有一个基本...
  • 平衡查找二叉树

    2017-04-13 17:41:40
    一,分析平衡二叉查找树有什么意义?  平衡二叉查找树是对二叉查找树的改进,那二叉查找树哪些地方是不尽人意的呢? 在分析二叉查找树的平均查找长度时,会发现,二叉查找树的平均查找长度与二叉查找树 的形态有...
  • 在研究中,提出了一种基于不平衡三元混合效应模型的ANOVA问题求解方法,该模型具有在因子A和因子B固定且因子C随机的情况下具有交互作用的数据,并推导出了所需的EMS... 文中给出的理论结果通过一个数值例子进行了说明。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,029
精华内容 26,011
关键字:

平衡理论的例子