#235 General Steering

closed
nobody
None
5
2008-01-21
2007-12-26
Jordi Polo
No

After much thinking about the car interface...

A new interface: steering.

It supports any number of wheels in 3 configurations:
Drive: This wheel only goes forwards or backwards (HingeJoint)
Steer: This wheel only turns (Hinge2Joint)
Full: Both (Hinge2Joint)

The truck, car, tricycle, whatever is defined like this:
<controller:steering_position2d name="a car">
<wheel>
<joint>front-left-joint-name</joint>
<type>steer</type>
</wheel>
<wheel>
<joint>front-right-joint-name</joint>
<type>steer</type>
</wheel>
<wheel>
<joint>rear-left-joint-name</joint>
<type>drive</type>
</wheel>
<wheel>
<joint>rear-right-joint-name</joint>
<type>drive</type>
</wheel>

<torque>1000</torque>
<steerTorque>100</steerTorque>
<steerPD></steerPD>
<steerMaxAngle></steerMaxAngle>
<interface:position name="iface-name"/>
</controller:car_position2d>

Any number of wheels can be defined.

This code is still experimental, some documentation is lacking and names of properties, etc. Can be changed.

Also I have a bug that I am not able to solve, try the SimpleCar.world, first move the front wheels and then start moving forward, the car is not turning, but the wheels are rotating in the x axis.

I'd like to see this code in the SVN, so people can try to use, comment on the interface, etc. I'll try to add odometric measurement soon.
The simpleCar.model is simple and silly model just for testing purposes.

Discussion

  • Jordi Polo

    Jordi Polo - 2007-12-26

    The patch

     
  • Jordi Polo

    Jordi Polo - 2008-01-21
    • status: open --> closed
     
  • Jordi Polo

    Jordi Polo - 2008-01-21

    Logged In: YES
    user_id=1514795
    Originator: YES

    It should be revised but it is in the SVN, anyway this patch will not apply cleanly now so I close it.

     
  • Henrik Andreasson

    Logged In: YES
    user_id=2007197
    Originator: NO

    Hi,

    Regarding the bug : It is not located in the code but in the world file. The <body> tags when the joints are defined are switched, hence by changing

    <body1>left_front_wheel</body1>
    <body2>chassis_body</body2>

    to
    <body1>chassis_body</body1>
    <body2>left_front_wheel</body2>

    and so on, everything looks better.

    Best,
    Henrik

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks