Generic interface for Ackermann Steering based robots

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Generic interface for Ackermann Steering based robots

Piyush
Hi ROS users,

I was wondering whether there was some interest in the community to
develop a common interface for Ackermann steering based robots. We
have an autonomous car using ROS (utexas-art-ros-pkg) for which we use
a proprietary message format to control the driver. We are now trying
to port over the code-base for a number of smaller robots based on the
traxxas platform to ROS. We were hoping to discuss the driver
interface along with an interface for some basic GPS based navigation
for the traxxas robots.

In case there are existing examples for this this type of work
already, I would appreciate it if someone could point them to me.

Thanks,
Piyush
_______________________________________________
ros-users mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-users
Reply | Threaded
Open this post in threaded view
|

Re: Generic interface for Ackermann Steering based robots

Austin Hendrix
My personal robot is a ackermann-styke rover based on a traxxas slash. I have most of thenavigation stack up and running; in particular, my base subscribes to cmd_vel in the same way as a traditional base, and publishes the standard odometry messages and frames for the navigation stack. I'm using the sbpl_lattice_planner as the global navigation planner, and a custom local planner that deals with the constraints of an ackermann base.

The stack with my local planner is at https://github.com/trainman419/Senior-Project/tree/interrupts/ros/ackermann_local_planner . It's a start, but it has a bug in that it doesn't deal with points on the path where the robot reverses direction; rather than target the reverse point, it targets some point past the reverse.

My robot and navigation stack configuration is in this package: https://github.com/trainman419/Senior-Project/tree/interrupts/ros/dagny . Note that I have the navigation stack parameters tuned well below normal, becuase I am running a very slow processor (500MHz AMD Geode).

-Austin

Piyush <[hidden email]> wrote:

>Hi ROS users,
>
>I was wondering whether there was some interest in the community to
>develop a common interface for Ackermann steering based robots. We
>have an autonomous car using ROS (utexas-art-ros-pkg) for which we use
>a proprietary message format to control the driver. We are now trying
>to port over the code-base for a number of smaller robots based on the
>traxxas platform to ROS. We were hoping to discuss the driver
>interface along with an interface for some basic GPS based navigation
>for the traxxas robots.
>
>In case there are existing examples for this this type of work
>already, I would appreciate it if someone could point them to me.
>
>Thanks,
>Piyush
>_______________________________________________
>ros-users mailing list
>[hidden email]
>https://code.ros.org/mailman/listinfo/ros-users
_______________________________________________
ros-users mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-users
Reply | Threaded
Open this post in threaded view
|

Re: Generic interface for Ackermann Steering based robots

Stefan Kohlbrecher
Hi,

