使用扭矩模式进行车辆控制的问题
Problems using the Torque mode for vehicle control
我正在尝试使用扭矩和制动来控制车辆,但错误 "wb_motor_set_force() called with an invalid 'force' argument (NaN)." 不断出现。以下是使用的代码:
初始化
driver_->setGear(1);
driver_->step();
driver_->step();
driver_->step();
simulTime_ = 30;
breaking_ = false;
throttle_ = 0;
breaking_ = 0;
控制应用程序
if(type_ == BREAK){
if(!type_){
type_ = true;
driver_->setThrottle(0);
}
driver_->setBrakeIntensity(breaking_);
}
else if(type_ == ACCELERATE){
if(type_){
type_ = false;
driver_->setBrakeIntensity(0);
}
driver_->setThrottle(throttle_);
}
driver_->setSteeringAngle(phi_);
driver_->step();
simulTime_ += simulStep_;
谢谢!
我试图用一个非常简单的类似于你的控制器来重现你的问题:
#include <webots/vehicle/Driver.hpp>
using namespace webots;
int main(int argc, char **argv) {
Driver *driver = new Driver();
driver->setGear(1);
// main loop
while (driver->step() != -1) {
driver->setThrottle(0.1);
driver->setBrakeIntensity(0.0);
driver->setSteeringAngle(0.1);
}
delete driver;
return 0;
}
但它工作正常,我没有任何关于 "wb_motor_set_force() called with an invalid 'force' argument (NaN)." 的警告。你能试试我的例子,让我知道这是否也适合你吗?
如果是这样,您能否更改我的示例(尽可能少)以重现您的问题?
我正在尝试使用扭矩和制动来控制车辆,但错误 "wb_motor_set_force() called with an invalid 'force' argument (NaN)." 不断出现。以下是使用的代码:
初始化
driver_->setGear(1);
driver_->step();
driver_->step();
driver_->step();
simulTime_ = 30;
breaking_ = false;
throttle_ = 0;
breaking_ = 0;
控制应用程序
if(type_ == BREAK){
if(!type_){
type_ = true;
driver_->setThrottle(0);
}
driver_->setBrakeIntensity(breaking_);
}
else if(type_ == ACCELERATE){
if(type_){
type_ = false;
driver_->setBrakeIntensity(0);
}
driver_->setThrottle(throttle_);
}
driver_->setSteeringAngle(phi_);
driver_->step();
simulTime_ += simulStep_;
谢谢!
我试图用一个非常简单的类似于你的控制器来重现你的问题:
#include <webots/vehicle/Driver.hpp>
using namespace webots;
int main(int argc, char **argv) {
Driver *driver = new Driver();
driver->setGear(1);
// main loop
while (driver->step() != -1) {
driver->setThrottle(0.1);
driver->setBrakeIntensity(0.0);
driver->setSteeringAngle(0.1);
}
delete driver;
return 0;
}
但它工作正常,我没有任何关于 "wb_motor_set_force() called with an invalid 'force' argument (NaN)." 的警告。你能试试我的例子,让我知道这是否也适合你吗? 如果是这样,您能否更改我的示例(尽可能少)以重现您的问题?