Пример #1
0
 KinematicControl::
 KinematicControl (string const & name)
   : Process (name),
     kr_ (3.0),
     kd_ (-1.5),
     kg_ (8.0),
     vtrans_max_ (-1.0),
     vrot_max_ (-1.0),
     drive_ (0),
     enabled_ (true),
     have_goal_ (false)
 {
   // OK this is subtle and counter-intuitive.  If you set
   // sequence_mode (the 2nd arg) to false, then the yaml parses
   // fails with an invalid dereference.  What happens is that it
   // looks inside the sequence of 5 numbers that defines the goal,
   // and the first member of that sequence is a scalar, but the Goal
   // converter needs a vector.  I need to find a way to produce an
   // appropriate error message in this case.
   //
   reflectCallback<Goal> ("goal", false, boost::bind (&KinematicControl::setGoal, this, _1));
   reflectParameter ("kr", &kr_);
   reflectParameter ("kd", &kd_);
   reflectParameter ("kg", &kg_);
   reflectSlot ("drive", &drive_);
   reflectParameter ("vtrans_max", &vtrans_max_);
   reflectParameter ("vrot_max", &vrot_max_);
 }
Пример #2
0
 RayDistanceSensor::
 RayDistanceSensor (string const & name)
   : Sensor (name),
     distance_ (1.0),
     max_distance_ (1.0)
 {
   reflectParameter ("max_distance", &max_distance_);
   reflectParameter ("distance", &distance_);
 }
  Example(std::string const & name)
    : fpplib::Configurable(name),
      an_int_(17),
      a_double_(42.0)
  {
    reflectParameter("an_int", &an_int_);
    reflectParameter("a_double", &a_double_);
    std::cout << "constructed an Example called " << name << "\n"
	      << "  an int:   " << an_int_ << "\n"
	      << "  a double: " << a_double_ << "\n";
  }
 DifferentialTrailerDrive::
 DifferentialTrailerDrive (string const & name)
   : DifferentialDrive (name),
     hitch_offset_ (1.0),
     trailer_arm_ (1.0),
     trailer_ (0),
     trailer_angle_ (0.0)
 {
   reflectParameter ("hitch_offset", &hitch_offset_);
   reflectParameter ("trailer_arm", &trailer_arm_);
   reflectParameter ("trailer_angle", &trailer_angle_);
   reflectSlot ("trailer", &trailer_);
 }
Пример #5
0
Esbot::
Esbot(std::string const &name)
  : RobotClient(name),
    m_radius(0.0),
    m_speed(0.0),
    m_grid_width(8),		// override with option pnf_grid_width
    m_grid_wdim(60),		// override with option pnf_grid_wdim
    m_goal(new Goal()),
    m_carrot_trace(new carrot_trace()),
    m_pose(new Frame()),
    m_replan_request(false)
{
  reflectParameter("pnf_grid_width", &m_grid_width);
  reflectParameter("pnf_grid_wdim", &m_grid_wdim);
}
Пример #6
0
 FixedCamera::
 FixedCamera (string const & name)
   : Camera (name, "looks at (fixed) bounds"),
     bounds_ (0.0, 0.0, 1.0, 1.0)
 {
   reflectParameter ("bounds", &bounds_);
 }
Пример #7
0
 RobotClient::
 RobotClient(std::string const &name)
   : fpplib::Configurable(name),
     m_enable_trajectory(true),
     m_noisy_scanners(false),
     m_scanner_noise_min_factor(-1), // factors <0 are ignored
     m_scanner_noise_max_factor(-1),
     m_scanner_noise_min_offset(-0.1), // if min>max then offsets are ignored
     m_scanner_noise_max_offset( 0.1),
     m_camera_zoom(2),
     m_color(1.0, 1.0, 1.0)
 {
   registry.add(name, this);
   reflectParameter("enable_trajectory", &m_enable_trajectory);
   reflectParameter("noisy_scanners", &m_noisy_scanners);
   reflectParameter("scanner_noise_min_factor", &m_scanner_noise_min_factor);
   reflectParameter("scanner_noise_max_factor", &m_scanner_noise_max_factor);
   reflectParameter("scanner_noise_min_offset", &m_scanner_noise_min_offset);
   reflectParameter("scanner_noise_max_offset", &m_scanner_noise_max_offset);
   reflectParameter("camera_zoom", &m_camera_zoom);
   reflectCallback<qhgoal_s>("goals", true, boost::bind(&RobotClient::AppendGoal, this, _1));
   reflectParameter("pose", &m_initial_pose);
   reflectParameter("color", &m_color);
 }