we use a Ackermann-driven based UGV for search and rescue scenarios.
It is based on a Kyosho Twinforce RC chassis (image for example here:
http://www.gkmm.tu-darmstadt.de/rescue/?q=node/8 ). We also use the
sbpl_lattice_planner for generating motion plans, but found the
navigation stack to be suboptimal for our application, as the vehicle
dynamics plus harsh terrain of the NIST standard arenas used for
RoboCup Rescue violates some of the assumptions made in the navigation
stack. For a 100kg+ platform moving on flat ground, the assumption
that odometry provides a stable short term reference frame for example
is very reasonable. For a <10kg vehicle going over pitch/roll ramps
OTOH there basically is no trustable odometry (see for example 1:05 in
this video: http://www.youtube.com/watch?v=nI1DWboC73w ,shows only
reactive driving as our planner back then did not work correctly)
So our current approach is to use SBPL based plans and not use a local
planner as provided by the navigation stack. The whole plan (generated
from SBPL or another planner) is sent to the vehicle controller, which
then closely follows it. The low level control system of the UGV
incorporates  a EKF-based INS that fuses data from inertial/magnetic
(IMU) sensors, SLAM pose estimates and wheel encoders and thus can
follow the plan nicely. I'll try to make a video of it in simulation
in the next few days. The code is not available in our open source
repository, but that might change if interest is there.

regards,
Stefan


2012/1/27 Austin Hendrix <[hidden email]>:

> My personal robot is a ackermann-styke rover based on a traxxas slash. I have most of thenavigation stack up and running; in particular, my base subscribes to cmd_vel in the same way as a traditional base, and publishes the standard odometry messages and frames for the navigation stack. I'm using the sbpl_lattice_planner as the global navigation planner, and a custom local planner that deals with the constraints of an ackermann base.
>
> The stack with my local planner is at https://github.com/trainman419/Senior-Project/tree/interrupts/ros/ackermann_local_planner . It's a start, but it has a bug in that it doesn't deal with points on the path where the robot reverses direction; rather than target the reverse point, it targets some point past the reverse.
>
> My robot and navigation stack configuration is in this package: https://github.com/trainman419/Senior-Project/tree/interrupts/ros/dagny . Note that I have the navigation stack parameters tuned well below normal, becuase I am running a very slow processor (500MHz AMD Geode).
>
> -Austin
>
> Piyush <[hidden email]> wrote:
>
>>Hi ROS users,
>>
>>I was wondering whether there was some interest in the community to
>>develop a common interface for Ackermann steering based robots. We
>>have an autonomous car using ROS (utexas-art-ros-pkg) for which we use
>>a proprietary message format to control the driver. We are now trying
>>to port over the code-base for a number of smaller robots based on the
>>traxxas platform to ROS. We were hoping to discuss the driver
>>interface along with an interface for some basic GPS based navigation
>>for the traxxas robots.
>>
>>In case there are existing examples for this this type of work
>>already, I would appreciate it if someone could point them to me.
>>
>>Thanks,
>>Piyush
>>_______________________________________________
>>ros-users mailing list
>>[hidden email]
>>https://code.ros.org/mailman/listinfo/ros-users
> _______________________________________________
> ros-users mailing list
> [hidden email]
> https://code.ros.org/mailman/listinfo/ros-users
_______________________________________________
ros-users mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-users
Reply | Threaded
Open this post in threaded view
|

Re: Generic interface for Ackermann Steering based robots

Jack O'Quin
On Sat, Jan 28, 2012 at 10:52 AM, Stefan Kohlbrecher
<[hidden email]> wrote:

> Hi,
>
> we use a Ackermann-driven based UGV for search and rescue scenarios.
> It is based on a Kyosho Twinforce RC chassis (image for example here:
> http://www.gkmm.tu-darmstadt.de/rescue/?q=node/8 ). We also use the
> sbpl_lattice_planner for generating motion plans, but found the
> navigation stack to be suboptimal for our application, as the vehicle
> dynamics plus harsh terrain of the NIST standard arenas used for
> RoboCup Rescue violates some of the assumptions made in the navigation
> stack. For a 100kg+ platform moving on flat ground, the assumption
> that odometry provides a stable short term reference frame for example
> is very reasonable. For a <10kg vehicle going over pitch/roll ramps
> OTOH there basically is no trustable odometry (see for example 1:05 in
> this video: http://www.youtube.com/watch?v=nI1DWboC73w ,shows only
> reactive driving as our planner back then did not work correctly)
> So our current approach is to use SBPL based plans and not use a local
> planner as provided by the navigation stack. The whole plan (generated
> from SBPL or another planner) is sent to the vehicle controller, which
> then closely follows it. The low level control system of the UGV
> incorporates  a EKF-based INS that fuses data from inertial/magnetic
> (IMU) sensors, SLAM pose estimates and wheel encoders and thus can
> follow the plan nicely. I'll try to make a video of it in simulation
> in the next few days. The code is not available in our open source
> repository, but that might change if interest is there.

I think there is definitely enough interest to justify creating an
Ackermann steering interest group. There are many aspects to it,
including navigation, interfaces and simulation.

As a start, I suggest creating a wiki page to share links to code and
techniques. Perhaps it could evolve into a project team to develop and
maintain ROS packages for dealing with that type of vehicle.
--
 joq
_______________________________________________
ros-users mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-users
Reply | Threaded
Open this post in threaded view
|

Re: Generic interface for Ackermann Steering based robots

Piyush
Thanks for everyone's feedback on this. I was not aware that a version
of the local planner for ackermann navigation existed. Austin, if you
think your solution is reusable, would you mind adding your solution
as one of the answers here:
http://answers.ros.org/question/27/how-can-i-use-the-navigation-stack-on-a-carlike
(I suspect this would directly follow up on Chad's answer)

The initial port of our navigation code will be completely independent
of the navigation stack. However if we can decide on a common
interface, then with a bit of effort we may be able to choose between
different navigation solutions. Stefan, I for one would definitely be
interested if you moved your solution to open source. We probably
won't be working with a terrain as difficult as RoboCup Rescue, but it
might be useful nonetheless to take a look at it.

Jack, what is the best place on the wiki to setup a group for this?

Thanks
Piyush

On Sat, Jan 28, 2012 at 11:18 AM, Jack O'Quin <[hidden email]> wrote:

> On Sat, Jan 28, 2012 at 10:52 AM, Stefan Kohlbrecher
> <[hidden email]> wrote:
>> Hi,
>>
>> we use a Ackermann-driven based UGV for search and rescue scenarios.
>> It is based on a Kyosho Twinforce RC chassis (image for example here:
>> http://www.gkmm.tu-darmstadt.de/rescue/?q=node/8 ). We also use the
>> sbpl_lattice_planner for generating motion plans, but found the
>> navigation stack to be suboptimal for our application, as the vehicle
>> dynamics plus harsh terrain of the NIST standard arenas used for
>> RoboCup Rescue violates some of the assumptions made in the navigation
>> stack. For a 100kg+ platform moving on flat ground, the assumption
>> that odometry provides a stable short term reference frame for example
>> is very reasonable. For a <10kg vehicle going over pitch/roll ramps
>> OTOH there basically is no trustable odometry (see for example 1:05 in
>> this video: http://www.youtube.com/watch?v=nI1DWboC73w ,shows only
>> reactive driving as our planner back then did not work correctly)
>> So our current approach is to use SBPL based plans and not use a local
>> planner as provided by the navigation stack. The whole plan (generated
>> from SBPL or another planner) is sent to the vehicle controller, which
>> then closely follows it. The low level control system of the UGV
>> incorporates  a EKF-based INS that fuses data from inertial/magnetic
>> (IMU) sensors, SLAM pose estimates and wheel encoders and thus can
>> follow the plan nicely. I'll try to make a video of it in simulation
>> in the next few days. The code is not available in our open source
>> repository, but that might change if interest is there.
>
> I think there is definitely enough interest to justify creating an
> Ackermann steering interest group. There are many aspects to it,
> including navigation, interfaces and simulation.
>
> As a start, I suggest creating a wiki page to share links to code and
> techniques. Perhaps it could evolve into a project team to develop and
> maintain ROS packages for dealing with that type of vehicle.
> --
>  joq
> _______________________________________________
> ros-users mailing list
> [hidden email]
> https://code.ros.org/mailman/listinfo/ros-users
_______________________________________________
ros-users mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-users
Reply | Threaded
Open this post in threaded view
|

Re: Generic interface for Ackermann Steering based robots

Roberto Guzmán
Hi,

we have also used the sbpl_lattice_planner for our Summit robot (see http://ros.org/wiki/Robots/Summit).

We would like to take part in teh development of a common interface.

Best Regards,

  Robert

2012/1/29 Piyush <[hidden email]>
Thanks for everyone's feedback on this. I was not aware that a version
of the local planner for ackermann navigation existed. Austin, if you
think your solution is reusable, would you mind adding your solution
as one of the answers here:
http://answers.ros.org/question/27/how-can-i-use-the-navigation-stack-on-a-carlike
(I suspect this would directly follow up on Chad's answer)

The initial port of our navigation code will be completely independent
of the navigation stack. However if we can decide on a common
interface, then with a bit of effort we may be able to choose between
different navigation solutions. Stefan, I for one would definitely be
interested if you moved your solution to open source. We probably
won't be working with a terrain as difficult as RoboCup Rescue, but it
might be useful nonetheless to take a look at it.

Jack, what is the best place on the wiki to setup a group for this?

Thanks
Piyush

On Sat, Jan 28, 2012 at 11:18 AM, Jack O'Quin <[hidden email]> wrote:
> On Sat, Jan 28, 2012 at 10:52 AM, Stefan Kohlbrecher
> <[hidden email]> wrote:
>> Hi,
>>
>> we use a Ackermann-driven based UGV for search and rescue scenarios.
>> It is based on a Kyosho Twinforce RC chassis (image for example here:
>> http://www.gkmm.tu-darmstadt.de/rescue/?q=node/8 ). We also use the
>> sbpl_lattice_planner for generating motion plans, but found the
>> navigation stack to be suboptimal for our application, as the vehicle
>> dynamics plus harsh terrain of the NIST standard arenas used for
>> RoboCup Rescue violates some of the assumptions made in the navigation
>> stack. For a 100kg+ platform moving on flat ground, the assumption
>> that odometry provides a stable short term reference frame for example
>> is very reasonable. For a <10kg vehicle going over pitch/roll ramps
>> OTOH there basically is no trustable odometry (see for example 1:05 in
>> this video: http://www.youtube.com/watch?v=nI1DWboC73w ,shows only
>> reactive driving as our planner back then did not work correctly)
>> So our current approach is to use SBPL based plans and not use a local
>> planner as provided by the navigation stack. The whole plan (generated
>> from SBPL or another planner) is sent to the vehicle controller, which
>> then closely follows it. The low level control system of the UGV
>> incorporates  a EKF-based INS that fuses data from inertial/magnetic
>> (IMU) sensors, SLAM pose estimates and wheel encoders and thus can
>> follow the plan nicely. I'll try to make a video of it in simulation
>> in the next few days. The code is not available in our open source
>> repository, but that might change if interest is there.
>
> I think there is definitely enough interest to justify creating an
> Ackermann steering interest group. There are many aspects to it,
> including navigation, interfaces and simulation.
>
> As a start, I suggest creating a wiki page to share links to code and
> techniques. Perhaps it could evolve into a project team to develop and
> maintain ROS packages for dealing with that type of vehicle.
> --
>  joq
> _______________________________________________
> ros-users mailing list
> [hidden email]
> https://code.ros.org/mailman/listinfo/ros-users
_______________________________________________
ros-users mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-users



--
-------------------------------------------------
Roberto Guzman
Departamento de Ingenieria
-------------------------------------------------
Robotnik Automation, SLL
C/Berni y Catala, 53 bajo
46019 - VALENCIA - SPAIN
-------------------------------------------------
Tel:       +34 963383835
Fax:      +34 963383580
E-mail:  [hidden email]
Internet:  http://www.robotnik.es
-------------------------------------------------

******************** ADVERTENCIA LEGAL ******************

La Información incluida en este email es CONFIDENCIAL, siendo para uso exclusivo del destinatario arriba mencionado. Si Ud lee este mensaje y no es el destinatario indicado, le informamos que está totalmente prohibida cualquier utilización, divulgación, distribución y/o reproducción de esta comunicación, total o parcial, sin autorización expresa en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos nos lo notifique inmediatamente por esta vía y proceda a su eliminación junto con sus ficheros anexos sin leerlo ni grabarlo.

Los datos personales que en esta comunicación aparecen, así como los que Robotnik Automation SLL mantiene de Vd. y con su empresa quedan sujetos a la legislación vigente en materia de protección de datos personales (Ley Orgánica 15/1999, de Protección de Datos de Carácter Personal).
Puede solicitar quitar su nombre de la lista en cualquier momento enviando un mail a [hidden email] con el siguiente asunto: "Darse de baja de la lista".


The information contained in this communication is confidential and may be legally privileged. It is intended solely for the use of the individual or entity to whom is addressed and others authorized to receive it. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or taking any action in reliance of the contents of this information is strictly prohibited and may be unlawful. Robotnik Automation, SLL. is neither liable for the proper and complete transmission of the information contained in this communication nor for any delay in its receipt. If you have received this communication in error, please notify us immediately by responding to this email and then delete it from your system. 

Personal Information that appear in this communication, as well as those Robotnik Automation SLL remains of you and your company are subject to current legislation on personal information protection (Ley Orgánica 15/1999, de Protección de Datos de Carácter Personal).
May request to remove your name from the list at any time by sending a mail to [hidden email] with the subject:”Unsubscribe from list”.”




_______________________________________________
ros-users mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-users